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