special_task_invite_list.go 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package pack
  2. import (
  3. "github.com/caixw/lib.go/conv"
  4. "github.com/tidwall/gjson"
  5. "youngee_m_api/model/gorm_model"
  6. "youngee_m_api/model/http_model"
  7. )
  8. func MGormSpecialTaskInviteInfoListToHttpSpecialTaskInvitePreviewList(gormSpecialTaskInviteInfos []*http_model.SpecialTaskInviteInfo) []*http_model.SpecialTaskInvitePreview {
  9. var httpProjectPreviews []*http_model.SpecialTaskInvitePreview
  10. for _, gormSpecialTaskInviteInfo := range gormSpecialTaskInviteInfos {
  11. httpSpecialTaskInvitePreview := GormFullProjectToHttpSpecialTaskInvitePreview(gormSpecialTaskInviteInfo)
  12. httpProjectPreviews = append(httpProjectPreviews, httpSpecialTaskInvitePreview)
  13. }
  14. return httpProjectPreviews
  15. }
  16. func GormFullProjectToHttpSpecialTaskInvitePreview(projectTaskInfo *http_model.SpecialTaskInviteInfo) *http_model.SpecialTaskInvitePreview {
  17. createDate := conv.MustString(projectTaskInfo.CreateDate, "")
  18. createDate = createDate[0:19]
  19. return &http_model.SpecialTaskInvitePreview{
  20. TaskId: conv.MustString(projectTaskInfo.TaskID, ""),
  21. PlatformNickname: conv.MustString(projectTaskInfo.PlatformNickname, ""),
  22. FansCount: conv.MustString(projectTaskInfo.FansCount, ""),
  23. HomePageCaptureUrl: conv.MustString(projectTaskInfo.HomePageCaptureUrl, ""),
  24. AllPayment: conv.MustString(projectTaskInfo.AllPayment, ""),
  25. TaskReward: conv.MustString(projectTaskInfo.TaskReward, ""),
  26. HomePageUrl: conv.MustString(projectTaskInfo.HomePageUrl, ""),
  27. TaskStatus: conv.MustString(projectTaskInfo.TaskStatus, ""),
  28. CreateDate: createDate,
  29. }
  30. }
  31. func YoungeeTaskInfoToSpecialTaskInviteInfo(taskAccounts []gorm_model.YoungeeTaskInfo) []*http_model.SpecialTaskInviteInfo {
  32. var projectTasks []*http_model.SpecialTaskInviteInfo
  33. for _, taskAccount := range taskAccounts {
  34. projectTask := GetSpecialTaskInviteInfoStruct(taskAccount)
  35. projectTasks = append(projectTasks, projectTask)
  36. }
  37. return projectTasks
  38. }
  39. func GetSpecialTaskInviteInfoStruct(taskAccount gorm_model.YoungeeTaskInfo) *http_model.SpecialTaskInviteInfo {
  40. TalentPlatformInfoSnap := taskAccount.TalentPlatformInfoSnap
  41. //fmt.Printf("任务-账户关联 %+v", taskAccount)
  42. return &http_model.SpecialTaskInviteInfo{
  43. TaskID: taskAccount.TaskId,
  44. TaskReward: taskAccount.TaskReward,
  45. AllPayment: taskAccount.AllPayment,
  46. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname"), ""),
  47. CreateDate: taskAccount.CreateDate,
  48. HomePageUrl: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "home_page_url"), ""),
  49. HomePageCaptureUrl: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "home_page_capture_url"), ""),
  50. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count"), ""),
  51. TaskStatus: string(rune(taskAccount.TaskStatus)),
  52. }
  53. }