task_default_list.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package pack
  2. import (
  3. "github.com/caixw/lib.go/conv"
  4. "github.com/tidwall/gjson"
  5. "youngee_m_api/model/http_model"
  6. )
  7. func MGormTaskDefaultDataInfoListToHttpTaskDefaultDataPreviewList(gormTaskDefaultDataInfos []*http_model.TaskDefaultDataInfo) []*http_model.TaskDefaultDataPreview {
  8. var httpProjectPreviews []*http_model.TaskDefaultDataPreview
  9. for _, gormTaskDefaultDataInfo := range gormTaskDefaultDataInfos {
  10. httpTaskDefaultDataPreview := MGormTaskDefaultDataInfoToHttpTaskDefaultDataPreview(gormTaskDefaultDataInfo)
  11. httpProjectPreviews = append(httpProjectPreviews, httpTaskDefaultDataPreview)
  12. }
  13. return httpProjectPreviews
  14. }
  15. func MGormTaskDefaultDataInfoToHttpTaskDefaultDataPreview(TaskDefaultDataInfo *http_model.TaskDefaultDataInfo) *http_model.TaskDefaultDataPreview {
  16. return &http_model.TaskDefaultDataPreview{
  17. TaskID: conv.MustString(TaskDefaultDataInfo.TaskID, ""),
  18. ProjectID: conv.MustString(TaskDefaultDataInfo.ProjectID, ""),
  19. PlatformNickname: conv.MustString(TaskDefaultDataInfo.PlatformNickname, ""),
  20. FansCount: conv.MustString(TaskDefaultDataInfo.FansCount, ""),
  21. RecruitStrategyID: conv.MustString(TaskDefaultDataInfo.RecruitStrategyID, ""),
  22. StrategyID: conv.MustString(TaskDefaultDataInfo.StrategyID, ""),
  23. AllPayment: TaskDefaultDataInfo.AllPayment,
  24. RealPayment: TaskDefaultDataInfo.RealPayment,
  25. BreakAt: conv.MustString(TaskDefaultDataInfo.BreakAt, "")[0:19],
  26. LinkUrl: TaskDefaultDataInfo.LinkUrl,
  27. }
  28. }
  29. func TaskDefaultDataToTaskInfo(TaskDefaultDatas []*http_model.TaskDefaultData) []*http_model.TaskDefaultDataInfo {
  30. var TaskDefaultDataInfos []*http_model.TaskDefaultDataInfo
  31. for _, TaskDefaultData := range TaskDefaultDatas {
  32. TaskDefaultData := GetDefaultDataInfoStruct(TaskDefaultData)
  33. TaskDefaultDataInfos = append(TaskDefaultDataInfos, TaskDefaultData)
  34. }
  35. return TaskDefaultDataInfos
  36. }
  37. func GetDefaultDataInfoStruct(TaskDefaultData *http_model.TaskDefaultData) *http_model.TaskDefaultDataInfo {
  38. TalentPlatformInfoSnap := TaskDefaultData.Talent.TalentPlatformInfoSnap
  39. return &http_model.TaskDefaultDataInfo{
  40. TaskID: TaskDefaultData.Talent.TaskId,
  41. ProjectID: TaskDefaultData.Talent.ProjectId,
  42. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname"), ""),
  43. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count"), ""),
  44. StrategyID: TaskDefaultData.Talent.StrategyId,
  45. AllPayment: TaskDefaultData.Talent.AllPayment,
  46. RealPayment: TaskDefaultData.Talent.RealPayment,
  47. BreakAt: TaskDefaultData.Default.BreakAt,
  48. LinkUrl: TaskDefaultData.Link.LinkUrl,
  49. }
  50. }