special_task_invite_list.go 2.7 KB

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