package pack import ( "youngee_b_api/model/gorm_model" "youngee_b_api/model/http_model" "github.com/issue9/conv" ) func MGormProjectTaskToHttpProjectTaskPreview(gormProjectTaskInfos []*gorm_model.ProjectTaskInfo) []*http_model.ProjectTaskPreview { var httpProjectPreviews []*http_model.ProjectTaskPreview for _, gormProjectTaskInfo := range gormProjectTaskInfos { httpProjectTaskPreview := GormFullProjectToHttpProjectTaskPreview(gormProjectTaskInfo) httpProjectPreviews = append(httpProjectPreviews, httpProjectTaskPreview) } return httpProjectPreviews } func GormFullProjectToHttpProjectTaskPreview(projectTaskInfo *gorm_model.ProjectTaskInfo) *http_model.ProjectTaskPreview { createDate := conv.MustString(projectTaskInfo.CreateDate) createDate = createDate[0:19] return &http_model.ProjectTaskPreview{ TaskId: conv.MustString(projectTaskInfo.TaskID), PlatformNickname: conv.MustString(projectTaskInfo.PlatformNickname), FansCount: conv.MustString(projectTaskInfo.FansCount), TalentPersonalInfoSnap: conv.MustString(projectTaskInfo.TalentPersonalInfoSnap), StrategyId: conv.MustString(projectTaskInfo.StrategyID), TaskReward: conv.MustString(projectTaskInfo.TaskReward), HomePageCaptureUrl: conv.MustString(projectTaskInfo.HomePageUrl), TaskStatus: conv.MustString(projectTaskInfo.TaskStatus), CreateDate: createDate, } } func TaskAccountToTaskInfo(taskAccounts []*gorm_model.TaskAccount) []*gorm_model.ProjectTaskInfo { var projectTasks []*gorm_model.ProjectTaskInfo for _, taskAccount := range taskAccounts { projectTask := GetTaskInfoStruct(taskAccount) projectTasks = append(projectTasks, projectTask) } return projectTasks } func GetTaskInfoStruct(taskAccount *gorm_model.TaskAccount) *gorm_model.ProjectTaskInfo { return &gorm_model.ProjectTaskInfo{ TaskID: taskAccount.Task.TaskID, TaskReward: taskAccount.Task.TaskReward, PlatformNickname: taskAccount.Account.PlatformNickname, CreateDate: taskAccount.Task.CreateDate, HomePageUrl: taskAccount.Account.HomePageCaptureUrl, TalentPersonalInfoSnap: taskAccount.Task.TalentPersonalInfoSnap, FansCount: taskAccount.Account.FansCount, TaskStatus: taskAccount.Task.TaskStatus, StrategyID: taskAccount.Task.StrategyID, } }