luofl
2025-02-24 199861555473ab50f2fafa3d58e42e64e838c039
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,13 +61,13 @@
        if(collect.size() == 0){
            return;
        }
        for (Order order : list) {
            List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>()
                    .eq(OrderGood::getOrderId, order.getId()));
            AppUser appUser = appUserClient.getAppUserById(order.getAppUserId());
            if(null == appUser){
                return;
                continue;
            }
            //直推上级分佣金额
            BigDecimal ztsj_price = BigDecimal.ZERO;
@@ -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,12 +379,12 @@
                            appUserClient.vipUpgrade(technicianAppUser.getId());
                        }
                    }
                }
            }
            //绑定门店分佣
            Shop shop1 = shopClient.getShopById(appUser.getShopId()).getData();
            //服务商分佣
            Shop shop1 = shopClient.getServiceProvider(appUser.getId()).getData();
            if(null != shop1){
                AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId());
                if(null != bdShopAppUser){
@@ -451,7 +449,7 @@
                        //变更等级
                        appUserClient.vipUpgrade(bdShopAppUser.getId());
                    }
                    if(!shop1.getLavePoint().equals(shopLavePoint)){
                        ShopPoint shopPoint = new ShopPoint();
                        shopPoint.setShopId(shop1.getId());
@@ -467,89 +465,86 @@
                    }
                }
            }
            //上级门店分佣
            if(null != shop1){
                Integer pid = shop1.getPid();
                Shop shop2 = shopClient.getShopById(pid).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();
                        if(bdmdsj_price.compareTo(BigDecimal.ZERO) > 0){
                            //门店返佣
                            shop2.setGiveawayAllMoney(shop2.getGiveawayAllMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                            shop2.setLowerLevelGiveawayMoney(shop2.getLowerLevelGiveawayMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                            shop2.setCanWithdrawMoney(shop2.getCanWithdrawMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                            shop2.setBalance(shop2.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                        }
                        if(bdmdsj_point > 0){
                            PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
                            int earnPoint1 = 0;
                            //计算可用积分比例
                            if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){
                                earnPoint1 = new BigDecimal(bdmdsj_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue();
                            }
                            sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point);
                            sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1);
                            sjShopAppUser.setTotalAvailablePoint(sjShopAppUser.getTotalAvailablePoint() + earnPoint1);
                            if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                                sjShopAppUser.setTransferablePoint(sjShopAppUser.getTransferablePoint() + earnPoint1);
                            }
                            sjShopAppUser.setTotalPoint(sjShopAppUser.getTotalPoint() + bdmdsj_point);
                            sjShopAppUser.setLowerLevelSharePoint(sjShopAppUser.getLowerLevelSharePoint() + bdmdsj_point);
                            //门店返佣
                            shop2.setShopAllPoint(shop2.getShopAllPoint() + bdmdsj_point);
                            shop2.setLowerLevelSharePoint(shop2.getLowerLevelSharePoint() + bdmdsj_point);
                            shop2.setLavePoint(shop2.getLavePoint() + bdmdsj_point);
                        }
                        appUserClient.editAppUserById(sjShopAppUser);
                        shopClient.updateShop(shop2);
                        //添加明细记录
                        if(!shop2.getBalance().equals(shopBalance)){
                            ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                            shopBalanceStatement.setShopId(shop2.getId());
                            shopBalanceStatement.setType(2);
                            shopBalanceStatement.setHistoricalBalance(shopBalance);
                            shopBalanceStatement.setVariableAmount(bdmdsj_price);
                            shopBalanceStatement.setBalance(shop2.getBalance());
                            shopBalanceStatement.setCreateTime(LocalDateTime.now());
                            shopBalanceStatement.setCreateUserId(order.getAppUserId());
                            shopBalanceStatement.setObjectId(order.getId());
                            shopBalanceStatement.setExtension(order.getOrderNumber());
                            shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatement);
                        }
                        //添加积分明细
                        if(!sjShopAppUser.getLavePoint().equals(lavePoint)){
                            UserPoint userPoint = new UserPoint();
                            userPoint.setType(14);
                            userPoint.setHistoricalPoint(lavePoint);
                            userPoint.setVariablePoint(bdmdsj_point);
                            userPoint.setBalance(sjShopAppUser.getLavePoint());
                            userPoint.setCreateTime(LocalDateTime.now());
                            userPoint.setAppUserId(sjShopAppUser.getId());
                            userPoint.setObjectId(order.getId());
                            userPoint.setExtention(order.getOrderNumber());
                            userPointClient.saveUserPoint(userPoint);
                            //变更等级
                            appUserClient.vipUpgrade(sjShopAppUser.getId());
                        }
                        if(!shop2.getLavePoint().equals(shopLavePoint)){
                            ShopPoint shopPoint = new ShopPoint();
                            shopPoint.setShopId(shop2.getId());
                            shopPoint.setType(3);
                            shopPoint.setHistoricalPoint(shopLavePoint);
                            shopPoint.setVariablePoint(bdmdsj_point);
                            shopPoint.setBalance(shop2.getLavePoint());
                            shopPoint.setCreateTime(LocalDateTime.now());
                            shopPoint.setCreateUserId(order.getAppUserId());
                            shopPoint.setObjectId(order.getId());
                            shopPoint.setOrderNum(order.getOrderNumber());
                            shopPointClient.saveShopPoint(shopPoint);
            //高级服务商
            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();
                    if(bdmdsj_price.compareTo(BigDecimal.ZERO) > 0){
                        //门店返佣
                        shop2.setGiveawayAllMoney(shop2.getGiveawayAllMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                        shop2.setLowerLevelGiveawayMoney(shop2.getLowerLevelGiveawayMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                        shop2.setCanWithdrawMoney(shop2.getCanWithdrawMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                        shop2.setBalance(shop2.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                    }
                    if(bdmdsj_point > 0){
                        PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
                        int earnPoint1 = 0;
                        //计算可用积分比例
                        if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){
                            earnPoint1 = new BigDecimal(bdmdsj_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue();
                        }
                        sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point);
                        sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1);
                        sjShopAppUser.setTotalAvailablePoint(sjShopAppUser.getTotalAvailablePoint() + earnPoint1);
                        if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                            sjShopAppUser.setTransferablePoint(sjShopAppUser.getTransferablePoint() + earnPoint1);
                        }
                        sjShopAppUser.setTotalPoint(sjShopAppUser.getTotalPoint() + bdmdsj_point);
                        sjShopAppUser.setLowerLevelSharePoint(sjShopAppUser.getLowerLevelSharePoint() + bdmdsj_point);
                        //门店返佣
                        shop2.setShopAllPoint(shop2.getShopAllPoint() + bdmdsj_point);
                        shop2.setLowerLevelSharePoint(shop2.getLowerLevelSharePoint() + bdmdsj_point);
                        shop2.setLavePoint(shop2.getLavePoint() + bdmdsj_point);
                    }
                    appUserClient.editAppUserById(sjShopAppUser);
                    shopClient.updateShop(shop2);
                    //添加明细记录
                    if(!shop2.getBalance().equals(shopBalance)){
                        ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                        shopBalanceStatement.setShopId(shop2.getId());
                        shopBalanceStatement.setType(2);
                        shopBalanceStatement.setHistoricalBalance(shopBalance);
                        shopBalanceStatement.setVariableAmount(bdmdsj_price);
                        shopBalanceStatement.setBalance(shop2.getBalance());
                        shopBalanceStatement.setCreateTime(LocalDateTime.now());
                        shopBalanceStatement.setCreateUserId(order.getAppUserId());
                        shopBalanceStatement.setObjectId(order.getId());
                        shopBalanceStatement.setExtension(order.getOrderNumber());
                        shopBalanceStatementClient.saveShopBalanceStatement(shopBalanceStatement);
                    }
                    //添加积分明细
                    if(!sjShopAppUser.getLavePoint().equals(lavePoint)){
                        UserPoint userPoint = new UserPoint();
                        userPoint.setType(14);
                        userPoint.setHistoricalPoint(lavePoint);
                        userPoint.setVariablePoint(bdmdsj_point);
                        userPoint.setBalance(sjShopAppUser.getLavePoint());
                        userPoint.setCreateTime(LocalDateTime.now());
                        userPoint.setAppUserId(sjShopAppUser.getId());
                        userPoint.setObjectId(order.getId());
                        userPoint.setExtention(order.getOrderNumber());
                        userPointClient.saveUserPoint(userPoint);
                        //变更等级
                        appUserClient.vipUpgrade(sjShopAppUser.getId());
                    }
                    if(!shop2.getLavePoint().equals(shopLavePoint)){
                        ShopPoint shopPoint = new ShopPoint();
                        shopPoint.setShopId(shop2.getId());
                        shopPoint.setType(3);
                        shopPoint.setHistoricalPoint(shopLavePoint);
                        shopPoint.setVariablePoint(bdmdsj_point);
                        shopPoint.setBalance(shop2.getLavePoint());
                        shopPoint.setCreateTime(LocalDateTime.now());
                        shopPoint.setCreateUserId(order.getAppUserId());
                        shopPoint.setObjectId(order.getId());
                        shopPoint.setOrderNum(order.getOrderNumber());
                        shopPointClient.saveShopPoint(shopPoint);
                    }
                }
            }
@@ -558,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);
            }
        }
    }
}