task_finish_list.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package pack
  2. import (
  3. "youngee_b_api/model/http_model"
  4. "github.com/tidwall/gjson"
  5. "github.com/issue9/conv"
  6. )
  7. func MGormTaskFinishInfoListToHttpTaskFinishPreviewList(gormTaskFinishInfos []*http_model.TaskFinishInfo) []*http_model.TaskFinishPreview {
  8. var httpProjectPreviews []*http_model.TaskFinishPreview
  9. for _, gormTaskFinishInfo := range gormTaskFinishInfos {
  10. httpTaskFinishPreview := MGormTaskFinishInfoToHttpTaskFinishPreview(gormTaskFinishInfo)
  11. httpProjectPreviews = append(httpProjectPreviews, httpTaskFinishPreview)
  12. }
  13. return httpProjectPreviews
  14. }
  15. func MGormTaskFinishInfoToHttpTaskFinishPreview(TaskFinishInfo *http_model.TaskFinishInfo) *http_model.TaskFinishPreview {
  16. return &http_model.TaskFinishPreview{
  17. TaskID: conv.MustString(TaskFinishInfo.TaskID),
  18. PlatformNickname: conv.MustString(TaskFinishInfo.PlatformNickname),
  19. FansCount: conv.MustString(TaskFinishInfo.FansCount),
  20. RecruitStrategyID: conv.MustString(TaskFinishInfo.RecruitStrategyID),
  21. StrategyID: conv.MustString(TaskFinishInfo.StrategyID),
  22. PlayNumber: TaskFinishInfo.PlayNumber,
  23. LikeNumber: TaskFinishInfo.LikeNumber,
  24. CommentNumber: TaskFinishInfo.CommentNumber,
  25. CollectNumber: TaskFinishInfo.CollectNumber,
  26. RealPayment: TaskFinishInfo.RealPayment,
  27. PhotoUrl: TaskFinishInfo.PhotoUrl,
  28. LinkUrl: TaskFinishInfo.LinkUrl,
  29. SubmitAt: conv.MustString(TaskFinishInfo.SubmitAt)[0:19],
  30. }
  31. }
  32. func TaskFinishToTaskInfo(TaskFinishs []*http_model.TaskFinish) []*http_model.TaskFinishInfo {
  33. var TaskFinishInfos []*http_model.TaskFinishInfo
  34. for _, TaskFinish := range TaskFinishs {
  35. TaskFinish := GetFinishInfoStruct(TaskFinish)
  36. TaskFinishInfos = append(TaskFinishInfos, TaskFinish)
  37. }
  38. return TaskFinishInfos
  39. }
  40. func GetFinishInfoStruct(TaskFinish *http_model.TaskFinish) *http_model.TaskFinishInfo {
  41. TalentPlatformInfoSnap := TaskFinish.Talent.TalentPlatformInfoSnap
  42. return &http_model.TaskFinishInfo{
  43. TaskID: TaskFinish.Talent.TaskID,
  44. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
  45. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
  46. StrategyID: TaskFinish.Talent.StrategyID,
  47. PlayNumber: TaskFinish.Data.PlayNumber,
  48. LikeNumber: TaskFinish.Data.LikeNumber,
  49. CommentNumber: TaskFinish.Data.CommentNumber,
  50. CollectNumber: TaskFinish.Data.CollectNumber,
  51. RealPayment: TaskFinish.Talent.RealPayment,
  52. PhotoUrl: TaskFinish.Data.PhotoUrl,
  53. LinkUrl: TaskFinish.Link.LinkUrl,
  54. SubmitAt: TaskFinish.Data.SubmitAt,
  55. }
  56. }