project_task_list.go 2.3 KB

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