From 36f2f14ace300855a436f1ed9faf07049587a08f Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 04 一月 2025 09:31:26 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java | 149 +++++++++++++++++++++++--------------------------
1 files changed, 70 insertions(+), 79 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 8357e1e..e4014b3 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);
@@ -176,6 +193,8 @@
userPoint.setObjectId(order.getId());
userPoint.setExtention(order.getOrderNumber());
userPointClient.saveUserPoint(userPoint);
+ //变更等级
+ appUserClient.vipUpgrade(inviteUser.getId());
}
}
//直帮上级
@@ -190,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);
@@ -226,6 +248,8 @@
userPoint.setObjectId(order.getId());
userPoint.setExtention(order.getOrderNumber());
userPointClient.saveUserPoint(userPoint);
+ //变更等级
+ appUserClient.vipUpgrade(superiorLeader.getId());
}
}
@@ -233,15 +257,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));
@@ -250,15 +269,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);
@@ -267,19 +289,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());
@@ -305,6 +314,8 @@
userPoint.setObjectId(order.getId());
userPoint.setExtention(order.getOrderNumber());
userPointClient.saveUserPoint(userPoint);
+ //变更等级
+ appUserClient.vipUpgrade(shopAppUser.getId());
}
if(!shop.getLavePoint().equals(shopLavePoint)){
@@ -330,13 +341,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);
}
@@ -353,6 +367,8 @@
userPoint.setObjectId(order.getId());
userPoint.setExtention(order.getOrderNumber());
userPointClient.saveUserPoint(userPoint);
+ //变更等级
+ appUserClient.vipUpgrade(technicianAppUser.getId());
}
}
}
@@ -362,15 +378,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));
@@ -379,15 +390,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);
@@ -396,23 +410,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());
@@ -434,6 +435,8 @@
userPoint.setObjectId(order.getId());
userPoint.setExtention(order.getOrderNumber());
userPointClient.saveUserPoint(userPoint);
+ //变更等级
+ appUserClient.vipUpgrade(bdShopAppUser.getId());
}
if(!shop1.getLavePoint().equals(shopLavePoint)){
@@ -453,19 +456,15 @@
}
//上级门店分佣
- 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());
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));
@@ -474,13 +473,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);
//门店返佣
@@ -491,19 +493,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());
@@ -529,6 +518,8 @@
userPoint.setObjectId(order.getId());
userPoint.setExtention(order.getOrderNumber());
userPointClient.saveUserPoint(userPoint);
+ //变更等级
+ appUserClient.vipUpgrade(sjShopAppUser.getId());
}
if(!shop2.getLavePoint().equals(shopLavePoint)){
--
Gitblit v1.7.1