project_task_list.go 2.3 KB

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