sketch.go 3.9 KB

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