data.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. package service
  2. import (
  3. "context"
  4. "errors"
  5. "fmt"
  6. "strings"
  7. "youngee_b_api/db"
  8. "youngee_b_api/model/gorm_model"
  9. "youngee_b_api/model/http_model"
  10. "github.com/sirupsen/logrus"
  11. )
  12. var Data *data
  13. type data struct {
  14. }
  15. // DataOpinion 在上传脚本表上提交修改意见
  16. func (*data) DataOpinion(ctx context.Context, request http_model.DataOpinionRequest) (*http_model.DataOpinionData, error) {
  17. Data := gorm_model.YounggeeDataInfo{
  18. TaskID: request.TaskID,
  19. ReviseOpinion: request.DataOpinion,
  20. }
  21. err := db.DataOpinion(ctx, Data.TaskID, Data.ReviseOpinion, request.OperatorId, request.OperateType, request.ProjectId, request.EnterpriseId)
  22. if err != nil {
  23. logrus.WithContext(ctx).Errorf("[Data service] call CreateData error,err:%+v", err)
  24. return nil, err
  25. }
  26. // 记录任务日志
  27. err = db.CreateTaskLog(ctx, Data.TaskID, "数据驳回")
  28. if err != nil {
  29. logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
  30. return nil, err
  31. }
  32. err = db.CreateMessageByTaskId(ctx, 19, 3, Data.TaskID)
  33. if err != nil {
  34. logrus.WithContext(ctx).Errorf("[Data service] call CreateMessageByTaskId error,err:%+v", err)
  35. return nil, err
  36. }
  37. res := &http_model.DataOpinionData{
  38. TaskID: Data.TaskID,
  39. }
  40. return res, nil
  41. }
  42. // DataOpinion 在上传脚本表上提交修改意见
  43. func (*data) LocalDataOpinion(ctx context.Context, request http_model.LocalDataOpinionRequest) (*http_model.LocalDataOpinionData, error) {
  44. Data := gorm_model.YounggeeDataInfo{
  45. TaskID: request.TaskID,
  46. ReviseOpinion: request.LocalDataOpinion,
  47. }
  48. err := db.LocalDataOpinion(ctx, Data.TaskID, Data.ReviseOpinion, request.OperatorId, request.OperateType, request.ProjectId, request.EnterpriseId)
  49. if err != nil {
  50. logrus.WithContext(ctx).Errorf("[Data service] call CreateData error,err:%+v", err)
  51. return nil, err
  52. }
  53. // 记录任务日志
  54. err = db.CreateTaskLog(ctx, Data.TaskID, "数据驳回")
  55. if err != nil {
  56. logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
  57. return nil, err
  58. }
  59. err = db.CreateMessageByTaskId(ctx, 19, 3, Data.TaskID)
  60. if err != nil {
  61. logrus.WithContext(ctx).Errorf("[Data service] call CreateMessageByTaskId error,err:%+v", err)
  62. return nil, err
  63. }
  64. res := &http_model.LocalDataOpinionData{
  65. TaskID: Data.TaskID,
  66. }
  67. return res, nil
  68. }
  69. // 任务结案service
  70. func (*data) AcceptData(ctx context.Context, request http_model.AcceptDataRequest) (*http_model.AcceptDataData, error) {
  71. var TaskIDList []string
  72. TaskIDs := strings.Split(request.TaskIds, ",")
  73. for _, taskId := range TaskIDs {
  74. TaskIDList = append(TaskIDList, taskId)
  75. }
  76. // 1. 更新YounggeeDataInfo表,通过数据
  77. //fmt.Printf("acc request %+v", TaskIDList)
  78. err := db.AcceptData(ctx, TaskIDList, request.OperatorId, request.OperateType, request.EnterpriseId)
  79. if err != nil {
  80. logrus.WithContext(ctx).Errorf("[Data service] call AcceptData error,err:%+v", err)
  81. return nil, err
  82. }
  83. // 记录任务日志和达人消息
  84. for _, taskId := range TaskIDList {
  85. err = db.CreateTaskLog(ctx, taskId, "数据通过")
  86. if err != nil {
  87. logrus.WithContext(ctx).Errorf("[Data service] call CreateTaskLog error,err:%+v", err)
  88. return nil, err
  89. }
  90. err = db.CreateMessageByTaskId(ctx, 5, 1, taskId)
  91. if err != nil {
  92. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  93. return nil, err
  94. }
  95. }
  96. res := &http_model.AcceptDataData{
  97. TaskIds: TaskIDList,
  98. //IsEnd: 0,
  99. }
  100. if request.IsSpecial == 1 {
  101. // 2. 更新YoungeeTaskInfo表,将任务结案
  102. err = db.SetSpecialTaskFinish(ctx, TaskIDList)
  103. if err != nil {
  104. logrus.WithContext(ctx).Errorf("[Data service] call SetTaskFinish error,err:%+v", err)
  105. return nil, err
  106. }
  107. err = db.SetSpecialTaskSettleNum(ctx, TaskIDList)
  108. if err != nil {
  109. logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
  110. return nil, err
  111. }
  112. if request.SettleAmount == nil {
  113. return nil, errors.New("SettleAmount is nil")
  114. }
  115. err = db.SetSettleAmount(ctx, request.SettleAmount, TaskIDList)
  116. if err != nil {
  117. logrus.WithContext(ctx).Errorf("[Data service] call SetSettleAmount error,err:%+v", err)
  118. return nil, err
  119. }
  120. err = db.SetProjectSettleFlag(ctx, request.ProjectId)
  121. if err != nil {
  122. logrus.WithContext(ctx).Errorf("[Data service] call SetProjectSettleFlag error,err:%+v", err)
  123. return nil, err
  124. }
  125. } else {
  126. // 2. 更新YoungeeTaskInfo表,将任务结案
  127. //fmt.Printf("acc request %+v", TaskIDList)
  128. err = db.SetTaskFinish(ctx, TaskIDList)
  129. if err != nil {
  130. logrus.WithContext(ctx).Errorf("[Data service] call SetTaskFinish error,err:%+v", err)
  131. return nil, err
  132. }
  133. err = db.SetTalentIncome(ctx, TaskIDList)
  134. if err != nil {
  135. logrus.WithContext(ctx).Errorf("[Data service] call SetTalentIncome error,err:%+v", err)
  136. return nil, err
  137. }
  138. err = db.SetSpecialTaskSettleNum(ctx, TaskIDList)
  139. if err != nil {
  140. logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
  141. return nil, err
  142. }
  143. err = db.SetProjectSettleFlag(ctx, request.ProjectId)
  144. if err != nil {
  145. logrus.WithContext(ctx).Errorf("[Data service] call SetProjectSettleFlag error,err:%+v", err)
  146. return nil, err
  147. }
  148. }
  149. return res, nil
  150. }
  151. // 任务结案service
  152. func (*data) LocalAcceptData(ctx context.Context, request http_model.LocalAcceptDataRequest) (*http_model.LocalAcceptDataData, error) {
  153. var TaskIDList []string
  154. TaskIDs := strings.Split(request.TaskIds, ",")
  155. for _, taskId := range TaskIDs {
  156. TaskIDList = append(TaskIDList, taskId)
  157. }
  158. // 1. 更新YounggeeDataInfo表,通过数据
  159. fmt.Printf("acc request %+v", TaskIDList)
  160. err := db.AcceptData(ctx, TaskIDList, request.OperatorId, request.OperateType, request.EnterpriseId)
  161. if err != nil {
  162. logrus.WithContext(ctx).Errorf("[Data service] call AcceptData error,err:%+v", err)
  163. return nil, err
  164. }
  165. // 记录任务日志和达人消息
  166. for _, taskId := range TaskIDList {
  167. err = db.CreateTaskLog(ctx, taskId, "数据通过")
  168. if err != nil {
  169. logrus.WithContext(ctx).Errorf("[Data service] call CreateTaskLog error,err:%+v", err)
  170. return nil, err
  171. }
  172. err = db.CreateMessageByTaskId(ctx, 5, 1, taskId)
  173. if err != nil {
  174. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  175. return nil, err
  176. }
  177. }
  178. res := &http_model.LocalAcceptDataData{
  179. TaskIds: TaskIDList,
  180. //IsEnd: 0,
  181. }
  182. if request.IsSpecial == 1 {
  183. // 2. 更新YoungeeTaskInfo表,将任务结案
  184. err = db.SetSpecialLocalTaskFinish(ctx, TaskIDList)
  185. if err != nil {
  186. logrus.WithContext(ctx).Errorf("[Data service] call SetTaskFinish error,err:%+v", err)
  187. return nil, err
  188. }
  189. err = db.SetSpecialLocalTaskSettleNum(ctx, TaskIDList)
  190. if err != nil {
  191. logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
  192. return nil, err
  193. }
  194. err = db.SetLocalSettleAmount(ctx, request.SettleAmount, TaskIDList)
  195. if err != nil {
  196. logrus.WithContext(ctx).Errorf("[Data service] call SetSettleAmount error,err:%+v", err)
  197. return nil, err
  198. }
  199. err = db.SetLocalLifeSettleFlag(ctx, request.ProjectId)
  200. if err != nil {
  201. logrus.WithContext(ctx).Errorf("[Data service] call SetLocalLifeSettleFlag error,err:%+v", err)
  202. return nil, err
  203. }
  204. } else {
  205. // 2. 更新YoungeeTaskInfo表,将任务结案
  206. fmt.Printf("acc request %+v", TaskIDList)
  207. err = db.SetLocalTaskFinish(ctx, TaskIDList)
  208. if err != nil {
  209. logrus.WithContext(ctx).Errorf("[Data service] call SetTaskFinish error,err:%+v", err)
  210. return nil, err
  211. }
  212. err = db.SetLocalTalentIncome(ctx, TaskIDList)
  213. if err != nil {
  214. logrus.WithContext(ctx).Errorf("[Data service] call SetTalentIncome error,err:%+v", err)
  215. return nil, err
  216. }
  217. err = db.SetSpecialLocalTaskSettleNum(ctx, TaskIDList)
  218. if err != nil {
  219. logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
  220. return nil, err
  221. }
  222. err = db.SetLocalLifeSettleFlag(ctx, request.ProjectId)
  223. if err != nil {
  224. logrus.WithContext(ctx).Errorf("[Data service] call SetLocalLifeSettleFlag error,err:%+v", err)
  225. return nil, err
  226. }
  227. }
  228. return res, nil
  229. }
  230. // RejectData
  231. func (*data) RejectData(ctx context.Context, request http_model.RejectDataRequest) (*http_model.RejectDataData, error) {
  232. var TaskIDList []string
  233. TaskIDs := strings.Split(request.TaskIds, ",")
  234. for _, taskId := range TaskIDs {
  235. TaskIDList = append(TaskIDList, taskId)
  236. }
  237. //fmt.Printf("acc request %+v", TaskIDList)
  238. err := db.RejectData(ctx, TaskIDList, request.OperatorId, request.OperateType, request.ProjectId, request.EnterpriseId)
  239. if err != nil {
  240. logrus.WithContext(ctx).Errorf("[Link service] call CreateLink error,err:%+v", err)
  241. return nil, err
  242. }
  243. // 记录任务日志
  244. for _, taskId := range TaskIDList {
  245. err = db.CreateTaskLog(ctx, taskId, "数据驳回")
  246. if err != nil {
  247. logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
  248. return nil, err
  249. }
  250. err = db.CreateMessageByTaskId(ctx, 19, 3, taskId)
  251. if err != nil {
  252. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  253. return nil, err
  254. }
  255. }
  256. res := &http_model.RejectDataData{
  257. TaskIds: TaskIDList,
  258. }
  259. return res, nil
  260. }
  261. // RejectData
  262. func (*data) LocalRejectData(ctx context.Context, request http_model.LocalRejectDataRequest) (*http_model.LocalRejectDataData, error) {
  263. var TaskIDList []string
  264. TaskIDs := strings.Split(request.TaskIds, ",")
  265. for _, taskId := range TaskIDs {
  266. TaskIDList = append(TaskIDList, taskId)
  267. }
  268. fmt.Printf("acc request %+v", TaskIDList)
  269. err := db.LocalRejectData(ctx, TaskIDList, request.OperatorId, request.OperateType, request.ProjectId, request.EnterpriseId)
  270. if err != nil {
  271. logrus.WithContext(ctx).Errorf("[Link service] call CreateLink error,err:%+v", err)
  272. return nil, err
  273. }
  274. // 记录任务日志
  275. for _, taskId := range TaskIDList {
  276. err = db.CreateTaskLog(ctx, taskId, "数据驳回")
  277. if err != nil {
  278. logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
  279. return nil, err
  280. }
  281. err = db.CreateMessageByTaskId(ctx, 19, 3, taskId)
  282. if err != nil {
  283. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  284. return nil, err
  285. }
  286. }
  287. res := &http_model.LocalRejectDataData{
  288. TaskIds: TaskIDList,
  289. }
  290. return res, nil
  291. }