task_terminating_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 MGormTaskTerminatingInfoListToHttpTaskTerminatingPreviewList(gormTaskTerminatingInfos []*http_model.TaskTerminatingInfo) []*http_model.TaskTerminatingPreview {
  8. var httpProjectPreviews []*http_model.TaskTerminatingPreview
  9. for _, gormTaskTerminatingInfo := range gormTaskTerminatingInfos {
  10. httpTaskTerminatingPreview := MGormTaskTerminatingInfoToHttpTaskTerminatingPreview(gormTaskTerminatingInfo)
  11. httpProjectPreviews = append(httpProjectPreviews, httpTaskTerminatingPreview)
  12. }
  13. return httpProjectPreviews
  14. }
  15. func MGormTaskTerminatingInfoToHttpTaskTerminatingPreview(TaskTerminatingInfo *http_model.TaskTerminatingInfo) *http_model.TaskTerminatingPreview {
  16. return &http_model.TaskTerminatingPreview{
  17. TaskID: conv.MustString(TaskTerminatingInfo.TaskID, ""),
  18. ProjectID: conv.MustString(TaskTerminatingInfo.ProjectID, ""),
  19. PlatformNickname: conv.MustString(TaskTerminatingInfo.PlatformNickname, ""),
  20. FansCount: conv.MustString(TaskTerminatingInfo.FansCount, ""),
  21. RecruitStrategyID: conv.MustString(TaskTerminatingInfo.RecruitStrategyID, ""),
  22. StrategyID: conv.MustString(TaskTerminatingInfo.StrategyID, ""),
  23. AllPayment: TaskTerminatingInfo.AllPayment,
  24. RealPayment: TaskTerminatingInfo.RealPayment,
  25. TerminateAt: conv.MustString(TaskTerminatingInfo.TerminateAt, "")[0:19],
  26. BreakType: conv.MustString(TaskTerminatingInfo.BreakType, ""),
  27. }
  28. }
  29. func TaskTerminatingToTaskInfo(TaskTerminatings []*http_model.TaskTerminating) []*http_model.TaskTerminatingInfo {
  30. var TaskTerminatingInfos []*http_model.TaskTerminatingInfo
  31. for _, TaskTerminating := range TaskTerminatings {
  32. TaskTerminating := GetTerminatingInfoStruct(TaskTerminating)
  33. TaskTerminatingInfos = append(TaskTerminatingInfos, TaskTerminating)
  34. }
  35. return TaskTerminatingInfos
  36. }
  37. func GetTerminatingInfoStruct(TaskTerminating *http_model.TaskTerminating) *http_model.TaskTerminatingInfo {
  38. TalentPlatformInfoSnap := TaskTerminating.Talent.TalentPlatformInfoSnap
  39. return &http_model.TaskTerminatingInfo{
  40. TaskID: TaskTerminating.Talent.TaskId,
  41. ProjectID: TaskTerminating.Talent.ProjectId,
  42. PlatformNickname: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname"), ""),
  43. FansCount: conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count"), ""),
  44. StrategyID: TaskTerminating.Talent.StrategyId,
  45. AllPayment: TaskTerminating.Talent.AllPayment,
  46. RealPayment: TaskTerminating.Talent.RealPayment,
  47. TerminateAt: TaskTerminating.Default.TerminateAt,
  48. BreakType: TaskTerminating.Default.BreakType,
  49. }
  50. }