From 199861555473ab50f2fafa3d58e42e64e838c039 Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期一, 24 二月 2025 22:47:18 +0800
Subject: [PATCH] 修改物流信息导入模板

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java |  330 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 315 insertions(+), 15 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
index 86acfe2..88e630a 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -1,12 +1,8 @@
 package com.ruoyi.order.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.account.api.feignClient.AppUserClient;
-import com.ruoyi.account.api.feignClient.BalanceChangeRecordClient;
-import com.ruoyi.account.api.feignClient.UserPointClient;
-import com.ruoyi.account.api.model.AppUser;
-import com.ruoyi.account.api.model.BalanceChangeRecord;
-import com.ruoyi.account.api.model.UserPoint;
+import com.ruoyi.account.api.feignClient.*;
+import com.ruoyi.account.api.model.*;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.order.service.CommissionService;
@@ -16,6 +12,7 @@
 import com.ruoyi.other.api.feignClient.*;
 import com.ruoyi.order.model.Order;
 import com.ruoyi.order.model.OrderGood;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +27,7 @@
 import java.util.stream.Collectors;
 
 @Service
+@Slf4j
 public class CommissionServiceImpl implements CommissionService {
     @Resource
     private OrderService orderService;
@@ -63,7 +61,7 @@
         if(collect.size() == 0){
             return;
         }
-    
+
         for (Order order : list) {
             List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>()
                     .eq(OrderGood::getOrderId, order.getId()));
@@ -124,7 +122,7 @@
                         }
                     }
                 }
-                
+
                 //核销门店获取服务费
                 hxmd_price = hxmd_price.add(orderGood.getServuceShopCharges());
                 //核销门店可获得积分
@@ -259,7 +257,7 @@
                     appUserClient.vipUpgrade(superiorLeader.getId());
                 }
             }
-    
+
             //核销门店
             Shop shop = shopClient.getShopById(order.getShopId()).getData();
             AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId());
@@ -325,7 +323,7 @@
                     //变更等级
                     appUserClient.vipUpgrade(shopAppUser.getId());
                 }
-    
+
                 if(!shop.getLavePoint().equals(shopLavePoint)){
                     ShopPoint shopPoint = new ShopPoint();
                     shopPoint.setShopId(shop.getId());
@@ -340,7 +338,7 @@
                     shopPointClient.saveShopPoint(shopPoint);
                 }
             }
-    
+
             //技师服务积分
             if(order.getOrderType() == 1){
                 Technician technician = technicianClient.shopdetail(order.getTechnicianId()).getData();
@@ -381,10 +379,10 @@
                             appUserClient.vipUpgrade(technicianAppUser.getId());
                         }
                     }
-                    
+
                 }
             }
-            
+
             //服务商分佣
             Shop shop1 = shopClient.getServiceProvider(appUser.getId()).getData();
             if(null != shop1){
@@ -451,7 +449,7 @@
                         //变更等级
                         appUserClient.vipUpgrade(bdShopAppUser.getId());
                     }
-        
+
                     if(!shop1.getLavePoint().equals(shopLavePoint)){
                         ShopPoint shopPoint = new ShopPoint();
                         shopPoint.setShopId(shop1.getId());
@@ -467,7 +465,7 @@
                     }
                 }
             }
-    
+
             //高级服务商
             Shop shop2 = shopClient.getSuperiorServiceProvider(order.getAppUserId()).getData();
             if(null != shop2){
@@ -555,4 +553,306 @@
             orderService.updateById(order);
         }
     }
+
+    public void calculationCommissionCopy(Order order){
+        List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>()
+                .eq(OrderGood::getOrderId, order.getId()));
+        AppUser appUser = appUserClient.getAppUserById(order.getAppUserId());
+        //直推上级分佣金额
+        BigDecimal ztsj_price = BigDecimal.ZERO;
+        //直帮上级分佣金额
+        BigDecimal zbsj_price = BigDecimal.ZERO;
+        //直推上级分佣积分
+        Integer ztsj_point = 0;
+        //直帮上级分佣积分
+        Integer zbsj_point = 0;
+        //核销门店分佣金额
+        BigDecimal hxmd_price = BigDecimal.ZERO;
+        //核销门店分佣积分
+        Integer hxmd_point = 0;
+        //技师分佣积分
+        Integer js_point = 0;
+        //绑定门店分佣金额
+        BigDecimal bdmd_price = BigDecimal.ZERO;
+        //绑定门店分佣积分
+        Integer bdmd_point = 0;
+        //绑定门店上级门店分佣金额
+        BigDecimal bdmdsj_price = BigDecimal.ZERO;
+        //绑定门店上级门店分佣积分
+        Integer bdmdsj_point = 0;
+        for (OrderGood orderGood : orderGoods) {
+            //上级获得分佣金额(直推上级|直帮上级)
+            BigDecimal superiorSubcommission = orderGood.getSuperiorSubcommission();
+            //上级获得分佣积分(直推上级|直帮上级)
+            Integer superiorRebatePoints = orderGood.getSuperiorRebatePoints();
+            if(StringUtils.isNotEmpty(orderGood.getSuperiorPriceType())){
+                String[] split = orderGood.getSuperiorPriceType().split(",");
+                for (String s : split) {
+                    //直推上级
+                    if("1".equals(s)){
+                        ztsj_price = ztsj_price.add(superiorSubcommission);
+                    }
+                    //直帮上级
+                    if("2".equals(s)){
+                        zbsj_price = zbsj_price.add(superiorSubcommission);
+                    }
+                }
+            }
+            if(StringUtils.isNotEmpty(orderGood.getSuperiorType())){
+                String[] split = orderGood.getSuperiorType().split(",");
+                for (String s : split) {
+                    //直推上级
+                    if("1".equals(s)){
+                        ztsj_point += superiorRebatePoints;
+                    }
+                    //直帮上级
+                    if("2".equals(s)){
+                        zbsj_point += superiorRebatePoints;
+                    }
+                }
+            }
+
+            //核销门店获取服务费
+            hxmd_price = hxmd_price.add(orderGood.getServuceShopCharges());
+            //核销门店可获得积分
+            hxmd_point += orderGood.getServuceShopPoints();
+            //技师分佣金额
+            if(order.getOrderType() == 1){
+                js_point += orderGood.getTechnicianPoints();
+            }
+            //绑定门店分佣金额
+            bdmd_price = bdmd_price.add(orderGood.getBoundShopCharges());
+            //绑定门店分佣积分
+            bdmd_point += orderGood.getBoundShopPoints();
+            //绑定门店上级门店分佣金额
+            bdmdsj_price = bdmdsj_price.add(orderGood.getBoundShopSuperiorsCharges());
+            //绑定门店上级门店分佣积分
+            bdmdsj_point += orderGood.getBoundShopSuperiorsPoints();
+        }
+        //直推上级
+//        if(null != appUser.getInviteUserId()){
+//            AppUser inviteUser = appUserClient.getAppUserById(appUser.getInviteUserId());
+//            if(null != inviteUser){
+//                BigDecimal balance = inviteUser.getBalance();
+//                Integer lavePoint = inviteUser.getLavePoint();
+//                //添加明细记录
+//                if(!inviteUser.getBalance().equals(balance)){
+//                    BalanceChangeRecordCopy balanceChangeRecordCopy = new BalanceChangeRecordCopy();
+//                    balanceChangeRecordCopy.setAppUserId(inviteUser.getId());
+//                    balanceChangeRecordCopy.setVipId(inviteUser.getVipId());
+//                    balanceChangeRecordCopy.setOrderId(order.getId());
+//                    balanceChangeRecordCopy.setChangeType(4);
+//                    balanceChangeRecordCopy.setBeforeAmount(balance);
+//                    balanceChangeRecordCopy.setChangeAmount(ztsj_price);
+//                    balanceChangeRecordCopy.setAfterAmount(inviteUser.getBalance());
+//                    balanceChangeRecordCopy.setDelFlag(0);
+//                    balanceChangeRecordCopy.setCreateTime(LocalDateTime.now());
+//                    balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecordCopy);
+//                }
+//                //添加积分明细
+//                if(!inviteUser.getLavePoint().equals(lavePoint)){
+//
+//                    UserPointCopy userPointCopy = new UserPointCopy();
+//                    userPointCopy.setType(2);
+//                    userPointCopy.setHistoricalPoint(lavePoint);
+//                    userPointCopy.setVariablePoint(ztsj_point);
+//                    userPointCopy.setBalance(inviteUser.getLavePoint());
+//                    userPointCopy.setCreateTime(LocalDateTime.now());
+//                    userPointCopy.setAppUserId(inviteUser.getId());
+//                    userPointCopy.setObjectId(order.getId());
+//                    userPointCopy.setExtention(order.getOrderNumber());
+//                    userPointClient.saveUserPoint(userPointCopy);
+//                }
+//            }
+//        }
+
+        //指导老师
+        AppUser superiorLeader = appUserClient.getSuperiorLeader(appUser.getId()).getData();
+        if(null != superiorLeader){
+            log.info("指导老师:{}",superiorLeader);
+            BigDecimal balance = superiorLeader.getBalance();
+            Integer lavePoint = superiorLeader.getLavePoint();
+            //添加明细记录
+            BalanceChangeRecordCopy balanceChangeRecord = new BalanceChangeRecordCopy();
+            balanceChangeRecord.setAppUserId(superiorLeader.getId());
+            balanceChangeRecord.setVipId(superiorLeader.getVipId());
+            balanceChangeRecord.setOrderId(order.getId());
+            balanceChangeRecord.setChangeType(4);
+            balanceChangeRecord.setBeforeAmount(balance);
+            balanceChangeRecord.setChangeAmount(zbsj_price);
+            balanceChangeRecord.setAfterAmount(superiorLeader.getBalance());
+            balanceChangeRecord.setDelFlag(0);
+            balanceChangeRecord.setCreateTime(LocalDateTime.now());
+            balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
+            //添加积分明细
+            UserPointCopy userPointCopy = new UserPointCopy();
+            userPointCopy.setType(2);
+            userPointCopy.setHistoricalPoint(lavePoint);
+            userPointCopy.setVariablePoint(zbsj_point);
+            userPointCopy.setBalance(superiorLeader.getLavePoint());
+            userPointCopy.setCreateTime(LocalDateTime.now());
+            userPointCopy.setAppUserId(superiorLeader.getId());
+            userPointCopy.setObjectId(order.getId());
+            userPointCopy.setExtention(order.getOrderNumber());
+            userPointClient.saveUserPoint(userPointCopy);
+        }
+
+        //核销门店
+        Shop shop = shopClient.getShopById(order.getShopId()).getData();
+        AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId());
+        if(null != shopAppUser){
+            BigDecimal shopBalance = shop.getBalance();
+            Integer lavePoint = shopAppUser.getLavePoint();
+            Integer shopLavePoint = shop.getLavePoint();
+            //添加明细记录
+            ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy();
+            shopBalanceStatementCopy.setShopId(shop.getId());
+            shopBalanceStatementCopy.setType(3);
+            shopBalanceStatementCopy.setHistoricalBalance(shopBalance);
+            shopBalanceStatementCopy.setVariableAmount(hxmd_price);
+            shopBalanceStatementCopy.setBalance(shop.getBalance());
+            shopBalanceStatementCopy.setCreateTime(LocalDateTime.now());
+            shopBalanceStatementCopy.setCreateUserId(order.getAppUserId());
+            shopBalanceStatementCopy.setObjectId(order.getId());
+            shopBalanceStatementCopy.setExtension(order.getOrderNumber());
+            shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatementCopy);
+            //添加积分明细
+            UserPointCopy userPointCopy = new UserPointCopy();
+            userPointCopy.setType(8);
+            userPointCopy.setHistoricalPoint(lavePoint);
+            userPointCopy.setVariablePoint(hxmd_point);
+            userPointCopy.setBalance(shopAppUser.getLavePoint());
+            userPointCopy.setCreateTime(LocalDateTime.now());
+            userPointCopy.setAppUserId(shopAppUser.getId());
+            userPointCopy.setObjectId(order.getId());
+            userPointCopy.setExtention(order.getOrderNumber());
+            userPointClient.saveUserPoint(userPointCopy);
+            ShopPointCopy shopPointCopy = new ShopPointCopy();
+            shopPointCopy.setShopId(shop.getId());
+            shopPointCopy.setType(1);
+            shopPointCopy.setHistoricalPoint(shopLavePoint);
+            shopPointCopy.setVariablePoint(hxmd_point);
+            shopPointCopy.setBalance(shop.getLavePoint());
+            shopPointCopy.setCreateTime(LocalDateTime.now());
+            shopPointCopy.setCreateUserId(order.getAppUserId());
+            shopPointCopy.setObjectId(order.getId());
+            shopPointCopy.setOrderNum(order.getOrderNumber());
+            shopPointClient.saveShopPoint(shopPointCopy);
+        }
+
+        //技师服务积分
+        if(order.getOrderType() == 1){
+            Technician technician = technicianClient.shopdetail(order.getTechnicianId()).getData();
+            if(null != technician){
+                AppUser technicianAppUser = appUserClient.getAppUserById(technician.getAppUserId());
+                if(null != technicianAppUser){
+                    Integer lavePoint = technicianAppUser.getLavePoint();
+                    //添加积分明细
+                    UserPointCopy userPointCopy = new UserPointCopy();
+                    userPointCopy.setType(10);
+                    userPointCopy.setHistoricalPoint(lavePoint);
+                    userPointCopy.setVariablePoint(js_point);
+                    userPointCopy.setBalance(technicianAppUser.getLavePoint());
+                    userPointCopy.setCreateTime(LocalDateTime.now());
+                    userPointCopy.setAppUserId(technicianAppUser.getId());
+                    userPointCopy.setObjectId(order.getId());
+                    userPointCopy.setExtention(order.getOrderNumber());
+                    userPointClient.saveUserPoint(userPointCopy);
+                }
+
+            }
+        }
+
+        //服务商分佣
+        Shop shop1 = shopClient.getServiceProvider(appUser.getId()).getData();
+        if(null != shop1){
+            AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId());
+            if(null != bdShopAppUser){
+                BigDecimal shopBalance = shop1.getBalance();
+                Integer lavePoint = bdShopAppUser.getLavePoint();
+                Integer shopLavePoint = shop1.getLavePoint();
+                //添加明细记录
+                ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy();
+                shopBalanceStatementCopy.setShopId(shop1.getId());
+                shopBalanceStatementCopy.setType(1);
+                shopBalanceStatementCopy.setHistoricalBalance(shopBalance);
+                shopBalanceStatementCopy.setVariableAmount(bdmd_price);
+                shopBalanceStatementCopy.setBalance(shop1.getBalance());
+                shopBalanceStatementCopy.setCreateTime(LocalDateTime.now());
+                shopBalanceStatementCopy.setCreateUserId(order.getAppUserId());
+                shopBalanceStatementCopy.setObjectId(order.getId());
+                shopBalanceStatementCopy.setExtension(order.getOrderNumber());
+                shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatementCopy);
+                //添加积分明细
+                UserPointCopy userPointCopy = new UserPointCopy();
+                userPointCopy.setType(9);
+                userPointCopy.setHistoricalPoint(lavePoint);
+                userPointCopy.setVariablePoint(bdmd_point);
+                userPointCopy.setBalance(bdShopAppUser.getLavePoint());
+                userPointCopy.setCreateTime(LocalDateTime.now());
+                userPointCopy.setAppUserId(bdShopAppUser.getId());
+                userPointCopy.setObjectId(order.getId());
+                userPointCopy.setExtention(order.getOrderNumber());
+                userPointClient.saveUserPoint(userPointCopy);
+
+                ShopPointCopy shopPointCopy = new ShopPointCopy();
+                shopPointCopy.setShopId(shop1.getId());
+                shopPointCopy.setType(2);
+                shopPointCopy.setHistoricalPoint(shopLavePoint);
+                shopPointCopy.setVariablePoint(bdmd_point);
+                shopPointCopy.setBalance(shop1.getLavePoint());
+                shopPointCopy.setCreateTime(LocalDateTime.now());
+                shopPointCopy.setCreateUserId(order.getAppUserId());
+                shopPointCopy.setObjectId(order.getId());
+                shopPointCopy.setOrderNum(order.getOrderNumber());
+                shopPointClient.saveShopPoint(shopPointCopy);
+            }
+        }
+
+        //高级服务商
+        Shop shop2 = shopClient.getSuperiorServiceProvider(order.getAppUserId()).getData();
+        if(null != shop2){
+            AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId());
+            if(null != sjShopAppUser){
+                BigDecimal shopBalance = shop2.getBalance();
+                Integer lavePoint = sjShopAppUser.getLavePoint();
+                Integer shopLavePoint = shop2.getLavePoint();
+                //添加明细记录
+                ShopBalanceStatementCopy shopBalanceStatementCopy = new ShopBalanceStatementCopy();
+                shopBalanceStatementCopy.setShopId(shop2.getId());
+                shopBalanceStatementCopy.setType(2);
+                shopBalanceStatementCopy.setHistoricalBalance(shopBalance);
+                shopBalanceStatementCopy.setVariableAmount(bdmdsj_price);
+                shopBalanceStatementCopy.setBalance(shop2.getBalance());
+                shopBalanceStatementCopy.setCreateTime(LocalDateTime.now());
+                shopBalanceStatementCopy.setCreateUserId(order.getAppUserId());
+                shopBalanceStatementCopy.setObjectId(order.getId());
+                shopBalanceStatementCopy.setExtension(order.getOrderNumber());
+                shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatementCopy);
+                //添加积分明细
+                UserPointCopy userPointCopy = new UserPointCopy();
+                userPointCopy.setType(14);
+                userPointCopy.setHistoricalPoint(lavePoint);
+                userPointCopy.setVariablePoint(bdmdsj_point);
+                userPointCopy.setBalance(sjShopAppUser.getLavePoint());
+                userPointCopy.setCreateTime(LocalDateTime.now());
+                userPointCopy.setAppUserId(sjShopAppUser.getId());
+                userPointCopy.setObjectId(order.getId());
+                userPointCopy.setExtention(order.getOrderNumber());
+                userPointClient.saveUserPoint(userPointCopy);
+
+                ShopPointCopy shopPointCopy = new ShopPointCopy();
+                shopPointCopy.setShopId(shop2.getId());
+                shopPointCopy.setType(3);
+                shopPointCopy.setHistoricalPoint(shopLavePoint);
+                shopPointCopy.setVariablePoint(bdmdsj_point);
+                shopPointCopy.setBalance(shop2.getLavePoint());
+                shopPointCopy.setCreateTime(LocalDateTime.now());
+                shopPointCopy.setCreateUserId(order.getAppUserId());
+                shopPointCopy.setObjectId(order.getId());
+                shopPointCopy.setOrderNum(order.getOrderNumber());
+                shopPointClient.saveShopPoint(shopPointCopy);
+            }
+        }
+    }
 }

--
Gitblit v1.7.1