mldetailslogic.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/MessageCenter/entity"
  4. service "app.yhyue.com/moapp/MessageCenter/rpc/internal/common"
  5. "app.yhyue.com/moapp/jybase/common"
  6. "context"
  7. "github.com/gogf/gf/v2/util/gconv"
  8. "path"
  9. "strings"
  10. "app.yhyue.com/moapp/MessageCenter/rpc/internal/svc"
  11. "app.yhyue.com/moapp/MessageCenter/rpc/type/message"
  12. fpb "bp.jydev.jianyu360.cn/BaseService/fileCenter/rpc/pb"
  13. "github.com/zeromicro/go-zero/core/logx"
  14. )
  15. type MlDetailsLogic struct {
  16. ctx context.Context
  17. svcCtx *svc.ServiceContext
  18. logx.Logger
  19. }
  20. func NewMlDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MlDetailsLogic {
  21. return &MlDetailsLogic{
  22. ctx: ctx,
  23. svcCtx: svcCtx,
  24. Logger: logx.WithContext(ctx),
  25. }
  26. }
  27. // 物料详情
  28. func (l *MlDetailsLogic) MlDetails(in *message.MaterialDetailReq) (*message.MaterialDetailResp, error) {
  29. // todo: add your logic here and delete this line
  30. //先查询详情
  31. data := service.MaterialDetail(in.MsgLogId, in.PositionId)
  32. if data != nil {
  33. attUrl := []string{}
  34. qrCodeUrl := common.InterfaceToStr(data["qrcode_url"])
  35. fileUrl := common.InterfaceToStr(data["file_url"])
  36. if qrCodeUrl != "" && common.InterfaceToStr(data["attUrl"]) == "" && len(strings.Split(fileUrl, ",")) != 0 {
  37. for _, val := range strings.Split(fileUrl, ",") {
  38. imgByte, err := service.PersonImgSaveComposite(val, qrCodeUrl, "", in.PositionId)
  39. if err != nil {
  40. return &message.MaterialDetailResp{
  41. Code: 1,
  42. Message: "获取详情成功",
  43. Data: nil,
  44. }, nil
  45. }
  46. up, err := entity.FileCenterRpc.Upload(l.ctx, &fpb.UploadReq{
  47. File: imgByte,
  48. OssBucketName: entity.OssBucketName,
  49. OssUrl: entity.OssUrl,
  50. Name: path.Base(fileUrl),
  51. NeedEncryption: false,
  52. })
  53. if up == nil || up.Url == "" {
  54. return &message.MaterialDetailResp{
  55. Code: -1,
  56. Message: "上传合成图片失败",
  57. Data: nil,
  58. }, nil
  59. }
  60. attUrl = append(attUrl, up.Url)
  61. ok := service.PersonImageSave(up.Url, common.Int64All(data["id"]), in.PositionId, common.Int64All(data["mid"]))
  62. if !ok {
  63. return &message.MaterialDetailResp{
  64. Code: -1,
  65. Message: "保存个人图片失败",
  66. Data: nil,
  67. }, nil
  68. }
  69. }
  70. //}
  71. data["attUrl"] = strings.Join(attUrl, ",")
  72. }
  73. return &message.MaterialDetailResp{
  74. Code: 1,
  75. Message: "获取详情成功",
  76. Data: &message.MaterialDetail{
  77. Id: gconv.Int64(data["id"]),
  78. Title: gconv.String(data["title"]),
  79. Content: gconv.String(data["content"]),
  80. Link: gconv.String(data["link"]),
  81. Createtime: gconv.String(data["createtime"]),
  82. IsRead: gconv.Int64(data["isRead"]),
  83. MsgType: gconv.Int64(data["msgType"]),
  84. TaskName: gconv.String(data["task_name"]),
  85. TaskDescription: gconv.String(data["task_description"]),
  86. MaterialContent: gconv.String(data["material_content"]),
  87. QrcodeUrl: gconv.String(data["qrcode_url"]),
  88. ReceiveUserName: gconv.String(data["receive_user_name"]),
  89. ReceiveUserId: gconv.String(data["receive_user_id"]),
  90. FileUrl: gconv.String(data["file_url"]),
  91. AttUrl: gconv.String(data["attUrl"]),
  92. ImgWebpage: gconv.String(data["img_webpage"]),
  93. },
  94. }, nil
  95. }
  96. return &message.MaterialDetailResp{
  97. Code: 1,
  98. Message: "获取详情成功",
  99. Data: nil,
  100. }, nil
  101. }