From 87f979fb201a82ebad5926735ed6dfa75ca004d3 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 21 七月 2025 09:21:42 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java |   74 +++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 27 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java
index f161767..f02c5c7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrderServiceImpl.java
@@ -63,10 +63,13 @@
     private TbCompanyService companyService;
 
     @Autowired
-    private TbMessageService messageService;
+    private TbMessageService  messageService;
 
     @Autowired
     private TbShareholderService shareholderService;
+
+    @Autowired
+    private TbAccountDetailService accountDetailService;
 
 
     @Override
@@ -80,7 +83,7 @@
         List<MyPushCompanyListVo> list = this.baseMapper.getMyOrderListNum(userId);
         map.put("toBeConfirmed", list.stream().filter(e -> e.getStatus() == 2).count());
         map.put("pendingPayment", list.stream().filter(e -> e.getStatus() == 3).count());
-        map.put("processing", list.stream().filter(e -> e.getStatus() == 4).count());
+        map.put("processing", list.stream().filter(e -> e.getStatus() == 4).count()+list.stream().filter(e -> e.getStatus() == 5).count());
         map.put("completed", list.stream().filter(e -> e.getStatus() == 6).count());
         return map;
     }
@@ -93,7 +96,7 @@
     }
 
     @Override
-    public void placeOrder(String companyId, TbCompany company,Long userId) {
+    public String placeOrder(String companyId, TbCompany company,Long userId) {
         // 创建订单
         TbOrder tbOrder = new TbOrder();
         tbOrder.setCompanyId(companyId);
@@ -105,6 +108,7 @@
 
         company.setStatus(4);
         company.updateById();
+        return tbOrder.getId();
     }
 
     @Override
@@ -121,7 +125,7 @@
             order.setOutTradeNo(notifyResult.getOutTradeNo());
             order.setTransactionId(notifyResult.getTransactionId());
             TbCompany company = companyService.getById(order.getCompanyId());
-            // 生成记录  看是否分佣 金额
+            // 生成记录  看是否分佣 金额 发布人
             TbUser user = userService.getById(company.getUserId());
             TbSystemConfig config = configService.getOne(new LambdaQueryWrapper<TbSystemConfig>().eq(TbSystemConfig::getType, 3));
             if(config!=null){
@@ -131,10 +135,31 @@
                 BigDecimal price = order.getPrice();
                 BigDecimal divide = platformCommission.divide(new BigDecimal("100"));
                 BigDecimal platformCommissionMoney = divide.multiply(price).setScale(2, RoundingMode.HALF_UP);
+
+                // 购买人是否绑定了用户 且次数足够
                 if(StringUtils.isNotEmpty(user.getInviteId()) && user.getInviteNum()>0){
                     BigDecimal divide1 = userCommission.divide(new BigDecimal("100"));
                     BigDecimal userCommissionMoney = divide1.multiply(price).setScale(2, RoundingMode.HALF_UP);
                     order.setCommissionPrice(userCommissionMoney);
+                    if(userCommissionMoney.doubleValue()>0){
+                        TbUser shareUser = userService.getById(user.getInviteId());
+                        BigDecimal add = shareUser.getBalance().add(order.getCommissionPrice());
+                        shareUser.setBalance(add);
+                        shareUser.updateById();
+
+                        TbAccountDetail accountDetail = new TbAccountDetail();
+                        accountDetail.setUserId(user.getInviteId());
+                        accountDetail.setType(1);
+                        accountDetail.setCategory(4);
+                        accountDetail.setStatus(2);
+                        accountDetail.setMoney(order.getCommissionPrice());
+                        accountDetail.setOrderPrice(order.getPrice());
+                        accountDetail.setSourceId(order.getUserId());
+                        accountDetail.insert();
+
+                        user.setInviteNum(user.getInviteNum()-1);
+                        user.updateById();
+                    }
                 }
                 order.setShareUserId(user.getInviteId());
                 order.setCommissionPlatform(platformCommissionMoney);
@@ -163,8 +188,16 @@
             tbAccountDetail1.insert();
 
 
-            messageService.addMessage("下单成功,请及时发送快递", order.getUserId(),order.getId());
-            messageService.addMessage("您发布的订单买家已支付,请尽快处理!", company.getUserId(),order.getId());
+            messageService.addMessage("下单成功,请及时发送快递", order.getUserId(),order.getId(),2);
+            messageService.addMessage("您发布的订单买家已支付,请尽快处理!", company.getUserId(),order.getId(),1);
+
+            // 生成办理进度
+            TbSchedule tbSchedule = new TbSchedule();
+            tbSchedule.setOrderId(order.getId());
+            tbSchedule.setText("请及时快递发送所需资料");
+            tbSchedule.setCreateTime(new Date());
+            tbSchedule.setUserId(company.getUserId());
+            tbSchedule.insert();
             return "<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml>";
         }
         return null;
@@ -174,30 +207,13 @@
 
     @Override
     public void commission(TbOrder order,String userId) {
-        String shareUserId = order.getShareUserId();
-        if(StringUtils.isNotEmpty(shareUserId)){
-            TbUser shareUser = userService.getById(shareUserId);
-            BigDecimal add = shareUser.getBalance().add(order.getCommissionPrice());
-            shareUser.setBalance(add);
-            shareUser.updateById();
-
-            TbAccountDetail accountDetail = new TbAccountDetail();
-            accountDetail.setUserId(shareUserId);
-            accountDetail.setType(1);
-            accountDetail.setCategory(4);
-            accountDetail.setStatus(2);
-            accountDetail.setMoney(order.getCommissionPrice());
-            accountDetail.setOrderPrice(order.getPrice());
-            accountDetail.setSourceId(order.getUserId());
-            accountDetail.insert();
-
-
-        }
         BigDecimal decimal = order.getPrice().subtract(order.getCommissionPrice()).subtract(order.getCommissionPlatform());
         TbUser user = userService.getById(userId);
         BigDecimal add = user.getBalance().add(decimal);
         user.setBalance(add);
         user.updateById();
+
+
 
     }
 
@@ -216,11 +232,15 @@
         int addDay=0;
         // 判断是否需要支付改名费 迁区费
         if(dto.getNeedRename()==1){
-            addMoney = company.getRenameMoney();
+            if(company.getRenameMoney()!=null){
+                addMoney = company.getRenameMoney();
+            }
             addDay=company.getRenameDay();
         }
         if(dto.getNewDistrict()==1){
-            addMoney = addMoney.add(company.getRelocationAreaMoney());
+            if(company.getRelocationAreaMoney()!=null){
+                addMoney = addMoney.add(company.getRelocationAreaMoney());
+            }
             addDay = addDay+company.getRelocationAreaDay();
         }
         // 更新订单金额

--
Gitblit v1.7.1