sketch.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package service
  2. import (
  3. "context"
  4. "strings"
  5. "youngee_m_api/db"
  6. "youngee_m_api/model/gorm_model"
  7. "youngee_m_api/model/http_model"
  8. "github.com/caixw/lib.go/conv"
  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. err = db.CreateMessageByTaskId(ctx, 17, 3, Sketch.TaskID)
  32. if err != nil {
  33. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateMessageByTaskId error,err:%+v", err)
  34. return nil, err
  35. }
  36. res := &http_model.SketchOpinionData{
  37. TaskID: Sketch.TaskID,
  38. }
  39. return res, nil
  40. }
  41. // AcceptSketch 同意初稿
  42. func (*sketch) AcceptSketch(ctx context.Context, request http_model.AcceptSketchRequest) (*http_model.AcceptSketchData, error) {
  43. var TaskIDList []string
  44. TaskIDs := strings.Split(request.TaskIds, ",")
  45. for _, taskId := range TaskIDs {
  46. TaskIDList = append(TaskIDList, taskId)
  47. }
  48. //fmt.Printf("acc request %+v", TaskIDList)
  49. err := db.AcceptSketch(ctx, TaskIDList)
  50. if err != nil {
  51. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  52. return nil, err
  53. }
  54. // 记录任务日志
  55. for _, taskId := range TaskIDList {
  56. err = db.CreateTaskLog(ctx, taskId, "初稿通过")
  57. if err != nil {
  58. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
  59. return nil, err
  60. }
  61. err = db.CreateMessageByTaskId(ctx, 3, 1, taskId)
  62. if err != nil {
  63. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  64. return nil, err
  65. }
  66. }
  67. res := &http_model.AcceptSketchData{
  68. TaskIds: TaskIDList,
  69. }
  70. return res, nil
  71. }
  72. // FindPhoto 查找初稿图片以及视频
  73. func (*sketch) FindPhoto(ctx context.Context, request http_model.FindSketchPhotoRequest) ([]http_model.SketchPhoto, error) {
  74. var SketchPhotos []http_model.SketchPhoto
  75. res, err := db.FindPhoto(ctx, request.SketchID)
  76. if err != nil {
  77. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  78. return nil, err
  79. }
  80. for _, photo := range res {
  81. sketchPhoto := http_model.SketchPhoto{
  82. PhotoUrl: photo.PhotoUrl,
  83. PhotoUid: photo.PhotoUid,
  84. Symbol: conv.MustInt64(photo.Symbol, 0),
  85. }
  86. SketchPhotos = append(SketchPhotos, sketchPhoto)
  87. }
  88. return SketchPhotos, nil
  89. }
  90. // GetSketchInfo 获取初稿
  91. func (*sketch) GetSketchInfo(ctx context.Context, request http_model.GetSketchInfoRequest) (*http_model.GetSketchInfoData, error) {
  92. var SketchPhotos []http_model.SketchPhotoInfo
  93. SketchInfo, err := db.FindSketchInfo(ctx, request.TaskID)
  94. if err != nil {
  95. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  96. return nil, err
  97. }
  98. res, err := db.FindPhoto(ctx, int64(SketchInfo.SketchID))
  99. if err != nil {
  100. logrus.WithContext(ctx).Errorf("[Sketch service] call CreateSketch error,err:%+v", err)
  101. return nil, err
  102. }
  103. for _, photo := range res {
  104. sketchPhoto := http_model.SketchPhotoInfo{
  105. PhotoUrl: photo.PhotoUrl,
  106. PhotoUid: photo.PhotoUid,
  107. Symbol: conv.MustInt64(photo.Symbol, 0),
  108. }
  109. SketchPhotos = append(SketchPhotos, sketchPhoto)
  110. }
  111. SketchInfoData := http_model.GetSketchInfoData{
  112. Title: SketchInfo.Title,
  113. Content: SketchInfo.Content,
  114. SketchPhotos: SketchPhotos,
  115. }
  116. return &SketchInfoData, nil
  117. }