You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

129 lines
5.2 KiB

  1. package com.simple.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.simple.domain.dto.WxCouponChannelDto;
  4. import com.simple.domain.po.MallUserInfo;
  5. import com.simple.domain.po.WxChannel;
  6. import com.simple.domain.vo.WxCouponChannelVo;
  7. import io.swagger.annotations.Api;
  8. import org.apache.log4j.Logger;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.*;
  11. import com.github.pagehelper.PageInfo;
  12. import com.simple.common.Result;
  13. import com.simple.common.ResultData;
  14. import com.simple.domain.po.WxCouponChannel;
  15. import com.simple.service.WxCouponChannelService;
  16. import io.swagger.annotations.ApiImplicitParam;
  17. import io.swagger.annotations.ApiImplicitParams;
  18. import io.swagger.annotations.ApiOperation;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. @RestController
  22. @RequestMapping("wxCouponChannel")
  23. @Api(description="优惠券投放接口")
  24. public class WxCouponChannelController extends BaseController
  25. {
  26. @Autowired
  27. private WxCouponChannelService wxCouponChannelService;
  28. private Logger logger = Logger.getLogger(WxCouponChannelController.class);
  29. @ApiOperation("分页列表接口")
  30. @GetMapping("list")
  31. @ApiImplicitParams({
  32. @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true),
  33. @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)})
  34. public ResultData list(@ModelAttribute WxCouponChannel wxCouponChannel,Integer pageNum, Integer pageSize) {
  35. if (null == wxCouponChannel) wxCouponChannel = new WxCouponChannel();
  36. if(wxCouponChannel.getStatus()!=null&&wxCouponChannel.getStatus()==-1){
  37. wxCouponChannel.setStatus(null);
  38. }
  39. wxCouponChannel.setTenantId(getUser().getTenantId());
  40. wxCouponChannel.setSortColumns(WxCouponChannel.Field.CreateDate_DESC);
  41. final PageInfo<WxCouponChannelVo> page = wxCouponChannelService.listPageCAPI(wxCouponChannel, pageNum, pageSize);
  42. return new ResultData(page);
  43. }
  44. @ApiOperation("根据id更新接口")
  45. @PostMapping("update")
  46. public ResultData update(@RequestBody WxCouponChannel wxCouponChannel) {
  47. wxCouponChannel.setTenantId(getUser().getTenantId());
  48. if(wxCouponChannel.getCouponId()!=null&&wxCouponChannel.getStatus()!=null){
  49. WxCouponChannel orignal = wxCouponChannelService.getById(wxCouponChannel.getId());
  50. if(orignal.getStatus()==1&&wxCouponChannel.getStatus()==0){
  51. //查找是否该券 在该频道有其他上架
  52. WxCouponChannel query = new WxCouponChannel();
  53. query.setTenantId(orignal.getTenantId());
  54. query.setCouponId(orignal.getCouponId());
  55. query.setStatus(0);//已上架
  56. query.setTargetAd(orignal.getTargetAd());
  57. List<WxCouponChannel> list = wxCouponChannelService.listAsPage(query,1,1).getList();
  58. if(list!=null&&list.size()>0){
  59. //不能修改
  60. return new ResultData(Result.ERROR,"不允许同一个券,多个投放");
  61. }
  62. }
  63. }
  64. wxCouponChannelService.saveOrUpdate(wxCouponChannel);
  65. return new ResultData();
  66. }
  67. @ApiOperation("根据id删除接口")
  68. @GetMapping("/del")
  69. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  70. public ResultData delete(Long id) {
  71. wxCouponChannelService.deleteById(id);
  72. return new ResultData(Result.SUCCESS, "删除成功", null);
  73. }
  74. @ApiOperation("根据id查询接口")
  75. @GetMapping("/findById")
  76. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  77. public ResultData findById(Long id) {
  78. return new ResultData(Result.SUCCESS,"查询成功",wxCouponChannelService.getById(id));
  79. }
  80. @ApiOperation("批量新增")
  81. @PostMapping("/addbatch")
  82. public ResultData addbatch(@RequestBody WxCouponChannelDto wxCouponChannelDto) {
  83. String[] ids = wxCouponChannelDto.getCouponIds().split(",");
  84. String[] channelId = wxCouponChannelDto.getChannelId().split(",");
  85. MallUserInfo user = getUser();
  86. return wxCouponChannelService.addBatch(ids,channelId,user.getTenantId(),wxCouponChannelDto.getBeginTime(),wxCouponChannelDto.getEndTime());
  87. }
  88. @ApiOperation("根据id查询接口")
  89. @GetMapping("/findChannelByCouponId")
  90. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  91. public ResultData findChannelByCouponId(Long id) {
  92. List<Integer> channellist = new ArrayList<>();
  93. WxCouponChannel wxCouponChannel = new WxCouponChannel();
  94. wxCouponChannel.setTenantId(getTenantId());
  95. wxCouponChannel.setStatus(0);
  96. wxCouponChannel.setCouponId(id);
  97. List<WxCouponChannel> list = wxCouponChannelService.listAsPage(wxCouponChannel,1,5).getList();
  98. if(list.isEmpty()){
  99. return new ResultData(Result.SUCCESS,"查询成功", "");
  100. }
  101. for (WxCouponChannel temp:list) {
  102. channellist.add(temp.getTargetAd());
  103. }
  104. return new ResultData(Result.SUCCESS,"查询成功", JSON.toJSONString(channellist));
  105. }
  106. }