From c542c56572ea8936301a6bdc736e23b846c8c006 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 04 一月 2025 18:01:58 +0800 Subject: [PATCH] 修改保级功能bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java | 104 +++++++++++++++------------------------------------ 1 files changed, 31 insertions(+), 73 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 89e3779..3926014 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 @@ -8,6 +8,7 @@ import com.ruoyi.account.api.model.BalanceChangeRecord; import com.ruoyi.account.api.model.UserPoint; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.service.CommissionService; import com.ruoyi.order.service.OrderGoodService; import com.ruoyi.order.service.OrderService; @@ -97,26 +98,30 @@ BigDecimal superiorSubcommission = orderGood.getSuperiorSubcommission(); //上级获得分佣积分(直推上级|直帮上级) Integer superiorRebatePoints = orderGood.getSuperiorRebatePoints(); - 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.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); + } } } - split = orderGood.getSuperiorType().split(","); - for (String s : split) { - //直推上级 - if("1".equals(s)){ - ztsj_point += superiorRebatePoints; - } - //直帮上级 - if("2".equals(s)){ - zbsj_point += superiorRebatePoints; + 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; + } } } @@ -157,6 +162,7 @@ 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); } @@ -212,6 +218,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); } @@ -252,15 +259,10 @@ 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(); if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){ - shopAppUser.setTotalDistributionAmount(shopAppUser.getTotalDistributionAmount().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shopAppUser.setBalance(shopAppUser.getBalance().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shopAppUser.setWithdrawableAmount(shopAppUser.getWithdrawableAmount().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - shopAppUser.setShopServiceFee(shopAppUser.getShopServiceFee().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); //门店返佣 shop.setGiveawayAllMoney(shop.getGiveawayAllMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); shop.setServerGiveawayMoney(shop.getServerGiveawayMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); @@ -276,6 +278,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); } @@ -289,19 +292,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()); @@ -334,7 +324,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()); @@ -361,6 +351,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); } @@ -391,15 +382,10 @@ 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(); if(bdmd_price.compareTo(BigDecimal.ZERO) > 0){ - bdShopAppUser.setTotalDistributionAmount(bdShopAppUser.getTotalDistributionAmount().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - bdShopAppUser.setBalance(bdShopAppUser.getBalance().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - bdShopAppUser.setWithdrawableAmount(bdShopAppUser.getWithdrawableAmount().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - bdShopAppUser.setShopCommission(bdShopAppUser.getShopCommission().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); //门店返佣 shop1.setGiveawayAllMoney(shop1.getGiveawayAllMoney().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); shop1.setGiveawayMoney(shop1.getGiveawayMoney().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); @@ -415,6 +401,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); } @@ -428,23 +415,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()); @@ -492,14 +466,10 @@ 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(); if(bdmdsj_price.compareTo(BigDecimal.ZERO) > 0){ - sjShopAppUser.setTotalDistributionAmount(sjShopAppUser.getTotalDistributionAmount().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - sjShopAppUser.setBalance(sjShopAppUser.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); - sjShopAppUser.setWithdrawableAmount(sjShopAppUser.getWithdrawableAmount().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN)); //门店返佣 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)); @@ -515,6 +485,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); } @@ -528,19 +499,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()); -- Gitblit v1.7.1