default_service.go 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package service
  2. import (
  3. "youngee_b_api/app/dao"
  4. "youngee_b_api/app/vo"
  5. )
  6. type DefaultService struct{}
  7. // 违约管理——违约公开任务列表
  8. func (s DefaultService) GetPublicDefaultList(param *vo.DefaultSearchParam) (vo.ResultVO, error) {
  9. if param.Page == 0 {
  10. param.Page = 1
  11. }
  12. if param.PageSize == 0 {
  13. param.PageSize = 10
  14. }
  15. var result vo.ResultVO
  16. // 以下代码只考虑了种草
  17. reTaskDefaultPublics, total, err := (&dao.ProjectDAO{}).GetProjectPublicList(param)
  18. if err != nil {
  19. return result, err
  20. }
  21. for i := range reTaskDefaultPublics {
  22. // 获取商品详情字段
  23. var creatorName string
  24. var productName string
  25. var productPrice float64
  26. var mainImage string
  27. if reTaskDefaultPublics[i].SubAccountId == 0 {
  28. enterprise, err := dao.EnterpriseDao{}.GetEnterprise(reTaskDefaultPublics[i].EnterpriseId)
  29. if err == nil && enterprise != nil {
  30. creatorName = enterprise.BusinessName
  31. }
  32. } else {
  33. subAccount, err := dao.SubAccountDao{}.GetSubAccount(reTaskDefaultPublics[i].SubAccountId)
  34. if err == nil && subAccount != nil {
  35. creatorName = subAccount.SubAccountName
  36. }
  37. }
  38. product, err := dao.ProductDAO{}.GetProductByID(reTaskDefaultPublics[i].ProductId)
  39. if err == nil && product != nil {
  40. productName = product.ProductName
  41. productPrice = product.ProductPrice
  42. }
  43. mainImage, err = dao.ProductPhotoDAO{}.GetMainPhotoByProductID(reTaskDefaultPublics[i].ProductId)
  44. reTaskDefaultPublics[i].CreatorName = creatorName
  45. reTaskDefaultPublics[i].ProductName = productName
  46. reTaskDefaultPublics[i].ProductPrice = productPrice
  47. reTaskDefaultPublics[i].MainImage = mainImage
  48. // 获取未传数量字段 0-10分别表示未违约、脚本超时违约、脚本未上传违约、初稿超时违约、初稿未上传违约、链接超时违约、链接未上传违约、数据超时违约、数据未上传违约、解约待处理、解约
  49. projectId := reTaskDefaultPublics[i].TaskId
  50. noSketchNum := dao.ProjectTaskInfoDao{}.CountByDefaultType(projectId, 4)
  51. noLinkNum := dao.ProjectTaskInfoDao{}.CountByDefaultType(projectId, 6)
  52. noDataNum := dao.ProjectTaskInfoDao{}.CountByDefaultType(projectId, 8)
  53. // 终止合作还是解约字段待确认
  54. endCooperationNum := dao.ProjectTaskInfoDao{}.CountByTaskStage(projectId, 17)
  55. reTaskDefaultPublics[i].NoSketchNum = noSketchNum
  56. reTaskDefaultPublics[i].NoLinkNum = noLinkNum
  57. reTaskDefaultPublics[i].NoDataNum = noDataNum
  58. reTaskDefaultPublics[i].EndCooperationNum = endCooperationNum
  59. }
  60. result = vo.ResultVO{
  61. Page: param.Page,
  62. PageSize: param.PageSize,
  63. Total: total,
  64. Data: reTaskDefaultPublics,
  65. }
  66. return result, nil
  67. }
  68. // 违约管理——违约定向任务列表
  69. func (s DefaultService) GetTargetDefaultList(param *vo.DefaultSearchParam) (vo.ResultVO, error) {
  70. if param.Page == 0 {
  71. param.Page = 1
  72. }
  73. if param.PageSize == 0 {
  74. param.PageSize = 10
  75. }
  76. var result vo.ResultVO
  77. // 以下代码只考虑了种草
  78. reTaskDefaultTargets, total, err := (&dao.ProjectDAO{}).GetProjectTargetList(param)
  79. if err != nil {
  80. return result, err
  81. }
  82. for i := range reTaskDefaultTargets {
  83. // 获取商品详情字段
  84. var creatorName string
  85. var productName string
  86. var productPrice float64
  87. var mainImage string
  88. if reTaskDefaultTargets[i].SubAccountId == 0 {
  89. enterprise, err := dao.EnterpriseDao{}.GetEnterprise(reTaskDefaultTargets[i].EnterpriseId)
  90. if err == nil && enterprise != nil {
  91. creatorName = enterprise.BusinessName
  92. }
  93. } else {
  94. subAccount, err := dao.SubAccountDao{}.GetSubAccount(reTaskDefaultTargets[i].SubAccountId)
  95. if err == nil && subAccount != nil {
  96. creatorName = subAccount.SubAccountName
  97. }
  98. }
  99. product, err := dao.ProductDAO{}.GetProductByID(reTaskDefaultTargets[i].ProductId)
  100. if err == nil && product != nil {
  101. productName = product.ProductName
  102. productPrice = product.ProductPrice
  103. }
  104. mainImage, err = dao.ProductPhotoDAO{}.GetMainPhotoByProductID(reTaskDefaultTargets[i].ProductId)
  105. reTaskDefaultTargets[i].CreatorName = creatorName
  106. reTaskDefaultTargets[i].ProductName = productName
  107. reTaskDefaultTargets[i].ProductPrice = productPrice
  108. reTaskDefaultTargets[i].MainImage = mainImage
  109. // 终止合作还是解约字段待确认
  110. endCooperationNum := dao.ProjectTaskInfoDao{}.CountByTaskStage(reTaskDefaultTargets[i].TaskId, 17)
  111. reTaskDefaultTargets[i].EndCooperationNum = endCooperationNum
  112. }
  113. result = vo.ResultVO{
  114. Page: param.Page,
  115. PageSize: param.PageSize,
  116. Total: total,
  117. Data: reTaskDefaultTargets,
  118. }
  119. return result, nil
  120. }
  121. // 违约管理——未传初稿公开任务列表
  122. func (s DefaultService) GetPublicDefaultTalentList(param *vo.DefaultSearchParam) (vo.ResultVO, error) {
  123. if param.Page == 0 {
  124. param.Page = 1
  125. }
  126. if param.PageSize == 0 {
  127. param.PageSize = 10
  128. }
  129. var result vo.ResultVO
  130. var reTalentDefaults []*vo.ReTalentDefault
  131. // 以下代码只考虑了种草
  132. if param.DefaultType == 1 {
  133. projectTaskInfos, total, err := (&dao.ProjectTaskInfoDao{}).GetListBySketchDefault(param)
  134. } else if param.DefaultType == 2 {
  135. } else if param.DefaultType == 3 {
  136. } else if param.DefaultType == 4 {
  137. }
  138. projectTaskInfos, total, err := (&dao.ProjectTaskInfoDao{}).GetListByDefaultType(param)
  139. if err != nil {
  140. return result, err
  141. }
  142. for _, projectTaskInfo := range projectTaskInfos {
  143. talentId := projectTaskInfo.TalentID
  144. reTalentDefault := &vo.ReTalentDefault{
  145. TalentId: talentId,
  146. DraftFee: projectTaskInfo.DraftFee,
  147. SettleAmount: projectTaskInfo.SettleAmount,
  148. DefaultTime: projectTaskInfo.SketchMissingTime,
  149. }
  150. talentInfo, _ := dao.TalentInfoDao{}.SelectTalentInfo(talentId)
  151. userInfo, _ := dao.PlatformKuaishouUserInfoDao{}.SelectUserInfo(talentId)
  152. reTalentDefault.TalentPhone = talentInfo.TalentPhoneNumber
  153. reTalentDefault.OpenId = userInfo.OpenId
  154. reTalentDefault.NickName = userInfo.NickName
  155. reTalentDefault.HeadUri = userInfo.HeadUri
  156. reTalentDefaults = append(reTalentDefaults, reTalentDefault)
  157. }
  158. result = vo.ResultVO{
  159. Page: param.Page,
  160. PageSize: param.PageSize,
  161. Total: total,
  162. Data: reTalentDefaults,
  163. }
  164. return result, nil
  165. }