From a5f55c1fa8b7969de39e3916d669fd4f7bebba7a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 05 Jan 2024 11:27:46 +0800
Subject: [PATCH] 团队列表

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   78 ++++++++++++++++++++++++++++++++------
 1 files changed, 65 insertions(+), 13 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 d23ad06..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
@@ -83,8 +83,11 @@
     private final MallAchieveRecordMapper mallAchieveRecordMapper;
     private final MallMemberWalletMapper mallMemberWalletMapper;
     private final MallMqRecordMapper mallMqRecordMapper;
+    private final MallProductSellMapper mallProductSellMapper;
+    private final MallProductSellRecordMapper mallProductSellRecordMapper;
 
     private final ICommonService commonService;
+    private final MallMemberAmountMapper mallMemberAmountMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -341,30 +344,31 @@
 //                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);
 
-                commonService.changeWallet(orderInfo.getId(), FlowTypeEnum.BALANCE.getValue());
+
+//                commonService.changeWallet(orderInfo.getId(), FlowTypeEnum.BALANCE.getValue());
                 /**
                  * 插入一条待处理记录
                  * mq处理之后,更新状态
                  */
-                MallMqRecord mallMqRecord = new MallMqRecord();
-                mallMqRecord.setOrderId(orderInfo.getId());
-                mallMqRecord.setState(2);
-                mallMqRecord.setRetryTimes(2);
-                mallMqRecord.setCreateTime(orderInfo.getPayTime());
-                mallMqRecordMapper.insert(mallMqRecord);
-                //发送补贴消息
-                agentProducer.sendPerkMoneyMsg(orderInfo.getId());
-                //发送代理自动升级消息
-                agentProducer.sendAutoLevelUpMsg(member.getId());
+//                MallMqRecord mallMqRecord = new MallMqRecord();
+//                mallMqRecord.setOrderId(orderInfo.getId());
+//                mallMqRecord.setState(2);
+//                mallMqRecord.setRetryTimes(2);
+//                mallMqRecord.setCreateTime(orderInfo.getPayTime());
+//                mallMqRecordMapper.insert(mallMqRecord);
+//                //发送补贴消息
+//                agentProducer.sendPerkMoneyMsg(orderInfo.getId());
+//                //发送代理自动升级消息
+//                agentProducer.sendAutoLevelUpMsg(member.getId());
                 break;
             case "4":
                 if (orderInfo.getOrderType() != 2) {
@@ -467,6 +471,29 @@
         if (reduce == 2) {
             throw new FebsException("余额不足");
         }
+        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();
     }
 
@@ -803,4 +830,29 @@
         return apiScoreSetVo;
     }
 
+    @Override
+    public void fcmPayBuyTimeTTLMsg(Long id) {
+        /**
+         * 卖方
+         * 1:冻结账户
+         */
+        MallProductSellRecord mallProductSellRecord = mallProductSellRecordMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallProductSellRecord)){
+            return;
+        }
+        if(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue() != mallProductSellRecord.getState()){
+            return;
+        }
+        MallProductSell mallProductSell = mallProductSellMapper.selectById(mallProductSellRecord.getSellId());
+        if(ObjectUtil.isEmpty(mallProductSell)){
+            return;
+        }
+        MallMember mallMember = memberMapper.selectById(mallProductSell.getMemberId());
+        if(ObjectUtil.isEmpty(mallMember)){
+            return;
+        }
+        mallMember.setIsFrozen(ProductEnum.MEMBER_FROZEN.getValue());
+        memberMapper.updateById(mallMember);
+    }
+
 }

--
Gitblit v1.9.1