task_link_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 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. return &http_model.TaskLinkPreview{
  17. TaskID: conv.MustString(TaskLinkInfo.TaskID, ""),
  18. PlatformNickname: conv.MustString(TaskLinkInfo.PlatformNickname, ""),
  19. FansCount: conv.MustString(TaskLinkInfo.FansCount, ""),
  20. RecruitStrategyID: conv.MustString(TaskLinkInfo.RecruitStrategyID, ""),
  21. StrategyID: conv.MustString(TaskLinkInfo.StrategyID, ""),
  22. PhotoUrl: TaskLinkInfo.PhotoUrl,
  23. LinkUrl: TaskLinkInfo.LinkUrl,
  24. ReviseOpinion: TaskLinkInfo.ReviseOpinion,
  25. Submit: conv.MustString(TaskLinkInfo.SubmitAt, "")[0:19],
  26. AgreeAt: conv.MustString(TaskLinkInfo.AgreeAt, "")[0:19],
  27. }
  28. }
  29. func TaskLinkToTaskInfo(TaskLinks []*http_model.TaskLink) []*http_model.TaskLinkInfo {
  30. var TaskLinkInfos []*http_model.TaskLinkInfo
  31. for _, TaskLink := range TaskLinks {
  32. TaskLink := GetLinkInfoStruct(TaskLink)
  33. TaskLinkInfos = append(TaskLinkInfos, TaskLink)
  34. }
  35. return TaskLinkInfos
  36. }
  37. func GetLinkInfoStruct(TaskLink *http_model.TaskLink) *http_model.TaskLinkInfo {
  38. TalentPlatformInfoSnap := TaskLink.Talent.TalentPlatformInfoSnap
  39. return &http_model.TaskLinkInfo{
  40. TaskID: TaskLink.Talent.TaskId,
  41. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname"), ""),
  42. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count"), ""),
  43. StrategyID: TaskLink.Talent.StrategyId,
  44. LinkId: TaskLink.Link.LinkID,
  45. PhotoUrl: TaskLink.Link.PhotoUrl,
  46. LinkUrl: TaskLink.Link.LinkUrl,
  47. ReviseOpinion: TaskLink.Link.ReviseOpinion,
  48. CreateAt: TaskLink.Link.CreateAt,
  49. SubmitAt: TaskLink.Link.SubmitAt,
  50. AgreeAt: TaskLink.Link.AgreeAt,
  51. RejectAt: TaskLink.Link.RejectAt,
  52. IsReview: TaskLink.Link.IsReview,
  53. }
  54. }