package com.simple.controller; import com.alibaba.fastjson.JSON; import com.simple.domain.dto.WxCouponChannelDto; import com.simple.domain.po.MallUserInfo; import com.simple.domain.po.WxChannel; import com.simple.domain.vo.WxCouponChannelVo; import io.swagger.annotations.Api; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.github.pagehelper.PageInfo; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxCouponChannel; import com.simple.service.WxCouponChannelService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("wxCouponChannel") @Api(description="优惠券投放接口") public class WxCouponChannelController extends BaseController { @Autowired private WxCouponChannelService wxCouponChannelService; private Logger logger = Logger.getLogger(WxCouponChannelController.class); @ApiOperation("分页列表接口") @GetMapping("list") @ApiImplicitParams({ @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) public ResultData list(@ModelAttribute WxCouponChannel wxCouponChannel,Integer pageNum, Integer pageSize) { if (null == wxCouponChannel) wxCouponChannel = new WxCouponChannel(); if(wxCouponChannel.getStatus()!=null&&wxCouponChannel.getStatus()==-1){ wxCouponChannel.setStatus(null); } wxCouponChannel.setTenantId(getUser().getTenantId()); wxCouponChannel.setSortColumns(WxCouponChannel.Field.CreateDate_DESC); final PageInfo page = wxCouponChannelService.listPageCAPI(wxCouponChannel, pageNum, pageSize); return new ResultData(page); } @ApiOperation("根据id更新接口") @PostMapping("update") public ResultData update(@RequestBody WxCouponChannel wxCouponChannel) { wxCouponChannel.setTenantId(getUser().getTenantId()); if(wxCouponChannel.getCouponId()!=null&&wxCouponChannel.getStatus()!=null){ WxCouponChannel orignal = wxCouponChannelService.getById(wxCouponChannel.getId()); if(orignal.getStatus()==1&&wxCouponChannel.getStatus()==0){ //查找是否该券 在该频道有其他上架 WxCouponChannel query = new WxCouponChannel(); query.setTenantId(orignal.getTenantId()); query.setCouponId(orignal.getCouponId()); query.setStatus(0);//已上架 query.setTargetAd(orignal.getTargetAd()); List list = wxCouponChannelService.listAsPage(query,1,1).getList(); if(list!=null&&list.size()>0){ //不能修改 return new ResultData(Result.ERROR,"不允许同一个券,多个投放"); } } } wxCouponChannelService.saveOrUpdate(wxCouponChannel); return new ResultData(); } @ApiOperation("根据id删除接口") @GetMapping("/del") @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) public ResultData delete(Long id) { wxCouponChannelService.deleteById(id); return new ResultData(Result.SUCCESS, "删除成功", null); } @ApiOperation("根据id查询接口") @GetMapping("/findById") @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) public ResultData findById(Long id) { return new ResultData(Result.SUCCESS,"查询成功",wxCouponChannelService.getById(id)); } @ApiOperation("批量新增") @PostMapping("/addbatch") public ResultData addbatch(@RequestBody WxCouponChannelDto wxCouponChannelDto) { String[] ids = wxCouponChannelDto.getCouponIds().split(","); String[] channelId = wxCouponChannelDto.getChannelId().split(","); MallUserInfo user = getUser(); return wxCouponChannelService.addBatch(ids,channelId,user.getTenantId(),wxCouponChannelDto.getBeginTime(),wxCouponChannelDto.getEndTime()); } @ApiOperation("根据id查询接口") @GetMapping("/findChannelByCouponId") @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) public ResultData findChannelByCouponId(Long id) { List channellist = new ArrayList<>(); WxCouponChannel wxCouponChannel = new WxCouponChannel(); wxCouponChannel.setTenantId(getTenantId()); wxCouponChannel.setStatus(0); wxCouponChannel.setCouponId(id); List list = wxCouponChannelService.listAsPage(wxCouponChannel,1,5).getList(); if(list.isEmpty()){ return new ResultData(Result.SUCCESS,"查询成功", ""); } for (WxCouponChannel temp:list) { channellist.add(temp.getTargetAd()); } return new ResultData(Result.SUCCESS,"查询成功", JSON.toJSONString(channellist)); } }