From cd59cd93b4eceee7b5f948a19d4e78371348fcd0 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 27 Jun 2024 10:29:27 +0800 Subject: [PATCH] 后台 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 31 ++++++++++++++++++++++++++----- 1 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 13c68fa..3d28d84 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -344,17 +344,15 @@ // orderInfo.setPayMethod("支付宝支付"); break; case "3": - payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance"); + payResultStr = balancePayNew(orderInfo, payOrderDto.getTradePwd()); orderInfo.setPayOrderNo(orderInfo.getOrderNo()); - orderInfo.setPayMethod("余额支付"); + orderInfo.setPayMethod("积分支付"); orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayTime(new Date()); orderInfo.setPayResult("1"); this.baseMapper.updateById(orderInfo); - MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(member.getId()); - mallMemberAmount.setGsd(mallMemberAmount.getGsd().subtract(orderInfo.getAmount())); - mallMemberAmountMapper.updateGsdById(mallMemberAmount); + // commonService.changeWallet(orderInfo.getId(), FlowTypeEnum.BALANCE.getValue()); /** @@ -475,6 +473,29 @@ } return orderInfo.getOrderNo(); } + private String balancePayNew(MallOrderInfo orderInfo, String tradePwd) { + if (StrUtil.isBlank(tradePwd)) { + throw new FebsException("支付密码错误"); + } + + MallMember mallMember = memberMapper.selectById(orderInfo.getMemberId()); + if (StrUtil.isBlank(mallMember.getTradePassword())) { + throw new FebsException("未设置支付密码"); + } + + if (!SecureUtil.md5(tradePwd).equals(mallMember.getTradePassword())) { + throw new FebsException("支付密码错误"); + } + MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMember.getId()); + + BigDecimal subtract = mallMemberAmount.getGsd().subtract(orderInfo.getAmount()); + if(BigDecimal.ZERO.compareTo(subtract) > 0){ + throw new FebsException("积分不足"); + } + mallMemberAmount.setGsd(subtract); + mallMemberAmountMapper.updateGsdById(mallMemberAmount); + return orderInfo.getOrderNo(); + } @Override -- Gitblit v1.9.1