|
- package com.simple.controller;
-
- import com.github.pagehelper.PageInfo;
- import com.simple.common.ErrorCode;
- import com.simple.common.ResultData;
- import com.simple.config.PayProperty;
- import com.simple.domain.po.WxAppinfo;
- import com.simple.domain.po.WxCouponOrder;
- import com.simple.enums.EnumAppType;
- import com.simple.enums.EnumRefundWay;
- import com.simple.exception.MallinkException;
- import com.simple.service.WxAppinfoService;
- import com.simple.service.WxCouponOrderService;
- import com.simple.service.WxRefundOrderService;
- 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.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.Map;
-
- @RestController
- @RequestMapping("wxCouponOrder")
- @Api(description = "核销和用户卡券查询接口")
- public class WxCouponOrderController extends BaseController {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
- @Autowired
- private WxCouponOrderService wxCouponOrderService;
-
- @Autowired
- private WxRefundOrderService wxRefundOrderService;
-
- @Autowired
- private WxAppinfoService wxAppinfoService;
-
- @Autowired
- private PayProperty payProperty;
-
- @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 (wxCouponOrder == null) wxCouponOrder = new WxCouponOrder();
- wxCouponOrder.setTenantId(getTenantId());
- wxCouponOrder.setSortColumns(WxCouponOrder.Field.Id_DESC);
- return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize);
- }
-
- @RequestMapping("/exportData")
- public void exportData(HttpServletRequest request, HttpServletResponse response) {
-
- wxCouponOrderService.exportData(request, response, getTenantId());
-
- }
-
- @ApiOperation(value = "退券退款", notes = "{\"couponOrderId\":\"string\"}")
- @PostMapping("/refund")
- public ResultData create(@RequestBody Map<String, String> paramMap) {
- //Assert.notNull(wxRefundOrder.getName(), "角色名不能为空");
- //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
- logger.info(paramMap.toString());
- String couponOrderIdStr = paramMap.get("couponOrderId");
- if (StringUtils.isBlank(couponOrderIdStr)) {
- logger.error("couponOrderId不能为空: " + paramMap.toString());
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
- }
- Long couponOrderId = 0L;
- try {
- couponOrderId = Long.valueOf(couponOrderIdStr);
- } catch (NumberFormatException e) {
- logger.error("couponOrderId参数不正确: " + paramMap.toString());
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
- }
-
- WxAppinfo appinfoQ = new WxAppinfo();
- appinfoQ.setTenantId(getTenantId());
- appinfoQ.setType(EnumAppType.B.getCode());
- PageInfo<WxAppinfo> appinfoPageInfo = wxAppinfoService.listAsPage(appinfoQ, 1, 1);
- if (appinfoPageInfo.getList().size() > 0) {
- WxAppinfo appinfo = appinfoPageInfo.getList().get(0);
- if (appinfo != null) {
- try {
- wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumRefundWay.ADMIN, null);
- return new ResultData();
- } 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);
- }
- }
- }
- return new ResultData(ErrorCode.REFUND_ORDER_ERROR.getCode(), "AppInfo获取失败");
- }
-
- }
|