diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java index 61c16e28c..e8faf194d 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java @@ -1,22 +1,30 @@ 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.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Map; @RestController @RequestMapping("wxCouponOrder") @@ -27,6 +35,15 @@ public class WxCouponOrderController extends BaseController { @Autowired private WxCouponOrderService wxCouponOrderService; + @Autowired + private WxRefundOrderService wxRefundOrderService; + + @Autowired + private WxAppinfoService wxAppinfoService; + + @Autowired + private PayProperty payProperty; + @ApiOperation("分页列表接口") @GetMapping("list") @ApiImplicitParams({ @@ -46,5 +63,45 @@ public class WxCouponOrderController extends BaseController { } + @ApiOperation(value = "退券退款", notes = "{\"couponOrderId\":\"string\"}") + @PostMapping("/refund") + public ResultData create(@RequestBody Map 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 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获取失败"); + } } diff --git a/mallinkBApi/pom.xml b/mallinkBApi/pom.xml index 4b4449c02..82361c3fb 100644 --- a/mallinkBApi/pom.xml +++ b/mallinkBApi/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - + mallink com.simple 1.0 @@ -11,7 +11,7 @@ mallinkBApi - + com.simple mallinkService @@ -19,7 +19,7 @@ - + org.springframework.boot