TaskApiController.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.poyee.controller;
  2. import com.poyee.annotation.UserLoginToken;
  3. import com.poyee.base.controller.BaseController;
  4. import com.poyee.base.dto.Page;
  5. import com.poyee.base.dto.Result;
  6. import com.poyee.dto.ProductPromGroupInfoDto;
  7. import com.poyee.dto.task.*;
  8. import com.poyee.enums.ProductTypeEnums;
  9. import com.poyee.enums.Roles;
  10. import com.poyee.service.IPromotionTaskService;
  11. import com.poyee.service.ProductInfoService;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.validation.Valid;
  20. import java.util.*;
  21. import java.util.stream.Collectors;
  22. /**
  23. * 推广任务
  24. */
  25. @Api(value = "推广任务", tags = "推广任务" )
  26. @Slf4j
  27. @RestController
  28. @RequestMapping("/api/promotionTask")
  29. public class TaskApiController extends BaseController<IPromotionTaskService, PromotionTaskReq, PromotionTaskDto> {
  30. @Autowired
  31. private ProductInfoService productInfoService;
  32. /**
  33. * 列表
  34. * 商家, 管理员, 运营[客服]等均可见
  35. * @param req
  36. * @return
  37. */
  38. @ApiOperation(value = "任务列表@(app-1.0)")
  39. @RequestMapping(value = "/page", method = {RequestMethod.POST})
  40. @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.GENERAL_USER,Roles.CUSTOMER})
  41. @ResponseBody
  42. public Result<PromotionTaskPageDto> page(@RequestBody PromotionTaskPageReq req) {
  43. console("任务列表->>", req);
  44. //判断是普通用户 或客服【运营】 状态默认为 已发布(R)
  45. if(checkHasUserRole(Roles.GENERAL_USER,Roles.CUSTOMER)){
  46. req.setStatus("R");
  47. }
  48. if (StringUtils.isNotBlank(req.getKeyWord())) {
  49. req.setMerchantName(req.getKeyWord());
  50. req.setProductName(req.getKeyWord());
  51. }
  52. Page<PromotionTaskPageDto> page = baseService.page(req);
  53. productInfoService.getProductInfoByIds(page.getRows());
  54. return Result.success(page);
  55. }
  56. /**
  57. * 审核
  58. */
  59. @ApiOperation(value = "审核任务@(app-1.0)")
  60. @RequestMapping(value = "/audit", method = {RequestMethod.POST})
  61. @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.CUSTOMER})
  62. @ResponseBody
  63. public Result audit(@RequestBody @Valid PromotionTaskAuditReq req) {
  64. console("审核任务->> ",req);
  65. return baseService.audit(req);
  66. }
  67. /**
  68. * 更新任务状态: 下架 上架 等
  69. */
  70. @ApiOperation(value = "更新任务状态@(app-1.0)")
  71. @RequestMapping(value = "/updateStatus", method = {RequestMethod.POST})
  72. @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.CUSTOMER})
  73. @ResponseBody
  74. public Result updateStatus(@RequestBody @Valid PromotionTaskUpdateReq req) {
  75. console("更新任务状态->> ",req);
  76. return baseService.updateStatus(req);
  77. }
  78. /**
  79. * 根据id查询任务信息
  80. */
  81. @ApiOperation(value = "根据id查询任务信息@(app-1.0)")
  82. @RequestMapping(value = "/getById/{id}", method = {RequestMethod.POST})
  83. @UserLoginToken(faceVerify = false, roles = {Roles.ADMIN,Roles.SHIPPING,Roles.GENERAL_USER,Roles.CUSTOMER})
  84. @ResponseBody
  85. public Result<PromotionTaskDto> getById(@PathVariable("id") Long id) {
  86. console("根据id查询任务信息->> ",id);
  87. PromotionTaskPageDto taskDto = baseService.detailById(id);
  88. return Result.success(taskDto);
  89. }
  90. }