package com.simple.controller; import com.github.pagehelper.PageInfo; import com.simple.common.ErrorCode; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxCouponOrder; import com.simple.exception.MallinkException; import com.simple.service.WxCouponOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; @RestController @RequestMapping("/api/couponOrder") @Api(description="核销和用户卡券查询接口") public class WxCouponOrderController extends BaseController { private Logger logger = Logger.getLogger(WxCouponOrderController.class); @Autowired private WxCouponOrderService wxCouponOrderService; @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 WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder(); final PageInfo page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize); return new ResultData(page); } @ApiOperation("新增接口") @PostMapping("add") public ResultData add(@RequestBody WxCouponOrder wxCouponOrder) { //Assert.notNull(wxCouponOrder.getName(), "角色名不能为空"); //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); wxCouponOrderService.saveOrUpdate(wxCouponOrder); return new ResultData(); } @ApiOperation("根据id更新接口") @PostMapping("update") public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) { wxCouponOrderService.saveOrUpdate(wxCouponOrder); return new ResultData(); } @ApiOperation("根据id删除接口") @GetMapping("/del") @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) public ResultData delete(Long id) { wxCouponOrderService.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,"查询成功",wxCouponOrderService.getById(id)); } @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("verify") public ResultData verify(@RequestBody Map paramMap) { logger.info(paramMap.toString()); String couponOrderIdStr = paramMap.get("couponOrderId"); if (StringUtils.isBlank(couponOrderIdStr)) { logger.error("couponOrderId不能为空: " + paramMap.toString()); return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId不能为空"); } Long couponOrderId = 0L; try { couponOrderId = Long.valueOf(couponOrderIdStr); } catch (NumberFormatException e) { couponOrderId = 0L; logger.error("couponOrderId参数不正确: " + paramMap.toString()); return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId参数不正确"); } try { ResultData rd = wxCouponOrderService.verify(couponOrderId, getUser().getId()); return rd; } catch (MallinkException e) { logger.error("核销异常: " + e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage()); } catch (Exception e) { logger.error("核销异常: " + e.getMessage()); return new ResultData(ErrorCode.VERIFY_ERROR, e.getMessage()); } } @ApiOperation(value = "退券接口", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("refund") public ResultData refund(@RequestBody Map paramMap) { logger.info(paramMap.toString()); String couponOrderIdStr = paramMap.get("couponOrderId"); if (StringUtils.isBlank(couponOrderIdStr)) { logger.error("couponOrderId不能为空: " + paramMap.toString()); return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId不能为空"); } Long couponOrderId = 0L; try { couponOrderId = Long.valueOf(couponOrderIdStr); } catch (NumberFormatException e) { logger.error("couponOrderId参数不正确: " + paramMap.toString()); return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId参数不正确"); } try { ResultData rd = wxCouponOrderService.refund(couponOrderId, getUser().getId()); return rd; } catch (MallinkException e) { logger.error("退券异常: " + e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage()); } catch (Exception e) { logger.error("退券异常: " + e.getMessage()); return new ResultData(ErrorCode.REFUND_ORDER_ERROR, e.getMessage()); } } }