task_link_list.go 2.5 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 MGormTaskLinkInfoListToHttpTaskLinkPreviewList(gormTaskLinkInfos []*http_model.TaskLinkInfo) []*http_model.TaskLinkPreview {
  8. var httpProjectPreviews []*http_model.TaskLinkPreview
  9. for _, gormTaskLinkInfo := range gormTaskLinkInfos {
  10. httpTaskLinkPreview := MGormTaskLinkInfoToHttpTaskLinkPreview(gormTaskLinkInfo)
  11. httpProjectPreviews = append(httpProjectPreviews, httpTaskLinkPreview)
  12. }
  13. return httpProjectPreviews
  14. }
  15. func MGormTaskLinkInfoToHttpTaskLinkPreview(TaskLinkInfo *http_model.TaskLinkInfo) *http_model.TaskLinkPreview {
  16. //deliveryTime := conv.MustString(TaskLinkInfo.DeliveryTime)
  17. //deliveryTime = deliveryTime[0:19]
  18. return &http_model.TaskLinkPreview{
  19. TaskID: conv.MustString(TaskLinkInfo.TaskID),
  20. PlatformNickname: conv.MustString(TaskLinkInfo.PlatformNickname),
  21. FansCount: conv.MustString(TaskLinkInfo.FansCount),
  22. RecruitStrategyID: conv.MustString(TaskLinkInfo.RecruitStrategyID),
  23. StrategyID: conv.MustString(TaskLinkInfo.StrategyID),
  24. PhotoUrl: TaskLinkInfo.PhotoUrl,
  25. LinkUrl: TaskLinkInfo.LinkUrl,
  26. ReviseOpinion: TaskLinkInfo.ReviseOpinion,
  27. Submit: conv.MustString(TaskLinkInfo.SubmitAt)[0:19],
  28. AgreeAt: conv.MustString(TaskLinkInfo.AgreeAt)[0:19],
  29. }
  30. }
  31. func TaskLinkToTaskInfo(TaskLinks []*http_model.TaskLink) []*http_model.TaskLinkInfo {
  32. var TaskLinkInfos []*http_model.TaskLinkInfo
  33. for _, TaskLink := range TaskLinks {
  34. TaskLink := GetLinkInfoStruct(TaskLink)
  35. TaskLinkInfos = append(TaskLinkInfos, TaskLink)
  36. }
  37. return TaskLinkInfos
  38. }
  39. func GetLinkInfoStruct(TaskLink *http_model.TaskLink) *http_model.TaskLinkInfo {
  40. TalentPlatformInfoSnap := TaskLink.Talent.TalentPlatformInfoSnap
  41. return &http_model.TaskLinkInfo{
  42. TaskID: TaskLink.Talent.TaskID,
  43. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "PlatformInfo.platform_name")),
  44. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
  45. StrategyID: TaskLink.Talent.StrategyID,
  46. LinkId: TaskLink.Link.LinkID,
  47. PhotoUrl: TaskLink.Link.PhotoUrl,
  48. LinkUrl: TaskLink.Link.LinkUrl,
  49. ReviseOpinion: TaskLink.Link.ReviseOpinion,
  50. CreateAt: TaskLink.Link.CreateAt,
  51. SubmitAt: TaskLink.Link.SubmitAt,
  52. AgreeAt: TaskLink.Link.AgreeAt,
  53. RejectAt: TaskLink.Link.RejectAt,
  54. IsReview: TaskLink.Link.IsReview,
  55. }
  56. }