puzhibing
2025-01-07 eb5d7885fa9e4bd20c0827eec9b4cdd48c47b509
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -143,60 +143,64 @@
                bdmdsj_point += orderGood.getBoundShopSuperiorsPoints();
            }
            //直推上级
            AppUser inviteUser = appUserClient.getAppUserById(appUser.getInviteUserId());
            if(null != inviteUser){
                BigDecimal balance = inviteUser.getBalance();
                Integer lavePoint = inviteUser.getLavePoint();
                if(ztsj_price.compareTo(BigDecimal.ZERO) > 0){
                    inviteUser.setTotalDistributionAmount(inviteUser.getTotalDistributionAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                    inviteUser.setBalance(inviteUser.getBalance().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                    inviteUser.setWithdrawableAmount(inviteUser.getWithdrawableAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                }
                if(ztsj_point > 0){
                    PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
                    int earnPoint1 = 0;
                    //计算可用积分比例
                    if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){
                        earnPoint1 = new BigDecimal(ztsj_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue();
            if(null != appUser.getInviteUserId()){
                AppUser inviteUser = appUserClient.getAppUserById(appUser.getInviteUserId());
                if(null != inviteUser){
                    BigDecimal balance = inviteUser.getBalance();
                    Integer lavePoint = inviteUser.getLavePoint();
                    if(ztsj_price.compareTo(BigDecimal.ZERO) > 0){
                        inviteUser.setTotalDistributionAmount(inviteUser.getTotalDistributionAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                        inviteUser.setBalance(inviteUser.getBalance().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                        inviteUser.setWithdrawableAmount(inviteUser.getWithdrawableAmount().add(ztsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                    }
                    inviteUser.setSharePoint(inviteUser.getSharePoint() + ztsj_point);
                    inviteUser.setLavePoint(inviteUser.getLavePoint() + ztsj_point);
                    inviteUser.setAvailablePoint(inviteUser.getAvailablePoint() + earnPoint1);
                    if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                        inviteUser.setTransferablePoint(inviteUser.getTransferablePoint() + earnPoint1);
                    if(ztsj_point > 0){
                        PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
                        int earnPoint1 = 0;
                        //计算可用积分比例
                        if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){
                            earnPoint1 = new BigDecimal(ztsj_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue();
                        }
                        inviteUser.setSharePoint(inviteUser.getSharePoint() + ztsj_point);
                        inviteUser.setLavePoint(inviteUser.getLavePoint() + ztsj_point);
                        inviteUser.setAvailablePoint(inviteUser.getAvailablePoint() + earnPoint1);
                        inviteUser.setTotalAvailablePoint(inviteUser.getTotalAvailablePoint() + earnPoint1);
                        if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                            inviteUser.setTransferablePoint(inviteUser.getTransferablePoint() + earnPoint1);
                        }
                        inviteUser.setTotalPoint(inviteUser.getTotalPoint() + ztsj_point);
                    }
                    inviteUser.setTotalPoint(inviteUser.getTotalPoint() + ztsj_point);
                }
                appUserClient.editAppUserById(inviteUser);
                //添加明细记录
                if(!inviteUser.getBalance().equals(balance)){
                    BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
                    balanceChangeRecord.setAppUserId(inviteUser.getId());
                    balanceChangeRecord.setOrderId(order.getId());
                    balanceChangeRecord.setChangeType(4);
                    balanceChangeRecord.setBeforeAmount(balance);
                    balanceChangeRecord.setChangeAmount(ztsj_price);
                    balanceChangeRecord.setAfterAmount(inviteUser.getBalance());
                    balanceChangeRecord.setDelFlag(0);
                    balanceChangeRecord.setCreateTime(LocalDateTime.now());
                    balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
                }
                //添加积分明细
                if(!inviteUser.getLavePoint().equals(lavePoint)){
                    UserPoint userPoint = new UserPoint();
                    userPoint.setType(2);
                    userPoint.setHistoricalPoint(lavePoint);
                    userPoint.setVariablePoint(ztsj_point);
                    userPoint.setBalance(inviteUser.getLavePoint());
                    userPoint.setCreateTime(LocalDateTime.now());
                    userPoint.setAppUserId(inviteUser.getId());
                    userPoint.setObjectId(order.getId());
                    userPoint.setExtention(order.getOrderNumber());
                    userPointClient.saveUserPoint(userPoint);
                    //变更等级
                    appUserClient.vipUpgrade(inviteUser.getId());
                    appUserClient.editAppUserById(inviteUser);
                    //添加明细记录
                    if(!inviteUser.getBalance().equals(balance)){
                        BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
                        balanceChangeRecord.setAppUserId(inviteUser.getId());
                        balanceChangeRecord.setOrderId(order.getId());
                        balanceChangeRecord.setChangeType(4);
                        balanceChangeRecord.setBeforeAmount(balance);
                        balanceChangeRecord.setChangeAmount(ztsj_price);
                        balanceChangeRecord.setAfterAmount(inviteUser.getBalance());
                        balanceChangeRecord.setDelFlag(0);
                        balanceChangeRecord.setCreateTime(LocalDateTime.now());
                        balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
                    }
                    //添加积分明细
                    if(!inviteUser.getLavePoint().equals(lavePoint)){
                        UserPoint userPoint = new UserPoint();
                        userPoint.setType(2);
                        userPoint.setHistoricalPoint(lavePoint);
                        userPoint.setVariablePoint(ztsj_point);
                        userPoint.setBalance(inviteUser.getLavePoint());
                        userPoint.setCreateTime(LocalDateTime.now());
                        userPoint.setAppUserId(inviteUser.getId());
                        userPoint.setObjectId(order.getId());
                        userPoint.setExtention(order.getOrderNumber());
                        userPointClient.saveUserPoint(userPoint);
                        //变更等级
                        appUserClient.vipUpgrade(inviteUser.getId());
                    }
                }
            }
            //直帮上级
            AppUser superiorLeader = appUserClient.getSuperiorLeader(appUser.getId()).getData();
            if(null != superiorLeader){
@@ -217,6 +221,7 @@
                    superiorLeader.setSharePoint(superiorLeader.getSharePoint() + zbsj_point);
                    superiorLeader.setLavePoint(superiorLeader.getLavePoint() + zbsj_point);
                    superiorLeader.setAvailablePoint(superiorLeader.getAvailablePoint() + earnPoint1);
                    superiorLeader.setTotalAvailablePoint(superiorLeader.getTotalAvailablePoint() + earnPoint1);
                    if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                        superiorLeader.setTransferablePoint(superiorLeader.getTransferablePoint() + earnPoint1);
                    }
@@ -257,7 +262,6 @@
            Shop shop = shopClient.getShopById(order.getShopId()).getData();
            AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId());
            if(null != shopAppUser){
                BigDecimal balance = shopAppUser.getBalance();
                BigDecimal shopBalance = shop.getBalance();
                Integer lavePoint = shopAppUser.getLavePoint();
                Integer shopLavePoint = shop.getLavePoint();
@@ -277,6 +281,7 @@
                    }
                    shopAppUser.setLavePoint(shopAppUser.getLavePoint() + hxmd_point);
                    shopAppUser.setAvailablePoint(shopAppUser.getAvailablePoint() + earnPoint1);
                    shopAppUser.setTotalAvailablePoint(shopAppUser.getTotalAvailablePoint() + earnPoint1);
                    if(null != pointSetting && 1 == pointSetting.getShopPointGift()){
                        shopAppUser.setTransferablePoint(shopAppUser.getTransferablePoint() + earnPoint1);
                    }
@@ -290,19 +295,6 @@
                appUserClient.editAppUserById(shopAppUser);
                shopClient.updateShop(shop);
                //添加明细记录
                if(!shopAppUser.getBalance().equals(balance)){
                    BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
                    balanceChangeRecord.setAppUserId(shopAppUser.getId());
                    balanceChangeRecord.setOrderId(order.getId());
                    balanceChangeRecord.setChangeType(4);
                    balanceChangeRecord.setBeforeAmount(balance);
                    balanceChangeRecord.setChangeAmount(hxmd_price);
                    balanceChangeRecord.setAfterAmount(shopAppUser.getBalance());
                    balanceChangeRecord.setDelFlag(0);
                    balanceChangeRecord.setCreateTime(LocalDateTime.now());
                    balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
                }
                if(!shop.getBalance().equals(shopBalance)){
                    ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                    shopBalanceStatement.setShopId(shop.getId());
@@ -335,7 +327,7 @@
                if(!shop.getLavePoint().equals(shopLavePoint)){
                    ShopPoint shopPoint = new ShopPoint();
                    shopPoint.setShopId(shop.getId());
                    shopPoint.setType(4);
                    shopPoint.setType(1);
                    shopPoint.setHistoricalPoint(shopLavePoint);
                    shopPoint.setVariablePoint(hxmd_point);
                    shopPoint.setBalance(shop.getLavePoint());
@@ -362,6 +354,7 @@
                        }
                        technicianAppUser.setLavePoint(technicianAppUser.getLavePoint() + js_point);
                        technicianAppUser.setAvailablePoint(technicianAppUser.getAvailablePoint() + earnPoint1);
                        technicianAppUser.setTotalAvailablePoint(technicianAppUser.getTotalAvailablePoint() + earnPoint1);
                        if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){
                            technicianAppUser.setTransferablePoint(technicianAppUser.getTransferablePoint() + earnPoint1);
                        }
@@ -392,7 +385,6 @@
            if(null != shop1){
                AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId());
                if(null != bdShopAppUser){
                    BigDecimal balance = bdShopAppUser.getBalance();
                    BigDecimal shopBalance = shop1.getBalance();
                    Integer lavePoint = bdShopAppUser.getLavePoint();
                    Integer shopLavePoint = shop1.getLavePoint();
@@ -412,6 +404,7 @@
                        }
                        bdShopAppUser.setLavePoint(bdShopAppUser.getLavePoint() + bdmd_point);
                        bdShopAppUser.setAvailablePoint(bdShopAppUser.getAvailablePoint() + earnPoint1);
                        bdShopAppUser.setTotalAvailablePoint(bdShopAppUser.getTotalAvailablePoint() + earnPoint1);
                        if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                            bdShopAppUser.setTransferablePoint(bdShopAppUser.getTransferablePoint() + earnPoint1);
                        }
@@ -425,23 +418,10 @@
                    appUserClient.editAppUserById(bdShopAppUser);
                    shopClient.updateShop(shop1);
                    //添加明细记录
                    if(!bdShopAppUser.getBalance().equals(balance)){
                        BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
                        balanceChangeRecord.setAppUserId(bdShopAppUser.getId());
                        balanceChangeRecord.setOrderId(order.getId());
                        balanceChangeRecord.setChangeType(4);
                        balanceChangeRecord.setBeforeAmount(balance);
                        balanceChangeRecord.setChangeAmount(bdmd_price);
                        balanceChangeRecord.setAfterAmount(bdShopAppUser.getBalance());
                        balanceChangeRecord.setDelFlag(0);
                        balanceChangeRecord.setCreateTime(LocalDateTime.now());
                        balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
                    }
                    if(!shop1.getBalance().equals(shopBalance)){
                        ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                        shopBalanceStatement.setShopId(shop1.getId());
                        shopBalanceStatement.setType(4);
                        shopBalanceStatement.setType(1);
                        shopBalanceStatement.setHistoricalBalance(shopBalance);
                        shopBalanceStatement.setVariableAmount(bdmd_price);
                        shopBalanceStatement.setBalance(shop1.getBalance());
@@ -489,7 +469,6 @@
            if(null != shop2){
                AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId());
                if(null != sjShopAppUser){
                    BigDecimal balance = sjShopAppUser.getBalance();
                    BigDecimal shopBalance = shop2.getBalance();
                    Integer lavePoint = sjShopAppUser.getLavePoint();
                    Integer shopLavePoint = shop2.getLavePoint();
@@ -509,6 +488,7 @@
                        }
                        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);
                        }
@@ -522,19 +502,6 @@
                    appUserClient.editAppUserById(sjShopAppUser);
                    shopClient.updateShop(shop2);
                    //添加明细记录
                    if(!sjShopAppUser.getBalance().equals(balance)){
                        BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
                        balanceChangeRecord.setAppUserId(sjShopAppUser.getId());
                        balanceChangeRecord.setOrderId(order.getId());
                        balanceChangeRecord.setChangeType(4);
                        balanceChangeRecord.setBeforeAmount(balance);
                        balanceChangeRecord.setChangeAmount(bdmdsj_price);
                        balanceChangeRecord.setAfterAmount(sjShopAppUser.getBalance());
                        balanceChangeRecord.setDelFlag(0);
                        balanceChangeRecord.setCreateTime(LocalDateTime.now());
                        balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
                    }
                    if(!shop2.getBalance().equals(shopBalance)){
                        ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                        shopBalanceStatement.setShopId(shop2.getId());