Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

131 строка
5.6 KiB

  1. package com.simple.controller;
  2. import com.github.pagehelper.PageInfo;
  3. import com.simple.common.ErrorCode;
  4. import com.simple.common.Result;
  5. import com.simple.common.ResultData;
  6. import com.simple.domain.po.WxCouponOrder;
  7. import com.simple.exception.MallinkException;
  8. import com.simple.service.WxCouponOrderService;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiImplicitParam;
  11. import io.swagger.annotations.ApiImplicitParams;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.apache.log4j.Logger;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.util.Map;
  18. @RestController
  19. @RequestMapping("/api/couponOrder")
  20. @Api(description="核销和用户卡券查询接口")
  21. public class WxCouponOrderController extends BaseController
  22. {
  23. private Logger logger = Logger.getLogger(WxCouponOrderController.class);
  24. @Autowired
  25. private WxCouponOrderService wxCouponOrderService;
  26. @ApiOperation("分页列表接口")
  27. @GetMapping("list")
  28. @ApiImplicitParams({
  29. @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true),
  30. @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)})
  31. public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) {
  32. if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder();
  33. final PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize);
  34. return new ResultData(page);
  35. }
  36. @ApiOperation("新增接口")
  37. @PostMapping("add")
  38. public ResultData add(@RequestBody WxCouponOrder wxCouponOrder) {
  39. //Assert.notNull(wxCouponOrder.getName(), "角色名不能为空");
  40. //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
  41. wxCouponOrderService.saveOrUpdate(wxCouponOrder);
  42. return new ResultData();
  43. }
  44. @ApiOperation("根据id更新接口")
  45. @PostMapping("update")
  46. public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) {
  47. wxCouponOrderService.saveOrUpdate(wxCouponOrder);
  48. return new ResultData();
  49. }
  50. @ApiOperation("根据id删除接口")
  51. @GetMapping("/del")
  52. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  53. public ResultData delete(Long id) {
  54. wxCouponOrderService.deleteById(id);
  55. return new ResultData(Result.SUCCESS, "删除成功", null);
  56. }
  57. @ApiOperation("根据id查询接口")
  58. @GetMapping("/findById")
  59. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  60. public ResultData findById(Long id) {
  61. return new ResultData(Result.SUCCESS,"查询成功",wxCouponOrderService.getById(id));
  62. }
  63. @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}")
  64. @PostMapping("verify")
  65. public ResultData verify(@RequestBody Map<String, String> paramMap) {
  66. logger.info(paramMap.toString());
  67. String couponOrderIdStr = paramMap.get("couponOrderId");
  68. if (StringUtils.isBlank(couponOrderIdStr)) {
  69. logger.error("couponOrderId不能为空: " + paramMap.toString());
  70. return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId不能为空");
  71. }
  72. Long couponOrderId = 0L;
  73. try {
  74. couponOrderId = Long.valueOf(couponOrderIdStr);
  75. } catch (NumberFormatException e) {
  76. couponOrderId = 0L;
  77. logger.error("couponOrderId参数不正确: " + paramMap.toString());
  78. return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId参数不正确");
  79. }
  80. try {
  81. ResultData rd = wxCouponOrderService.verify(couponOrderId, getUser().getId());
  82. return rd;
  83. } catch (MallinkException e) {
  84. logger.error("核销异常: " + e.getMessage());
  85. return new ResultData(e.getErrorCode(), e.getMessage());
  86. } catch (Exception e) {
  87. logger.error("核销异常: " + e.getMessage());
  88. return new ResultData(ErrorCode.VERIFY_ERROR, e.getMessage());
  89. }
  90. }
  91. @ApiOperation(value = "退券接口", notes = "{\"couponOrderId\":\"string\"}")
  92. @PostMapping("refund")
  93. public ResultData refund(@RequestBody Map<String, String> paramMap) {
  94. logger.info(paramMap.toString());
  95. String couponOrderIdStr = paramMap.get("couponOrderId");
  96. if (StringUtils.isBlank(couponOrderIdStr)) {
  97. logger.error("couponOrderId不能为空: " + paramMap.toString());
  98. return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId不能为空");
  99. }
  100. Long couponOrderId = 0L;
  101. try {
  102. couponOrderId = Long.valueOf(couponOrderIdStr);
  103. } catch (NumberFormatException e) {
  104. logger.error("couponOrderId参数不正确: " + paramMap.toString());
  105. return new ResultData(ErrorCode.PARAMETER_NOT_NULL.getCode(), "couponOrderId参数不正确");
  106. }
  107. try {
  108. ResultData rd = wxCouponOrderService.refund(couponOrderId, getUser().getId());
  109. return rd;
  110. } catch (MallinkException e) {
  111. logger.error("退券异常: " + e.getMessage());
  112. return new ResultData(e.getErrorCode(), e.getMessage());
  113. } catch (Exception e) {
  114. logger.error("退券异常: " + e.getMessage());
  115. return new ResultData(ErrorCode.REFUND_ORDER_ERROR, e.getMessage());
  116. }
  117. }
  118. }