data.go 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. package service
  2. import (
  3. "context"
  4. "errors"
  5. "fmt"
  6. "strings"
  7. "youngee_m_api/db"
  8. "youngee_m_api/model/gorm_model"
  9. "youngee_m_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.ProjectId)
  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.ProjectId)
  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)
  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. // RejectData
  152. func (*data) RejectData(ctx context.Context, request http_model.RejectDataRequest) (*http_model.RejectDataData, error) {
  153. var TaskIDList []string
  154. TaskIDs := strings.Split(request.TaskIds, ",")
  155. for _, taskId := range TaskIDs {
  156. TaskIDList = append(TaskIDList, taskId)
  157. }
  158. //fmt.Printf("acc request %+v", TaskIDList)
  159. err := db.RejectData(ctx, TaskIDList, request.OperatorId, request.ProjectId)
  160. if err != nil {
  161. logrus.WithContext(ctx).Errorf("[Link service] call CreateLink error,err:%+v", err)
  162. return nil, err
  163. }
  164. // 记录任务日志
  165. for _, taskId := range TaskIDList {
  166. err = db.CreateTaskLog(ctx, taskId, "数据驳回")
  167. if err != nil {
  168. logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
  169. return nil, err
  170. }
  171. err = db.CreateMessageByTaskId(ctx, 19, 3, taskId)
  172. if err != nil {
  173. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  174. return nil, err
  175. }
  176. }
  177. res := &http_model.RejectDataData{
  178. TaskIds: TaskIDList,
  179. }
  180. return res, nil
  181. }
  182. // 任务结案service
  183. func (*data) LocalAcceptData(ctx context.Context, request http_model.LocalAcceptDataRequest) (*http_model.LocalAcceptDataData, error) {
  184. var TaskIDList []string
  185. TaskIDs := strings.Split(request.TaskIds, ",")
  186. for _, taskId := range TaskIDs {
  187. TaskIDList = append(TaskIDList, taskId)
  188. }
  189. // 1. 更新YounggeeDataInfo表,通过数据
  190. fmt.Printf("acc request %+v", TaskIDList)
  191. err := db.AcceptData(ctx, TaskIDList, request.OperatorId)
  192. if err != nil {
  193. logrus.WithContext(ctx).Errorf("[Data service] call AcceptData error,err:%+v", err)
  194. return nil, err
  195. }
  196. // 记录任务日志和达人消息
  197. for _, taskId := range TaskIDList {
  198. err = db.CreateTaskLog(ctx, taskId, "数据通过")
  199. if err != nil {
  200. logrus.WithContext(ctx).Errorf("[Data service] call CreateTaskLog error,err:%+v", err)
  201. return nil, err
  202. }
  203. err = db.CreateMessageByTaskId(ctx, 5, 1, taskId)
  204. if err != nil {
  205. logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
  206. return nil, err
  207. }
  208. }
  209. res := &http_model.LocalAcceptDataData{
  210. TaskIds: TaskIDList,
  211. //IsEnd: 0,
  212. }
  213. if request.IsSpecial == 1 {
  214. // 2. 更新YoungeeTaskInfo表,将任务结案
  215. err = db.SetSpecialLocalTaskFinish(ctx, TaskIDList)
  216. if err != nil {
  217. logrus.WithContext(ctx).Errorf("[Data service] call SetTaskFinish error,err:%+v", err)
  218. return nil, err
  219. }
  220. err = db.SetSpecialLocalTaskSettleNum(ctx, TaskIDList)
  221. if err != nil {
  222. logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
  223. return nil, err
  224. }
  225. err = db.SetLocalSettleAmount(ctx, request.SettleAmount, TaskIDList)
  226. if err != nil {
  227. logrus.WithContext(ctx).Errorf("[Data service] call SetSettleAmount error,err:%+v", err)
  228. return nil, err
  229. }
  230. err = db.SetLocalLifeSettleFlag(ctx, request.ProjectId)
  231. if err != nil {
  232. logrus.WithContext(ctx).Errorf("[Data service] call SetLocalLifeSettleFlag error,err:%+v", err)
  233. return nil, err
  234. }
  235. } else {
  236. // 2. 更新YoungeeTaskInfo表,将任务结案
  237. fmt.Printf("acc request %+v", TaskIDList)
  238. err = db.SetLocalTaskFinish(ctx, TaskIDList)
  239. if err != nil {
  240. logrus.WithContext(ctx).Errorf("[Data service] call SetTaskFinish error,err:%+v", err)
  241. return nil, err
  242. }
  243. err = db.SetLocalTalentIncome(ctx, TaskIDList)
  244. if err != nil {
  245. logrus.WithContext(ctx).Errorf("[Data service] call SetTalentIncome error,err:%+v", err)
  246. return nil, err
  247. }
  248. err = db.SetSpecialLocalTaskSettleNum(ctx, TaskIDList)
  249. if err != nil {
  250. logrus.WithContext(ctx).Errorf("[Data service] call SetSpecialTaskSettleNum error,err:%+v", err)
  251. return nil, err
  252. }
  253. err = db.SetLocalLifeSettleFlag(ctx, request.ProjectId)
  254. if err != nil {
  255. logrus.WithContext(ctx).Errorf("[Data service] call SetLocalLifeSettleFlag error,err:%+v", err)
  256. return nil, err
  257. }
  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.ProjectId)
  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. }