task_finish_list.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. }
  30. }
  31. func TaskFinishToTaskInfo(TaskFinishs []*http_model.TaskFinish) []*http_model.TaskFinishInfo {
  32. var TaskFinishInfos []*http_model.TaskFinishInfo
  33. for _, TaskFinish := range TaskFinishs {
  34. TaskFinish := GetFinishInfoStruct(TaskFinish)
  35. TaskFinishInfos = append(TaskFinishInfos, TaskFinish)
  36. }
  37. return TaskFinishInfos
  38. }
  39. func GetFinishInfoStruct(TaskFinish *http_model.TaskFinish) *http_model.TaskFinishInfo {
  40. TalentPlatformInfoSnap := TaskFinish.Talent.TalentPlatformInfoSnap
  41. return &http_model.TaskFinishInfo{
  42. TaskID: TaskFinish.Talent.TaskID,
  43. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
  44. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
  45. StrategyID: TaskFinish.Talent.StrategyID,
  46. PlayNumber: TaskFinish.Data.PlayNumber,
  47. LikeNumber: TaskFinish.Data.LikeNumber,
  48. CommentNumber: TaskFinish.Data.CommentNumber,
  49. CollectNumber: TaskFinish.Data.CollectNumber,
  50. RealPayment: TaskFinish.Talent.RealPayment,
  51. PhotoUrl: TaskFinish.Data.PhotoUrl,
  52. LinkUrl: TaskFinish.Link.LinkUrl,
  53. }
  54. }