project_task_list.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package pack
  2. import (
  3. "youngee_b_api/model/gorm_model"
  4. "youngee_b_api/model/http_model"
  5. "github.com/issue9/conv"
  6. )
  7. func MGormProjectTaskToHttpProjectTaskPreview(gormProjectTaskInfos []*gorm_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 *gorm_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. TalentPersonalInfoSnap: conv.MustString(projectTaskInfo.TalentPersonalInfoSnap),
  23. StrategyId: conv.MustString(projectTaskInfo.StrategyID),
  24. TaskReward: conv.MustString(projectTaskInfo.TaskReward),
  25. HomePageCaptureUrl: conv.MustString(projectTaskInfo.HomePageUrl),
  26. TaskStatus: conv.MustString(projectTaskInfo.TaskStatus),
  27. CreateDate: createDate,
  28. }
  29. }
  30. func TaskAccountToTaskInfo(taskAccounts []*gorm_model.TaskAccount) []*gorm_model.ProjectTaskInfo {
  31. var projectTasks []*gorm_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 *gorm_model.TaskAccount) *gorm_model.ProjectTaskInfo {
  39. return &gorm_model.ProjectTaskInfo{
  40. TaskID: taskAccount.Task.TaskID,
  41. TaskReward: taskAccount.Task.TaskReward,
  42. PlatformNickname: taskAccount.Account.PlatformNickname,
  43. CreateDate: taskAccount.Task.CreateDate,
  44. HomePageUrl: taskAccount.Account.HomePageCaptureUrl,
  45. TalentPersonalInfoSnap: taskAccount.Task.TalentPersonalInfoSnap,
  46. FansCount: taskAccount.Account.FansCount,
  47. TaskStatus: taskAccount.Task.TaskStatus,
  48. StrategyID: taskAccount.Task.StrategyID,
  49. }
  50. }