sketch.go 3.5 KB

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