project_task_list.go 2.7 KB

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