From 84c7afc62bb1eb6f5d80d2d9928d0d11a1ffbdda Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 15 Aug 2023 21:14:13 +0800 Subject: [PATCH] 赠送积分更新状态 --- src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java index 8cd6c24..db3f914 100644 --- a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java +++ b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java @@ -2,6 +2,7 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.*; +import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.properties.XcxProperties; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.SpringContextHolder; @@ -302,6 +303,17 @@ if (order != null && OrderStatusEnum.WAIT_PAY.getValue() == order.getStatus()) { + if(order.getPayMethod().equals("余额加微信")){ + MallMemberWallet mallMemberWalletThree = mallMemberWalletMapper.selectWalletByMemberId(order.getMemberId()); + BigDecimal balanceThree = mallMemberWalletThree.getBalance(); + + int reduceThree = memberWalletService.reduce(balanceThree, order.getMemberId(), "balance"); + if (reduceThree == 2) { + throw new FebsException("余额不足"); + } + mallMoneyFlowService.addMoneyFlow(order.getMemberId(), balanceThree.negate(), MoneyFlowTypeEnum.PAY.getValue(), + order.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2); + } log.debug("检查支付金额payMoney={},order.getPayMoney()={}", payMoney, order.getAmount()); order.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); order.setPayResult("1"); @@ -311,7 +323,7 @@ mallMoneyFlowService.addMoneyFlow( order.getMemberId(), - order.getAmount().negate(), + payMoney.negate(), MoneyFlowTypeEnum.WECHAT_PAY.getValue(), order.getOrderNo(), FlowTypeEnum.WECHAT.getValue(), @@ -321,7 +333,7 @@ StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(order.getId().toString()); stringBuffer.append("@"); - stringBuffer.append(order.getAmount().toString()); + stringBuffer.append(payMoney.toString()); agentProducer.sendOrderGetMsg(stringBuffer.toString()); threadResult.success().message("支付成功"); -- Gitblit v1.9.1