From 9aa109735b29215f9a64426300095706fd137d0b Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 01 一月 2025 17:49:24 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java | 93 ++++++++++++++++++++++++++++------------------ 1 files changed, 57 insertions(+), 36 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 b8d4e84..ef55d38 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,17 +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); - ztsj_point += superiorRebatePoints; + 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("2".equals(s)){ - zbsj_price = zbsj_price.add(superiorSubcommission); - 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; + } } } @@ -140,14 +154,17 @@ } if(ztsj_point > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); - int earnPoint1 = ztsj_point; + int earnPoint1 = 0; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){ - earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); + 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); + if(null != pointSetting && 1 == pointSetting.getSharePointGift()){ + inviteUser.setTransferablePoint(inviteUser.getTransferablePoint() + earnPoint1); + } inviteUser.setTotalPoint(inviteUser.getTotalPoint() + ztsj_point); } appUserClient.editAppUserById(inviteUser); @@ -192,14 +209,17 @@ } if(zbsj_point > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); - int earnPoint1 = zbsj_point; + int earnPoint1 = 0; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getSharePointOpen()){ - earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); + earnPoint1 = new BigDecimal(zbsj_point).multiply(pointSetting.getSharePoint().divide(new BigDecimal(100))).intValue(); } superiorLeader.setSharePoint(superiorLeader.getSharePoint() + zbsj_point); superiorLeader.setLavePoint(superiorLeader.getLavePoint() + zbsj_point); superiorLeader.setAvailablePoint(superiorLeader.getAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getSharePointGift()){ + superiorLeader.setTransferablePoint(superiorLeader.getTransferablePoint() + earnPoint1); + } superiorLeader.setTotalPoint(superiorLeader.getTotalPoint() + zbsj_point); } appUserClient.editAppUserById(superiorLeader); @@ -242,10 +262,6 @@ 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)); @@ -254,15 +270,18 @@ } if(hxmd_point > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); - int earnPoint1 = hxmd_point; + int earnPoint1 = 0; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getShopPointOpen()){ - earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getShopPoint().divide(new BigDecimal(100))).intValue(); + earnPoint1 = new BigDecimal(hxmd_point).multiply(pointSetting.getShopPoint().divide(new BigDecimal(100))).intValue(); } shopAppUser.setLavePoint(shopAppUser.getLavePoint() + hxmd_point); shopAppUser.setAvailablePoint(shopAppUser.getAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getShopPointGift()){ + shopAppUser.setTransferablePoint(shopAppUser.getTransferablePoint() + earnPoint1); + } shopAppUser.setTotalPoint(shopAppUser.getTotalPoint() + hxmd_point); - shopAppUser.setShopAchievementPoint(shopAppUser.getShopAchievementPoint() + bdmdsj_point); + shopAppUser.setShopAchievementPoint(shopAppUser.getShopAchievementPoint() + hxmd_point); //门店返佣 shop.setShopAllPoint(shop.getShopAllPoint() + hxmd_point); shop.setServerPoint(shop.getServerPoint() + hxmd_point); @@ -336,13 +355,16 @@ Integer lavePoint = technicianAppUser.getLavePoint(); if(js_point > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); - int earnPoint1 = js_point; + int earnPoint1 = 0; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getPersonPointOpen()){ - earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getPersonPoint().divide(new BigDecimal(100))).intValue(); + earnPoint1 = new BigDecimal(js_point).multiply(pointSetting.getPersonPoint().divide(new BigDecimal(100))).intValue(); } technicianAppUser.setLavePoint(technicianAppUser.getLavePoint() + js_point); technicianAppUser.setAvailablePoint(technicianAppUser.getAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){ + technicianAppUser.setTransferablePoint(technicianAppUser.getTransferablePoint() + earnPoint1); + } technicianAppUser.setTotalPoint(technicianAppUser.getTotalPoint() + js_point); technicianAppUser.setTotalPerformancePoint(technicianAppUser.getTotalPerformancePoint() + js_point); } @@ -375,10 +397,6 @@ 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)); @@ -387,15 +405,18 @@ } if(bdmd_point > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); - int earnPoint1 = bdmd_point; + int earnPoint1 = 0; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ - earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); + earnPoint1 = new BigDecimal(bdmd_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); } bdShopAppUser.setLavePoint(bdShopAppUser.getLavePoint() + bdmd_point); bdShopAppUser.setAvailablePoint(bdShopAppUser.getAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ + bdShopAppUser.setTransferablePoint(bdShopAppUser.getTransferablePoint() + earnPoint1); + } bdShopAppUser.setTotalPoint(bdShopAppUser.getTotalPoint() + bdmd_point); - bdShopAppUser.setShopSharePoint(bdShopAppUser.getShopSharePoint() + bdmdsj_point); + bdShopAppUser.setShopSharePoint(bdShopAppUser.getShopSharePoint() + bdmd_point); //门店返佣 shop1.setShopAllPoint(shop1.getShopAllPoint() + bdmd_point); shop1.setSharePoint(shop1.getSharePoint() + bdmd_point); @@ -463,7 +484,7 @@ } //上级门店分佣 - Integer pid = shopClient.getShopById(order.getShopId()).getData().getPid(); + Integer pid = shop1.getPid(); Shop shop2 = shopClient.getShopById(pid).getData(); if(null != shop2){ AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId()); @@ -473,9 +494,6 @@ 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)); @@ -484,13 +502,16 @@ } if(bdmdsj_point > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); - int earnPoint1 = bdmdsj_point; + int earnPoint1 = 0; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getShopSharePointOpen()){ - earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); + earnPoint1 = new BigDecimal(bdmdsj_point).multiply(pointSetting.getShopSharePoint().divide(new BigDecimal(100))).intValue(); } sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point); sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1); + if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){ + sjShopAppUser.setTransferablePoint(sjShopAppUser.getTransferablePoint() + earnPoint1); + } sjShopAppUser.setTotalPoint(sjShopAppUser.getTotalPoint() + bdmdsj_point); sjShopAppUser.setLowerLevelSharePoint(sjShopAppUser.getLowerLevelSharePoint() + bdmdsj_point); //门店返佣 -- Gitblit v1.7.1