task_finish_list.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package pack
  2. import (
  3. "github.com/caixw/lib.go/conv"
  4. "github.com/tidwall/gjson"
  5. "youngee_m_api/model/http_model"
  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. }