special_task_link_list.go 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 MGormSpecialTaskLinkInfoListToHttpSpecialTaskLinkPreviewList(gormSpecialTaskLinkInfos []*http_model.SpecialTaskLinkInfo) []*http_model.SpecialTaskLinkPreview {
  8. var httpProjectPreviews []*http_model.SpecialTaskLinkPreview
  9. for _, gormSpecialTaskLinkInfo := range gormSpecialTaskLinkInfos {
  10. httpSpecialTaskLinkPreview := MGormSpecialTaskLinkInfoToHttpSpecialTaskLinkPreview(gormSpecialTaskLinkInfo)
  11. httpProjectPreviews = append(httpProjectPreviews, httpSpecialTaskLinkPreview)
  12. }
  13. return httpProjectPreviews
  14. }
  15. func MGormSpecialTaskLinkInfoToHttpSpecialTaskLinkPreview(SpecialTaskLinkInfo *http_model.SpecialTaskLinkInfo) *http_model.SpecialTaskLinkPreview {
  16. return &http_model.SpecialTaskLinkPreview{
  17. TaskID: SpecialTaskLinkInfo.TaskID,
  18. PlatformNickname: conv.MustString(SpecialTaskLinkInfo.PlatformNickname),
  19. FansCount: conv.MustString(SpecialTaskLinkInfo.FansCount),
  20. PhotoUrl: SpecialTaskLinkInfo.PhotoUrl,
  21. LinkUrl: SpecialTaskLinkInfo.LinkUrl,
  22. ReviseOpinion: SpecialTaskLinkInfo.ReviseOpinion,
  23. Submit: conv.MustString(SpecialTaskLinkInfo.SubmitAt)[0:19],
  24. AgreeAt: conv.MustString(SpecialTaskLinkInfo.AgreeAt)[0:19],
  25. }
  26. }
  27. func SpecialTaskLinkToTaskInfo(SpecialTaskLinks []*http_model.SpecialTaskLink) []*http_model.SpecialTaskLinkInfo {
  28. var SpecialTaskLinkInfos []*http_model.SpecialTaskLinkInfo
  29. for _, SpecialTaskLink := range SpecialTaskLinks {
  30. SpecialTaskLink := GetSpecialTaskLinkInfoStruct(SpecialTaskLink)
  31. SpecialTaskLinkInfos = append(SpecialTaskLinkInfos, SpecialTaskLink)
  32. }
  33. return SpecialTaskLinkInfos
  34. }
  35. func GetSpecialTaskLinkInfoStruct(SpecialTaskLink *http_model.SpecialTaskLink) *http_model.SpecialTaskLinkInfo {
  36. TalentPlatformInfoSnap := SpecialTaskLink.Talent.TalentPlatformInfoSnap
  37. return &http_model.SpecialTaskLinkInfo{
  38. TaskID: SpecialTaskLink.Talent.TaskID,
  39. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
  40. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
  41. LinkId: SpecialTaskLink.Link.LinkID,
  42. PhotoUrl: SpecialTaskLink.Link.PhotoUrl,
  43. LinkUrl: SpecialTaskLink.Link.LinkUrl,
  44. ReviseOpinion: SpecialTaskLink.Link.ReviseOpinion,
  45. CreateAt: SpecialTaskLink.Link.CreateAt,
  46. SubmitAt: SpecialTaskLink.Link.SubmitAt,
  47. AgreeAt: SpecialTaskLink.Link.AgreeAt,
  48. RejectAt: SpecialTaskLink.Link.RejectAt,
  49. IsReview: SpecialTaskLink.Link.IsReview,
  50. }
  51. }