task_default_list.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package pack
  2. import (
  3. "youngee_b_api/model/http_model"
  4. "github.com/tidwall/gjson"
  5. "github.com/issue9/conv"
  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. PlatformNickname: conv.MustString(TaskDefaultDataInfo.PlatformNickname),
  19. FansCount: conv.MustString(TaskDefaultDataInfo.FansCount),
  20. RecruitStrategyID: conv.MustString(TaskDefaultDataInfo.RecruitStrategyID),
  21. StrategyID: conv.MustString(TaskDefaultDataInfo.StrategyID),
  22. AllPayment: TaskDefaultDataInfo.AllPayment,
  23. RealPayment: TaskDefaultDataInfo.RealPayment,
  24. BreakAt: conv.MustString(TaskDefaultDataInfo.BreakAt)[0:19],
  25. LinkUrl: TaskDefaultDataInfo.LinkUrl,
  26. }
  27. }
  28. func TaskDefaultDataToTaskInfo(TaskDefaultDatas []*http_model.TaskDefaultData) []*http_model.TaskDefaultDataInfo {
  29. var TaskDefaultDataInfos []*http_model.TaskDefaultDataInfo
  30. for _, TaskDefaultData := range TaskDefaultDatas {
  31. TaskDefaultData := GetDefaultDataInfoStruct(TaskDefaultData)
  32. TaskDefaultDataInfos = append(TaskDefaultDataInfos, TaskDefaultData)
  33. }
  34. return TaskDefaultDataInfos
  35. }
  36. func GetDefaultDataInfoStruct(TaskDefaultData *http_model.TaskDefaultData) *http_model.TaskDefaultDataInfo {
  37. TalentPlatformInfoSnap := TaskDefaultData.Talent.TalentPlatformInfoSnap
  38. return &http_model.TaskDefaultDataInfo{
  39. TaskID: TaskDefaultData.Talent.TaskID,
  40. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
  41. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
  42. StrategyID: TaskDefaultData.Talent.StrategyID,
  43. AllPayment: TaskDefaultData.Talent.AllPayment,
  44. RealPayment: TaskDefaultData.Talent.RealPayment,
  45. BreakAt: TaskDefaultData.Default.BreakAt,
  46. LinkUrl: TaskDefaultData.Link.LinkUrl,
  47. }
  48. }