number_info.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. package db
  2. import (
  3. "context"
  4. "fmt"
  5. "strconv"
  6. "time"
  7. "youngee_m_api/model/gorm_model"
  8. "youngee_m_api/model/http_model"
  9. "github.com/sirupsen/logrus"
  10. )
  11. func GetLogisticsNumberInfo(ctx context.Context, projectId string, strategyIds []int64) (*http_model.GetLogisticsNumberInfoData, error) {
  12. var LogisticsNumberInfoDataList http_model.GetLogisticsNumberInfoData
  13. for _, strategyId := range strategyIds {
  14. var LogisticsNumberInfoData http_model.LogisticsNumberInfo
  15. LogisticsNumberInfoData.StrategyId = strategyId
  16. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  17. err := db.Where("logistics_status = 1").Count(&LogisticsNumberInfoData.UndeliveredNumber).Error
  18. if err != nil {
  19. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  20. return nil, err
  21. }
  22. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  23. err = db.Where("logistics_status = 2").Count(&LogisticsNumberInfoData.DeliveredNumber).Error
  24. if err != nil {
  25. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  26. return nil, err
  27. }
  28. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  29. err = db.Where("logistics_status = 3").Count(&LogisticsNumberInfoData.SignedNumber).Error
  30. if err != nil {
  31. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  32. return nil, err
  33. }
  34. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  35. err = db.Count(&LogisticsNumberInfoData.DeliverNumber).Error
  36. if err != nil {
  37. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  38. return nil, err
  39. }
  40. LogisticsNumberInfoDataList.LogisticsNumberInfoList = append(LogisticsNumberInfoDataList.LogisticsNumberInfoList, &LogisticsNumberInfoData)
  41. }
  42. return &LogisticsNumberInfoDataList, nil
  43. }
  44. func GetReviewNumberInfo(ctx context.Context, projectId string, strategyIds []int64) (*http_model.GetReviewNumberInfoData, error) {
  45. var ReviewNumberInfoDataList http_model.GetReviewNumberInfoData
  46. for _, strategyId := range strategyIds {
  47. var ReviewNumberInfoData http_model.ReviewNumberInfo
  48. ReviewNumberInfoData.StrategyId = strategyId
  49. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  50. err := db.Where("task_stage = 8").Count(&ReviewNumberInfoData.ScriptUnreviewNumber).Error
  51. if err != nil {
  52. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  53. return nil, err
  54. }
  55. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  56. err = db.Where("task_stage > 8").Count(&ReviewNumberInfoData.ScriptPassedNumber).Error
  57. if err != nil {
  58. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  59. return nil, err
  60. }
  61. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  62. err = db.Where("task_stage = 10").Count(&ReviewNumberInfoData.SketchUnreviewNumber).Error
  63. if err != nil {
  64. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  65. return nil, err
  66. }
  67. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  68. err = db.Where("task_stage > 10").Count(&ReviewNumberInfoData.SketchPassedNumber).Error
  69. if err != nil {
  70. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  71. return nil, err
  72. }
  73. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  74. err = db.Count(&ReviewNumberInfoData.ReviewNumber).Error
  75. if err != nil {
  76. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  77. return nil, err
  78. }
  79. ReviewNumberInfoDataList.ReviewNumberInfoList = append(ReviewNumberInfoDataList.ReviewNumberInfoList, &ReviewNumberInfoData)
  80. }
  81. return &ReviewNumberInfoDataList, nil
  82. }
  83. func GetLinkNumberInfo(ctx context.Context, projectId string, strategyIds []int64) (*http_model.GetLinkNumberInfoData, error) {
  84. var LinkNumberInfoDataList http_model.GetLinkNumberInfoData
  85. for _, strategyId := range strategyIds {
  86. var LinkNumberInfoData http_model.LinkNumberInfo
  87. LinkNumberInfoData.StrategyId = strategyId
  88. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  89. err := db.Where("task_stage = 12").Count(&LinkNumberInfoData.LinkUnreviewNumber).Error
  90. if err != nil {
  91. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  92. return nil, err
  93. }
  94. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  95. err = db.Where("task_stage > 12").Count(&LinkNumberInfoData.LinkPassedNumber).Error
  96. if err != nil {
  97. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  98. return nil, err
  99. }
  100. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  101. err = db.Count(&LinkNumberInfoData.LinkNumber).Error
  102. if err != nil {
  103. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  104. return nil, err
  105. }
  106. LinkNumberInfoDataList.LinkNumberInfoList = append(LinkNumberInfoDataList.LinkNumberInfoList, &LinkNumberInfoData)
  107. }
  108. return &LinkNumberInfoDataList, nil
  109. }
  110. func GetDataNumberInfo(ctx context.Context, projectId string, strategyIds []int64) (*http_model.GetDataNumberInfoData, error) {
  111. var DataNumberInfoDataList http_model.GetDataNumberInfoData
  112. for _, strategyId := range strategyIds {
  113. var DataNumberInfoData http_model.DataNumberInfo
  114. DataNumberInfoData.StrategyId = strategyId
  115. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  116. err := db.Where("task_stage = 14").Count(&DataNumberInfoData.DataUnreviewNumber).Error
  117. if err != nil {
  118. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  119. return nil, err
  120. }
  121. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  122. err = db.Where("task_stage = 15").Count(&DataNumberInfoData.DataPassedNumber).Error
  123. if err != nil {
  124. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  125. return nil, err
  126. }
  127. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2 and task_stage < 16", projectId, strategyId)
  128. err = db.Count(&DataNumberInfoData.DataNumber).Error
  129. if err != nil {
  130. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  131. return nil, err
  132. }
  133. DataNumberInfoDataList.DataNumberInfoList = append(DataNumberInfoDataList.DataNumberInfoList, &DataNumberInfoData)
  134. }
  135. return &DataNumberInfoDataList, nil
  136. }
  137. func GetDefaultNumberInfo(ctx context.Context, projectId string, strategyIds []int64) (*http_model.GetDefaultNumberInfoData, error) {
  138. var DefaultNumberInfoDataList http_model.GetDefaultNumberInfoData
  139. for _, strategyId := range strategyIds {
  140. var DefaultNumberInfoData http_model.DefaultNumberInfo
  141. DefaultNumberInfoData.StrategyId = strategyId
  142. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  143. err := db.Where("complete_status <> 4").Count(&DefaultNumberInfoData.ShouldFinishNumber).Error
  144. if err != nil {
  145. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  146. return nil, err
  147. }
  148. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  149. err = db.Where("cur_default_type = 1").Count(&DefaultNumberInfoData.UnuploadScriptNumber).Error
  150. if err != nil {
  151. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  152. return nil, err
  153. }
  154. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  155. err = db.Where("cur_default_type = 3").Count(&DefaultNumberInfoData.UnuploadSketchNumber).Error
  156. if err != nil {
  157. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  158. return nil, err
  159. }
  160. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  161. err = db.Where("cur_default_type = 5").Count(&DefaultNumberInfoData.UnuploadLinkNumber).Error
  162. if err != nil {
  163. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  164. return nil, err
  165. }
  166. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  167. err = db.Where("cur_default_type = 7").Count(&DefaultNumberInfoData.UnuploadDataNumber).Error
  168. if err != nil {
  169. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  170. return nil, err
  171. }
  172. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  173. err = db.Where("complete_status = 4").Count(&DefaultNumberInfoData.TerminateNumber).Error
  174. if err != nil {
  175. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  176. return nil, err
  177. }
  178. DefaultNumberInfoDataList.DefaultNumberInfoList = append(DefaultNumberInfoDataList.DefaultNumberInfoList, &DefaultNumberInfoData)
  179. }
  180. return &DefaultNumberInfoDataList, nil
  181. }
  182. func GetFinishNumberInfo(ctx context.Context, projectId string, strategyIds []int64) (*http_model.GetFinishNumberInfoData, error) {
  183. var FinishNumberInfoDataList http_model.GetFinishNumberInfoData
  184. for _, strategyId := range strategyIds {
  185. var FinishNumberInfoData http_model.FinishNumberInfo
  186. FinishNumberInfoData.StrategyId = strategyId
  187. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  188. err := db.Count(&FinishNumberInfoData.ShouldFinishNumber).Error
  189. if err != nil {
  190. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  191. return nil, err
  192. }
  193. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  194. err = db.Where("task_stage = 15").Count(&FinishNumberInfoData.FinishedNumber).Error
  195. if err != nil {
  196. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  197. return nil, err
  198. }
  199. FinishNumberInfoDataList.FinishNumberInfoList = append(FinishNumberInfoDataList.FinishNumberInfoList, &FinishNumberInfoData)
  200. }
  201. return &FinishNumberInfoDataList, nil
  202. }
  203. func GetLogisticsNum() [][]string {
  204. var logisticNumsInfos [][]string
  205. db := GetReadDB(context.Background())
  206. var logisticInfos []*gorm_model.YoungeeTaskLogistics
  207. db.Model(gorm_model.YoungeeTaskLogistics{}).Where("things_type = 1 AND status != 1").Find(&logisticInfos)
  208. for _, logisticInfo := range logisticInfos {
  209. var logisticNumsInfo []string
  210. logisticNumsInfo = append(logisticNumsInfo, logisticInfo.CompanyName, logisticInfo.LogisticsNumber, strconv.FormatInt(logisticInfo.LogisticsID, 10))
  211. logisticNumsInfos = append(logisticNumsInfos, logisticNumsInfo)
  212. }
  213. fmt.Println("logisticNumsInfos:", logisticNumsInfos)
  214. return logisticNumsInfos
  215. }
  216. func SignLogistic(logisticId int64) string {
  217. db := GetReadDB(context.Background())
  218. var taskId, projectId string
  219. // var selectionId string
  220. var contentType int64
  221. db.Model(gorm_model.YoungeeTaskLogistics{}).Select("task_id").Where("logistics_id = ?", logisticId).Find(&taskId)
  222. // db.Model(gorm_model.YounggeeSecTaskInfo{}).Select("selection_id").Where("task_id = ?", taskId).Find(&selectionId)
  223. db.Model(gorm_model.YoungeeTaskInfo{}).Select("project_id").Where("task_id = ?", taskId).Find(&projectId)
  224. db.Model(gorm_model.ProjectInfo{}).Select("content_type").Where("project_id = ?", projectId).Find(&contentType)
  225. // contentType为内容形式
  226. t := time.Now()
  227. db.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticId).Updates(&gorm_model.YoungeeTaskLogistics{SignedTime: &t, Status: 1})
  228. db.Model(gorm_model.YounggeeSecTaskInfo{}).Where("task_id = ?", taskId).Updates(&gorm_model.YounggeeSecTaskInfo{SignedTime: t, FreeStage: 5})
  229. if contentType == 1 {
  230. db.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Updates(&gorm_model.YoungeeTaskInfo{LogisticsStatus: 3, TaskStage: 9})
  231. fmt.Printf("任务 %v 物流状态为已签收,已更新任务状态为 待传初稿\n", taskId)
  232. } else {
  233. db.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Updates(&gorm_model.YoungeeTaskInfo{LogisticsStatus: 3, TaskStage: 7})
  234. fmt.Printf("任务 %v 物流状态为已签收,已更新任务状态为 待传脚本\n", taskId)
  235. }
  236. return taskId
  237. }
  238. func SignLogistic_sec(logisticId int64) string {
  239. db := GetReadDB(context.Background())
  240. var taskId, selectionId string
  241. // var contentType int64
  242. db.Model(gorm_model.YoungeeTaskLogistics{}).Select("task_id").Where("logistics_id = ?", logisticId).Find(&taskId)
  243. db.Model(gorm_model.YoungeeTaskInfo{}).Select("selection_id").Where("task_id = ?", taskId).Find(&selectionId)
  244. t := time.Now()
  245. db.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticId).Updates(&gorm_model.YoungeeTaskLogistics{SignedTime: &t, Status: 1})
  246. return taskId
  247. }
  248. func GetSpecialInviteNumber(ctx context.Context, projectId string) (*http_model.GetSpecialInviteNumberData, error) {
  249. var specialInviteNumberData http_model.GetSpecialInviteNumberData
  250. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_stage != 3", projectId)
  251. err := db.Where("task_status <> 2").Count(&specialInviteNumberData.UnpassNumber).Error
  252. if err != nil {
  253. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  254. return nil, err
  255. }
  256. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId)
  257. err = db.Where("task_status = 2").Count(&specialInviteNumberData.PassNumber).Error
  258. if err != nil {
  259. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  260. return nil, err
  261. }
  262. return &specialInviteNumberData, nil
  263. }
  264. func GetSpecialLogisticNumber(ctx context.Context, projectId string) (*http_model.GetSpecialLogisticNumberData, error) {
  265. var specialLogisticNumberData http_model.GetSpecialLogisticNumberData
  266. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_stage != 3", projectId)
  267. err := db.Where("task_status = 2").Count(&specialLogisticNumberData.DeliverNumber).Error
  268. if err != nil {
  269. logrus.WithContext(ctx).Errorf("[GetSpecialLogisticNumber] error query mysql total, err:%+v", err)
  270. return nil, err
  271. }
  272. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  273. err = db.Where("logistics_status = 3").Count(&specialLogisticNumberData.SignedNumber).Error
  274. if err != nil {
  275. logrus.WithContext(ctx).Errorf("[GetSpecialLogisticNumber] error query mysql total, err:%+v", err)
  276. return nil, err
  277. }
  278. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  279. err = db.Where("logistics_status = 1").Count(&specialLogisticNumberData.UndeliveredNumber).Error
  280. if err != nil {
  281. logrus.WithContext(ctx).Errorf("[GetSpecialLogisticNumber] error query mysql total, err:%+v", err)
  282. return nil, err
  283. }
  284. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  285. err = db.Where("logistics_status = 2").Count(&specialLogisticNumberData.DeliveredNumber).Error
  286. if err != nil {
  287. logrus.WithContext(ctx).Errorf("[GetSpecialLogisticNumber] error query mysql total, err:%+v", err)
  288. return nil, err
  289. }
  290. return &specialLogisticNumberData, nil
  291. }
  292. func GetSpecialReviewNumber(ctx context.Context, projectId string) (*http_model.GetSpecialReviewNumberData, error) {
  293. var specialReviewNumber http_model.GetSpecialReviewNumberData
  294. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  295. err := db.Where("").Count(&specialReviewNumber.ReviewNumber).Error
  296. if err != nil {
  297. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  298. return nil, err
  299. }
  300. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  301. err = db.Where("task_stage = 8").Count(&specialReviewNumber.ScriptUnreviewNumber).Error
  302. if err != nil {
  303. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  304. return nil, err
  305. }
  306. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  307. err = db.Where("task_stage > 8").Count(&specialReviewNumber.ScriptPassedNumber).Error
  308. if err != nil {
  309. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  310. return nil, err
  311. }
  312. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  313. err = db.Where("task_stage = 10").Count(&specialReviewNumber.SketchUnreviewNumber).Error
  314. if err != nil {
  315. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  316. return nil, err
  317. }
  318. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  319. err = db.Where("task_stage > 10").Count(&specialReviewNumber.SketchPassedNumber).Error
  320. if err != nil {
  321. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  322. return nil, err
  323. }
  324. return &specialReviewNumber, nil
  325. }
  326. func GetSpecialLinkNumber(ctx context.Context, projectId string) (*http_model.GetSpecialLinkNumberData, error) {
  327. var specialLinkNumber http_model.GetSpecialLinkNumberData
  328. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  329. err := db.Where("").Count(&specialLinkNumber.LinkNumber).Error
  330. if err != nil {
  331. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  332. return nil, err
  333. }
  334. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  335. err = db.Where("task_stage = 12").Count(&specialLinkNumber.LinkUnreviewNumber).Error
  336. if err != nil {
  337. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  338. return nil, err
  339. }
  340. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  341. err = db.Where("task_stage > 12").Count(&specialLinkNumber.LinkPassedNumber).Error
  342. if err != nil {
  343. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  344. return nil, err
  345. }
  346. return &specialLinkNumber, nil
  347. }
  348. func GetSpecialDataNumber(ctx context.Context, projectId string) (*http_model.GetSpecialDataNumberData, error) {
  349. var specialDataNumber http_model.GetSpecialDataNumberData
  350. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  351. err := db.Where("").Count(&specialDataNumber.DataNumber).Error
  352. if err != nil {
  353. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  354. return nil, err
  355. }
  356. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  357. err = db.Where("task_stage = 14").Count(&specialDataNumber.DataUnreviewNumber).Error
  358. if err != nil {
  359. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  360. return nil, err
  361. }
  362. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2", projectId)
  363. err = db.Where("task_stage > 14").Count(&specialDataNumber.DataPassedNumber).Error
  364. if err != nil {
  365. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  366. return nil, err
  367. }
  368. return &specialDataNumber, nil
  369. }
  370. func GetSpecialSettleNumber(ctx context.Context, projectId string) (*http_model.GetSpecialSettleNumberData, error) {
  371. var specialSettleNumber http_model.GetSpecialSettleNumberData
  372. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage = 15", projectId)
  373. err := db.Where("").Count(&specialSettleNumber.SettleNumber).Error
  374. if err != nil {
  375. logrus.WithContext(ctx).Errorf("[GetSpecialSettleNumber] error query mysql total, err:%+v", err)
  376. return nil, err
  377. }
  378. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage = 15 and settle_status = 1", projectId)
  379. err = db.Where("task_stage = 14").Count(&specialSettleNumber.UnsettleNumber).Error
  380. if err != nil {
  381. logrus.WithContext(ctx).Errorf("[GetSpecialSettleNumber] error query mysql total, err:%+v", err)
  382. return nil, err
  383. }
  384. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage = 15 and settle_status = 2", projectId)
  385. err = db.Where("task_stage > 14").Count(&specialSettleNumber.SettledNumber).Error
  386. if err != nil {
  387. logrus.WithContext(ctx).Errorf("[GetSpecialSettleNumber] error query mysql total, err:%+v", err)
  388. return nil, err
  389. }
  390. return &specialSettleNumber, nil
  391. }