sketch.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package service
  2. import (
  3. "context"
  4. "github.com/caixw/lib.go/conv"
  5. "strings"
  6. "youngee_m_api/db"
  7. "youngee_m_api/model/gorm_model"
  8. "youngee_m_api/model/http_model"
  9. "github.com/sirupsen/logrus"
  10. )
  11. var Sketch *sketch
  12. type sketch struct {
  13. }
  14. // ReviseOption 在上传初稿表上提交修改意见
  15. func (*sketch) SketchOption(ctx context.Context, request http_model.SketchOpinionRequest) (*http_model.SketchOpinionData, error) {
  16. Sketch := gorm_model.YounggeeSketchInfo{
  17. TaskID: request.TaskID,
  18. ReviseOpinion: request.SketchOpinion,
  19. }
  20. err := db.SketchOption(ctx, Sketch.TaskID, Sketch.ReviseOpinion)
  21. if err != nil {
  22. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  23. return nil, err
  24. }
  25. // 记录任务日志
  26. err = db.CreateTaskLog(ctx, Sketch.TaskID, "初稿驳回")
  27. if err != nil {
  28. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
  29. return nil, err
  30. }
  31. res := &http_model.SketchOpinionData{
  32. TaskID: Sketch.TaskID,
  33. }
  34. return res, nil
  35. }
  36. // AcceptSketch 同意初稿
  37. func (*sketch) AcceptSketch(ctx context.Context, request http_model.AcceptSketchRequest) (*http_model.AcceptSketchData, error) {
  38. var TaskIDList []string
  39. TaskIDs := strings.Split(request.TaskIds, ",")
  40. for _, taskId := range TaskIDs {
  41. TaskIDList = append(TaskIDList, taskId)
  42. }
  43. //fmt.Printf("acc request %+v", TaskIDList)
  44. err := db.AcceptSketch(ctx, TaskIDList)
  45. if err != nil {
  46. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  47. return nil, err
  48. }
  49. // 记录任务日志
  50. for _, taskId := range TaskIDList {
  51. err = db.CreateTaskLog(ctx, taskId, "初稿通过")
  52. if err != nil {
  53. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
  54. return nil, err
  55. }
  56. }
  57. res := &http_model.AcceptSketchData{
  58. TaskIds: TaskIDList,
  59. }
  60. return res, nil
  61. }
  62. // FindPhoto 查找初稿图片以及视频
  63. func (*sketch) FindPhoto(ctx context.Context, request http_model.FindSketchPhotoRequest) ([]http_model.SketchPhoto, error) {
  64. var SketchPhotos []http_model.SketchPhoto
  65. res, err := db.FindPhoto(ctx, request.SketchID)
  66. if err != nil {
  67. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  68. return nil, err
  69. }
  70. for _, photo := range res {
  71. sketchPhoto := http_model.SketchPhoto{
  72. PhotoUrl: photo.PhotoUrl,
  73. PhotoUid: photo.PhotoUid,
  74. Symbol: conv.MustInt64(photo.Symbol, 0),
  75. }
  76. SketchPhotos = append(SketchPhotos, sketchPhoto)
  77. }
  78. return SketchPhotos, nil
  79. }
  80. // GetSketchInfo 获取初稿
  81. func (*sketch) GetSketchInfo(ctx context.Context, request http_model.GetSketchInfoRequest) (*http_model.GetSketchInfoData, error) {
  82. var SketchPhotos []http_model.SketchPhotoInfo
  83. SketchInfo, err := db.FindSketchInfo(ctx, request.TaskID)
  84. if err != nil {
  85. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  86. return nil, err
  87. }
  88. res, err := db.FindPhoto(ctx, int64(SketchInfo.SketchID))
  89. if err != nil {
  90. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  91. return nil, err
  92. }
  93. for _, photo := range res {
  94. sketchPhoto := http_model.SketchPhotoInfo{
  95. PhotoUrl: photo.PhotoUrl,
  96. PhotoUid: photo.PhotoUid,
  97. Symbol: conv.MustInt64(photo.Symbol, 0),
  98. }
  99. SketchPhotos = append(SketchPhotos, sketchPhoto)
  100. }
  101. SketchInfoData := http_model.GetSketchInfoData{
  102. Title: SketchInfo.Title,
  103. Content: SketchInfo.Content,
  104. SketchPhotos: SketchPhotos,
  105. }
  106. return &SketchInfoData, nil
  107. }