number_info.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. package db
  2. import (
  3. "context"
  4. "youngee_m_api/model/gorm_model"
  5. "youngee_m_api/model/http_model"
  6. "github.com/sirupsen/logrus"
  7. )
  8. func GetLogisticsNumberInfo(ctx context.Context, projectId int64, strategyIds []int64) (*http_model.GetLogisticsNumberInfoData, error) {
  9. var LogisticsNumberInfoDataList http_model.GetLogisticsNumberInfoData
  10. for _, strategyId := range strategyIds {
  11. var LogisticsNumberInfoData http_model.LogisticsNumberInfo
  12. LogisticsNumberInfoData.StrategyId = strategyId
  13. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  14. err := db.Where("logistics_status = 1").Count(&LogisticsNumberInfoData.UndeliveredNumber).Error
  15. if err != nil {
  16. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  17. return nil, err
  18. }
  19. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  20. err = db.Where("logistics_status = 2").Count(&LogisticsNumberInfoData.DeliveredNumber).Error
  21. if err != nil {
  22. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  23. return nil, err
  24. }
  25. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  26. err = db.Where("logistics_status = 3").Count(&LogisticsNumberInfoData.SignedNumber).Error
  27. if err != nil {
  28. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  29. return nil, err
  30. }
  31. LogisticsNumberInfoDataList.LogisticsNumberInfoList = append(LogisticsNumberInfoDataList.LogisticsNumberInfoList, &LogisticsNumberInfoData)
  32. }
  33. return &LogisticsNumberInfoDataList, nil
  34. }
  35. func GetReviewNumberInfo(ctx context.Context, projectId int64, strategyIds []int64) (*http_model.GetReviewNumberInfoData, error) {
  36. var ReviewNumberInfoDataList http_model.GetReviewNumberInfoData
  37. for _, strategyId := range strategyIds {
  38. var ReviewNumberInfoData http_model.ReviewNumberInfo
  39. ReviewNumberInfoData.StrategyId = strategyId
  40. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  41. err := db.Where("task_stage = 8").Count(&ReviewNumberInfoData.ScriptUnreviewNumber).Error
  42. if err != nil {
  43. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  44. return nil, err
  45. }
  46. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  47. err = db.Where("task_stage > 8").Count(&ReviewNumberInfoData.ScriptPassedNumber).Error
  48. if err != nil {
  49. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  50. return nil, err
  51. }
  52. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  53. err = db.Where("task_stage = 10").Count(&ReviewNumberInfoData.SketchUnreviewNumber).Error
  54. if err != nil {
  55. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  56. return nil, err
  57. }
  58. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  59. err = db.Where("task_stage > 10").Count(&ReviewNumberInfoData.SketchPassedNumber).Error
  60. if err != nil {
  61. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  62. return nil, err
  63. }
  64. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  65. err = db.Count(&ReviewNumberInfoData.ReviewNumber).Error
  66. if err != nil {
  67. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  68. return nil, err
  69. }
  70. ReviewNumberInfoDataList.ReviewNumberInfoList = append(ReviewNumberInfoDataList.ReviewNumberInfoList, &ReviewNumberInfoData)
  71. }
  72. return &ReviewNumberInfoDataList, nil
  73. }
  74. func GetLinkNumberInfo(ctx context.Context, projectId int64, strategyIds []int64) (*http_model.GetLinkNumberInfoData, error) {
  75. var LinkNumberInfoDataList http_model.GetLinkNumberInfoData
  76. for _, strategyId := range strategyIds {
  77. var LinkNumberInfoData http_model.LinkNumberInfo
  78. LinkNumberInfoData.StrategyId = strategyId
  79. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  80. err := db.Where("task_stage = 12").Count(&LinkNumberInfoData.LinkUnreviewNumber).Error
  81. if err != nil {
  82. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  83. return nil, err
  84. }
  85. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  86. err = db.Where("task_stage > 12").Count(&LinkNumberInfoData.LinkPassedNumber).Error
  87. if err != nil {
  88. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  89. return nil, err
  90. }
  91. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  92. err = db.Count(&LinkNumberInfoData.LinkNumber).Error
  93. if err != nil {
  94. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  95. return nil, err
  96. }
  97. LinkNumberInfoDataList.LinkNumberInfoList = append(LinkNumberInfoDataList.LinkNumberInfoList, &LinkNumberInfoData)
  98. }
  99. return &LinkNumberInfoDataList, nil
  100. }
  101. func GetDataNumberInfo(ctx context.Context, projectId int64, strategyIds []int64) (*http_model.GetDataNumberInfoData, error) {
  102. var DataNumberInfoDataList http_model.GetDataNumberInfoData
  103. for _, strategyId := range strategyIds {
  104. var DataNumberInfoData http_model.DataNumberInfo
  105. DataNumberInfoData.StrategyId = strategyId
  106. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  107. err := db.Where("task_stage = 14").Count(&DataNumberInfoData.DataUnreviewNumber).Error
  108. if err != nil {
  109. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  110. return nil, err
  111. }
  112. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  113. err = db.Where("task_stage > 14").Count(&DataNumberInfoData.DataPassedNumber).Error
  114. if err != nil {
  115. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  116. return nil, err
  117. }
  118. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  119. err = db.Count(&DataNumberInfoData.DataNumber).Error
  120. if err != nil {
  121. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  122. return nil, err
  123. }
  124. DataNumberInfoDataList.DataNumberInfoList = append(DataNumberInfoDataList.DataNumberInfoList, &DataNumberInfoData)
  125. }
  126. return &DataNumberInfoDataList, nil
  127. }
  128. func GetDefaultNumberInfo(ctx context.Context, projectId int64, strategyIds []int64) (*http_model.GetDefaultNumberInfoData, error) {
  129. var DefaultNumberInfoDataList http_model.GetDefaultNumberInfoData
  130. for _, strategyId := range strategyIds {
  131. var DefaultNumberInfoData http_model.DefaultNumberInfo
  132. DefaultNumberInfoData.StrategyId = strategyId
  133. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  134. err := db.Where("complete_status <> 4").Count(&DefaultNumberInfoData.ShouldFinishNumber).Error
  135. if err != nil {
  136. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  137. return nil, err
  138. }
  139. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  140. err = db.Where("cur_default_type = 1").Count(&DefaultNumberInfoData.UnuploadScriptNumber).Error
  141. if err != nil {
  142. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  143. return nil, err
  144. }
  145. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  146. err = db.Where("cur_default_type = 3").Count(&DefaultNumberInfoData.UnuploadSketchNumber).Error
  147. if err != nil {
  148. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  149. return nil, err
  150. }
  151. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  152. err = db.Where("cur_default_type = 5").Count(&DefaultNumberInfoData.UnuploadLinkNumber).Error
  153. if err != nil {
  154. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  155. return nil, err
  156. }
  157. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  158. err = db.Where("cur_default_type = 7").Count(&DefaultNumberInfoData.UnuploadDataNumber).Error
  159. if err != nil {
  160. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  161. return nil, err
  162. }
  163. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  164. err = db.Where("complete_status = 4").Count(&DefaultNumberInfoData.TerminateNumber).Error
  165. if err != nil {
  166. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  167. return nil, err
  168. }
  169. DefaultNumberInfoDataList.DefaultNumberInfoList = append(DefaultNumberInfoDataList.DefaultNumberInfoList, &DefaultNumberInfoData)
  170. }
  171. return &DefaultNumberInfoDataList, nil
  172. }
  173. func GetFinishNumberInfo(ctx context.Context, projectId int64, strategyIds []int64) (*http_model.GetFinishNumberInfoData, error) {
  174. var FinishNumberInfoDataList http_model.GetFinishNumberInfoData
  175. for _, strategyId := range strategyIds {
  176. var FinishNumberInfoData http_model.FinishNumberInfo
  177. FinishNumberInfoData.StrategyId = strategyId
  178. db := GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  179. err := db.Where("task_stage = 15").Count(&FinishNumberInfoData.ShouldFinishNumber).Error
  180. if err != nil {
  181. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  182. return nil, err
  183. }
  184. db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
  185. err = db.Where("task_stage = 16").Count(&FinishNumberInfoData.FinishedNumber).Error
  186. if err != nil {
  187. logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
  188. return nil, err
  189. }
  190. FinishNumberInfoDataList.FinishNumberInfoList = append(FinishNumberInfoDataList.FinishNumberInfoList, &FinishNumberInfoData)
  191. }
  192. return &FinishNumberInfoDataList, nil
  193. }