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

108 строки
4.4 KiB

  1. package com.simple.controller;
  2. import com.github.pagehelper.PageInfo;
  3. import com.simple.common.ErrorCode;
  4. import com.simple.common.ResultData;
  5. import com.simple.config.PayProperty;
  6. import com.simple.domain.po.WxAppinfo;
  7. import com.simple.domain.po.WxCouponOrder;
  8. import com.simple.enums.EnumAppType;
  9. import com.simple.enums.EnumRefundWay;
  10. import com.simple.exception.MallinkException;
  11. import com.simple.service.WxAppinfoService;
  12. import com.simple.service.WxCouponOrderService;
  13. import com.simple.service.WxRefundOrderService;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiImplicitParam;
  16. import io.swagger.annotations.ApiImplicitParams;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.slf4j.Logger;
  20. import org.slf4j.LoggerFactory;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import javax.servlet.http.HttpServletRequest;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.util.Map;
  26. @RestController
  27. @RequestMapping("wxCouponOrder")
  28. @Api(description = "核销和用户卡券查询接口")
  29. public class WxCouponOrderController extends BaseController {
  30. private final Logger logger = LoggerFactory.getLogger(this.getClass());
  31. @Autowired
  32. private WxCouponOrderService wxCouponOrderService;
  33. @Autowired
  34. private WxRefundOrderService wxRefundOrderService;
  35. @Autowired
  36. private WxAppinfoService wxAppinfoService;
  37. @Autowired
  38. private PayProperty payProperty;
  39. @ApiOperation("分页列表接口")
  40. @GetMapping("list")
  41. @ApiImplicitParams({
  42. @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
  43. @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
  44. public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) {
  45. if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrder();
  46. wxCouponOrder.setTenantId(getTenantId());
  47. wxCouponOrder.setSortColumns(WxCouponOrder.Field.Id_DESC);
  48. return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize);
  49. }
  50. @RequestMapping("/exportData")
  51. public void exportData(HttpServletRequest request, HttpServletResponse response) {
  52. wxCouponOrderService.exportData(request, response, getTenantId());
  53. }
  54. @ApiOperation(value = "退券退款", notes = "{\"couponOrderId\":\"string\"}")
  55. @PostMapping("/refund")
  56. public ResultData create(@RequestBody Map<String, String> paramMap) {
  57. //Assert.notNull(wxRefundOrder.getName(), "角色名不能为空");
  58. //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
  59. logger.info(paramMap.toString());
  60. String couponOrderIdStr = paramMap.get("couponOrderId");
  61. if (StringUtils.isBlank(couponOrderIdStr)) {
  62. logger.error("couponOrderId不能为空: " + paramMap.toString());
  63. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  64. }
  65. Long couponOrderId = 0L;
  66. try {
  67. couponOrderId = Long.valueOf(couponOrderIdStr);
  68. } catch (NumberFormatException e) {
  69. logger.error("couponOrderId参数不正确: " + paramMap.toString());
  70. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
  71. }
  72. WxAppinfo appinfoQ = new WxAppinfo();
  73. appinfoQ.setTenantId(getTenantId());
  74. appinfoQ.setType(EnumAppType.B.getCode());
  75. PageInfo<WxAppinfo> appinfoPageInfo = wxAppinfoService.listAsPage(appinfoQ, 1, 1);
  76. if (appinfoPageInfo.getList().size() > 0) {
  77. WxAppinfo appinfo = appinfoPageInfo.getList().get(0);
  78. if (appinfo != null) {
  79. try {
  80. wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumRefundWay.ADMIN, null);
  81. return new ResultData();
  82. } catch (MallinkException e) {
  83. logger.error(e.getMessage());
  84. return new ResultData(e.getErrorCode(), e.getMessage());
  85. } catch (Exception e) {
  86. logger.error(e.getMessage());
  87. return new ResultData(ErrorCode.REFUND_ORDER_ERROR);
  88. }
  89. }
  90. }
  91. return new ResultData(ErrorCode.REFUND_ORDER_ERROR.getCode(), "AppInfo获取失败");
  92. }
  93. }