From 7913faf6ef70f860825c201d41f0d5ff85b7b3d9 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 18 Mar 2019 10:01:15 +0800 Subject: [PATCH] =?UTF-8?q?[BUG][ID1001124][=E5=8D=A1=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E4=B8=8E=E9=A2=86=E5=8F=96=E5=90=8C=E6=97=B6=E9=97=AE=E9=A2=98?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/WxCardPayController.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java index 32fffeb88..014996079 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -45,6 +45,9 @@ public class WxCardPayController extends BaseController { @Autowired WxCardSpendService wxCardSpendService; + @Autowired + WxCouponOrderService wxCouponOrderService; + @ApiOperation(value = "C端扫B端储值卡支付订单", notes = "params:{\"cardId\":\"String\",\"merchantId\":\"String\",\"totalFee\":\"String(元)\"}") @PostMapping("order_create") public ResultData saveCardPayOrder(@RequestBody Map paramMap, HttpServletRequest request) { @@ -87,6 +90,8 @@ public class WxCardPayController extends BaseController { Integer payment = totalFee.multiply(new BigDecimal(100)).intValue(); + WxCUser user = getUser(); + WxCardInfo cardInfo = wxCardInfoService.getById(cardId); if(cardInfo == null) { logger.error("卡不存在: " + cardIdStr); @@ -98,14 +103,19 @@ public class WxCardPayController extends BaseController { return new ResultData(ErrorCode.CARD_REMAIN_AMOUNT_IS_NOT_ENOUGH); } + //查看所有者与扫码者是否为一致 + WxCouponOrder couponOrder = wxCouponOrderService.getById(cardId); + if (couponOrder.getOwnerId().equals(user.getId())) { + logger.error("卡已被领取: " + cardIdStr); + return new ResultData(ErrorCode.CARD_TRANSFERED); + } + WxCouponMerchant couponMerchant = wxCardSpendService.checkMerchantInCoupon(cardInfo, merchantId); if(couponMerchant == null) { logger.error("商户不支持此卡 " + cardIdStr); return new ResultData(ErrorCode.COUPON_ORDER_MERANT_IS_NULL.getCode(), "商户不支持此卡"); } - WxCUser user = getUser(); - WxMerchant merchant = wxMerchantService.getById(merchantId); if (merchant.getStatus() == EnumMerchantStatus.NOT_VALID.getCode()) { logger.error("商户已禁用, merchantId: " + merchant.getId());