task_terminated_list.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 MGormTaskTerminatedInfoListToHttpTaskTerminatedPreviewList(gormTaskTerminatedInfos []*http_model.TaskTerminatedInfo) []*http_model.TaskTerminatedPreview {
  8. var httpProjectPreviews []*http_model.TaskTerminatedPreview
  9. for _, gormTaskTerminatedInfo := range gormTaskTerminatedInfos {
  10. httpTaskTerminatedPreview := MGormTaskTerminatedInfoToHttpTaskTerminatedPreview(gormTaskTerminatedInfo)
  11. httpProjectPreviews = append(httpProjectPreviews, httpTaskTerminatedPreview)
  12. }
  13. return httpProjectPreviews
  14. }
  15. func MGormTaskTerminatedInfoToHttpTaskTerminatedPreview(TaskTerminatedInfo *http_model.TaskTerminatedInfo) *http_model.TaskTerminatedPreview {
  16. return &http_model.TaskTerminatedPreview{
  17. TaskID: conv.MustString(TaskTerminatedInfo.TaskID),
  18. PlatformNickname: conv.MustString(TaskTerminatedInfo.PlatformNickname),
  19. FansCount: conv.MustString(TaskTerminatedInfo.FansCount),
  20. RecruitStrategyID: conv.MustString(TaskTerminatedInfo.RecruitStrategyID),
  21. StrategyID: conv.MustString(TaskTerminatedInfo.StrategyID),
  22. AllPayment: TaskTerminatedInfo.AllPayment,
  23. RealPayment: TaskTerminatedInfo.RealPayment,
  24. BreakType: conv.MustString(TaskTerminatedInfo.BreakType),
  25. }
  26. }
  27. func TaskTerminatedToTaskInfo(TaskTerminateds []*http_model.TaskTerminated) []*http_model.TaskTerminatedInfo {
  28. var TaskTerminatedInfos []*http_model.TaskTerminatedInfo
  29. for _, TaskTerminated := range TaskTerminateds {
  30. TaskTerminated := GetTerminatedInfoStruct(TaskTerminated)
  31. TaskTerminatedInfos = append(TaskTerminatedInfos, TaskTerminated)
  32. }
  33. return TaskTerminatedInfos
  34. }
  35. func GetTerminatedInfoStruct(TaskTerminated *http_model.TaskTerminated) *http_model.TaskTerminatedInfo {
  36. TalentPlatformInfoSnap := TaskTerminated.Talent.TalentPlatformInfoSnap
  37. return &http_model.TaskTerminatedInfo{
  38. TaskID: TaskTerminated.Talent.TaskID,
  39. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
  40. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
  41. StrategyID: TaskTerminated.Talent.StrategyID,
  42. AllPayment: TaskTerminated.Talent.AllPayment,
  43. RealPayment: TaskTerminated.Talent.RealPayment,
  44. BreakType: TaskTerminated.Default.BreakType,
  45. }
  46. }