task_controller.go 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/sirupsen/logrus"
  5. "youngee_b_api/app/service"
  6. "youngee_b_api/app/service/review_service"
  7. "youngee_b_api/app/vo"
  8. )
  9. type TaskController struct{}
  10. type SelectionDetailParam struct {
  11. SelectionId string `json:"selection_id"`
  12. //EnterpriseId string `json:"enterprise_id"`
  13. //SubAccountId int `json:"sub_account_id"`
  14. }
  15. type ProjectDetailParam struct {
  16. ProjectId string `json:"project_id"`
  17. //EnterpriseId string `json:"enterprise_id"`
  18. //SubAccountId int `json:"sub_account_id"`
  19. }
  20. // 关联商品-已有商品展示
  21. func (t TaskController) GetAllProduct(c *gin.Context) {
  22. search := vo.GetAllProductParam{}
  23. err := c.BindJSON(&search)
  24. if err != nil {
  25. logrus.Errorf("Request bind err:%+v\n", err)
  26. returnError(c, 40000, "参数错误")
  27. return
  28. }
  29. var result vo.ResultVO
  30. result, err = service.ProductService{}.GetTaskProductsByUserId(search)
  31. if err != nil {
  32. returnError(c, 40000, "error")
  33. return
  34. }
  35. returnSuccess(c, 20000, result)
  36. return
  37. }
  38. // 关联商品-新建商品
  39. func (t TaskController) CreateProduct(c *gin.Context) {
  40. data := &vo.ProductCreateParam{}
  41. err := c.BindJSON(data)
  42. if err != nil {
  43. logrus.Errorf("Request bind err:%+v\n", err)
  44. returnError(c, 40000, "参数错误")
  45. return
  46. }
  47. productId, err := service.ProductService{}.CreateProduct(data)
  48. resultMap := make(map[string]int64)
  49. resultMap["productId"] = productId
  50. returnSuccess(c, 20000, resultMap)
  51. }
  52. // 关联商品-完成关联创建带货任务
  53. func (t TaskController) CreateSelection(c *gin.Context) {
  54. data := &vo.SelectionInfoCreateParam{}
  55. err := c.BindJSON(data)
  56. if err != nil {
  57. logrus.Errorf("Request bind err:%+v\n", err)
  58. returnError(c, 40000, "参数错误")
  59. return
  60. }
  61. selectionId, err := service.SelectionInfoService{}.CreateSelectionInfo(data)
  62. if err != nil {
  63. logrus.Errorf("[CreateSelection] call CreateSelection err:%+v\n", err)
  64. returnError(c, 40000, "error")
  65. return
  66. }
  67. resultMap := make(map[string]string)
  68. resultMap["selectionId"] = *selectionId
  69. returnSuccess(c, 20000, resultMap)
  70. }
  71. // 更新带货任务(样品奖励、补充信息)
  72. func (t TaskController) UpdateSelection(c *gin.Context) {
  73. data := &vo.SelectionInfoUpdateParam{}
  74. err := c.BindJSON(data)
  75. if err != nil {
  76. logrus.Errorf("Request bind err:%+v\n", err)
  77. returnError(c, 40000, "参数错误")
  78. return
  79. }
  80. selectionId, err := service.SelectionInfoService{}.UpdateSelectionInfo(data)
  81. if err != nil {
  82. logrus.Errorf("[UpdateSelection] call UpdateSelection err:%+v\n", err)
  83. returnError(c, 40000, "error")
  84. return
  85. }
  86. resultMap := make(map[string]string)
  87. resultMap["selectionId"] = *selectionId
  88. returnSuccess(c, 20000, resultMap)
  89. }
  90. // 电商带货任务预览
  91. func (t TaskController) GetSelectionDetail(c *gin.Context) {
  92. data := &SelectionDetailParam{}
  93. err := c.BindJSON(data)
  94. if err != nil {
  95. logrus.Errorf("Request bind err:%+v\n", err)
  96. returnError(c, 40000, "参数错误")
  97. return
  98. }
  99. res, err := service.SelectionInfoService{}.GetSelectionDetail(data.SelectionId)
  100. if err != nil {
  101. logrus.Errorf("[GetSelectionDetail] call Show err:%+v\n", err)
  102. returnError(c, 40000, "error")
  103. return
  104. }
  105. returnSuccess(c, 20000, res)
  106. }
  107. // 电商带货提交审核
  108. func (t TaskController) SelectionToReview(c *gin.Context) {
  109. data := &vo.SelectionInfoUpdateParam{}
  110. err := c.BindJSON(data)
  111. if err != nil || data.SelectionID == "" {
  112. logrus.Errorf("Request bind err:%+v\n", err)
  113. returnError(c, 40000, "参数错误")
  114. return
  115. }
  116. selectionId, err := service.SelectionInfoService{}.SelectionToReview(data)
  117. if err != nil {
  118. logrus.Errorf("[SelectionToReview] call SelectionToReview err:%+v\n", err)
  119. returnError(c, 40000, "error")
  120. return
  121. }
  122. resultMap := make(map[string]string)
  123. resultMap["selectionId"] = *selectionId
  124. returnSuccess(c, 20000, resultMap)
  125. }
  126. // 电商带货任务列表
  127. func (t TaskController) SelectionTaskList(c *gin.Context) {
  128. param := &vo.SelectionSearchParam{}
  129. err := c.BindJSON(param)
  130. if err != nil {
  131. logrus.Errorf("Request bind err:%+v\n", err)
  132. returnError(c, 40000, "参数错误")
  133. return
  134. }
  135. res, err := service.SelectionInfoService{}.GetSelectionTaskList(param)
  136. if err != nil {
  137. logrus.Errorf("[SelectionTaskList] call Show err:%+v\n", err)
  138. returnError(c, 40000, "error")
  139. return
  140. }
  141. returnSuccess(c, 20000, res)
  142. }
  143. // 删除带货任务
  144. func (t TaskController) SelectionDel(c *gin.Context) {
  145. param := &vo.SelectionSearchParam{}
  146. err := c.BindJSON(param)
  147. if err != nil {
  148. logrus.Errorf("Request bind err:%+v\n", err)
  149. returnError(c, 40000, "参数错误")
  150. return
  151. }
  152. selectionId, err := service.SelectionInfoService{}.DeleteSelection(param.SelectionId)
  153. if err != nil {
  154. logrus.Errorf("[SelectionDel] call Show err:%+v\n", err)
  155. returnError(c, 40000, "error")
  156. return
  157. }
  158. resultMap := make(map[string]string)
  159. resultMap["selectionId"] = *selectionId
  160. returnSuccess(c, 20000, resultMap)
  161. }
  162. // 电商带货任务审核
  163. func (t TaskController) CheckSelectionInfo(c *gin.Context) {
  164. //data := &vo.ContentCheckParam{}
  165. //err := c.BindJSON(data)
  166. //if err != nil {
  167. // logrus.Errorf("Request bind err:%+v\n", err)
  168. // returnError(c, 40000, "error")
  169. // return
  170. //}
  171. //res, err := service.ContentService{}.CheckContent(data)
  172. //if err != nil {
  173. // logrus.Errorf("[CheckSelectionInfo] call Show err:%+v\n", err)
  174. // returnError(c, 40000, "error")
  175. // return
  176. //}
  177. //
  178. //returnSuccess(c, 20000, *res)
  179. data := &vo.ContentCheckParam{}
  180. err := c.BindJSON(data)
  181. if err != nil {
  182. logrus.Errorf("Request bind err:%+v\n", err)
  183. returnError(c, 40000, "参数错误")
  184. return
  185. }
  186. sdk := review_service.Config(data.AK, data.SK, data.ProjectId)
  187. res1, err1 := sdk.CheckContent(data.Text)
  188. res2, err2 := sdk.CheckImage(data.Image)
  189. res3, err3 := sdk.CheckDocument(data.Document, data.Format)
  190. res4, err4 := sdk.CheckVideo(data.Video)
  191. res5, err5 := sdk.CheckCredentials(data.Credentials)
  192. if err1 != nil {
  193. logrus.Errorf("[CheckSelectionInfo] call Show err:%+v\n", err)
  194. returnError(c, 40000, res1)
  195. return
  196. }
  197. if err2 != nil {
  198. logrus.Errorf("[CheckSelectionInfo] call Show err:%+v\n", err)
  199. returnError(c, 40000, res2)
  200. return
  201. }
  202. if err3 != nil {
  203. logrus.Errorf("[CheckSelectionInfo] call Show err:%+v\n", err)
  204. returnError(c, 40000, res3)
  205. return
  206. }
  207. if err4 != nil {
  208. logrus.Errorf("[CheckSelectionInfo] call Show err:%+v\n", err)
  209. returnError(c, 40000, res4)
  210. return
  211. }
  212. if err5 != nil {
  213. logrus.Errorf("[CheckSelectionInfo] call Show err:%+v\n", err)
  214. returnError(c, 40000, res5)
  215. return
  216. }
  217. returnSuccess(c, 20000, res3)
  218. }
  219. // 创建种草任务
  220. func (t TaskController) CreateProject(c *gin.Context) {
  221. data := &vo.ProjectCreateParam{}
  222. err := c.BindJSON(data)
  223. if err != nil {
  224. logrus.Errorf("Request bind err:%+v\n", err)
  225. returnError(c, 40000, "参数错误")
  226. return
  227. }
  228. projectId, err := service.ProjectService{}.CreateProject(data)
  229. if err != nil {
  230. logrus.Errorf("[CreateProject] call CreateProject err:%+v\n", err)
  231. returnError(c, 40000, "error")
  232. return
  233. }
  234. resultMap := make(map[string]string)
  235. resultMap["projectId"] = *projectId
  236. returnSuccess(c, 20000, resultMap)
  237. }
  238. // 更新种草任务
  239. func (t TaskController) UpdateProject(c *gin.Context) {
  240. data := &vo.ProjectUpdateParam{}
  241. err := c.BindJSON(data)
  242. if err != nil {
  243. logrus.Errorf("Request bind err:%+v\n", err)
  244. returnError(c, 40000, "参数错误")
  245. return
  246. }
  247. projectId, err := service.ProjectService{}.UpdateProject(data)
  248. if err != nil {
  249. logrus.Errorf("[UpdateProject] call UpdateProject err:%+v\n", err)
  250. returnError(c, 40000, "error")
  251. return
  252. }
  253. resultMap := make(map[string]string)
  254. resultMap["projectId"] = *projectId
  255. returnSuccess(c, 20000, resultMap)
  256. }
  257. // 更新定向种草任务
  258. func (t TaskController) UpdateProjectTarget(c *gin.Context) {
  259. data := &vo.ProjectUpdateParam{}
  260. err := c.BindJSON(data)
  261. if err != nil {
  262. logrus.Errorf("Request bind err:%+v\n", err)
  263. returnError(c, 40000, "参数错误")
  264. return
  265. }
  266. projectId, err := service.ProjectService{}.UpdateProjectTarget(data)
  267. if err != nil {
  268. logrus.Errorf("[UpdateProject] call UpdateProject err:%+v\n", err)
  269. returnError(c, 40000, "error")
  270. return
  271. }
  272. resultMap := make(map[string]string)
  273. resultMap["projectId"] = *projectId
  274. returnSuccess(c, 20000, resultMap)
  275. }
  276. // 种草任务预览
  277. func (t TaskController) GetProjectDetail(c *gin.Context) {
  278. data := &ProjectDetailParam{}
  279. err := c.BindJSON(data)
  280. if err != nil {
  281. logrus.Errorf("Request bind err:%+v\n", err)
  282. returnError(c, 40000, "参数错误")
  283. return
  284. }
  285. res, err := service.ProjectService{}.GetProjectDetail(data.ProjectId)
  286. if err != nil {
  287. logrus.Errorf("[GetProjectDetail] call Show err:%+v\n", err)
  288. returnError(c, 40000, "error")
  289. return
  290. }
  291. returnSuccess(c, 20000, res)
  292. }
  293. // 种草提交审核
  294. func (t TaskController) ProjectToReview(c *gin.Context) {
  295. data := &vo.ProjectUpdateParam{}
  296. err := c.BindJSON(data)
  297. if err != nil || data.ProjectID == "" {
  298. logrus.Errorf("Request bind err:%+v\n", err)
  299. returnError(c, 40000, "参数错误")
  300. return
  301. }
  302. projectId, err := service.ProjectService{}.ProjectToReview(data)
  303. if err != nil {
  304. logrus.Errorf("[ProjectToReview] call ProjectToReview err:%+v\n", err)
  305. returnError(c, 40000, "error")
  306. return
  307. }
  308. resultMap := make(map[string]string)
  309. resultMap["projectId"] = *projectId
  310. returnSuccess(c, 20000, resultMap)
  311. }
  312. // 公开种草任务列表
  313. func (t TaskController) ProjectTaskList(c *gin.Context) {
  314. param := &vo.ProjectSearchParam{}
  315. err := c.BindJSON(param)
  316. if err != nil {
  317. logrus.Errorf("Request bind err:%+v\n", err)
  318. returnError(c, 40000, "参数错误")
  319. return
  320. }
  321. res, err := service.ProjectService{}.GetProjectTaskList(param)
  322. if err != nil {
  323. logrus.Errorf("[ProjectTaskList] call Show err:%+v\n", err)
  324. returnError(c, 40000, "error")
  325. return
  326. }
  327. returnSuccess(c, 20000, res)
  328. }
  329. // 删除种草任务
  330. func (t TaskController) ProjectDel(c *gin.Context) {
  331. param := &vo.ProjectSearchParam{}
  332. err := c.BindJSON(param)
  333. if err != nil {
  334. logrus.Errorf("Request bind err:%+v\n", err)
  335. returnError(c, 40000, "参数错误")
  336. return
  337. }
  338. projectId, err := service.ProjectService{}.DeleteProject(param.ProjectId)
  339. if err != nil {
  340. logrus.Errorf("[ProjectDel] call Show err:%+v\n", err)
  341. returnError(c, 40000, "error")
  342. return
  343. }
  344. resultMap := make(map[string]string)
  345. resultMap["projectId"] = *projectId
  346. returnSuccess(c, 20000, resultMap)
  347. }
  348. // 草稿箱——电商带货
  349. func (t TaskController) GetSelectionDraftList(c *gin.Context) {
  350. param := &vo.SelectionDraftParam{}
  351. err := c.BindJSON(param)
  352. if err != nil {
  353. logrus.Errorf("Request bind err:%+v\n", err)
  354. returnError(c, 40000, "参数错误")
  355. return
  356. }
  357. res, err := service.SelectionInfoService{}.GetSelectionDraftList(param)
  358. if err != nil {
  359. logrus.Errorf("[SelectionTaskList] call Show err:%+v\n", err)
  360. returnError(c, 40000, "error")
  361. return
  362. }
  363. returnSuccess(c, 20000, res)
  364. }
  365. // 草稿箱——品牌种草
  366. func (t TaskController) GetProjectDraftList(c *gin.Context) {
  367. param := &vo.ProjectDraftParam{}
  368. err := c.BindJSON(param)
  369. if err != nil {
  370. logrus.Errorf("Request bind err:%+v\n", err)
  371. returnError(c, 40000, "参数错误")
  372. return
  373. }
  374. res, err := service.ProjectService{}.GetProjectDraftList(param)
  375. if err != nil {
  376. logrus.Errorf("[SelectionTaskList] call Show err:%+v\n", err)
  377. returnError(c, 40000, "error")
  378. return
  379. }
  380. returnSuccess(c, 20000, res)
  381. }
  382. // 违约管理——违约公开任务列表
  383. func (t TaskController) GetPublicDefaultList(c *gin.Context) {
  384. param := &vo.DefaultSearchParam{}
  385. err := c.BindJSON(param)
  386. if err != nil {
  387. logrus.Errorf("Request bind err:%+v\n", err)
  388. returnError(c, 40000, "参数错误")
  389. return
  390. }
  391. res, err := service.DefaultService{}.GetPublicDefaultList(param)
  392. if err != nil {
  393. logrus.Errorf("[GetPublicDefaultList] call Show err:%+v\n", err)
  394. returnError(c, 40000, "error")
  395. return
  396. }
  397. returnSuccess(c, 20000, res)
  398. }
  399. // 违约管理——违约定向任务列表
  400. func (t TaskController) GetTargetDefaultList(c *gin.Context) {
  401. param := &vo.DefaultSearchParam{}
  402. err := c.BindJSON(param)
  403. if err != nil {
  404. logrus.Errorf("Request bind err:%+v\n", err)
  405. returnError(c, 40000, "参数错误")
  406. return
  407. }
  408. res, err := service.DefaultService{}.GetTargetDefaultList(param)
  409. if err != nil {
  410. logrus.Errorf("[GetTargetDefaultList] call Show err:%+v\n", err)
  411. returnError(c, 40000, "error")
  412. return
  413. }
  414. returnSuccess(c, 20000, res)
  415. }
  416. // 违约管理——公开任务-违约达人列表
  417. func (t TaskController) GetPublicDefaultTalentList(c *gin.Context) {
  418. param := &vo.DefaultSearchParam{}
  419. err := c.BindJSON(param)
  420. if err != nil {
  421. logrus.Errorf("Request bind err:%+v\n", err)
  422. returnError(c, 40000, "参数错误")
  423. return
  424. }
  425. res, err := service.DefaultService{}.GetPublicDefaultTalentList(param)
  426. if err != nil {
  427. logrus.Errorf("[GetPublicDefaultTalentList] call Show err:%+v\n", err)
  428. returnError(c, 40000, "error")
  429. return
  430. }
  431. returnSuccess(c, 20000, res)
  432. }
  433. // 违约管理——定向任务-违约达人列表
  434. func (t TaskController) GetTargetDefaultTalentList(c *gin.Context) {
  435. param := &vo.DefaultSearchParam{}
  436. err := c.BindJSON(param)
  437. if err != nil {
  438. logrus.Errorf("Request bind err:%+v\n", err)
  439. returnError(c, 40000, "参数错误")
  440. return
  441. }
  442. res, err := service.DefaultService{}.GetTargetDefaultTalentList(param)
  443. if err != nil {
  444. logrus.Errorf("[GetTargetDefaultTalentList] call Show err:%+v\n", err)
  445. returnError(c, 40000, "error")
  446. return
  447. }
  448. returnSuccess(c, 20000, res)
  449. }
  450. // 违约管理——达人解约
  451. func (t TaskController) CancelTalent(c *gin.Context) {
  452. param := &vo.TalentCancelParam{}
  453. err := c.BindJSON(param)
  454. if err != nil {
  455. logrus.Errorf("Request bind err:%+v\n", err)
  456. returnError(c, 40000, "参数错误")
  457. return
  458. }
  459. err = service.DefaultService{}.CancelTalent(param)
  460. if err != nil {
  461. logrus.Errorf("[CancelTalent] call Show err:%+v\n", err)
  462. returnError(c, 40000, "error")
  463. return
  464. }
  465. resultMap := make(map[string]string)
  466. resultMap["taskId"] = param.TaskId
  467. returnSuccess(c, 20000, resultMap)
  468. }
  469. // 违约管理——达人批量解约
  470. func (t TaskController) CancelTalentList(c *gin.Context) {
  471. param := &vo.TalentCancelParam{}
  472. err := c.BindJSON(param)
  473. if err != nil {
  474. logrus.Errorf("Request bind err:%+v\n", err)
  475. returnError(c, 40000, "参数错误")
  476. return
  477. }
  478. err = service.DefaultService{}.CancelTalentList(param)
  479. if err != nil {
  480. logrus.Errorf("[CancelTalentList] call Show err:%+v\n", err)
  481. returnError(c, 40000, "error")
  482. return
  483. }
  484. resultMap := make(map[string][]string)
  485. resultMap["taskIds"] = param.TaskIds
  486. returnSuccess(c, 20000, resultMap)
  487. }