From 816aa2fdb67c39409d94f570098dc898c5699c92 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Wed, 11 Jun 2025 16:56:37 +0800
Subject: [PATCH 01/75] =?UTF-8?q?##=20=E5=8D=87=E7=BA=A7=E8=AE=A2=E5=8D=95?=
=?UTF-8?q?=E7=AD=89=E7=BA=A7=E8=AE=A1=E7=AE=97=E5=A4=84=E7=90=86=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/hzs/sale/order/service/impl/SaOrderServiceImpl.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java
index 8a16b38e..4c17c2c1 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java
@@ -2733,7 +2733,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl
+ saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
} else {
// 没有手动升级记录
- saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
+ baseBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxProductList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
}
}
return baseBoxNum;
From afe5a82e6ebc9de7a6a038bf7686c8b553936d6d Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Wed, 11 Jun 2025 19:30:13 +0800
Subject: [PATCH 02/75] =?UTF-8?q?##=20=E6=B3=A8=E5=86=8C=E3=80=81=E5=8D=87?=
=?UTF-8?q?=E7=BA=A7=E3=80=81=E5=A4=8D=E8=B4=AD=E3=80=81=E9=87=8D=E6=B6=88?=
=?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=B8=9A=E7=BB=A9=E3=80=81=E7=9B=92=E6=95=B0?=
=?UTF-8?q?=E9=83=BD=E7=AE=97=E8=87=AA=E5=B7=B1=E5=B0=8F=E5=8C=BA=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/BonusSettleRangeHandle.java | 172 +++++++++++-------
.../service/impl/RetailOrderServiceImpl.java | 7 +-
...uctConstants.java => RetailConstants.java} | 11 +-
.../hzs/common/core/enums/EIncomeStatus.java | 8 +-
.../hzs/common/core/utils/BoxProductUtil.java | 6 +-
.../member/bonus/CuMemberBonusRange.java | 2 +-
6 files changed, 122 insertions(+), 84 deletions(-)
rename bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/{RetailProductConstants.java => RetailConstants.java} (80%)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
index 87db9291..d313d023 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
@@ -8,7 +8,7 @@ import com.hzs.bonus.detail.service.ICuMemberAwardsService;
import com.hzs.bonus.detail.service.ICuMemberGradeService;
import com.hzs.bonus.order.service.IBonusOrderService;
import com.hzs.common.core.constant.MagicNumberConstants;
-import com.hzs.common.core.constant.RetailProductConstants;
+import com.hzs.common.core.constant.RetailConstants;
import com.hzs.common.core.constant.TableNameConstants;
import com.hzs.common.core.constant.msg.BonusMsgConstants;
import com.hzs.common.core.enums.*;
@@ -133,27 +133,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 订单指定产品盒数
int boxNum = 0;
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
- for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
- if (saOrderItems.getWaresCode().equals(waresCode)) {
- boxNum += saOrderItems.getWaresQuantity();
- break;
- }
+ if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
+ boxNum += saOrderItems.getWaresQuantity();
+ break;
}
}
saOrderExt.setBoxNum(boxNum);
// 订单业绩
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
- if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
- || EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType()
- ) {
- // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
- sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
- sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
- sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
- sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
- sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
- }
+ // 注册、升级、复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
+ sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
+ sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
+ sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
+ sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
+ sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
// 会员等级升级记录
List cuMemberGradeList = new ArrayList<>();
@@ -166,25 +160,30 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// TODO new 奖金处理
List cuMemberBonusRangeList = new ArrayList<>();
- // 计算奖金 计算平级收益
- for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
- for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
- if (saOrderItems.getWaresCode().equals(waresCode)) {
- // 计算级差收益,平级收益
+ if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
+ || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()
+ ) {
+ // 注册、升级订单,计算奖金: 直推级差收益 + 平级收益
+ for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
+ if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
+ // 指定盒数商品
+ // 计算直推级差收益 + 平级收益
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt));
- if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
- EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() ||
- EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
+
+ if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
+ || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
+ // 注册、升级,计算是否激活
sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
}
}
}
}
+
+ // 查询区域配置
Map countyRangeExtMap = new HashMap<>();
List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
-
// 计算区域奖
CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusMap, saOrderExt);
if (cuMemberBonusDetail != null) {
@@ -277,27 +276,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 先算等级 注册、升级计算等级
int boxNum = 0;
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
- for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
- if (saOrderItems.getWaresCode().equals(waresCode)) {
- boxNum += saOrderItems.getWaresQuantity();
- break;
- }
+ if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
+ boxNum += saOrderItems.getWaresQuantity();
+ break;
}
}
saOrderExt.setBoxNum(boxNum);
// 订单业绩
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
- if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
- || EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType()
- ) {
- // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
- sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum);
- sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum);
- sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
- sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
- sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
- }
+ // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
+ sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum);
+ sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum);
+ sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
+ sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
+ sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
// 会员等级map
Map cuMemberGradeMap = new HashMap<>();
@@ -527,28 +520,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 计算自消费奖衔
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
// 订单指定产品盒数(计算等级使用)
- int boxNum = saOrderExt.getBoxNum();
-// int boxNum = 0;
-// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
-// for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) {
-// if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) {
-// boxNum += saOrderItems.getWaresQuantity();
-// break;
-// }
-// }
-// }
+ int boxNum = 0;
+ for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
+ if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
+ boxNum += saOrderItems.getWaresQuantity();
+ break;
+ }
+ }
// 个人累计消费pv
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
- if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
- || EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType()
- ) {
- // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
- sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
- sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
- sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
- sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
- sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
- }
+ // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
+ sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
+ sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
+ sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
+ sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
+ sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
// 计算自己等级、奖衔等
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt);
// 计算团队业绩、盒数,计算等级、奖衔
@@ -1310,35 +1296,83 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// }
/**
- * 计算极差收益,根据极差收益计算平级收益
+ * 计算直推级差收益,根据直推级差收益计算平级收益
*/
List calculateRetailRangeBonus(Map memberRangeExtMap, Map cuMemberBonusMap,
Map gradeMap, BonusConfigDTO bonusConfigDTO, Integer period,
SaOrderWaresExt saOrderItems, SaOrderExt saOrderExt) {
+ // 直推级差返回数据
List memberBonusRangeList = new ArrayList<>();
// 用等级计算,按照一级级算
+
+ // 订单下单人自己
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
+ // 推荐人
long pkParent = sourceMemberRangeExt.getPkParent();
+ // 商品价格(没有乘商品数量)
BigDecimal beginBuyPrice = saOrderItems.getWaresPrice();
BigDecimal comBuyPrice = saOrderItems.getWaresPrice();
+
+ // 开始计算等级值
int beginGradeValue = sourceMemberRangeExt.getGradeValue();
+ // 直推级差收益
BigDecimal calBonusIncome = BigDecimal.ZERO;
- // 计算极差
+
+ // 临时等级
+ int tmpGradeValue = 0;
+ // 计算直推级差
while (true) {
+ // 推荐人
CuMemberRetailRangeExt targetMemberRangeExt = memberRangeExtMap.get(pkParent);
if (targetMemberRangeExt == null) {
break;
}
+ // 推荐人的推荐人
pkParent = targetMemberRangeExt.getPkParent();
- if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() ||
- ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() ||
- targetMemberRangeExt.getEnableStatus() == EYesNo.NO.getIntValue() ||
- targetMemberRangeExt.getGradeValue() == EGrade.START_UP.getValue() ||
- EIncomeStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getIncomeStatus()) {
+
+ // TODO new 新处理奖金
+
+ if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus()
+ || ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory()
+ || targetMemberRangeExt.getEnableStatus() == EYesNo.NO.getIntValue()
+ || targetMemberRangeExt.getGradeValue() == EGrade.START_UP.getValue()
+ || EIncomeStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getIncomeStatus()) {
+ // 停算收益、非正常会员、未激活、等级为顾客、停止收益,直接跳过
continue;
}
- // 推荐V1 有额外100
+ // 当前会员等级值
int calGradeValue = targetMemberRangeExt.getGradeValue();
+
+ // 税前收益
+ BigDecimal pretaxIncome;
+ if (tmpGradeValue == 0) {
+ // 临时等级为0
+ tmpGradeValue = calGradeValue;
+
+ if (EGrade.HAI_FAN.getValue() == calGradeValue) {
+ // VIP,拿1份40
+ pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS;
+ } else if (EGrade.YOU_KE.getValue() == calGradeValue) {
+ // SVIP,拿2份40
+ pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("2"));
+ } else if (EGrade.MAKER.getValue() == calGradeValue) {
+ // 卓越,拿3份40
+ pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("3"));
+ } else if (EGrade.VIP.getValue() == calGradeValue) {
+ // 首席,拿4份40
+ pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("4"));
+ } else if (EGrade.S_VIP.getValue() == calGradeValue) {
+ // 合伙人,拿5份40
+ pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("5"));
+ }
+ } else if (calGradeValue == tmpGradeValue) {
+ // 当前会员等级
+
+ } else if (calGradeValue > tmpGradeValue) {
+
+ }
+
+
// 如果价格是209,代表是第一单激活,只有平级收益,只有V5有平级收益
if (beginBuyPrice.equals(BigDecimal.valueOf(209))) {
calGradeValue = EGrade.S_VIP.getValue();
@@ -1514,7 +1548,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal boxNumBig = new BigDecimal(saOrder.getBoxNum());
// 处理区域收益(每盒2元)
- BigDecimal benefitIncome = RetailProductConstants.AREA_BOX_BONUS.multiply(boxNumBig);
+ BigDecimal benefitIncome = RetailConstants.AREA_BOX_BONUS.multiply(boxNumBig);
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, BigDecimal.ZERO, benefitIncome,
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
cuMemberBonusDetail.setCalAchieve(boxNumBig);
diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java
index 99f320aa..643f1b2f 100644
--- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java
+++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java
@@ -18,7 +18,6 @@ import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderWaresLimitExt;
import com.hzs.common.domain.sale.order.*;
-import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.domain.sale.wares.BdWaresRange;
import com.hzs.common.domain.system.base.BdStorehouse;
import com.hzs.common.domain.system.config.BdGrade;
@@ -82,8 +81,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
private ISaOrderTempService iSaOrderTempService;
@Autowired
private ISaOrderWaresLimitService iSaOrderWaresLimitService;
- @Autowired
- private IBdProductService iBdProductService;
@Autowired
private RedisService redisService;
@@ -820,7 +817,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 指定商品拆分 并且 非赠品
if (boxProductList.contains(saOrderItems.getWareCode())
&& EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
- orderWaresMap.merge(saOrderItems.getPkWares() + "-" + saOrderItems.getPrice(), saOrderItems.getWaresQuantity(), Integer::sum);
+ // key: 商品ID-商品价格(产品价格*产品数量)
+ String key = saOrderItems.getPkWares() + "-" + (saOrderItems.getPrice().multiply(new BigDecimal(saOrderItems.getQuantity())));
+ orderWaresMap.merge(key, saOrderItems.getWaresQuantity(), Integer::sum);
waresLimitMap.merge(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity(), Integer::sum);
}
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailProductConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java
similarity index 80%
rename from bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailProductConstants.java
rename to bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java
index 3f7d51de..c563d27d 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailProductConstants.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java
@@ -7,7 +7,16 @@ import java.util.List;
/**
* 新零售商品常量类
*/
-public class RetailProductConstants {
+public class RetailConstants {
+
+ /**
+ * 直推级差等级收益(每个等级为40元)
+ */
+ public static final BigDecimal LEVEL_RANGE_BONUS = new BigDecimal("40");
+ /**
+ * 直推平级收益比例(每代拿商品价格的千分之五)
+ */
+ public static final BigDecimal LEVEL_RATIO = new BigDecimal("0.005");
/**
* 区域分红,每盒2元
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java
index 48140810..28bbb616 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java
@@ -5,17 +5,13 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
- * @Description: 会员收益状态 会员表,会员网体表,奖金汇总表
- * @Author: sui q
- * @Time: 2022/11/4 11:03
- * @Classname: EIncomeStatus
- * @PackageName: com.hzs.common.core.enums
+ * 会员收益状态 会员表,会员网体表,奖金汇总表
*/
@AllArgsConstructor
@Getter
public enum EIncomeStatus {
/**
- *正常
+ * 正常
*/
NORMAL(0, "正常", 0, EnumsPrefixConstants.INCOME_STATUS + "0"),
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java
index b633cdb8..fc513d94 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/BoxProductUtil.java
@@ -1,6 +1,6 @@
package com.hzs.common.core.utils;
-import com.hzs.common.core.constant.RetailProductConstants;
+import com.hzs.common.core.constant.RetailConstants;
import com.hzs.common.core.enums.ESystemType;
import java.util.ArrayList;
@@ -18,13 +18,13 @@ public class BoxProductUtil {
List productList = new ArrayList<>(0);
if (null == systemType || ESystemType.ALL.getValue() == systemType) {
- productList.addAll(RetailProductConstants.ALL_BOX_WARES_LIST);
+ productList.addAll(RetailConstants.ALL_BOX_WARES_LIST);
return productList;
}
if (ESystemType.DEFAULT.getValue() == systemType) {
// 新零售
- productList = RetailProductConstants.BOX_PRODUCT_LIST;
+ productList = RetailConstants.BOX_PRODUCT_LIST;
}
return productList;
}
diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusRange.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusRange.java
index b3f5a552..f28bc5b1 100644
--- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusRange.java
+++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusRange.java
@@ -11,7 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
- * 会员奖金-奖金收益明细表(复购极差)
+ * 会员奖金-奖金收益明细表(复购极差) -- 新直推级差
*/
@Data
@EqualsAndHashCode(callSuper = true)
From 1c77821a24b95e5ad897de4176b8bb86236568aa Mon Sep 17 00:00:00 2001
From: woody
Date: Thu, 12 Jun 2025 09:06:25 +0800
Subject: [PATCH 03/75] =?UTF-8?q?feat(CuMember):=20=E7=9B=B4=E6=8E=A8?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E6=B7=BB=E5=8A=A0=E6=89=8B=E6=9C=BA=E5=8F=B7?=
=?UTF-8?q?=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/hzs/retail/member/vo/RecommendListVO.java | 5 +++++
.../src/main/resources/mapper/member/base/CuMemberMapper.xml | 1 +
2 files changed, 6 insertions(+)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RecommendListVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RecommendListVO.java
index 442333a6..739ea684 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RecommendListVO.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RecommendListVO.java
@@ -50,4 +50,9 @@ public class RecommendListVO implements Serializable {
*/
private String settleGradeVal;
+ /**
+ * 手机号
+ */
+ private String phone;
+
}
diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml
index c8775727..95302be4 100644
--- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml
+++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml
@@ -2593,6 +2593,7 @@
cm.member_name,
cm.nick_name,
cm.creation_time,
+ cm.phone,
bg.grade_name settle_grade_val
from cu_member cm
left join bd_grade bg
From 684ecdb098a8495f5337ffb6fdca32b45851e98b Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Thu, 12 Jun 2025 13:28:52 +0800
Subject: [PATCH 04/75] =?UTF-8?q?##=20=E5=8C=BA=E5=9F=9F=E6=94=B6=E7=9B=8A?=
=?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=95=86=E5=93=81=E4=BB=B7=E6=A0=BC=E7=9A=84?=
=?UTF-8?q?5%=EF=BC=9B=E7=9B=92=E6=95=B0=E5=A4=A7=E5=B0=8F=E5=8C=BA?=
=?UTF-8?q?=E8=AE=A1=E7=AE=97=E8=B0=83=E6=95=B4=EF=BC=9B=E7=A7=92=E7=BB=93?=
=?UTF-8?q?=E8=AE=A1=E7=AE=97=E7=AD=89=E7=BA=A7=E4=BB=A5=E4=BC=9A=E5=91=98?=
=?UTF-8?q?=E8=A1=A8=E5=85=B3=E7=B3=BB=E4=B8=BA=E4=B8=BB=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/CuMemberRetailRangeServiceImpl.java | 5 +-
.../service/impl/BonusSettleRangeHandle.java | 226 ++++++++++++------
.../achieve/CuMemberRetailRangeMapper.xml | 21 +-
.../api/RetailMemberController.java | 7 +-
.../common/core/constant/RetailConstants.java | 8 +-
5 files changed, 188 insertions(+), 79 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java
index fa66d6e9..24ec4e15 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java
@@ -86,6 +86,7 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember) {
+ // 查询伞上
return baseMapper.queryCuMemberSecondRangeParent(rangeTableName, secondTableName, pkMember);
}
@@ -169,9 +170,9 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl cuMemberBonusMap, List cuMemberBonusDetailList) {
// 会员级差表
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
- // 更新极差秒接表,用昨天的结算表(从当前会员往上找到顶)
+ // 更新极差秒接表,用昨天的结算表(血缘伞上)
iCuMemberRetailRangeService.mergeMemberSecondRetailRangeByRange(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
// 处理会员等级(查询会员最新手动升级记录,更新秒结表会员等级小于手动升级的会员等级)
- // TODO new 秒结只影响上面,更新等级只更新血缘上就可以?不需要全网更新??
+ // TODO new 秒结只影响上面,更新等级应该只更新血缘上就可以,不需要全网更新 -- 是否需要修改???
iCuMemberGradeService.updateCuMemberGradeSecond(secondRangeTableName, currentPeriod);
- // 按照血缘,查询该会员所有伞上会员(昨天日结表累计值 + 今天秒结表新増值)
+ // 按照血缘,查询该会员血缘伞上(昨天日结表累计值 + 今天秒结表新増值)
List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
// 会员结算map(key:会员ID,value:结算扩展)
@@ -227,7 +228,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember());
// 恢复秒结表奖衔
iCuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod);
- // 查询 昨天日结 + 今天秒结 血缘上会员结算数据
+ // 查询 昨天日结 + 今天秒结 血缘伞上+直推
memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
} else {
// 非当天撤单
@@ -915,7 +916,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() + boxNum);
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum);
// 计算等级
- calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt);
+ calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
+ secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt);
}
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
}
@@ -943,37 +945,35 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
}
- // TODO new 秒结处理这块应该有问题,自己消费的盒数直接当成大区,如果昨天直推会员有数据,查询秒结表可能没有这些会员,此处就可能出现问题
- // 有注水的,大区无限大,新增全算小区
- // 大区盒数
+ // new 新逻辑确认:注水 2 个虚拟区,自己消费 1 个虚拟区,伞下直推,所有的最大
+ // 大区盒数(默认为自己累计消费盒数)
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
- if (targetMemberRangeExt.getBigBoxNum() > 0) {
- // 大区存在注水盒数,直接使用大区注水盒数
+ if (targetMemberRangeExt.getBigBoxNum() > bigBoxNum) {
+ // 注水大区如果大则使用注水盒数为大区
bigBoxNum = targetMemberRangeExt.getBigBoxNum();
- } else {
- // 秒结 cuMemberRangeExtList 为直推会员数据, memberRangeExtMap 为会员伞上数据,这块应该永远不会处理
- // 日结这块处理直推判断大小区没问题
- for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
- if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
- cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
- }
- // 伞下团队累计盒数 + 自己消费盒数 - 大区注水 - 小区注水
- int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum()
- - cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum();
- if (areaBoxNum > bigBoxNum) {
- // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
- bigBoxNum = areaBoxNum;
- }
+ }
+ // 秒结补全直推数据,此处秒结和日结可以使用同一逻辑
+ for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
+ if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
+ cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
+ }
+ // 最新确认逻辑,计算大小区时,不需要去掉注水
+ // 伞下团队累计盒数 + 自己消费盒数
+ int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum();
+ if (areaBoxNum > bigBoxNum) {
+ // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
+ bigBoxNum = areaBoxNum;
}
}
+
// 小区盒数
int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - bigBoxNum;
if (smallBoxNum >= bdGrade.getBoxSmallTotal()) {
// 小区盒数 大于等于 升级小区盒数
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
cuMemberGradeList.add(cuMemberGrade);
- targetMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
targetMemberRangeExt.setPkGrade(bdGrade.getPkId());
+ targetMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
targetMemberRangeExt.setGradeName(bdGrade.getGradeName());
}
}
@@ -1131,28 +1131,27 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
}
- // 有注水的,大区无限大,新增全算小区
- // 大区盒数
+ // new 新逻辑确认:注水 2 个虚拟区,自己消费 1 个虚拟区,伞下直推,所有的最大
+ // 大区盒数(默认为自己累计消费盒数)
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
- if (targetMemberRangeExt.getBigBoxNum() > 0) {
- // 大区存在注水盒数,直接使用大区注水盒数
+ if (targetMemberRangeExt.getBigBoxNum() > bigBoxNum) {
+ // 注水大区如果大则使用注水盒数为大区
bigBoxNum = targetMemberRangeExt.getBigBoxNum();
- } else {
- // 秒结 cuMemberRangeExtList 为直推会员数据, memberRangeExtMap 为会员伞上数据,这块应该永远不会处理
- // 日结这块处理直推判断大小区没问题
- for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
- if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
- cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
- }
- // 伞下团队累计盒数 + 自己消费盒数 - 大区注水 - 小区注水
- int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum()
- - cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum();
- if (areaBoxNum > bigBoxNum) {
- // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
- bigBoxNum = areaBoxNum;
- }
+ }
+ // 秒结补全直推数据,此处秒结和日结可以使用同一逻辑
+ for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
+ if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
+ cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
+ }
+ // 最新确认逻辑,计算大小区时,不需要去掉注水
+ // 伞下团队累计盒数 + 自己消费盒数
+ int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum();
+ if (areaBoxNum > bigBoxNum) {
+ // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
+ bigBoxNum = areaBoxNum;
}
}
+
// 小区盒数
int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - bigBoxNum;
if (smallBoxNum >= bdGrade.getBoxSmallTotal()) {
@@ -1310,6 +1309,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 推荐人
long pkParent = sourceMemberRangeExt.getPkParent();
// 商品价格(没有乘商品数量)
+ BigDecimal waresPrice = saOrderItems.getWaresPrice();
+ // 商品数量
+ Integer waresQuantity = saOrderItems.getWaresQuantity();
+
+ // 商品价格
BigDecimal beginBuyPrice = saOrderItems.getWaresPrice();
BigDecimal comBuyPrice = saOrderItems.getWaresPrice();
@@ -1318,8 +1322,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 直推级差收益
BigDecimal calBonusIncome = BigDecimal.ZERO;
- // 临时等级
- int tmpGradeValue = 0;
+ // 前一个会员等级
+ int beforeGradeValue = 0;
+ // 前一个会员等级的平级收益人数
+ int beforeSameAlgebra = 0;
+ // 前一个会员等级的平级收益
+ BigDecimal beforeSameBonus = BigDecimal.ZERO;
// 计算直推级差
while (true) {
// 推荐人
@@ -1330,8 +1338,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 推荐人的推荐人
pkParent = targetMemberRangeExt.getPkParent();
- // TODO new 新处理奖金
-
if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus()
|| ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory()
|| targetMemberRangeExt.getEnableStatus() == EYesNo.NO.getIntValue()
@@ -1343,35 +1349,107 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 当前会员等级值
int calGradeValue = targetMemberRangeExt.getGradeValue();
- // 税前收益
- BigDecimal pretaxIncome;
- if (tmpGradeValue == 0) {
- // 临时等级为0
- tmpGradeValue = calGradeValue;
+ // 直推级差税前收益
+ BigDecimal rangeBonusIncome = null;
+ // 平级税前收益
+ BigDecimal sameBonusIncome = null;
+ if (beforeGradeValue == 0) {
+ // 前一个会员等级为0,肯定为第一次处理,直接处理直推级差收益
if (EGrade.HAI_FAN.getValue() == calGradeValue) {
// VIP,拿1份40
- pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS;
+ rangeBonusIncome = RetailConstants.RANGE_BONUS;
} else if (EGrade.YOU_KE.getValue() == calGradeValue) {
// SVIP,拿2份40
- pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("2"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("2"));
} else if (EGrade.MAKER.getValue() == calGradeValue) {
// 卓越,拿3份40
- pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("3"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("3"));
} else if (EGrade.VIP.getValue() == calGradeValue) {
// 首席,拿4份40
- pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("4"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("4"));
} else if (EGrade.S_VIP.getValue() == calGradeValue) {
// 合伙人,拿5份40
- pretaxIncome = RetailConstants.LEVEL_RANGE_BONUS.multiply(new BigDecimal("5"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("5"));
}
- } else if (calGradeValue == tmpGradeValue) {
- // 当前会员等级
+ // 赋值前一个会员等级
+ beforeGradeValue = calGradeValue;
+ } else if (calGradeValue == beforeGradeValue) {
+ // 当前会员等级 = 前一个会员等级
+ if (EGrade.HAI_FAN.getValue() == calGradeValue) {
+ // V1 没有平级收益
+ continue;
+ }
+ if (beforeSameAlgebra >= RetailConstants.SAME_ALGEBRA) {
+ // 平级收益已经满10代,不继续处理平级收益
+ continue;
+ }
+ // 平级收益(商品价格 * 千分之五) -- 2位小数,四舍五入
+ sameBonusIncome = waresPrice.multiply(RetailConstants.SAME_RATIO).setScale(2, BigDecimal.ROUND_HALF_UP);
+ // 平级收益累计
+ beforeSameBonus = beforeSameBonus.add(sameBonusIncome);
+ // 平级等级代数等级
+ beforeSameAlgebra += 1;
+ } else if (calGradeValue > beforeGradeValue) {
+ // 当前会员等级 > 前一个会员等级
+ int tmpGradeVal = (calGradeValue - beforeGradeValue) / 10;
- } else if (calGradeValue > tmpGradeValue) {
+ // 新等级的直推级差收益
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal(tmpGradeVal));
+ // 直推级差收益 = 新等级的直推级差收益 - 上一等级的平级收益
+ rangeBonusIncome = rangeBonusIncome.subtract(beforeSameBonus);
+ // 赋值前一个会员等级
+ beforeGradeValue = calGradeValue;
+ // 平级收益记录从新开始计算
+ beforeSameAlgebra = 0;
+ beforeSameBonus = BigDecimal.ZERO;
+ } else {
+ // 当前会员等级 < 前一个会员等级,直接跳过
+ continue;
}
+ if (null != rangeBonusIncome) {
+ // 处理直推级差收益
+ CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
+ targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
+ int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue());
+ CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
+ cuMemberBonusRange.setCalValue(BigDecimal.ZERO);
+ cuMemberBonusRange.setPretaxIncome(rangeBonusIncome.multiply(new BigDecimal(waresQuantity)));
+ cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
+ cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
+ cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
+ rangeRetailRemark(saOrderExt, cuMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt);
+ BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
+ if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
+ cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
+ setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
+ }
+ memberBonusRangeList.add(cuMemberBonusRange);
+ }
+ if (null != sameBonusIncome) {
+ // 处理平级收益
+ CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
+ targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
+ int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
+ CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
+ oriMemberBonusRange.setCalValue(BigDecimal.valueOf(2));
+ oriMemberBonusRange.setPretaxIncome(sameBonusIncome.multiply(new BigDecimal(waresQuantity)));
+ oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
+ oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
+ oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
+ oriRetailRangeRemark(saOrderExt, oriMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt);
+ BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, oriMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
+ if (EBonusIncomeStatus.NORMAL.getValue() == oriMemberBonusRange.getIncomeStatus()) {
+ cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), oriMemberBonusRange.getPretaxIncome()));
+ setRetailTotal(bdBonusDeduct, cuMemberBonus, oriMemberBonusRange);
+ }
+ memberBonusRangeList.add(oriMemberBonusRange);
+ }
+
+ ///////////////////////////////////////////////////////////////
+
// 如果价格是209,代表是第一单激活,只有平级收益,只有V5有平级收益
if (beginBuyPrice.equals(BigDecimal.valueOf(209))) {
@@ -1386,6 +1464,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 有极差或者有平级
if (ComputeUtil.compareGreaterThan(beginBuyPrice, buyPrice)) {
// 计算极差
+
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue());
@@ -1402,6 +1481,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
}
memberBonusRangeList.add(cuMemberBonusRange);
+
beginBuyPrice = buyPrice;
comBuyPrice = buyPrice;
beginGradeValue = calGradeValue;
@@ -1514,7 +1594,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
*/
CuMemberBonusDetail calculateRetailAreaBonus(Map countyRangeExtMap,
BonusConfigDTO bonusConfigDTO, Integer period, Map memberRangeExtMap,
- Map cuMemberBonusMap, SaOrder saOrder) {
+ Map cuMemberBonusMap, SaOrderExt saOrder) {
// 重消订单没有区域分红
if (saOrder.getOrderType().equals(EOrderType.RETAIL_CONSUME.getValue())) {
return null;
@@ -1545,13 +1625,24 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_AREA_INCOME.getValue())) {
return null;
}
+ // 没有盒数商品,直接返回空
+ if (CollectionUtil.isEmpty(saOrder.getOrderWaresExtList())) {
+ return null;
+ }
- BigDecimal boxNumBig = new BigDecimal(saOrder.getBoxNum());
- // 处理区域收益(每盒2元)
- BigDecimal benefitIncome = RetailConstants.AREA_BOX_BONUS.multiply(boxNumBig);
- CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, BigDecimal.ZERO, benefitIncome,
+ // 区域收益,商品价格 * 0.5% * 商品数量
+ // 处理区域收益 -- 计算比例为 0.5%
+ BigDecimal benefitIncome = BigDecimal.ZERO;
+ // 计算业绩(此处作为比例)
+ BigDecimal calAchieve = BigDecimal.ZERO;
+ for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
+ benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(RetailConstants.SAME_RATIO)).setScale(2, BigDecimal.ROUND_HALF_UP);
+ calAchieve = calAchieve.add(saOrderWaresExt.getWaresPrice());
+ }
+ CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
- cuMemberBonusDetail.setCalAchieve(boxNumBig);
+ // 计算业绩以盒数做为基础
+ cuMemberBonusDetail.setCalAchieve(new BigDecimal(saOrder.getBoxNum()));
cuMemberBonusDetail.setPkOrder(saOrder.getPkId());
String remark = String.format(BonusMsgConstants.RETAIL_AREA_INCOME, saOrder.getOrderCode(),
memberRangeExtMap.get(saOrder.getPkMember()).getMemberCode() + memberRangeExtMap.get(saOrder.getPkMember()).getMemberName(),
@@ -1888,15 +1979,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
private CuMemberBonusDetail packageBenefitIncome(BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, String month,
BigDecimal benefitAvgRatio, BigDecimal benefitAvgIncome, CuMemberRetailRangeExt cuMemberRetailRangeExt, Integer bonusItemsValue, String msg) {
- // 福利平均
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, cuMemberRetailRangeExt.getPkMember(),
cuMemberRetailRangeExt.getIncomeStatus(), cuMemberRetailRangeExt.getPkSettleCountry(), cuMemberRetailRangeExt.getPkRate());
SaOrder saOrderExt = SaOrder.builder().pkId(0L).orderAchieve(BigDecimal.ZERO).build();
CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, cuMemberRetailRangeExt.getIncomeStatus(), cuMemberRetailRangeExt.getPkSettleCountry(), cuMemberBonus);
// 计算比例
cuMemberBonusDetail.setCalValue(benefitAvgRatio);
- cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), bonusItemsValue));
cuMemberBonusDetail.setPretaxIncome(benefitAvgIncome);
+ cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), bonusItemsValue));
// 收益占比
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, BigDecimal.ZERO, BigDecimal.ONE);
if (bonusItemsValue != EBonusItems.RETAIL_AREA_INCOME.getValue()) {
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml
index e1bfb7e1..a3d4a476 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml
@@ -150,7 +150,8 @@
where del_flag = 0
start
with pk_id = #{pkMember}
- connect by pk_id = prior pk_parent) a
+ connect by pk_id = prior pk_parent
+ ) a
) b
on (a.pk_member = b.pk_member)
when not matched then
@@ -172,7 +173,8 @@
where del_flag = 0
start
with pk_id = #{pkMember}
- connect by pk_id = prior pk_parent) a
+ connect by pk_id = prior pk_parent
+ ) a
left join ${rangeTableName} b
on a.pk_id = b.pk_member
where b.enable_status = 0
@@ -652,6 +654,20 @@
+
From bbb91a74286c6b9d08d65f1f043eb6f00119a542 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Thu, 12 Jun 2025 15:22:38 +0800
Subject: [PATCH 07/75] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E6=94=B6=E7=9B=8A?=
=?UTF-8?q?=E3=80=81=E5=B9=B3=E7=BA=A7=E6=94=B6=E7=9B=8A=E5=A4=84=E7=90=86?=
=?UTF-8?q?=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../manage/CuMemberBonusController.java | 64 +--
.../bonus/service/impl/BonusSettleHandle.java | 52 +--
.../service/impl/BonusSettleRangeHandle.java | 24 +-
.../hzs/bonus/bonus/vo/CuMemberBonusVO.java | 426 +++---------------
.../bonus/bonus/CuMemberBonusMapper.xml | 11 +-
.../manage/BdBonusItemsController.java | 168 +++----
.../core/constant/msg/BonusMsgConstants.java | 15 +-
.../common/core/enums/EBonusIncomeStatus.java | 8 +-
.../domain/member/bonus/CuMemberBonus.java | 4 +-
.../member/statis/CuBonusVertexStatis.java | 2 +-
.../system/config/ext/BdBonusItemsExt.java | 18 +-
11 files changed, 185 insertions(+), 607 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberBonusController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberBonusController.java
index a345f65d..0dd971d8 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberBonusController.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuMemberBonusController.java
@@ -76,11 +76,11 @@ public class CuMemberBonusController extends BaseController {
*/
@AccessPermissions("totalBonus")
@PostMapping("/query-bonus-total")
- @Log(module = EOperationModule.BONUS_TOTAL,business = EOperationBusiness.BONUS_TOTAL , method = EOperationMethod.SELECT)
+ @Log(module = EOperationModule.BONUS_TOTAL, business = EOperationBusiness.BONUS_TOTAL, method = EOperationMethod.SELECT)
@ColumnAuthority(perms = "totalBonus")
- public TableDataInfo listBonusTotal(@RequestBody BonusParam bonusParam){
- List pkVertex=new ArrayList<>();
- if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){
+ public TableDataInfo listBonusTotal(@RequestBody BonusParam bonusParam) {
+ List pkVertex = new ArrayList<>();
+ if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) {
pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(","))
.map(Integer::parseInt)
.collect(Collectors.toList());
@@ -99,10 +99,10 @@ public class CuMemberBonusController extends BaseController {
* 分页查询会员某个时间段内的奖金汇总
*/
@PostMapping("/export-bonus-total")
- @Log(module = EOperationModule.BONUS_TOTAL,business = EOperationBusiness.BONUS_TOTAL , method = EOperationMethod.EXPORT)
- public void exportBonusTotal(HttpServletResponse response, BonusParam bonusParam){
- List pkVertex=new ArrayList<>();
- if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){
+ @Log(module = EOperationModule.BONUS_TOTAL, business = EOperationBusiness.BONUS_TOTAL, method = EOperationMethod.EXPORT)
+ public void exportBonusTotal(HttpServletResponse response, BonusParam bonusParam) {
+ List pkVertex = new ArrayList<>();
+ if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) {
pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(","))
.map(Integer::parseInt)
.collect(Collectors.toList());
@@ -121,7 +121,7 @@ public class CuMemberBonusController extends BaseController {
List totalVoList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
BonusTotalVO bonusTotalVO = BeanUtil.copyProperties(cuMemberBonus, BonusTotalVO.class);
- for(String key : CuMemberBonusVO.INCOME_ARRAY){
+ for (String key : CuMemberBonusVO.INCOME_ARRAY) {
ReflectUtils.invokeSetter(bonusTotalVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonus, key), cuMemberBonus.getOutExchangeRate()));
}
totalVoList.add(bonusTotalVO);
@@ -135,9 +135,9 @@ public class CuMemberBonusController extends BaseController {
@AccessPermissions("BonusDetail")
@PostMapping("/query-bonus-detail")
@Log(module = EOperationModule.BONUS_DETAIL, method = EOperationMethod.SELECT)
- public TableDataInfo listBonus(@RequestBody BonusParam bonusParam){
- List pkVertex=new ArrayList<>();
- if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){
+ public TableDataInfo listBonus(@RequestBody BonusParam bonusParam) {
+ List pkVertex = new ArrayList<>();
+ if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) {
pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(","))
.map(Integer::parseInt)
.collect(Collectors.toList());
@@ -145,16 +145,16 @@ public class CuMemberBonusController extends BaseController {
bonusParam.setPkVertexList(pkVertex);
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
//获取管理员权限《角色地区范围、 体系列表、团队列表)
- Date date=DateUtils.currentDate();
- if(bonusParam.getStartDate()==null||bonusParam.getEndDate()==null){
+ Date date = DateUtils.currentDate();
+ if (null == bonusParam.getStartDate() || null == bonusParam.getEndDate()) {
bonusParam.setStartDate(DateUtils.currentMonthFirstDate());
- bonusParam.setEndDate(DateUtils.beforeDate(1, ChronoUnit.DAYS,date));
+ bonusParam.setEndDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
}
packageBonusParam(bonusParam);
startPage();
List cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
- CuMemberBonusExt cmb =cuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam);
- if(cmb!=null){
+ CuMemberBonusExt cmb = cuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam);
+ if (cmb != null) {
cmb.setMemberCode("合计");
cuMemberBonusExtList.add(cmb);
}
@@ -169,9 +169,9 @@ public class CuMemberBonusController extends BaseController {
*/
@PostMapping("/export-bonus-detail")
@Log(module = EOperationModule.BONUS_DETAIL, method = EOperationMethod.SELECT)
- public void exportBonusDetail(HttpServletResponse response, BonusParam bonusParam){
- List pkVertex=new ArrayList<>();
- if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){
+ public void exportBonusDetail(HttpServletResponse response, BonusParam bonusParam) {
+ List pkVertex = new ArrayList<>();
+ if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) {
pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(","))
.map(Integer::parseInt)
.collect(Collectors.toList());
@@ -182,20 +182,20 @@ public class CuMemberBonusController extends BaseController {
List cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
CuMemberBonusExt cuMemberBonusExt = cuMemberBonusService.initCuMemberBonus();
cuMemberBonusExt.setMemberCode("小计:");
- if(CollectionUtil.isNotEmpty(cuMemberBonusExtList)) {
+ if (CollectionUtil.isNotEmpty(cuMemberBonusExtList)) {
cuMemberBonusExt.setOutExchangeRate(cuMemberBonusExtList.get(0).getOutExchangeRate());
for (CuMemberBonusExt memberBonusExt : cuMemberBonusExtList) {
cuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt);
}
}
cuMemberBonusExtList.add(cuMemberBonusExt);
- List cuMemberBonusVoList = getBonusDetail(cuMemberBonusExtList);
+ List cuMemberBonusVoList = getBonusDetail(cuMemberBonusExtList);
Map bonusDetail = menuColumnServiceApi.queryMenuColumn("BonusDetail", SecurityUtils.getUserId()).getData();
- ExcelUtil util = new ExcelUtil<>(CuMemberBonusVO.class,bonusDetail);
+ ExcelUtil util = new ExcelUtil<>(CuMemberBonusVO.class, bonusDetail);
util.exportExcel(response, cuMemberBonusVoList, "奖金明细导出");
}
- private List getBonusDetail(List cuMemberBonusExtList) {
+ private List getBonusDetail(List cuMemberBonusExtList) {
List cuMemberBonusVoList = new ArrayList<>(cuMemberBonusExtList.size());
for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) {
CuMemberBonusVO cuMemberBonusVO = BeanUtil.copyProperties(cuMemberBonusExt, CuMemberBonusVO.class);
@@ -203,7 +203,7 @@ public class CuMemberBonusController extends BaseController {
cuMemberBonusVO.setMemberCode(cuMemberBonusExt.getMemberCode());
cuMemberBonusVO.setMemberName(cuMemberBonusExt.getMemberName());
- for(String key :CuMemberBonusVO.INCOME_ARRAY){
+ for (String key : CuMemberBonusVO.INCOME_ARRAY) {
ReflectUtils.invokeSetter(cuMemberBonusVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonusExt, key), cuMemberBonusExt.getOutExchangeRate()));
}
cuMemberBonusVoList.add(cuMemberBonusVO);
@@ -217,7 +217,7 @@ public class CuMemberBonusController extends BaseController {
@AccessPermissions("sourceBonus")
@PostMapping("/query-bonus-source")
@Log(module = EOperationModule.BONUS_SOURCE, business = EOperationBusiness.BONUS_SOURCE, method = EOperationMethod.SELECT)
- public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam){
+ public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam) {
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
packageBonusParam(bonusParam);
startPage();
@@ -230,7 +230,7 @@ public class CuMemberBonusController extends BaseController {
*/
@PostMapping("/export-bonus-source")
@Log(module = EOperationModule.BONUS_SOURCE, business = EOperationBusiness.BONUS_SOURCE, method = EOperationMethod.EXPORT)
- public void exportBonusSource(HttpServletResponse response, BonusParam bonusParam){
+ public void exportBonusSource(HttpServletResponse response, BonusParam bonusParam) {
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
packageBonusParam(bonusParam);
TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
@@ -239,20 +239,20 @@ public class CuMemberBonusController extends BaseController {
Map transactionMap = transactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values());
Map transactionLongMap = transactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) {
- if(transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) {
+ if (transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) {
memberBonusDetailSerVO.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType()));
}
- if(transactionMap.containsKey(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())){
+ if (transactionMap.containsKey(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())) {
memberBonusDetailSerVO.setIncomeStatusVal(transactionMap.get(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus()));
}
- if(transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())){
+ if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())) {
memberBonusDetailSerVO.setPkSettleGradeVal(transactionLongMap.get(memberBonusDetailSerVO.getPkSettleGrade()));
}
- if(transactionLongMap.containsKey(memberBonusDetailSerVO.getPkAwards())){
+ if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkAwards())) {
memberBonusDetailSerVO.setPkAwardsVal(transactionLongMap.get(memberBonusDetailSerVO.getPkAwards()));
}
}
- ExcelUtil util = new ExcelUtil<>(MemberBonusDetailSerVO.class,menuColumnServiceApi.queryMenuColumn("sourceBonus", SecurityUtils.getUserId()).getData());
+ ExcelUtil util = new ExcelUtil<>(MemberBonusDetailSerVO.class, menuColumnServiceApi.queryMenuColumn("sourceBonus", SecurityUtils.getUserId()).getData());
util.exportExcel(response, memberBonusDetailSerVOList, "奖金来源导出");
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
index 03663c1b..843f87da 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
@@ -45,11 +45,11 @@ import java.util.*;
public abstract class BonusSettleHandle {
@DubboReference
- protected ISaOrderServiceApi saOrderServiceApi;
+ ISaOrderServiceApi saOrderServiceApi;
@DubboReference
- protected IBonusItemsServiceApi bonusItemsServiceApi;
+ IBonusItemsServiceApi bonusItemsServiceApi;
@DubboReference
- private ICurrencyServiceApi currencyServiceApi;
+ ICurrencyServiceApi currencyServiceApi;
protected ICuMemberTreeService cuMemberTreeService;
@@ -655,33 +655,12 @@ public abstract class BonusSettleHandle {
}
/**
+ * 获得 直推级差收益的备注
+ *
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
- */
- protected void rangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt,
- CuMemberRangeExt targetMemberRangeExt) {
- String remark = String.format(BonusMsgConstants.RANGE, saOrderExt.getOrderCode(),
- sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
- targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
- cuMemberBonusRange.getCalAchieve(), sourceMemberRangeExt.getRangeAwardsValue(), targetMemberRangeExt.getRangeAwardsValue());
- cuMemberBonusRange.setRemark(remark);
- }
-
- /**
- * @param saOrderExt 订单编号
- * @param cuMemberBonusRange 报单服务费
- * @param sourceMemberRangeExt 提供奖金的人
- * @param targetMemberRangeExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
*/
protected void rangeRetailRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
CuMemberRetailRangeExt targetMemberRangeExt) {
@@ -710,32 +689,13 @@ public abstract class BonusSettleHandle {
}
/**
- * 获得 报单服务费收益的备注
+ * 获得 平级收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人
*/
- protected void oriRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt,
- CuMemberRangeExt targetMemberRangeExt) {
- String remark = String.format(BonusMsgConstants.ORI_RANGE, saOrderExt.getOrderCode(),
- sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
- targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
- cuMemberBonusRange.getCalAchieve(), targetMemberRangeExt.getRangeAwardsValue());
- cuMemberBonusRange.setRemark(remark);
- }
-
- /**
- * @param saOrderExt 订单编号
- * @param cuMemberBonusRange 报单服务费
- * @param sourceMemberRangeExt 提供奖金的人
- * @param targetMemberRangeExt 获得奖金的人
- * @Description: 获得 报单服务费收益的备注
- * @return: String
- * @Author: sui q
- * @Date: 2022/11/17 11:22
- */
protected void oriRetailRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
CuMemberRetailRangeExt targetMemberRangeExt) {
String remark = String.format(BonusMsgConstants.ORI_RANGE, saOrderExt.getOrderCode(),
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
index 5510c335..1725dd6f 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
@@ -1278,10 +1278,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// // 直推级差收益
// BigDecimal calBonusIncome = BigDecimal.ZERO;
- // 商品价格(没有乘商品数量)
+ // 商品最终价格
BigDecimal waresPrice = saOrderItems.getWaresPrice();
// 商品数量
- Integer waresQuantity = saOrderItems.getWaresQuantity();
+ BigDecimal waresQuantityBig = new BigDecimal(saOrderItems.getWaresQuantity());
// 前一个会员等级
int beforeGradeValue = 0;
// 前一个会员等级的平级收益人数
@@ -1320,19 +1320,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 前一个会员等级为0,肯定为第一次处理,直接处理直推级差收益
if (EGrade.HAI_FAN.getValue() == calGradeValue) {
// VIP,拿1份40
- rangeBonusIncome = RetailConstants.RANGE_BONUS;
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig);
} else if (EGrade.YOU_KE.getValue() == calGradeValue) {
// SVIP,拿2份40
- rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("2"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("2"));
} else if (EGrade.MAKER.getValue() == calGradeValue) {
// 卓越,拿3份40
- rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("3"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("3"));
} else if (EGrade.VIP.getValue() == calGradeValue) {
// 首席,拿4份40
- rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("4"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("4"));
} else if (EGrade.S_VIP.getValue() == calGradeValue) {
// 合伙人,拿5份40
- rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("5"));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("5"));
}
// 赋值前一个会员等级
beforeGradeValue = calGradeValue;
@@ -1361,7 +1361,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
int tmpGradeVal = (calGradeValue - beforeGradeValue) / 10;
// 新等级的直推级差收益
- rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal(tmpGradeVal));
+ rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal(tmpGradeVal));
// 直推级差收益 = 新等级的直推级差收益 - 上一等级的平级收益
rangeBonusIncome = rangeBonusIncome.subtract(beforeSameBonus);
@@ -1382,7 +1382,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue());
CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
cuMemberBonusRange.setCalValue(BigDecimal.ZERO);
- cuMemberBonusRange.setPretaxIncome(rangeBonusIncome.multiply(new BigDecimal(waresQuantity)));
+ cuMemberBonusRange.setCalAchieve(waresPrice);
+ cuMemberBonusRange.setPretaxIncome(rangeBonusIncome);
cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
@@ -1400,8 +1401,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems);
- oriMemberBonusRange.setCalValue(BigDecimal.valueOf(2));
- oriMemberBonusRange.setPretaxIncome(sameBonusIncome.multiply(new BigDecimal(waresQuantity)));
+ oriMemberBonusRange.setCalValue(RetailConstants.SAME_RATIO);
+ oriMemberBonusRange.setCalAchieve(waresPrice);
+ oriMemberBonusRange.setPretaxIncome(sameBonusIncome);
oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade());
oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade());
oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId());
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/CuMemberBonusVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/CuMemberBonusVO.java
index 9e365ec7..78ee14c5 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/CuMemberBonusVO.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/CuMemberBonusVO.java
@@ -9,27 +9,11 @@ import java.math.BigDecimal;
import java.util.Date;
/**
- * @description: 奖金明细表
- * @author: sui q
- * @time: 2023/5/20 15:31
- * @classname: CuMemberBonusVO
- * @package_name: com.hzs.member.bonus.vo
- * version 1.0.0
+ * 奖金明细表
*/
@Data
public class CuMemberBonusVO implements Serializable {
-// /**
-// * 需要转换人民币的
-// */
-// public static final String[] INCOME_ARRAY = new String[]{
-// "directIncome", "expandIncome", "expandNoCapping", "expandCapping",
-// "coachIncome", "shareIncome", "serviceIncome", "cloudDirectIncome",
-// "cloudPurIncome", "cloudRepurIncome", "repurPushIncome", "repurRangeIncome", "repurExpandIncome",
-// "repurCoupon", "repurCouponShare", "backPoints", "serviceSpend",
-// "globalPoints", "carAwardPoints", "storeIncome", "hiFunIncome",
-// "makerDirectIncome", "makerShareIncome", "makerRealSubtotal", "purRealSubtotal",
-// "cloudRealSubtotal", "repurRealSubtotal", "repurCouponSubtotal", "realIncomeTotal"};
/**
* 主键
*/
@@ -102,185 +86,60 @@ public class CuMemberBonusVO implements Serializable {
*/
private Integer grantStatus;
-// /**
-// * 直推收益
-// */
-// @Excel(name = "直推收益", scale = 2)
-// private BigDecimal directIncomeOri;
-//
-// /**
-// * 直推收益
-// */
-// @Excel(name = "直推收益($)", scale = 2)
-// private BigDecimal directIncome;
-//
-// /**
-// * 拓展收益
-// */
-// @Excel(name = "拓展收益", scale = 2)
-// private BigDecimal expandIncomeOri;
-//
-// /**
-// * 拓展收益
-// */
-// @Excel(name = "拓展收益($)", scale = 2)
-// private BigDecimal expandIncome;
-//
-// /**
-// * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
-// */
-// private BigDecimal expandNoCapping;
-//
-// /**
-// * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
-// */
-// private BigDecimal expandCapping;
-//
-//
-// /**
-// * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
-// */
-// private BigDecimal expandNoCappingOri;
-//
-// /**
-// * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
-// */
-// private BigDecimal expandCappingOri;
-//
-// /**
-// * 辅导收益
-// */
-// @Excel(name = "辅导收益", scale = 2)
-// private BigDecimal coachIncomeOri;
-//
-// /**
-// * 辅导收益
-// */
-// @Excel(name = "辅导收益($)", scale = 2)
-// private BigDecimal coachIncome;
-//
-// /**
-// * 分红收益
-// */
-// @Excel(name = "分红收益", scale = 2)
-// private BigDecimal shareIncomeOri;
-//
-// /**
-// * 分红收益
-// */
-// @Excel(name = "分红收益($)", scale = 2)
-// private BigDecimal shareIncome;
-//
-// /**
-// * 报单收益
-// */
-// @Excel(name = "报单收益", scale = 2)
-// private BigDecimal serviceIncomeOri;
-//
-// /**
-// * 报单收益
-// */
-// @Excel(name = "服务收益($)", scale = 2)
-// private BigDecimal serviceIncome;
-//
-//
-// /**
-// * 云代直推收益
-// */
-// @Excel(name = "云代直推收益", scale = 2)
-// private BigDecimal cloudDirectIncomeOri;
-//
-// /**
-// * 云代直推收益
-// */
-// @Excel(name = "云代直推收益($)", scale = 2)
-// private BigDecimal cloudDirectIncome;
-//
-// /**
-// * 云代首购收益
-// */
-// @Excel(name = "云代首购收益", scale = 2)
-// private BigDecimal cloudPurIncomeOri;
-//
-// /**
-// * 云代首购收益
-// */
-// @Excel(name = "云代首购收益($)", scale = 2)
-// private BigDecimal cloudPurIncome;
-//
-// /**
-// * 云代复购收益
-// */
-// @Excel(name = "云代复购收益", scale = 2)
-// private BigDecimal cloudRepurIncomeOri;
-//
-// /**
-// * 云代复购收益
-// */
-// @Excel(name = "云代复购收益($)", scale = 2)
-// private BigDecimal cloudRepurIncome;
-//
-// /**
-// * 复购级差收益
-// */
-// @Excel(name = "复购推荐收益", scale = 2)
-// private BigDecimal repurPushIncomeOri;
-//
-// /**
-// * 复购级差收益
-// */
-// @Excel(name = "复购推荐收益", scale = 2)
-// private BigDecimal repurPushIncome;
-//
-// /**
-// * 复购级差收益
-// */
-// @Excel(name = "复购级差收益", scale = 2)
-// private BigDecimal repurRangeIncomeOri;
-//
-// /**
-// * 复购级差收益
-// */
-// @Excel(name = "复购级差收益($)", scale = 2)
-// private BigDecimal repurRangeIncome;
-//
-//
-// /**
-// * 复购拓展收益
-// */
-// @Excel(name = "复购拓展收益", scale = 2)
-// private BigDecimal repurExpandIncomeOri;
-//
-// /**
-// * 复购拓展收益
-// */
-// @Excel(name = "复购拓展收益($)", scale = 2)
-// private BigDecimal repurExpandIncome;
-//
-// /**
-// * 复购卷
-// */
-// @Excel(name = "复购卷", scale = 2)
-// private BigDecimal repurCouponOri;
-//
-// /**
-// * 复购卷
-// */
-// @Excel(name = "复购卷($)", scale = 2)
-// private BigDecimal repurCoupon;
-//
-// /**
-// * 复购券均分收益
-// */
-// @Excel(name = "复购券均分", scale = 2)
-// private BigDecimal repurCouponShareOri;
-//
-// /**
-// * 复购券均分收益
-// */
-// @Excel(name = "复购券均分($)", scale = 2)
-// private BigDecimal repurCouponShare;
-//
+ /**
+ * 需要转换人民币的
+ */
+ public static final String[] INCOME_ARRAY = new String[]{
+ "backPoints", "retailRangeIncome", "retailSameLevelIncome", "retailAreaIncome",
+ "retailBenefitRangeIncome", "retailBenefitAvgIncome",
+ "retailBenefitIncome", "retailRealSubtotal", "realIncomeTotal"};
+
+
+ private BigDecimal retailRangeIncome;
+ /**
+ * 直推收益
+ */
+ @Excel(name = "直推收益", scale = 2)
+ private BigDecimal retailRangeIncomeOri;
+
+ private BigDecimal retailSameLevelIncome;
+ /**
+ * 平级收益
+ */
+ @Excel(name = "平级收益", scale = 2)
+ private BigDecimal retailSameLevelIncomeOri;
+
+ private BigDecimal retailAreaIncome;
+ /**
+ * 区域分红
+ */
+ @Excel(name = "区域分红", scale = 2)
+ private BigDecimal retailAreaIncomeOri;
+
+ /**
+ * 新零售福利极差收益
+ */
+ private BigDecimal retailBenefitRangeIncome;
+
+ @Excel(name = " 福利极差收益", scale = 2)
+ private BigDecimal retailBenefitRangeIncomeOri;
+
+ /**
+ * 新零售福利平均收益
+ */
+ private BigDecimal retailBenefitAvgIncome;
+
+ @Excel(name = " 福利平均收益", scale = 2)
+ private BigDecimal retailBenefitAvgIncomeOri;
+
+ /**
+ * 新零售福利加权收益
+ */
+ private BigDecimal retailBenefitIncome;
+
+ @Excel(name = " 福利加权收益", scale = 2)
+ private BigDecimal retailBenefitIncomeOri;
+
/**
* 商城重消
*/
@@ -290,184 +149,11 @@ public class CuMemberBonusVO implements Serializable {
/**
* 商城重消
*/
- @Excel(name = "商城重消($)", scale = 2)
private BigDecimal backPoints;
-//
-// /**
-// * 平台服务费
-// */
-// @Excel(name = "平台服务费", scale = 2)
-// private BigDecimal serviceSpendOri;
-//
-// /**
-// * 平台服务费
-// */
-// @Excel(name = "平台服务费($)", scale = 2)
-// private BigDecimal serviceSpend;
-//
-// /**
-// * 环球积分
-// */
-// @Excel(name = "直推极差", scale = 2)
-// private BigDecimal globalPointsOri;
-//
-// /**
-// * 环球积分
-// */
-// @Excel(name = "直推极差($)", scale = 2)
-// private BigDecimal globalPoints;
-//
-// /**
-// * 车奖积分
-// */
-// @Excel(name = "车奖积分", scale = 2)
-// private BigDecimal carAwardPointsOri;
-//
-//
-// /**
-// * 车奖积分
-// */
-// @Excel(name = "车奖积分($)", scale = 2)
-// private BigDecimal carAwardPoints;
-//
-// /**
-// * 店铺收益
-// */
-// @Excel(name = "店铺收益", scale = 2)
-// private BigDecimal storeIncomeOri;
-//
-// /**
-// * 店铺收益
-// */
-// @Excel(name = "店铺收益($)", scale = 2)
-// private BigDecimal storeIncome;
-//
-// /**
-// * 嗨粉推荐收益
-// */
-// @Excel(name = "嗨粉推荐收益", scale = 2)
-// private BigDecimal hiFunIncomeOri;
-//
-// /**
-// * 嗨粉推荐收益
-// */
-// @Excel(name = "嗨粉推荐收益($)", scale = 2)
-// private BigDecimal hiFunIncome;
-//
-// /**
-// * 首购实发小计
-// */
-// @Excel(name = "首购实发小计", scale = 2)
-// private BigDecimal purRealSubtotalOri;
-//
-// /**
-// * 首购实发小计
-// */
-// @Excel(name = "首购实发小计($)", scale = 2)
-// private BigDecimal purRealSubtotal;
-//
-// /**
-// * 云代实发小计
-// */
-// @Excel(name = "云代实发小计", scale = 2)
-// private BigDecimal cloudRealSubtotalOri;
-//
-// /**
-// * 云代实发小计
-// */
-// @Excel(name = "云代实发小计($)", scale = 2)
-// private BigDecimal cloudRealSubtotal;
-//
-// /**
-// * 复购实发小计
-// */
-// @Excel(name = "复购实发小计", scale = 2)
-// private BigDecimal repurRealSubtotalOri;
-//
-// /**
-// * 复购实发小计
-// */
-// @Excel(name = "复购实发小计($)", scale = 2)
-// private BigDecimal repurRealSubtotal;
-//
-// /**
-// * 复购券小计
-// */
-// @Excel(name = "复购券实发小计", scale = 2)
-// private BigDecimal repurCouponSubtotalOri;
-//
-// /**
-// * 复购券小计
-// */
-// @Excel(name = "复购券实发小计($)", scale = 2)
-// private BigDecimal repurCouponSubtotal;
-
- /**
- * 需要转换人民币的
- */
- public static final String[] INCOME_ARRAY = new String[]{
- "backPoints","retailRangeIncome", "retailSameLevelIncome", "retailAreaIncome",
- "retailBenefitRangeIncome","retailBenefitAvgIncome",
- "retailBenefitIncome","retailRealSubtotal","realIncomeTotal"};
-
- /**
- * 新零售极差收益
- */
- @Excel(name = "新零售极差收益($)", scale = 2)
- private BigDecimal retailRangeIncome;
-
- @Excel(name = " 新零售极差收益", scale = 2)
- private BigDecimal retailRangeIncomeOri;
-
- /**
- * 新零售平级收益
- */
- @Excel(name = "平级收益($)", scale = 2)
- private BigDecimal retailSameLevelIncome;
-
- @Excel(name = " 平级收益", scale = 2)
- private BigDecimal retailSameLevelIncomeOri;
-
- /**
- * 新零售区域收益
- */
- @Excel(name = "区域收益($)", scale = 2)
- private BigDecimal retailAreaIncome;
-
- @Excel(name = " 区域收益", scale = 2)
- private BigDecimal retailAreaIncomeOri;
-
- /**
- * 新零售福利极差收益
- */
- @Excel(name = "福利极差收益($)", scale = 2)
- private BigDecimal retailBenefitRangeIncome;
-
- @Excel(name = " 福利极差收益", scale = 2)
- private BigDecimal retailBenefitRangeIncomeOri;
-
- /**
- * 新零售福利平均收益
- */
- @Excel(name = "福利平均收益($)", scale = 2)
- private BigDecimal retailBenefitAvgIncome;
-
- @Excel(name = " 福利平均收益", scale = 2)
- private BigDecimal retailBenefitAvgIncomeOri;
-
- /**
- * 新零售福利加权收益
- */
- @Excel(name = "福利加权收益($)", scale = 2)
- private BigDecimal retailBenefitIncome;
-
- @Excel(name = " 福利加权收益", scale = 2)
- private BigDecimal retailBenefitIncomeOri;
/**
* 新零售收益小计
*/
- @Excel(name = "收益小计($)", scale = 2)
private BigDecimal retailRealSubtotal;
@Excel(name = " 收益小计", scale = 2)
@@ -479,10 +165,8 @@ public class CuMemberBonusVO implements Serializable {
@Excel(name = "实发收益总计", scale = 2)
private BigDecimal realIncomeTotalOri;
-
/**
* 实发收益总计
*/
- @Excel(name = "实发收益总计($)", scale = 2)
private BigDecimal realIncomeTotal;
}
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index 064b3d49..e5d49d48 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -298,8 +298,11 @@
order by cp.settle_date desc
+
+
+ UPDATE ${retailsTableName}
+ SET TEAM_NEW_BOX_NUM = (
+ SELECT SUM(boxNum)
+ FROM (
+ SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum
+ FROM ${retailsTableName} s
+ RIGHT JOIN (
+ SELECT cm.PK_ID
+ FROM cu_member cm
+ WHERE cm.PK_ID != #{pkId}
+ START WITH cm.PK_ID = #{pkId}
+ CONNECT BY PRIOR cm.pk_id = cm.pk_parent
+ ORDER BY LEVEL
+ ) b ON s.PK_MEMBER = b.PK_ID
+ ) c
+ )
+ WHERE PK_MEMBER = #{pkId}
+
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
index 084a5d29..f6807e14 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
@@ -7,11 +7,12 @@ import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hzs.bonus.settle.IMemberSettleBonusApi;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
-import com.hzs.common.core.config.BdConfig;
+import com.hzs.common.core.constant.SysConstants;
import com.hzs.common.core.constant.msg.AreaConstants;
-import com.hzs.common.core.enums.*;
+import com.hzs.common.core.enums.EGrade;
+import com.hzs.common.core.enums.ENoticeWebsiteType;
+import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.PageUtils;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
@@ -37,7 +38,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -60,11 +60,6 @@ public class RetailMemberController extends BaseController {
@DubboReference
IAreaServiceApi iAreaServiceApi;
- @DubboReference
- IMemberSettleBonusApi iMemberSettleBonusApi;
-
- // 2025年6月11日 判断可选择收益区域的伞下+自身业绩阈值 (30万)
- private static final BigDecimal REGIONAL_PERFORMANCE_THRESHOLD = new BigDecimal("300000");
/**
* 获取登录会员信息
*
@@ -117,7 +112,7 @@ public class RetailMemberController extends BaseController {
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
log.info("retailAchieve : {}", JSONUtil.toJsonStr(retailAchieve));
- if(retailAchieve.getArealPv().compareTo(REGIONAL_PERFORMANCE_THRESHOLD) >= 0){
+ if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0){
return AjaxResult.success(RetailMemberRegionVO.builder()
.regionStatus(EYesNo.YES.getIntValue())
.build());
@@ -175,7 +170,7 @@ public class RetailMemberController extends BaseController {
}
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
- if(retailAchieve.getArealPv().compareTo(REGIONAL_PERFORMANCE_THRESHOLD) >= 0){
+ if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0){
canSet = true;
}
}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
index 5b27e322..5cac6a0e 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
@@ -5,7 +5,10 @@ import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Objects;
/**
* 用户统计数据工具
@@ -22,42 +25,65 @@ public class DataStatisticsUtil {
private static final String SMALL_RANGE_VIRTUAL_NAME = "注水小区虚拟分支";
public static CuMemberRetailDataStatisticsResultVO getCalcMap(List detailVOList, Long pkId){
- calcDetailVOTotalField(detailVOList);
+ calcDetailVOTotalField(detailVOList, pkId);
addVirtualBranch(detailVOList, pkId);
CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId);
CuMemberRetailDataStatisticsDetailVO bigRange = getBigRangeDetailVO(detailVOList, pkId);
+ Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRange.getTotalBoxNum();
+ if(smallRangeTotalBoxNum < 0){
+ smallRangeTotalBoxNum = 0;
+ }
+ BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRange.getTotalPv());
+ if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){
+ smallRangeTotalPv = BigDecimal.ZERO;
+ }
return CuMemberRetailDataStatisticsResultVO.builder()
.totalBoxNum(total.getTotalBoxNum())
.totalPv(total.getTotalPv())
.bigRangeTotalBoxNum(bigRange.getTotalBoxNum())
.bigRangeTotalPv(bigRange.getTotalPv())
- .smallRangeTotalBoxNum(total.getTotalBoxNum() - bigRange.getTotalBoxNum())
- .smallRangeTotalPv(total.getTotalPv().subtract(bigRange.getTotalPv()))
+ .smallRangeTotalBoxNum(smallRangeTotalBoxNum)
+ .smallRangeTotalPv(smallRangeTotalPv)
.build();
}
/**
* 计算集合内数据总数
* @param detailVOList
*/
- public static void calcDetailVOTotalField(List detailVOList){
+ public static void calcDetailVOTotalField(List detailVOList, Long pkId){
detailVOList.parallelStream().forEach(detailVO -> {
detailVO.setTotalBoxNum(
detailVO.getConsumeBoxNum() // 个人累计消费盒数(日结)
- + detailVO.getNewBoxNum() // 个人新增盒数(日结)
+// + detailVO.getNewBoxNum() // 个人新增盒数(日结)
+ detailVO.getTeamBoxNum() // 团队累计消费盒数(日结)
- + detailVO.getTeamNewBoxNum() // 团队新增盒数(日结)
+// + detailVO.getTeamNewBoxNum() // 团队新增盒数(日结)
+ detailVO.getSNewBoxNum() // 个人新增消费盒数(秒结)
+ detailVO.getSTeamNewBoxNum() // 团队新增盒数(秒结)
// - detailVO.getBigBoxNum() // 个人注水大区盒数(日结)
// - detailVO.getSmallBoxNum() // 个人注水小区盒数(日结)
);
detailVO.setTotalPv(detailVO.getConsumePv()
- .add(detailVO.getNewConsumePv())
+// .add(detailVO.getNewConsumePv())
.add(detailVO.getTeamConsumePv())
- .add(detailVO.getTeamNewPv())
+// .add(detailVO.getTeamNewPv())
.add(detailVO.getSNewConsumePv())
.add(detailVO.getSTeamNewPv())
);
+ // self增加当日伞下
+// if(detailVO.getPkId().equals(pkId)){
+// List subList = detailVOList.parallelStream().filter(o -> !o.getPkId().equals(pkId)).collect(Collectors.toList());
+// int subSTotalNewBoxNum = subList.parallelStream()
+// .map(CuMemberRetailDataStatisticsDetailVO::getSNewBoxNum)
+// .filter(Objects::nonNull)
+// .mapToInt(Integer::intValue)
+// .sum();
+// BigDecimal subSTotalNewPv = subList.parallelStream()
+// .map(CuMemberRetailDataStatisticsDetailVO::getSNewConsumePv)
+// .filter(Objects::nonNull)
+// .reduce(BigDecimal.ZERO, BigDecimal::add);
+// detailVO.setTotalBoxNum(detailVO.getTotalBoxNum() + subSTotalNewBoxNum);
+// detailVO.setTotalPv(detailVO.getTotalPv().add(subSTotalNewPv));
+// }
});
}
@@ -137,18 +163,18 @@ public class DataStatisticsUtil {
* @return
*/
public static CuMemberRetailDataStatisticsDetailVO getDetailVOByPKID(List detailVOList, Long pkId){
- return detailVOList.stream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null);
+ return detailVOList.parallelStream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null);
}
private static Integer getMaxTotalBoxNum(List detailVOList) {
- return detailVOList.stream()
+ return detailVOList.parallelStream()
.map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)
.filter(Objects::nonNull)
.max(Integer::compare)
.orElse(null);
}
private static CuMemberRetailDataStatisticsDetailVO getBigRangeDetailVO(List detailVOList, Long pkId){
- return detailVOList.stream()
+ return detailVOList.parallelStream()
.filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId))
.max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum))
.orElse(null);
From ae81f09aa5f02eebd6c07861c020a385c41c989c Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 10:44:11 +0800
Subject: [PATCH 18/75] =?UTF-8?q?##=20=E5=90=8E=E5=8F=B0=E5=8A=9E=E7=90=86?=
=?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=89=8B=E5=8A=A8=E6=BF=80=E6=B4=BB=E6=8E=A8?=
=?UTF-8?q?=E9=80=81=E7=A7=92=E7=BB=93=E7=8A=B6=E6=80=81MQ=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/CuHandleBusinessServiceImpl.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java
index 3b4afc61..9b41f915 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java
@@ -696,8 +696,10 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl
Date: Fri, 13 Jun 2025 11:41:11 +0800
Subject: [PATCH 19/75] =?UTF-8?q?##=20Fix=20-=20=E6=96=B0=E7=94=A8?=
=?UTF-8?q?=E6=88=B7=E5=90=8E=E5=8F=B0=E6=94=B9=E7=AD=89=E7=BA=A7=20?=
=?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=97=A5=E7=BB=93=E9=80=A0=E6=88=90npe?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../retail/member/controller/api/RetailMemberController.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
index f6807e14..b4f97a0b 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
@@ -112,7 +113,8 @@ public class RetailMemberController extends BaseController {
if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){
CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType);
log.info("retailAchieve : {}", JSONUtil.toJsonStr(retailAchieve));
- if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0){
+ if(ObjectUtil.isNotEmpty(retailAchieve.getArealPv())
+ && retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0){
return AjaxResult.success(RetailMemberRegionVO.builder()
.regionStatus(EYesNo.YES.getIntValue())
.build());
From 8d3408c4212cdc068eabaf83fe6e69570b1d2bf2 Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 12:02:06 +0800
Subject: [PATCH 20/75] =?UTF-8?q?##=20Opt=20-=20=E6=88=91=E7=9A=84->?=
=?UTF-8?q?=E7=9B=92=E6=95=B0=20=E5=A2=9E=E5=8A=A0=E6=BF=80=E6=B4=BB?=
=?UTF-8?q?=E6=97=B6=E9=97=B4=E5=88=A4=E6=96=AD=20&=20=E8=AE=A1=E7=AE=97?=
=?UTF-8?q?=E8=BE=BE=E5=B0=8F=E5=8C=BA=E6=97=B6=E5=8C=85=E5=90=AB=E6=B3=A8?=
=?UTF-8?q?=E6=B0=B4,=E8=BF=94=E5=9B=9E=E5=89=8D=E5=8F=B0=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E6=97=B6=E5=89=94=E5=87=BA=E6=B3=A8=E6=B0=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bonus/bonus/CuMemberBonusMapper.xml | 2 +-
.../CuMemberRetailAchieveServiceImpl.java | 3 +-
.../member/utils/DataStatisticsUtil.java | 77 +++++++++++++++----
.../CuMemberRetailDataStatisticsDetailVO.java | 5 ++
.../achieve/CuMemberRetailRangeMapper.xml | 1 +
5 files changed, 69 insertions(+), 19 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index a111573f..7408bd25 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -576,7 +576,7 @@
UPDATE ${retailsTableName}
- SET TEAM_NEW_BOX_NUM = (
+ SET ENABLE_STATUS = 0, TEAM_NEW_BOX_NUM = (
SELECT SUM(boxNum)
FROM (
SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
index 4c01b35d..3da9a7a0 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
@@ -570,7 +570,8 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl statisticsDetailVOList = baseMapper.getRetailDataStatisticsDetail(memberAchieveVO);
- CuMemberRetailDataStatisticsResultVO result = DataStatisticsUtil.getCalcMap(statisticsDetailVOList, userId);
+ CuMember cuMember = iCuMemberService.queryMember(userId);
+ CuMemberRetailDataStatisticsResultVO result = DataStatisticsUtil.getCalcMap(statisticsDetailVOList, cuMember);
log.info("statisticsDetailVOList: {}", JSONUtil.toJsonStr(statisticsDetailVOList));
log.info("calcMap -> {}", JSONUtil.toJsonStr(result));
return result;
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
index 5cac6a0e..8df202bd 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
@@ -1,6 +1,8 @@
package com.hzs.retail.member.utils;
import cn.hutool.core.util.ObjectUtil;
+import com.hzs.common.core.enums.EYesNo;
+import com.hzs.common.domain.member.base.CuMember;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
@@ -24,11 +26,31 @@ public class DataStatisticsUtil {
private static final String BIG_RANGE_VIRTUAL_NAME = "注水大区虚拟分支";
private static final String SMALL_RANGE_VIRTUAL_NAME = "注水小区虚拟分支";
- public static CuMemberRetailDataStatisticsResultVO getCalcMap(List detailVOList, Long pkId){
+ public static CuMemberRetailDataStatisticsResultVO getCalcMap(List detailVOList, CuMember cuMember){
+ Long pkId = cuMember.getPkId();
+ // 非激活直接返0
+ // 激活判断上一天的ENABLE_STATUS 0为正常 1为当天激活 不计算日结数据
+ if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){
+ return CuMemberRetailDataStatisticsResultVO.builder()
+ .totalBoxNum(0)
+ .totalPv(BigDecimal.ZERO)
+ .bigRangeTotalBoxNum(0)
+ .bigRangeTotalPv(BigDecimal.ZERO)
+ .smallRangeTotalBoxNum(0)
+ .smallRangeTotalPv(BigDecimal.ZERO)
+ .build();
+ }
calcDetailVOTotalField(detailVOList, pkId);
addVirtualBranch(detailVOList, pkId);
CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId);
CuMemberRetailDataStatisticsDetailVO bigRange = getBigRangeDetailVO(detailVOList, pkId);
+ if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){
+ // 昨日非激活 排除昨日日结表数据
+ excludeDailySettlementData(detailVOList);
+ }else{
+ // 排除注水数据
+ excludeWaterInjectionData(detailVOList);
+ }
Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRange.getTotalBoxNum();
if(smallRangeTotalBoxNum < 0){
smallRangeTotalBoxNum = 0;
@@ -62,31 +84,46 @@ public class DataStatisticsUtil {
// - detailVO.getBigBoxNum() // 个人注水大区盒数(日结)
// - detailVO.getSmallBoxNum() // 个人注水小区盒数(日结)
);
- detailVO.setTotalPv(detailVO.getConsumePv()
+ detailVO.setTotalPv(
+ detailVO.getConsumePv()
// .add(detailVO.getNewConsumePv())
.add(detailVO.getTeamConsumePv())
// .add(detailVO.getTeamNewPv())
.add(detailVO.getSNewConsumePv())
.add(detailVO.getSTeamNewPv())
);
- // self增加当日伞下
-// if(detailVO.getPkId().equals(pkId)){
-// List subList = detailVOList.parallelStream().filter(o -> !o.getPkId().equals(pkId)).collect(Collectors.toList());
-// int subSTotalNewBoxNum = subList.parallelStream()
-// .map(CuMemberRetailDataStatisticsDetailVO::getSNewBoxNum)
-// .filter(Objects::nonNull)
-// .mapToInt(Integer::intValue)
-// .sum();
-// BigDecimal subSTotalNewPv = subList.parallelStream()
-// .map(CuMemberRetailDataStatisticsDetailVO::getSNewConsumePv)
-// .filter(Objects::nonNull)
-// .reduce(BigDecimal.ZERO, BigDecimal::add);
-// detailVO.setTotalBoxNum(detailVO.getTotalBoxNum() + subSTotalNewBoxNum);
-// detailVO.setTotalPv(detailVO.getTotalPv().add(subSTotalNewPv));
-// }
});
}
+ /**
+ * 排除昨日日结数据
+ * @param detailVOList
+ */
+ public static void excludeDailySettlementData(List detailVOList){
+ detailVOList.parallelStream().forEach(detailVO -> {
+ detailVO.setTotalBoxNum(
+ detailVO.getTotalBoxNum()
+ - detailVO.getTeamBoxNum() // 团队累计消费盒数(日结)
+ );
+ detailVO.setTotalPv(
+ detailVO.getTotalPv().subtract(detailVO.getTeamConsumePv())
+ );
+ });
+ }
+
+ /**
+ * 排除昨日日结注水数据
+ * @param detailVOList
+ */
+ public static void excludeWaterInjectionData(List detailVOList){
+ detailVOList.parallelStream().forEach(detailVO -> {
+ detailVO.setTotalBoxNum(
+ detailVO.getTotalBoxNum()
+ - detailVO.getBigBoxNum() // 注水大区
+ - detailVO.getSmallBoxNum() // 注水小区
+ );
+ });
+ }
/**
* 增加虚拟分支 主要为
* 1.自己的消费总数
@@ -105,12 +142,16 @@ public class DataStatisticsUtil {
.memberCode(BIG_RANGE_VIRTUAL_NAME)
.totalBoxNum(detailVO.getBigBoxNum())
.totalPv(BigDecimal.ZERO)
+ .bigBoxNum(0)
+ .smallBoxNum(0)
.build();
CuMemberRetailDataStatisticsDetailVO smallRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder()
.pkId(SMALL_RANGE_VIRTUAL_ID)
.memberCode(SMALL_RANGE_VIRTUAL_NAME)
.totalBoxNum(detailVO.getBigBoxNum())
.totalPv(BigDecimal.ZERO)
+ .bigBoxNum(0)
+ .smallBoxNum(0)
.build();
detailVOList.add(bigRangeVirtualDetailVO);
detailVOList.add(smallRangeVirtualDetailVO);
@@ -133,6 +174,8 @@ public class DataStatisticsUtil {
.add(detailVO.getNewConsumePv())
.add(detailVO.getSNewConsumePv())
)
+ .bigBoxNum(0)
+ .smallBoxNum(0)
.build();
}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsDetailVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsDetailVO.java
index 33f9c097..cd21cefc 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsDetailVO.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsDetailVO.java
@@ -29,6 +29,11 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable {
*/
private String memberCode;
+ /**
+ * 激活状态
+ */
+ private Integer enableStatus;
+
/**
* 日结表-个人累计消费pv
*/
diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml
index acc59f50..c5109efa 100644
--- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml
+++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml
@@ -841,6 +841,7 @@
SELECT
cu.pk_id,
cu.MEMBER_CODE,
+ mr.ENABLE_STATUS,
NVL( mr.CONSUME_PV, 0 ) consumePv,
NVL( mr.NEW_CONSUME_PV, 0 ) newConsumePv,
NVL( mr.TEAM_CONSUME_PV, 0 ) teamConsumePv,
From 2411a8d22c922cdd7f9fcbbbac25e0e31284d5ab Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 12:02:53 +0800
Subject: [PATCH 21/75] =?UTF-8?q?##=20=E6=9F=A5=E8=AF=A2=E6=98=A8=E6=97=A5?=
=?UTF-8?q?=E5=A5=96=E9=87=91=E6=B1=87=E6=80=BB=E6=8E=A5=E5=8F=A3=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api/ApiCuMemberBonusController.java | 84 +++++++------------
.../bonus/mapper/CuMemberBonusMapper.java | 57 ++-----------
.../com/hzs/bonus/bonus/param/BonusParam.java | 9 +-
.../impl/CuMemberBonusServiceImpl.java | 57 ++-----------
.../hzs/bonus/bonus/vo/PubMemberBonusVO.java | 7 +-
.../manage/CuRegionAssessController.java | 23 +----
.../bonus/bonus/CuMemberBonusMapper.xml | 45 +++++++---
.../common/core/enums/EExpandCapMethod.java | 7 +-
.../core/web/domain/BaseAuthorityEntity.java | 6 +-
9 files changed, 83 insertions(+), 212 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
index e7e4b8db..0577ad47 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
@@ -35,46 +35,7 @@ public class ApiCuMemberBonusController extends BaseController {
private ICuMemberBonusService cuMemberBonusService;
/**
- * 查询会员某个时间段内的奖金,默认查询15天内,查询直推
- */
- @PostMapping("/query-bonus-first")
- public TableDataInfo listFirstRepurchaseBonus(@RequestBody BonusParam bonusParam) {
- setBonusParam(bonusParam);
- List cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
- List firstPurchaseVOList = new ArrayList<>();
- cuMemberBonusList.forEach(cuMemberBonus -> {
- MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
- packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
-// BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
-// memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome()),
-// memberBonusFirstPurchaseVO.getPurRealSubtotal());
-// memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
-// memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
- // if(DateUtils.compareDate(cuMemberBonus.getSettleDate(), DateUtils.parseStringToDate("2024-09-09"))>0) {
- BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
- memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome(),
- memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurRangeIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()),
- ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
- memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
- memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
- memberBonusFirstPurchaseVO.setExpandIncome(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
- memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
-// }else{
-// BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
-// memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome(),
-// memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome()),
-// ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
-// memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
-// memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
-// }
- memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getGlobalPoints()));
- firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
- });
- return getDataTable(firstPurchaseVOList);
- }
-
- /**
- * 查询会员实时奖金,当日的奖金
+ * 新零售实时奖金:查询会员实时奖金,当日的奖金
*/
@PostMapping("/query-current-bonus")
public TableDataInfo listCurrentBonus(@RequestBody BonusParam bonusParam) {
@@ -102,17 +63,40 @@ public class ApiCuMemberBonusController extends BaseController {
}
/**
- * 查询会员昨天奖金的值
+ * 查询会员某个时间段内的奖金,默认查询15天内,查询直推
+ */
+ @PostMapping("/query-bonus-first")
+ public TableDataInfo listFirstRepurchaseBonus(@RequestBody BonusParam bonusParam) {
+ setBonusParam(bonusParam);
+ List cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
+ List firstPurchaseVOList = new ArrayList<>();
+ cuMemberBonusList.forEach(cuMemberBonus -> {
+ MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
+ packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
+ BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
+ memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome(),
+ memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurRangeIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()),
+ ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
+ memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
+ memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
+ memberBonusFirstPurchaseVO.setExpandIncome(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
+ memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
+ memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getGlobalPoints()));
+ firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
+ });
+ return getDataTable(firstPurchaseVOList);
+ }
+
+ /**
+ * 新零售实时奖金:查询会员昨日奖金汇总
*/
@PostMapping("/query-bonus-total")
public TableDataInfo lisBonusTotal(@RequestBody BonusParam bonusParam) {
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
bonusParam.setPkMember(SecurityUtils.getUserId());
-// bonusParam.setStartDate(DateUtils.beforeDate(1, ChronoUnit.DAYS));
-// bonusParam.setEndDate(DateUtils.currentDate());
- bonusParam.setStartDate(DateUtils.currentDate());
- bonusParam.setGrantStatus(EGrantStatus.SETTLED.getValue());
- bonusParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS));
+ bonusParam.setEndDate(DateUtils.currentDate());
+ bonusParam.setStartDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusParam.getEndDate()));
+
List cuMemberBonusList = cuMemberBonusService.queryMemberBonusTotalByCondition(bonusParam);
MemberRealIncomeVO memberRealIncomeVO = new MemberRealIncomeVO();
if (CollectionUtil.isEmpty(cuMemberBonusList)) {
@@ -141,7 +125,6 @@ public class ApiCuMemberBonusController extends BaseController {
memberBonusPurchaseVO.getRetailRealSubtotal());
memberBonusPurchaseVO.setBackPoints(serviceSpend);
memberBonusPurchaseVO.setRetailBenefitIncome(ComputeUtil.computeAdd(memberBonusPurchaseVO.getRetailBenefitIncome(), memberBonusPurchaseVO.getRetailBenefitAvgIncome()));
-// memberBonusPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
memberBonusPurchaseVoList.add(memberBonusPurchaseVO);
});
return getDataTable(memberBonusPurchaseVoList);
@@ -197,14 +180,7 @@ public class ApiCuMemberBonusController extends BaseController {
public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
startPage();
-// List memberBonusVoList = new ArrayList<>();
TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
-// cuMemberBonusList.forEach(cuMemberBonus -> {
-// MemberBonusVO memberBonusVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusVO.class);
-// memberBonusVoList.add(memberBonusVO);
-// });
-// TableDataInfo dataTable = getDataTable(cuMemberBonusList);
-// dataTable.setRows(memberBonusVoList);
return tableDataInfo;
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java
index 53ef4e5d..4b9fa3e5 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusMapper.java
@@ -9,12 +9,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
- *
* 会员奖金-会员奖金汇总表 Mapper 接口
- *
- *
- * @author hzs
- * @since 2022-11-11
*/
public interface CuMemberBonusMapper extends BaseMapper {
@@ -22,9 +17,6 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 批量获取cuMemberBonus主键
*
* @param rowNum 数量
- * @return: List
- * @Author: sui q
- * @Date: 2022/12/13 13:47
*/
List batchQueryCuMemberBonusSeq(Integer rowNum);
@@ -32,9 +24,6 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 根据查询条件查询会员奖金
*
* @param bonusParam 查询条件
- * @return: List
- * @Author: sui q
- * @Date: 2023/1/13 11:27
*/
List queryMemberBonusTotalByCondition(BonusParam bonusParam);
@@ -42,9 +31,6 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 根据查询条件查询会员奖金
*
* @param bonusParam 查询条件
- * @return: List
- * @Author: sui q
- * @Date: 2023/1/13 11:27
*/
List queryMemberBonusByCondition(BonusParam bonusParam);
@@ -52,30 +38,19 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 根据查询条件查询会员奖金
*
* @param bonusParam 查询条件
- * @return: List
- * @Author: sui q
- * @Date: 2023/1/13 11:27
*/
List queryMemberBonusByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
/**
- * @description: 查询奖金明细合计(最后一行)
- * @author: zhang jing
- * @date: 2024/10/12 14:06
- * @param: [bonusParam]
- * @return: com.hzs.common.domain.member.ext.CuMemberBonusExt
+ * 查询奖金明细合计(最后一行)
**/
CuMemberBonusExt queryMemberBonusByConditionForServerSum(@Param("bonusParam") BonusParam bonusParam);
-
/**
* 根据查询条件查询会员奖金
*
* @param bonusParam 查询条件
- * @return: List
- * @Author: sui q
- * @Date: 2023/1/13 11:27
*/
List queryBonusTotalVoByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
@@ -83,9 +58,6 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 删除会员奖金汇总表
*
* @param period 结算期间
- * @return: void
- * @Author: sui q
- * @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonus(Integer period);
@@ -93,9 +65,6 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 批量插入会员奖金主表
*
* @param cuMemberBonusList 会员奖金
- * @return: void
- * @Author: sui q
- * @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonus(@Param("cuMemberBonusList") List> cuMemberBonusList);
@@ -103,9 +72,6 @@ public interface CuMemberBonusMapper extends BaseMapper {
* 批量插入会员奖金主表
*
* @param cuMemberBonusList 会员奖金
- * @return: void
- * @Author: sui q
- * @Date: 2022/12/13 13:56
*/
void insertOrUpdateCuMemberBonus(@Param("cuMemberBonusList") List cuMemberBonusList);
@@ -114,28 +80,19 @@ public interface CuMemberBonusMapper extends BaseMapper {
*
* @param grantStatus 发放状态
* @param oldGrantStatus 原来的发放状态
- * @return: Boolean
- * @Author: sui q
- * @Date: 2023/3/20 17:21
*/
Integer updateCuMemberBonusStatus(@Param("pkCountry") Integer pkCountry, @Param("grantStatus") Integer grantStatus,
@Param("oldGrantStatus") Integer oldGrantStatus, @Param("startPeriod") Integer startPeriod,
@Param("endPeriod") Integer endPeriod);
- /*
- * @description: 回退极差奖金
- * @author: sui q
- * @date: 2024/12/25 17:06
- * @param: null null
- **/
+ /**
+ * 回退极差奖金
+ */
void mergeBackRangeBonusIncome(@Param("pkOrder") Long pkOrder, @Param("bonusValue") Integer bonusValue);
- /*
- * @description: 查询会员一周周期的拓展累计,复购拓展累计
- * @author: sui q
- * @date: 2023/7/15 14:26
- * @param: null null
- **/
+ /**
+ * 查询会员一周周期的拓展累计,复购拓展累计
+ */
List queryWeekMemberBonus(@Param("startPeriod") int startPeriod, @Param("endPeriod") int endPeriod);
void recalculateTeamNewBoxNum(@Param("pkId") Long pkId, @Param("retailsTableName") String retailsTableName);
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusParam.java
index 2239ad88..65fafe0f 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusParam.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusParam.java
@@ -2,17 +2,12 @@ package com.hzs.bonus.bonus.param;
import com.hzs.common.core.web.domain.BaseAuthorityEntity;
import lombok.Data;
+import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
-/**
- * @Description:
- * @Author: sui q
- * @Time: 2023/1/13 9:44
- * @Classname: BonusParam
- * @PackageName: com.hzs.member.bonus.param
- */
+@EqualsAndHashCode(callSuper = true)
@Data
public class BonusParam extends BaseAuthorityEntity {
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java
index f7a3f627..9cc77e1e 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java
@@ -56,10 +56,10 @@ public class CuMemberBonusServiceImpl extends ServiceImpl handleMemberBonusPurchase(List cuMemberBonusExtList, BonusParam bonusParam, String value) {
@@ -211,16 +211,10 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberSecondBonusVoByCondition(BonusParam bonusParam) {
- String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
-// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
-// // 周结的话不能查询当前周的数据,只能查询上周的数据
-// bonusParam.setStartDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getStartDate())));
-// bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyMonday(bonusParam.getStartDate())));
-// }
- return getCuMemberBonusExtList(bonusParam, value);
+ return getCuMemberBonusExtList(bonusParam);
}
- private List getCuMemberBonusExtList(BonusParam bonusParam, String value) {
+ private List getCuMemberBonusExtList(BonusParam bonusParam) {
if (bonusParam.getGrantStatus() == null) {
bonusParam.setGrantStatus(EGrantStatus.PUBLISHED.getValue());
}
@@ -241,20 +235,11 @@ public class CuMemberBonusServiceImpl extends ServiceImpl> weekDateMap = new TreeMap<>();
-// // 计算周开始和结束
-// for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) {
-// String startDateStr = DateUtils.getRecentlyTuesday(cuMemberBonusExt.getSettleDate());
-// if (weekDateMap.containsKey(startDateStr)) {
-// weekDateMap.get(startDateStr).add(cuMemberBonusExt);
-// } else {
-// List cuMemberBonusExtList1 = new ArrayList<>();
-// cuMemberBonusExtList1.add(cuMemberBonusExt);
-// weekDateMap.put(startDateStr, cuMemberBonusExtList1);
-// }
-// }
-// List cuMemberBonusExtList1 = new ArrayList<>();
-// for (String key : weekDateMap.keySet()) {
-// CuMemberBonusExt cuMemberBonusExt = initCuMemberBonus();
-// cuMemberBonusExt.setSettleDate(DateUtils.parseStringToDate(key));
-// cuMemberBonusExt.setEndSettleDate(DateUtils.afterDate(6, ChronoUnit.DAYS, cuMemberBonusExt.getSettleDate()));
-// for (CuMemberBonusExt memberBonusExt : weekDateMap.get(key)) {
-// calculateBonusTotal(cuMemberBonusExt, memberBonusExt);
-// }
-// cuMemberBonusExtList1.add(cuMemberBonusExt);
-// }
-// return cuMemberBonusExtList1;
-// }
return cuMemberBonusExtList;
}
@@ -327,13 +287,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberBonusTotalByCondition(BonusParam bonusParam) {
- String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
- if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
- // 周结的话不能查询当前周
- bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
- bonusParam.setStartDate(DateUtils.beforeDate(7, ChronoUnit.DAYS, bonusParam.getEndDate()));
- }
- return getCuMemberBonusExtList(bonusParam, value);
+ return getCuMemberBonusExtList(bonusParam);
}
@Override
@@ -706,6 +660,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl
* 新零售会员区域考核 前端控制器
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
@RestController
@RequestMapping("/manage/region")
@@ -58,6 +40,7 @@ public class CuRegionAssessController extends BaseController {
/**
* 考核
* 考核默认考核当月
+ *
* @return AjaxResult
*/
@GetMapping("/examine")
@@ -72,7 +55,7 @@ public class CuRegionAssessController extends BaseController {
* 查询会员昨天奖金的值
*/
@PostMapping("/query")
- public TableDataInfo listRegionAssess(@RequestBody CuRegionAssessParam cuRegionAssessParam){
+ public TableDataInfo listRegionAssess(@RequestBody CuRegionAssessParam cuRegionAssessParam) {
startPage();
cuRegionAssessParam.setPkCountry(SecurityUtils.getPkCountry());
List cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
@@ -86,7 +69,7 @@ public class CuRegionAssessController extends BaseController {
* 分页查询会员某个时间段内的奖金汇总
*/
@PostMapping("/export")
- public void exportRegionAssess(HttpServletResponse response, CuRegionAssessParam cuRegionAssessParam){
+ public void exportRegionAssess(HttpServletResponse response, CuRegionAssessParam cuRegionAssessParam) {
List cuRegionAssessExtList = regionAssessService.queryRegionAssessByCondition(cuRegionAssessParam);
List cuRegionAssessVoList = new ArrayList<>();
for (CuRegionAssessExt cuRegionAssessExt : cuRegionAssessExtList) {
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index a111573f..5e6ca989 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -272,21 +272,40 @@
- select cp.settle_date,cb.direct_income,cb.expand_income,cb.expand_no_capping,
- cb.expand_capping,cb.coach_income,cb.share_income,cb.service_income,cb.back_points,cb.service_spend,
- cb.pur_real_subtotal,cb.repur_push_income,cb.repur_range_income,cb.repur_expand_income,cb.repur_real_subtotal,
- cb.cloud_direct_income,cb.cloud_pur_income,cb.cloud_repur_income,cb.cloud_real_subtotal,
- cb.repur_coupon,cb.repur_coupon_share,cb.repur_coupon_subtotal,cb.store_income,
- cb.maker_direct_income,cb.maker_share_income,cb.maker_real_subtotal,
- cb.global_points,cb.car_award_points,cb.hi_fun_income,cb.hai_fun_income,
- cb.retail_range_income,cb.retail_same_level_income,cb.retail_area_income,
- cb.retail_benefit_range_income,cb.retail_benefit_avg_income,
- cb.retail_benefit_income,cb.retail_real_subtotal,
- cb.real_income_total from cu_member_bonus cb
+ select cp.settle_date,
+ cb.direct_income,
+ cb.expand_income,
+ cb.expand_no_capping,
+ cb.expand_capping,
+ cb.coach_income,
+ cb.share_income,
+ cb.service_income,
+ cb.back_points,
+ cb.service_spend,
+ cb.pur_real_subtotal,
+ cb.repur_push_income,
+ cb.repur_range_income,
+ cb.repur_expand_income,
+ cb.repur_real_subtotal,
+ cb.repur_coupon,
+ cb.repur_coupon_share,
+ cb.repur_coupon_subtotal,
+ cb.store_income,
+ cb.global_points,
+ cb.car_award_points,
+ cb.retail_range_income,
+ cb.retail_same_level_income,
+ cb.retail_area_income,
+ cb.retail_benefit_range_income,
+ cb.retail_benefit_avg_income,
+ cb.retail_benefit_income,
+ cb.retail_real_subtotal,
+ cb.real_income_total
+ from cu_member_bonus cb
inner join cu_member_settle_period cp
on cb.period = cp.pk_id
- where cb.del_flag=0 and cp.del_flag=0
- and cb.pk_member=#{pkMember}
+ where cb.del_flag = 0 and cp.del_flag = 0
+ and cb.pk_member = #{pkMember}
and cb.grant_status >= #{grantStatus}
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EExpandCapMethod.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EExpandCapMethod.java
index 15bfd12a..cccc048e 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EExpandCapMethod.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EExpandCapMethod.java
@@ -4,12 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
- * @description: 封顶方式
- * @author: sui q
- * @time: 2023/7/15 15:08
- * @classname: ExpandCapMethod
- * @package_name: com.hzs.common.core.enums
- * version 1.0.0
+ * 封顶方式
*/
@AllArgsConstructor
@Getter
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseAuthorityEntity.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseAuthorityEntity.java
index a7634bfe..d174d804 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseAuthorityEntity.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseAuthorityEntity.java
@@ -5,11 +5,7 @@ import lombok.Data;
import java.util.List;
/**
- * @Description: 基础权限基数
- * @Author: jiang chao
- * @Time: 2023/5/22 15:48
- * @Classname: BaseAuthorityEntity
- * @PackageName: com.hzs.common.core.web.domain
+ * 基础权限基数
*/
@Data
public class BaseAuthorityEntity {
From 01606f64bd6f669f63b6f35b14263f53e18a7e36 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 13:24:59 +0800
Subject: [PATCH 22/75] =?UTF-8?q?##=20=E8=AE=A1=E7=AE=97=E5=B9=B3=E7=BA=A7?=
=?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=BF=9D=E7=95=996=E4=BD=8D=E5=B0=8F?=
=?UTF-8?q?=E6=95=B0=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bonus/bonus/service/impl/BonusSettleRangeHandle.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
index 5526bf49..1878b811 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
@@ -1355,8 +1355,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
continue;
}
- // 平级收益(商品价格 * 千分之五) -- 2位小数,四舍五入
- sameBonusIncome = waresPrice.multiply(RetailConstants.SAME_RATIO).setScale(2, BigDecimal.ROUND_HALF_UP);
+ // 平级收益(商品价格 * 千分之五) -- 6位小数,四舍五入
+ sameBonusIncome = waresPrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP);
// 平级收益累计
beforeSameBonus = beforeSameBonus.add(sameBonusIncome);
// 平级等级代数等级
@@ -1601,7 +1601,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 计算业绩(此处作为比例)
BigDecimal calAchieve = BigDecimal.ZERO;
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
- benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(RetailConstants.SAME_RATIO)).setScale(2, BigDecimal.ROUND_HALF_UP);
+ benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(RetailConstants.SAME_RATIO)).setScale(6, BigDecimal.ROUND_HALF_UP);
calAchieve = calAchieve.add(saOrderWaresExt.getWaresPrice());
}
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
From e0921965a7dbfa106ebabf7839c1b391431c430a Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 13:52:53 +0800
Subject: [PATCH 23/75] =?UTF-8?q?##=20Opt=20-=20=E6=88=91=E7=9A=84->?=
=?UTF-8?q?=E7=9B=92=E6=95=B0=20=E4=B8=9A=E7=BB=A9=E9=99=A4=E4=B8=87,?=
=?UTF-8?q?=E5=9B=9B=E4=BD=8D=E5=B0=8F=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../retail/member/utils/DataStatisticsUtil.java | 14 +++++++++++---
.../vo/CuMemberRetailDataStatisticsResultVO.java | 4 ++++
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
index 8df202bd..d70dfc11 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
@@ -7,6 +7,7 @@ import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -61,11 +62,11 @@ public class DataStatisticsUtil {
}
return CuMemberRetailDataStatisticsResultVO.builder()
.totalBoxNum(total.getTotalBoxNum())
- .totalPv(total.getTotalPv())
+ .totalPv(formatPV(total.getTotalPv()))
.bigRangeTotalBoxNum(bigRange.getTotalBoxNum())
- .bigRangeTotalPv(bigRange.getTotalPv())
+ .bigRangeTotalPv(formatPV(bigRange.getTotalPv()))
.smallRangeTotalBoxNum(smallRangeTotalBoxNum)
- .smallRangeTotalPv(smallRangeTotalPv)
+ .smallRangeTotalPv(formatPV(smallRangeTotalPv))
.build();
}
/**
@@ -222,4 +223,11 @@ public class DataStatisticsUtil {
.max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum))
.orElse(null);
}
+ public static BigDecimal formatPV(BigDecimal pv){
+ return pv.divide(
+ new BigDecimal("10000"),
+ 4,
+ RoundingMode.FLOOR
+ );
+ }
}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsResultVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsResultVO.java
index ce5b02e8..2a77cfd3 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsResultVO.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/CuMemberRetailDataStatisticsResultVO.java
@@ -1,5 +1,6 @@
package com.hzs.retail.member.vo;
+import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -45,14 +46,17 @@ public class CuMemberRetailDataStatisticsResultVO implements Serializable {
/**
* 总业绩
*/
+ @BigDecimalFormat
private BigDecimal totalPv;
/**
* 大区业绩
*/
+ @BigDecimalFormat
private BigDecimal bigRangeTotalPv;
/**
* 小区业绩
*/
+ @BigDecimalFormat
private BigDecimal smallRangeTotalPv;
}
From d50fa4085b34bd4fe2eca55ea93853f50138108d Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 13:59:48 +0800
Subject: [PATCH 24/75] =?UTF-8?q?##=20=E4=BD=BF=E7=94=A8BigDecimalFormat?=
=?UTF-8?q?=E6=B3=A8=E8=A7=A3=EF=BC=8C=E9=BB=98=E8=AE=A4=E4=B8=8D=E7=94=A8?=
=?UTF-8?q?=E5=9B=9B=E8=88=8D=E4=BA=94=E5=85=A5=E6=94=B9=E4=B8=BA=E5=8E=BB?=
=?UTF-8?q?=E5=B0=BE=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../core/config/BigDecimalSerializer.java | 34 +++++--------------
1 file changed, 9 insertions(+), 25 deletions(-)
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/config/BigDecimalSerializer.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/config/BigDecimalSerializer.java
index 37378e8e..18f9bdc8 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/config/BigDecimalSerializer.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/config/BigDecimalSerializer.java
@@ -1,6 +1,5 @@
package com.hzs.common.core.config;
-import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -8,14 +7,11 @@ import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import com.hzs.common.core.annotation.BigDecimalFormat;
-import com.hzs.common.core.constant.CacheConstants;
-import com.hzs.common.core.context.SecurityContextHolder;
-import com.hzs.common.core.service.RedisService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jackson.JsonComponent;
import java.io.IOException;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Objects;
@@ -28,15 +24,6 @@ public class BigDecimalSerializer extends JsonSerializer implements
// 默认保留2位小数
private String format = "#0.00";
- private String zeroFormat = "#0";
-
- private RedisService redisService;
-
- @Autowired
- public void setRedisService(RedisService redisService) {
- this.redisService = redisService;
- }
-
/**
* 序列化处理方式
*
@@ -47,12 +34,10 @@ public class BigDecimalSerializer extends JsonSerializer implements
*/
@Override
public void serialize(BigDecimal bigDecimal, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
-// if(ComputeUtil.compareEqual(ComputeUtil.computeSubtract(bigDecimal, bigDecimal.setScale(0, RoundingMode.DOWN)), BigDecimal.ZERO)){
-// jsonGenerator.writeString(new DecimalFormat(zeroFormat).format(bigDecimal));
-// }else{
-// jsonGenerator.writeString(bigDecimal.setScale(6, RoundingMode.HALF_UP).stripTrailingZeros().toString());
- jsonGenerator.writeString(new DecimalFormat(format).format(bigDecimal));
-// }
+ DecimalFormat decimalFormat = new DecimalFormat(format);
+ // 改为使用去尾方式显示
+ decimalFormat.setRoundingMode(RoundingMode.DOWN);
+ jsonGenerator.writeString(decimalFormat.format(bigDecimal));
}
/**
@@ -66,15 +51,13 @@ public class BigDecimalSerializer extends JsonSerializer implements
@Override
public JsonSerializer> createContextual(SerializerProvider serializerProvider, BeanProperty beanProperty) throws JsonMappingException {
if (beanProperty != null) {
- Object bdCountry = redisService.getCacheObject(CacheConstants.BD_COUNTRY + SecurityContextHolder.getUserCountry());
if (Objects.equals(beanProperty.getType().getRawClass(), BigDecimal.class)) {
BigDecimalFormat bigDecimalFormat = beanProperty.getAnnotation((BigDecimalFormat.class));
if (bigDecimalFormat == null) {
bigDecimalFormat = beanProperty.getContextAnnotation(BigDecimalFormat.class);
}
BigDecimalSerializer bigDecimalSerializer = new BigDecimalSerializer();
- int numberPlaces = Integer.parseInt(JSONUtil.parseObj(bdCountry).get("numberPlaces").toString());
- bigDecimalSerializer.format = replaceNumber(numberPlaces);
+ bigDecimalSerializer.format = replaceNumber();
if (bigDecimalFormat != null) {
bigDecimalSerializer.format = bigDecimalFormat.value();
}
@@ -85,11 +68,12 @@ public class BigDecimalSerializer extends JsonSerializer implements
return new BigDecimalSerializer();
}
- private String replaceNumber(int numberPlaces) {
+ private String replaceNumber() {
StringBuilder number = new StringBuilder("#0.");
- for (int i = 0; i < numberPlaces; i++) {
+ for (int i = 0; i < 6; i++) {
number.append("0");
}
return number.toString();
}
+
}
From 3f66820e553b504546dc0d16e7b7e16e9ec957de Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 14:16:09 +0800
Subject: [PATCH 25/75] =?UTF-8?q?##=20=E5=A5=96=E9=87=91=E6=98=8E=E7=BB=86?=
=?UTF-8?q?=E3=80=81=E5=A5=96=E9=87=91=E6=B1=87=E6=80=BB=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api/ApiCuMemberBonusController.java | 32 ++---
.../impl/CuMemberBonusServiceImpl.java | 42 +++---
.../bonus/vo/MemberBonusFirstPurchaseVO.java | 125 +++++++++++-------
.../bonus/bonus/vo/MemberRealIncomeVO.java | 9 +-
.../hzs/bonus/bonus/vo/PubMemberBonusVO.java | 2 +
.../member/vo/CuMemberRetailAchieveVO.java | 7 -
6 files changed, 112 insertions(+), 105 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
index 0577ad47..11c790cc 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
@@ -32,7 +32,7 @@ import java.util.List;
public class ApiCuMemberBonusController extends BaseController {
@Autowired
- private ICuMemberBonusService cuMemberBonusService;
+ private ICuMemberBonusService iCuMemberBonusService;
/**
* 新零售实时奖金:查询会员实时奖金,当日的奖金
@@ -45,7 +45,7 @@ public class ApiCuMemberBonusController extends BaseController {
bonusParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentDate()));
bonusParam.setGrantStatus(EGrantStatus.SETTLED.getValue());
- List cuMemberBonusList = cuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
+ List cuMemberBonusList = iCuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
List memberBonusVOList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
if (ComputeUtil.compareValue(cuMemberBonus.getRealIncomeTotal())) {
@@ -63,25 +63,19 @@ public class ApiCuMemberBonusController extends BaseController {
}
/**
- * 查询会员某个时间段内的奖金,默认查询15天内,查询直推
+ * 新零售实时奖金:查询会员奖金列表
*/
@PostMapping("/query-bonus-first")
public TableDataInfo listFirstRepurchaseBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
- List cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
+
+ startPage();
+ List cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
+
List firstPurchaseVOList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
- BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
- memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome(),
- memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurRangeIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()),
- ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
- memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
- memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
- memberBonusFirstPurchaseVO.setExpandIncome(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
- memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
- memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getGlobalPoints()));
firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
});
return getDataTable(firstPurchaseVOList);
@@ -97,12 +91,13 @@ public class ApiCuMemberBonusController extends BaseController {
bonusParam.setEndDate(DateUtils.currentDate());
bonusParam.setStartDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusParam.getEndDate()));
- List cuMemberBonusList = cuMemberBonusService.queryMemberBonusTotalByCondition(bonusParam);
+ List cuMemberBonusList = iCuMemberBonusService.queryMemberBonusTotalByCondition(bonusParam);
MemberRealIncomeVO memberRealIncomeVO = new MemberRealIncomeVO();
if (CollectionUtil.isEmpty(cuMemberBonusList)) {
memberRealIncomeVO.setRealIncomeTotal(BigDecimal.ZERO);
} else {
- memberRealIncomeVO.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusList.get(0).getRealIncomeTotal(), cuMemberBonusList.get(0).getBackPoints()));
+// memberRealIncomeVO.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusList.get(0).getRealIncomeTotal(), cuMemberBonusList.get(0).getBackPoints()));
+ memberRealIncomeVO.setRealIncomeTotal(cuMemberBonusList.get(0).getRealIncomeTotal());
}
return getDataTable(Collections.singletonList(memberRealIncomeVO));
}
@@ -113,7 +108,7 @@ public class ApiCuMemberBonusController extends BaseController {
@PostMapping("/query-bonus-repurchase")
public TableDataInfo listRepurchaseBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
- List cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
+ List cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List memberBonusPurchaseVoList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusPurchaseVO memberBonusPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusPurchaseVO.class, "settleDate");
@@ -136,7 +131,7 @@ public class ApiCuMemberBonusController extends BaseController {
@PostMapping("/query-bonus-hi-fun")
public TableDataInfo listHiFunBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
- List cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
+ List cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List bonusHiFunVoList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusHiFunVO memberBonusHiFunVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusHiFunVO.class, "settleDate");
@@ -160,6 +155,7 @@ public class ApiCuMemberBonusController extends BaseController {
private void setBonusParam(@RequestBody BonusParam bonusParam) {
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
bonusParam.setPkMember(SecurityUtils.getUserId());
+
Date startDate = DateUtils.beforeDate(15, ChronoUnit.DAYS, DateUtils.currentDate());
if (bonusParam.getStartDate() == null) {
bonusParam.setStartDate(startDate);
@@ -180,7 +176,7 @@ public class ApiCuMemberBonusController extends BaseController {
public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
startPage();
- TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
+ TableDataInfo tableDataInfo = iCuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
return tableDataInfo;
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java
index 9cc77e1e..206cedac 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java
@@ -21,7 +21,6 @@ import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.core.utils.DateUtils;
-import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.bonus.CuMemberBonus;
import com.hzs.common.domain.member.ext.*;
@@ -135,27 +134,28 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberBonusVoByCondition(BonusParam bonusParam) {
- String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
- if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
- // 周结的话不能查询当前周的数据,只能查询上周的数据
- bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
- }
- return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam, value);
+// String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
+// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
+// // 周结的话不能查询当前周的数据,只能查询上周的数据
+// bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
+// }
+ return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam);
}
- private List handleMemberBonusPurchase(List cuMemberBonusExtList, BonusParam bonusParam, String value) {
- if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
- Collections.reverse(cuMemberBonusExtList);
- return cuMemberBonusExtList;
- }
+ private List handleMemberBonusPurchase(List cuMemberBonusExtList, BonusParam bonusParam) {
+// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
+// Collections.reverse(cuMemberBonusExtList);
+// return cuMemberBonusExtList;
+// }
+
List memberBonusExtList = new ArrayList<>();
Map cuMemberBonusExtMap = new HashMap<>();
- cuMemberBonusExtList.forEach(cuMemberBonusExt ->
- cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
+ cuMemberBonusExtList.forEach(cuMemberBonusExt -> cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
Date endDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusParam.getEndDate());
Date compareDate = DateUtils.parseStringToDateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentDate()) + " 13:00:00");
- while (DateUtils.compareDateAfter(endDate, bonusParam.getStartDate()) ||
- DateUtils.compareDateEqual(endDate, bonusParam.getStartDate())) {
+
+ while (DateUtils.compareDateAfter(endDate, bonusParam.getStartDate())
+ || DateUtils.compareDateEqual(endDate, bonusParam.getStartDate())) {
String date = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, endDate);
if (cuMemberBonusExtMap.containsKey(date)) {
memberBonusExtList.add(cuMemberBonusExtMap.get(date));
@@ -178,22 +178,14 @@ public class CuMemberBonusServiceImpl extends ServiceImpl
Date: Fri, 13 Jun 2025 14:32:27 +0800
Subject: [PATCH 26/75] =?UTF-8?q?##=20Opt=20-=20mq=E8=A1=A5=E5=81=BF?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=9A=E7=BB=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bonus/bonus/CuMemberBonusMapper.xml | 43 +++++++++++--------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index ebf7e489..69b0b031 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -594,22 +594,31 @@
- UPDATE ${retailsTableName}
- SET ENABLE_STATUS = 0, TEAM_NEW_BOX_NUM = (
- SELECT SUM(boxNum)
- FROM (
- SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum
- FROM ${retailsTableName} s
- RIGHT JOIN (
- SELECT cm.PK_ID
- FROM cu_member cm
- WHERE cm.PK_ID != #{pkId}
- START WITH cm.PK_ID = #{pkId}
- CONNECT BY PRIOR cm.pk_id = cm.pk_parent
- ORDER BY LEVEL
- ) b ON s.PK_MEMBER = b.PK_ID
- ) c
- )
- WHERE PK_MEMBER = #{pkId}
+ MERGE INTO ${retailsTableName} s
+ USING (
+ SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id
+ FROM (
+ SELECT b.PK_ID,
+ NVL(s.NEW_BOX_NUM, 0) AS boxNum,
+ NVL(s.NEW_CONSUME_PV, 0) AS pv
+ FROM ${retailsTableName} s
+ RIGHT JOIN (
+ SELECT cm.PK_ID
+ FROM cu_member cm
+ WHERE cm.PK_ID != #{pkId}
+ START WITH cm.PK_ID = #{pkId}
+ CONNECT BY PRIOR cm.pk_id = cm.pk_parent
+ ORDER BY LEVEL
+ ) b ON s.PK_MEMBER = b.PK_ID
+ ) c
+ GROUP BY pk_id
+ ) result
+ ON (s.PK_MEMBER = result.PK_ID)
+ WHEN MATCHED THEN
+ UPDATE SET
+ s.ENABLE_STATUS = 0,
+ s.TEAM_NEW_BOX_NUM = result.boxNum,
+ s.TEAM_NEW_PV = result.pv
+ WHERE s.PK_MEMBER = #{pkId};
From bfff6137524de9963e46e8bb1000b1bf27a931fb Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 14:33:09 +0800
Subject: [PATCH 27/75] =?UTF-8?q?##=20Opt=20-=20mq=E8=A1=A5=E5=81=BF?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=9A=E7=BB=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/bonus/bonus/CuMemberBonusMapper.xml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index 69b0b031..4620375d 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -603,13 +603,13 @@
NVL(s.NEW_CONSUME_PV, 0) AS pv
FROM ${retailsTableName} s
RIGHT JOIN (
- SELECT cm.PK_ID
- FROM cu_member cm
- WHERE cm.PK_ID != #{pkId}
- START WITH cm.PK_ID = #{pkId}
- CONNECT BY PRIOR cm.pk_id = cm.pk_parent
- ORDER BY LEVEL
- ) b ON s.PK_MEMBER = b.PK_ID
+ SELECT cm.PK_ID
+ FROM cu_member cm
+ WHERE cm.PK_ID != #{pkId}
+ START WITH cm.PK_ID = #{pkId}
+ CONNECT BY PRIOR cm.pk_id = cm.pk_parent
+ ORDER BY LEVEL
+ ) b ON s.PK_MEMBER = b.PK_ID
) c
GROUP BY pk_id
) result
@@ -619,6 +619,6 @@
s.ENABLE_STATUS = 0,
s.TEAM_NEW_BOX_NUM = result.boxNum,
s.TEAM_NEW_PV = result.pv
- WHERE s.PK_MEMBER = #{pkId};
+ WHERE s.PK_MEMBER = #{pkId}
From 2543767de62a5f35e1cee74ae76739437ddbcdae Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 14:33:51 +0800
Subject: [PATCH 28/75] =?UTF-8?q?##=20=E5=B9=B3=E7=BA=A7=E6=94=B6=E7=9B=8A?=
=?UTF-8?q?=E4=BB=B7=E6=A0=BC=E6=8C=89=E5=8D=95=E5=95=86=E5=93=81=E5=A4=84?=
=?UTF-8?q?=E7=90=86=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bonus/bonus/service/impl/BonusSettleRangeHandle.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
index 1878b811..a7506a4c 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java
@@ -38,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@@ -1287,6 +1288,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal waresPrice = saOrderItems.getWaresPrice();
// 商品数量
BigDecimal waresQuantityBig = new BigDecimal(saOrderItems.getWaresQuantity());
+ // 单个商品价格
+ BigDecimal waresOnePrice = waresPrice.divide(waresQuantityBig, 6, RoundingMode.FLOOR);
+
// 前一个会员等级
int beforeGradeValue = 0;
// 前一个会员等级的平级收益人数
@@ -1356,7 +1360,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
continue;
}
// 平级收益(商品价格 * 千分之五) -- 6位小数,四舍五入
- sameBonusIncome = waresPrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP);
+ sameBonusIncome = waresOnePrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(waresQuantityBig);
// 平级收益累计
beforeSameBonus = beforeSameBonus.add(sameBonusIncome);
// 平级等级代数等级
From bb175563f58d1098c5af2300c8912c3b2534b8da Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 15:03:40 +0800
Subject: [PATCH 29/75] =?UTF-8?q?##=20Fix=20-=20=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E5=8C=BA=E5=9F=9F=20=E8=AE=A1=E7=AE=97=E8=87=AA=E5=B7=B1?=
=?UTF-8?q?=E4=B8=9A=E7=BB=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CuMemberRetailAchieveServiceImpl.java | 38 ++++++++++++++++---
1 file changed, 32 insertions(+), 6 deletions(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
index 3da9a7a0..2602fe09 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
@@ -16,11 +16,13 @@ import com.hzs.member.account.service.ICuMemberBaseService;
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper;
+import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
import com.hzs.retail.member.utils.DataStatisticsUtil;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
+import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.GradeDTO;
import lombok.extern.slf4j.Slf4j;
@@ -306,11 +308,17 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl memberSelfAchieveList = new ArrayList<>();
//会员业绩
-// CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRetailTable).pkMember(pkMember).systemType(systemType).build();
-// CuMemberRetailAchieveVO orderAchieveVO = baseMapper.selectMemberOrderSumAchieveByPkMember(memberAchieveVO);
-// if (null != orderAchieveVO && orderAchieveVO.getArealPv().compareTo(BigDecimal.ZERO) > 0) {
-// orderAchieveVO.setPkMember(pkMember);
-// memberSelfAchieveList.add(orderAchieveVO);
-// }
+ CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder().memberRetailTable(memberRetailTable).pkMember(pkMember).systemType(systemType).build();
+ CuMemberRetailAchieveVO orderAchieveVO = baseMapper.selectMemberOrderSumAchieveByPkMember(memberAchieveVO);
+ if (null != orderAchieveVO && orderAchieveVO.getArealPv().compareTo(BigDecimal.ZERO) > 0) {
+ orderAchieveVO.setPkMember(pkMember);
+ memberSelfAchieveList.add(orderAchieveVO);
+ }
//查询伞下业绩
if (CollUtil.isNotEmpty(pkMemberList)) {
List memberPushAchieveList = getMemberPushSumAchieve(pkMemberList, memberRetailTable, memberSecondTable, systemType);
@@ -577,6 +585,24 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl getMarketDynamics(MarketDynamicsQueryDateParam param) {
+ DataStatisticsUtil.setQueryDateParam(param);
+ param.setCurrentDayTableName(getDayTableName());
+ param.setCurrentMonthTableName(getDayTableName(param.getNowDate()));
+ param.setCurrentDayTableName(getDayTableName(param.getLastMonthDate()));
+ log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param));
+ return Collections.emptyList();
+ }
+
+ private String getDayTableName(String localDate) {
+ int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
+ if(ObjectUtil.isEmpty(period)){
+ return null;
+ }
+ return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
+ }
+
/**
* 查询会员是否激活
*
From 8a87410289c5223ed60718bad897b41fe2211b2e Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 15:05:47 +0800
Subject: [PATCH 30/75] =?UTF-8?q?##=20Fix=20-=20=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E5=8C=BA=E5=9F=9F=20=E8=AE=A1=E7=AE=97=E8=87=AA=E5=B7=B1?=
=?UTF-8?q?=E4=B8=9A=E7=BB=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../member/vo/MarketDynamicsDetailVO.java | 74 +++++++++++++++++++
1 file changed, 74 insertions(+)
create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java
new file mode 100644
index 00000000..794ed51f
--- /dev/null
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/MarketDynamicsDetailVO.java
@@ -0,0 +1,74 @@
+package com.hzs.retail.member.vo;
+
+import com.hzs.common.core.annotation.BigDecimalFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+/**
+ * 市场动态列表对象
+ */
+public class MarketDynamicsDetailVO implements Serializable {
+ /**
+ * 用户编号
+ */
+ private String memberCode;
+ /**
+ * 用户名称
+ */
+ private String memberName;
+ /**
+ * 结算等级
+ */
+ private String pkSettleGrade;
+ /**
+ * 真实奖衔
+ */
+ private String pkAwards;
+
+ /**
+ * 今日业绩
+ */
+ @BigDecimalFormat
+ private BigDecimal todayPv;
+ /**
+ * 昨日业绩
+ */
+ @BigDecimalFormat
+ private BigDecimal yesterdayPv;
+ /**
+ * 本月业绩
+ */
+ @BigDecimalFormat
+ private BigDecimal currentMonthPv;
+ /**
+ * 上月业绩
+ */
+ @BigDecimalFormat
+ private BigDecimal lastMonthPv;
+
+ /**
+ * 今日盒数
+ */
+ private Integer todayBoxNum;
+ /**
+ * 昨日盒数
+ */
+ private Integer yesterdayBoxNum;
+ /**
+ * 本月盒数
+ */
+ private Integer currentMonthBoxNum;
+ /**
+ * 上月盒数
+ */
+ private Integer lastMonthBoxNum;
+}
From f74abd210fbbdab2723a9da83ef19ffbdfb726a9 Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 15:06:26 +0800
Subject: [PATCH 31/75] =?UTF-8?q?##=20Opt=20-=20=E5=B8=82=E5=9C=BA?=
=?UTF-8?q?=E5=8A=A8=E6=80=81=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api/ApiRetailHomePageController.java | 10 +++++
.../param/MarketDynamicsQueryDateParam.java | 37 +++++++++++++++++++
.../ICuMemberRetailAchieveService.java | 4 ++
.../CuMemberRetailAchieveServiceImpl.java | 5 ++-
.../member/utils/DataStatisticsUtil.java | 19 ++++++++++
5 files changed, 73 insertions(+), 2 deletions(-)
create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java
index d7db832d..86b03605 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/ApiRetailHomePageController.java
@@ -5,6 +5,7 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.security.utils.SecurityUtils;
+import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
@@ -174,4 +175,13 @@ public class ApiRetailHomePageController extends BaseController {
List retailAchieveVOList = retailAchieveService.selectMemberSmallBoxList(cuMemberRetailAchieveVO);
return getDataTable(retailAchieveVOList);
}
+
+ /**
+ * 市场动态
+ */
+ @PostMapping("/market-dynamics")
+ public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) {
+ retailAchieveService.getMarketDynamics(param);
+ return AjaxResult.success();
+ }
}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java
new file mode 100644
index 00000000..76f0c1ce
--- /dev/null
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java
@@ -0,0 +1,37 @@
+package com.hzs.retail.member.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+/**
+ * 市场动态查询参数
+ */
+public class MarketDynamicsQueryDateParam implements Serializable {
+ private Long pkId;
+ private String nowDate;
+ private String lastMonthDate;
+
+ /**
+ * 本月日结表名
+ */
+ private String currentMonthTableName;
+ /**
+ *
+ */
+ private String lastMonthTableName;
+ private String currentDayTableName;
+ /**
+ * 查询条件 (会员编号/会员姓名)
+ */
+ private String keyWords;
+ private Integer pageNum = 1;
+ private Integer pageSize = 10;
+}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailAchieveService.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailAchieveService.java
index 1c7a795c..bb6488f8 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailAchieveService.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailAchieveService.java
@@ -2,9 +2,11 @@ package com.hzs.retail.member.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
+import com.hzs.retail.member.param.MarketDynamicsQueryDateParam;
import com.hzs.retail.member.vo.CuMemberRetailAchieveVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO;
+import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
import java.util.List;
import java.util.Map;
@@ -111,4 +113,6 @@ public interface ICuMemberRetailAchieveService extends IService getMarketDynamics(MarketDynamicsQueryDateParam param);
}
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
index 2602fe09..70609c88 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailAchieveServiceImpl.java
@@ -596,10 +596,11 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl
Date: Fri, 13 Jun 2025 15:12:10 +0800
Subject: [PATCH 32/75] =?UTF-8?q?##=20=E5=A5=96=E9=87=91=E6=98=8E=E7=BB=86?=
=?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=88=86=E9=A1=B5=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bonus/bonus/controller/api/ApiCuMemberBonusController.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
index 11c790cc..dda83e8b 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/api/ApiCuMemberBonusController.java
@@ -69,7 +69,6 @@ public class ApiCuMemberBonusController extends BaseController {
public TableDataInfo listFirstRepurchaseBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
- startPage();
List cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List firstPurchaseVOList = new ArrayList<>();
From 5577de14e58a67b74d962cdd0bea0bbdc8c2a01d Mon Sep 17 00:00:00 2001
From: sangelxiu1 <15781802@163.com>
Date: Fri, 13 Jun 2025 15:25:51 +0800
Subject: [PATCH 33/75] =?UTF-8?q?##=20Fix=20-=20=E7=9B=92=E6=95=B0?=
=?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=8C=BA=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../member/utils/DataStatisticsUtil.java | 20 +++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
index 537017ac..f28e6207 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java
@@ -55,7 +55,7 @@ public class DataStatisticsUtil {
excludeDailySettlementData(detailVOList);
}else{
// 排除注水数据
- excludeWaterInjectionData(detailVOList);
+ excludeWaterInjectionData(detailVOList, pkId);
}
Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRange.getTotalBoxNum();
if(smallRangeTotalBoxNum < 0){
@@ -119,17 +119,21 @@ public class DataStatisticsUtil {
/**
* 排除昨日日结注水数据
+ * 自己的注水不排除
* @param detailVOList
*/
- public static void excludeWaterInjectionData(List detailVOList){
+ public static void excludeWaterInjectionData(List detailVOList, Long pkId){
detailVOList.parallelStream().forEach(detailVO -> {
- detailVO.setTotalBoxNum(
- detailVO.getTotalBoxNum()
- - detailVO.getBigBoxNum() // 注水大区
- - detailVO.getSmallBoxNum() // 注水小区
- );
+ if(!detailVO.getPkId().equals(pkId)){
+ detailVO.setTotalBoxNum(
+ detailVO.getTotalBoxNum()
+ - detailVO.getBigBoxNum() // 注水大区
+ - detailVO.getSmallBoxNum() // 注水小区
+ );
+ }
});
}
+
/**
* 增加虚拟分支 主要为
* 1.自己的消费总数
@@ -154,7 +158,7 @@ public class DataStatisticsUtil {
CuMemberRetailDataStatisticsDetailVO smallRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder()
.pkId(SMALL_RANGE_VIRTUAL_ID)
.memberCode(SMALL_RANGE_VIRTUAL_NAME)
- .totalBoxNum(detailVO.getBigBoxNum())
+ .totalBoxNum(detailVO.getSmallBoxNum())
.totalPv(BigDecimal.ZERO)
.bigBoxNum(0)
.smallBoxNum(0)
From 6354b2aa091fcc696cb48d051c868b9977137cd4 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 16:35:29 +0800
Subject: [PATCH 34/75] =?UTF-8?q?##=20=E5=BF=98=E8=AE=B0=E5=AF=86=E7=A0=81?=
=?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E6=89=8B=E6=9C=BA=E5=8F=B7=EF=BC=88?=
=?UTF-8?q?182=EF=BC=89=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../base/controller/api/ApiMemberController.java | 13 +++++++++----
.../hzs/member/base/param/ForgetPasswordParam.java | 12 +++++++-----
.../member/sms/controller/api/ApiSmsController.java | 11 +++--------
3 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java
index 86d04ef3..87055001 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberController.java
@@ -248,11 +248,16 @@ public class ApiMemberController extends BaseController {
if (CollectionUtil.isEmpty(cuMemberList)) {
return AjaxResult.error("会员联系方式不存在");
}
- if (cuMemberList.size() > 1) {
- // 2025.02.19 添加需求,如果一个手机号查询出两个会员编号,需要提示联系客户进行修改
- return AjaxResult.error("请联系客服进行操作");
+
+ CuMemberExt cuMemberExt = null;
+ for (CuMemberExt tmpMember : cuMemberList) {
+ if (tmpMember.getMemberCode().equals(param.getMemberCode())) {
+ cuMemberExt = tmpMember;
+ }
+ }
+ if (null == cuMemberExt) {
+ return AjaxResult.error("会员信息不存在");
}
- CuMemberExt cuMemberExt = cuMemberList.get(0);
Long memberId = cuMemberExt.getPkId();
// 校验短信验证码是否有效
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/ForgetPasswordParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/ForgetPasswordParam.java
index 34972a68..8e09a4a0 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/ForgetPasswordParam.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/ForgetPasswordParam.java
@@ -7,15 +7,17 @@ import javax.validation.constraints.Size;
import java.io.Serializable;
/**
- * @Description: 忘记密码保存入参
- * @Author: jiang chao
- * @Time: 2024/12/25 14:33
- * @Classname: ForgetPasswordParam
- * @PackageName: com.hzs.member.base.param
+ * 忘记密码保存入参
*/
@Data
public class ForgetPasswordParam implements Serializable {
+ /**
+ * 会员编号
+ */
+ @NotEmpty(message = "会员编号不能为空")
+ private String memberCode;
+
/**
* 联系方式
*/
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/controller/api/ApiSmsController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/controller/api/ApiSmsController.java
index ed122260..647ecfd5 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/controller/api/ApiSmsController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/controller/api/ApiSmsController.java
@@ -43,22 +43,17 @@ public class ApiSmsController extends BaseController {
/**
* 忘记密码验证码
*
- * @param phone 手机号码
+ * @param memberCode 会员编号
+ * @param phone 手机号码
* @return
*/
@RepeatSubmitSimple
@GetMapping("/forget-verification")
- public AjaxResult forgetVerification(@RequestParam String phone) {
- // 2024.12.25 一个手机号只能注册一个会员编号,找回密码只需要手机号(9035)
+ public AjaxResult forgetVerification(@RequestParam String memberCode, @RequestParam String phone) {
List cuMemberList = iCuMemberService.listMemberByPhone(phone);
if (CollectionUtil.isEmpty(cuMemberList)) {
return AjaxResult.error("会员联系方式不存在");
}
- if (cuMemberList.size() > 1) {
- // 2025.02.19 添加需求,如果一个手机号查询出两个会员编号,需要提示联系客户进行修改
- return AjaxResult.error("请联系客服进行操作");
- }
-
return toAjax(iApiCodeService.sendRecoverCode(phone));
}
From 7403bb2b86b12673450988dd5fbddced5b661c59 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 16:43:40 +0800
Subject: [PATCH 35/75] =?UTF-8?q?##=20=E6=88=B7=E7=B1=8D=E5=8F=98=E6=9B=B4?=
=?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E5=A4=84=E7=90=86=E6=89=8B=E7=BB=AD?=
=?UTF-8?q?=E8=B4=B9=EF=BC=88181=EF=BC=89=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api/ApiDomicileChangeController.java | 96 +++----------------
1 file changed, 13 insertions(+), 83 deletions(-)
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiDomicileChangeController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiDomicileChangeController.java
index 36441b51..60064152 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiDomicileChangeController.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiDomicileChangeController.java
@@ -1,6 +1,5 @@
package com.hzs.member.self.controller.api;
-import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
@@ -14,11 +13,7 @@ import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.member.self.CuSelfServiceLog;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils;
-import com.hzs.member.account.dto.BusinessCommissionDTO;
-import com.hzs.member.account.dto.MemberAmountDTO;
-import com.hzs.member.account.dto.MemberBalanceDTO;
import com.hzs.member.account.service.ICuMemberAuthenticationService;
-import com.hzs.member.account.service.ICuMemberTradeService;
import com.hzs.member.account.vo.CuMemberAuthenticationVO;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.self.service.ICuSelfServiceLogService;
@@ -26,30 +21,16 @@ import com.hzs.member.self.vo.DomicileChangeVO;
import com.hzs.member.sms.service.impl.ApiSmsServiceImpl;
import com.hzs.system.config.IServiceChargeServiceApi;
import com.hzs.system.config.dto.ServiceChargeDTO;
-import com.hzs.system.sys.IApprovalServiceApi;
-import com.hzs.system.sys.dto.ApprovalInfoDTO;
-import com.hzs.system.sys.dto.ApprovalItemInfoDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
/**
* 变理户籍
- *
- * @Description:
- * @Author: ljc
- * @Time: 2023/4/18 10:07
- * @Classname: ApiDomicileChangeController
- * @Package_name: com.hzs.member.self.controller.api
*/
@Slf4j
@RequestMapping("/api/change-domicile")
@@ -57,25 +38,16 @@ import java.util.stream.Collectors;
public class ApiDomicileChangeController extends BaseController {
@Autowired
- private ICuMemberAuthenticationService cuMemberAuthenticationService;
-
+ private ICuMemberAuthenticationService iCuMemberAuthenticationService;
@Autowired
- private ICuMemberService cuMemberService;
-
+ private ICuMemberService iCuMemberService;
@Autowired
private ApiSmsServiceImpl apiSmsService;
-
@Autowired
- private ICuMemberTradeService cuMemberTradeService;
-
- @Autowired
- private ICuSelfServiceLogService serviceLogService;
+ private ICuSelfServiceLogService iCuSelfServiceLogService;
@DubboReference
- IServiceChargeServiceApi serviceChargeServiceApi;
-
- @DubboReference
- IApprovalServiceApi iApprovalServiceApi;
+ IServiceChargeServiceApi iServiceChargeServiceApi;
/**
* 查询可申请信息
@@ -85,7 +57,7 @@ public class ApiDomicileChangeController extends BaseController {
@GetMapping("/application-info-list")
public AjaxResult applicationInformation() {
Long pkMember = SecurityUtils.getUserId();
- CuMemberExt member = cuMemberService.getMemberById(pkMember);
+ CuMemberExt member = iCuMemberService.getMemberById(pkMember);
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder().memberCode(member.getMemberCode())
.memberName(member.getMemberName()).phone(member.getPhone())
.changeNum(MagicNumberConstants.CHANGE_NUM).build();
@@ -95,7 +67,7 @@ public class ApiDomicileChangeController extends BaseController {
@GetMapping("/application-info-detail")
public AjaxResult applicationInformationDetail() {
- return AjaxResult.success(serviceLogService.selectDomicileChangeByPkMember(SecurityUtils.getUserId(), EApprovalBusiness.DOMICILE_CHANGE.getValue(), SecurityUtils.getPkCountry()));
+ return AjaxResult.success(iCuSelfServiceLogService.selectDomicileChangeByPkMember(SecurityUtils.getUserId(), EApprovalBusiness.DOMICILE_CHANGE.getValue(), SecurityUtils.getPkCountry()));
}
/**
@@ -107,7 +79,7 @@ public class ApiDomicileChangeController extends BaseController {
public AjaxResult appliedInformation() {
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder().pkMember(SecurityUtils.getUserId())
.pkCountry(SecurityUtils.getPkCountry()).editType(EApprovalBusiness.DOMICILE_CHANGE.getValue()).build();
- List domicileChangeVOList = (List) serviceLogService.selectSelfServiceByPkMember(domicileChangeVO)[1];
+ List domicileChangeVOList = (List) iCuSelfServiceLogService.selectSelfServiceByPkMember(domicileChangeVO)[1];
return AjaxResult.success(domicileChangeVOList);
}
@@ -119,7 +91,7 @@ public class ApiDomicileChangeController extends BaseController {
*/
@GetMapping("/show-index-domicile")
public AjaxResult showIndexDomicile() {
- return AjaxResult.success(serviceLogService.showIndexDomicile(SecurityUtils.getPkCountry(), SecurityUtils.getUserId()));
+ return AjaxResult.success(iCuSelfServiceLogService.showIndexDomicile(SecurityUtils.getPkCountry(), SecurityUtils.getUserId()));
}
@@ -159,21 +131,15 @@ public class ApiDomicileChangeController extends BaseController {
if (!existApprovalData.equals(AjaxResult.success())) {
return existApprovalData;
}
- //余额是否充足
- AjaxResult accountBalance = isAccountBalance(domicileChangeVO);
- if (!accountBalance.equals(AjaxResult.success())) {
- return accountBalance;
- }
//验证码校验
String key = ESmsTemplate.VERIFICATION.getCache() + pkMember;
String message = apiSmsService.checkSms(key, domicileChangeVO.getVerificationCode());
if (null != message) {
return AjaxResult.error(message);
}
- return toAjax(serviceLogService.saveChangeDomicile(domicileChangeVO));
+ return toAjax(iCuSelfServiceLogService.saveChangeDomicile(domicileChangeVO));
}
-
/**
* 显示户籍变更信息
*
@@ -185,10 +151,10 @@ public class ApiDomicileChangeController extends BaseController {
String idFront = null;
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
- CuMemberExt member = cuMemberService.getMemberById(pkMember);
+ CuMemberExt member = iCuMemberService.getMemberById(pkMember);
//查询实名认证信息原证件图
CuMemberAuthenticationVO authenticationVO = CuMemberAuthenticationVO.builder().pkCountry(pkCountry).pkMember(pkMember).build();
- CuMemberAuthenticationVO cuMemberAuthenticationVO = cuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(authenticationVO);
+ CuMemberAuthenticationVO cuMemberAuthenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(authenticationVO);
if (null != cuMemberAuthenticationVO) {
idBack = cuMemberAuthenticationVO.getIdBack();
idFront = cuMemberAuthenticationVO.getIdFront();
@@ -212,7 +178,7 @@ public class ApiDomicileChangeController extends BaseController {
cuSelfServiceLog.setPkCountry(domicileChangeVO.getPkCountry());
cuSelfServiceLog.setEditType(EApprovalBusiness.DOMICILE_CHANGE.getValue());
cuSelfServiceLog.setPkMember(domicileChangeVO.getPkMember());
- Integer check = serviceLogService.checkSelfService(cuSelfServiceLog);
+ Integer check = iCuSelfServiceLogService.checkSelfService(cuSelfServiceLog);
if (check > 0) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_CODE_REPEAT));
}
@@ -231,43 +197,7 @@ public class ApiDomicileChangeController extends BaseController {
serviceChargeDTO.setType(EApprovalBusiness.DOMICILE_CHANGE.getValue());
serviceChargeDTO.setPkCountry(pkCountry);
serviceChargeDTO.setQuantity(MagicNumberConstants.CHANGE_NUM);
- return serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO).getData();
- }
-
- /**
- * 查询余额是否充足
- *
- * @param domicileChangeVO 户籍变更信息
- * @return AjaxResult
- */
- private AjaxResult isAccountBalance(DomicileChangeVO domicileChangeVO) {
- List memberAmountDTOList = new ArrayList<>();
- memberAmountDTOList.add(MemberAmountDTO.builder().pkMember(domicileChangeVO.getPkMember()).tradeAmount(domicileChangeVO.getAmount()).build());
- BusinessCommissionDTO businessCommissionDTO = BusinessCommissionDTO.builder().pkAccount(domicileChangeVO.getPkAccount()).memberAmountDTOList(memberAmountDTOList).build();
- List memberBalanceList = cuMemberTradeService.selectBalanceNotEnoughMember(businessCommissionDTO);
- if (CollectionUtil.isNotEmpty(memberBalanceList)) {
- return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_BALANCE_INSUFFICIENT));
- }
- return AjaxResult.success();
- }
-
- /**
- * 是否配置审批人信息
- *
- * @param pkCountry 国家ID
- * @return AjaxResult
- */
- private AjaxResult isConfigApprovalInfo(Integer pkCountry, DomicileChangeVO domicileChangeVO) {
- Map approvalInfoMap = iApprovalServiceApi.queryApprovalInfo(Collections.singletonList(EApprovalBusiness.DOMICILE_CHANGE.getValue()), pkCountry).getData();
- // 根据审批业务类型判断是否配置审批流程
- ApprovalInfoDTO approvalInfo = approvalInfoMap.get(EApprovalBusiness.DOMICILE_CHANGE.getValue());
- if (null == approvalInfo || CollectionUtil.isEmpty(approvalInfo.getItemList())) {
- log.error("{} 提交认证失败,未配置审批流程", EApprovalBusiness.DOMICILE_CHANGE.getLabel());
- return AjaxResult.error("提交认证失败,请联系客服");
- }
- List userList = approvalInfo.getItemList().stream().map(ApprovalItemInfoDTO::getPkUser).collect(Collectors.toList());
- domicileChangeVO.setUserIdList(userList);
- return AjaxResult.success();
+ return iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO).getData();
}
}
From d2474562db6be2d166c62a2729c769404bcfb436 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 13 Jun 2025 16:57:46 +0800
Subject: [PATCH 36/75] =?UTF-8?q?##=20=E4=BC=9E=E4=B8=8B=E7=9B=B4=E6=8E=A8?=
=?UTF-8?q?=E4=B8=9A=E7=BB=A9=E7=BB=9F=E8=AE=A1=E6=8A=A5=E9=94=99=EF=BC=88?=
=?UTF-8?q?178=EF=BC=89=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../manage/MemberReportController.java | 308 +++++++-----------
.../mapper/CuMemberSettlePeriodMapper.java | 3 -
.../service/ICuMemberSettlePeriodService.java | 6 -
.../impl/CuMemberSettlePeriodServiceImpl.java | 3 -
4 files changed, 122 insertions(+), 198 deletions(-)
diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java
index 7dd205e1..3ccb2f69 100644
--- a/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java
+++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/member/controller/manage/MemberReportController.java
@@ -8,12 +8,14 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.constant.TableNameConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
+import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.utils.poi.ExcelUtil;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
+import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
@@ -41,14 +43,6 @@ import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
-/**
- * @BelongsProject: hzs_cloud
- * @BelongsPackage: com.hzs.report.member.controller
- * @Author: yh
- * @CreateTime: 2023-08-26 09:40
- * @Description:
- * @Version: 1.0
- */
@RequestMapping("/manager/member-report")
@RestController
public class MemberReportController extends BaseController {
@@ -58,23 +52,19 @@ public class MemberReportController extends BaseController {
@Autowired
private ITransactionCommonService iTransactionCommonService;
@Autowired
- private IMemberService memberService;
+ private IMemberService iMemberService;
@Autowired
- private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
+ private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
@DubboReference
- IMemberServiceApi memberServiceApi;
+ IMemberServiceApi iMemberServiceApi;
@DubboReference
- IAreaServiceApi areaServiceApi;
+ IAreaServiceApi iAreaServiceApi;
@DubboReference
- ICurrencyServiceApi currencyServiceApi;
+ ICurrencyServiceApi iCurrencyServiceApi;
/**
- * @description: 伞下直推新增业绩
- * @author: zhang jing
- * @date: 2023/10/10 9:53
- * @param: [memberCode, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex, orderType]
- * @return: com.hzs.common.core.web.page.TableDataInfo
+ * 伞下直推新增业绩
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-new")
@@ -105,8 +95,14 @@ public class MemberReportController extends BaseController {
Date zonpayTime = DateUtils.afterDate(1, ChronoUnit.DAYS, endPayTime);
dpo.setZonpayTime(zonpayTime);
dpo.setEndPayTime(endPayTime);
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+
+ CuMemberSettlePeriod startPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr);
+ if (null == startPeriod) {
+ throw new ServiceException("查询开始时间不存在数据");
+ }
+ int periodSta = startPeriod.getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+
dpo.setPkCountry(pkCountry);
//查询最新期数
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_RETAIL_RANGE + periodSta);
@@ -124,7 +120,7 @@ public class MemberReportController extends BaseController {
if (CollectionUtil.isEmpty(memberList)) {
return getDataTable(new ArrayList<>());
}
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
//伞下直推新增业绩
List achieList = memberReportService.directPushNewAchieUpList(dpo, Collections.singletonList(memberList.get(0).getPkMember()));
//查询大小区业绩
@@ -150,11 +146,7 @@ public class MemberReportController extends BaseController {
/**
- * @description: 导入批量查询会员信息
- * @author: zhang jing
- * @date: 2025/2/11 10:01
- * @param: [file]
- * @return: com.hzs.common.core.web.domain.AjaxResult
+ * 导入批量查询会员信息
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.IMPORT)
@PostMapping("/batch-importData")
@@ -184,11 +176,7 @@ public class MemberReportController extends BaseController {
/**
- * @description: 导出伞下直推新增业绩
- * @author: zhang jing
- * @date: 2023/10/10 9:53
- * @param: [memberCode, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex, response, orderType]
- * @return: void
+ * 导出伞下直推新增业绩
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT)
@PostMapping("/export-direct-push-new")
@@ -223,15 +211,15 @@ public class MemberReportController extends BaseController {
Date zonpayTime = DateUtils.afterDate(1, ChronoUnit.DAYS, dpo.getEndPayTime());
dpo.setZonpayTime(zonpayTime);
//查询最新期数
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+ int periodSta = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
dpo.setPkCountry(pkCountry);
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_RETAIL_RANGE + periodSta);
dpo.setAchieveTableNameEnd(TableNameConstants.CU_MEMBER_RETAIL_RANGE + periodEnd);
//伞下直推新增业绩
List memberList = memberReportService.directPushNewList(dpo.getMemberCodeList(), pkCountry, startPayTime, endPayTime);
List pkMemberList = memberList.stream().map(DirectPushNewVo::getPkMember).collect(Collectors.toList());
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List achieList = memberReportService.directPushNewAchieUpList(dpo, pkMemberList);
if (CollectionUtil.isNotEmpty(memberList)) {
@@ -260,11 +248,7 @@ public class MemberReportController extends BaseController {
}
/**
- * @description: 伞下直推新增业金额绩大小区金额业绩详情
- * @author: zhang jing
- * @date: 2025/2/17 16:05
- * @param: [dpo]
- * @return: com.hzs.common.core.web.page.TableDataInfo
+ * 伞下直推新增业金额绩大小区金额业绩详情
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW_DETAILS, method = EOperationMethod.SELECT)
@GetMapping("/directPush-up-details")
@@ -275,9 +259,9 @@ public class MemberReportController extends BaseController {
if (StringUtils.isNull(dpo.getMemberCode())) {
return getDataTable(new ArrayList<>());
}
- R memberDto = memberServiceApi.getMember(dpo.getMemberCode());
+ R memberDto = iMemberServiceApi.getMember(dpo.getMemberCode());
CuMember member = memberDto.getData();
- if(member==null){
+ if (member == null) {
return getDataTable(new ArrayList<>());
}
dpo.setPkMember(member.getPkId());
@@ -297,8 +281,8 @@ public class MemberReportController extends BaseController {
endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
}
dpo.setEndPayTime(dpo.getEndPayTime());
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+ int periodSta = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
dpo.setPkCountry(pkCountry);
//查询最新期数
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodSta);
@@ -314,18 +298,18 @@ public class MemberReportController extends BaseController {
return getDataTable(new ArrayList<>());
}
List pkMemberList = memberList.stream().map(DirectPushNewVo::getPkMember).collect(Collectors.toList());
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
//伞下直推新增业绩
List achieList = memberReportService.directPushNewAchieList(dpo, pkMemberList);
if (CollectionUtil.isNotEmpty(memberList)) {
memberList.forEach(itm -> {
if (CollectionUtil.isNotEmpty(achieList)) {
- achieList.forEach(itmm->{
- if(itm.getPkMember().equals(itmm.getPkMember())){
+ achieList.forEach(itmm -> {
+ if (itm.getPkMember().equals(itmm.getPkMember())) {
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(itmm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
- }else{
+ } else {
itm.setOrderAchieve(itmm.getOrderAchieve());
}
itm.setOrderAmount(itmm.getOrderAmount());
@@ -334,36 +318,32 @@ public class MemberReportController extends BaseController {
}
});
}
- List dpdVoList=new ArrayList<>();
+ List dpdVoList = new ArrayList<>();
memberList.forEach(itm -> dpdVoList.add(BeanUtil.copyProperties(itm, DirectPushNewDetailsVo.class)));
return getDataTable(dpdVoList);
}
/**
- * @description: 导出伞下直推新增业金额绩大小区金额业绩详情
- * @author: zhang jing
- * @date: 2025/2/17 16:46
- * @param: [response, dpo]
- * @return: void
+ * 导出伞下直推新增业金额绩大小区金额业绩详情
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW_DETAILS, method = EOperationMethod.EXPORT)
@PostMapping("/export-directPush-up-details")
- public void exportDirectPushUpDetails(HttpServletResponse response,DirectPushNewVo dpo) {
+ public void exportDirectPushUpDetails(HttpServletResponse response, DirectPushNewVo dpo) {
if (StringUtils.isNull(dpo.getStartPayTime()) || StringUtils.isNull(dpo.getEndPayTime())) {
- return ;
+ return;
}
if (StringUtils.isNull(dpo.getMemberCode())) {
- return ;
+ return;
}
Integer pkCountry = SecurityUtils.getPkCountry();
Date date = DateUtils.currentDate();
if (DateUtils.compareDate(dpo.getStartPayTime(), date) > 0 || DateUtils.compareDate(dpo.getEndPayTime(), date) > 0) {
- return ;
+ return;
}
- R memberDto = memberServiceApi.getMember(dpo.getMemberCode());
+ R memberDto = iMemberServiceApi.getMember(dpo.getMemberCode());
CuMember member = memberDto.getData();
- if(member==null){
- return ;
+ if (member == null) {
+ return;
}
dpo.setPkMember(member.getPkId());
String date1 = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
@@ -376,8 +356,8 @@ public class MemberReportController extends BaseController {
endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
}
dpo.setEndPayTime(dpo.getEndPayTime());
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+ int periodSta = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
dpo.setPkCountry(pkCountry);
//查询最新期数
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodSta);
@@ -385,25 +365,25 @@ public class MemberReportController extends BaseController {
if (memberReportService.selectExistTable(dpo.getAchieveTableNameSta()) == 0 ||
memberReportService.selectExistTable(dpo.getAchieveTableNameEnd()) == 0
) {
- return ;
+ return;
}
//查询会员
List memberList = memberReportService.querDirectPushDetails(dpo);
if (CollectionUtil.isEmpty(memberList)) {
- return ;
+ return;
}
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
//伞下直推新增业绩
List achieList = memberReportService.directPushNewAchieList(dpo, Arrays.asList(memberList.get(0).getPkMember()));
if (CollectionUtil.isNotEmpty(memberList)) {
memberList.forEach(itm -> {
if (CollectionUtil.isNotEmpty(achieList)) {
- achieList.forEach(itmm->{
- if(itm.getPkMember().equals(itmm.getPkMember())){
+ achieList.forEach(itmm -> {
+ if (itm.getPkMember().equals(itmm.getPkMember())) {
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(itmm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
- }else{
+ } else {
itm.setOrderAchieve(itmm.getOrderAchieve());
}
itm.setOrderAmount(itmm.getOrderAmount());
@@ -412,18 +392,14 @@ public class MemberReportController extends BaseController {
}
});
}
- List dpdVoList=new ArrayList<>();
+ List dpdVoList = new ArrayList<>();
memberList.forEach(itm -> dpdVoList.add(BeanUtil.copyProperties(itm, DirectPushNewDetailsVo.class)));
ExcelUtil util = new ExcelUtil<>(DirectPushNewDetailsVo.class);
util.exportExcel(response, dpdVoList, "伞下直推新增业绩详情导出");
}
/**
- * @description: 伞下直推新增业金额绩大小区金额业绩(新)
- * @author: zhang jing
- * @date: 2025/2/21 9:52
- * @param: [memberCode, pkCountry, startPayTime, endPayTime]
- * @return: com.hzs.common.core.web.page.TableDataInfo
+ * 伞下直推新增业金额绩大小区金额业绩(新)
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-new-up")
@@ -449,14 +425,19 @@ public class MemberReportController extends BaseController {
if (date1.equals(date2) || (DateUtils.compareDate(endPayTime, date) >= 0)) {
dpo.setPayTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date));
endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
- String dateNow=DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
- dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
+ String dateNow = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
+ dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
}
Date zonpayTime = DateUtils.afterDate(1, ChronoUnit.DAYS, endPayTime);
dpo.setZonpayTime(zonpayTime);
dpo.setEndPayTime(endPayTime);
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+
+ CuMemberSettlePeriod startPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr);
+ if (null == startPeriod) {
+ throw new ServiceException("查询开始时间不存在数据");
+ }
+ int periodSta = startPeriod.getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
dpo.setPkCountry(pkCountry);
//查询最新期数
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodSta);
@@ -474,31 +455,31 @@ public class MemberReportController extends BaseController {
if (CollectionUtil.isEmpty(memberList)) {
return getDataTable(new ArrayList<>());
}
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
//伞下直推新增业绩
List achieList = memberReportService.directPushNewAchieList(dpo, Collections.singletonList(memberList.get(0).getPkMember()));
//查询大小区业绩
DirectPushNewVo sizeZoneAchie = memberReportService.sizeZoneAchieAmount(dpo, memberList.get(0).getPkMember(), currency.getData().getInExchangeRate());
if (CollectionUtil.isNotEmpty(memberList)) {
memberList.forEach(itm -> {
- if (null != achieList.get(0)) {
- itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
- itm.setOrderAmount(achieList.get(0).getOrderAmount());
- itm.setRegAmount(achieList.get(0).getRegAmount());
- itm.setRegAchieve(achieList.get(0).getRegAchieve());
- itm.setUpgAmount(achieList.get(0).getUpgAmount());
- itm.setUpgAchieve(achieList.get(0).getUpgAchieve());
- itm.setRepAmount(achieList.get(0).getRepAmount());
- itm.setRepAchieve(achieList.get(0).getRepAchieve());
- itm.setConAmount(achieList.get(0).getConAmount());
- itm.setConAchieve(achieList.get(0).getConAchieve());
- if (sizeZoneAchie != null) {
- itm.setSmallAreaPv(sizeZoneAchie.getSmallAreaPv());
- itm.setBigArealPv(sizeZoneAchie.getBigArealPv());
- itm.setSmallAreaAm(sizeZoneAchie.getSmallAreaAm());
- itm.setBigArealAm(sizeZoneAchie.getBigArealAm());
- }
- if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
+ if (CollectionUtil.isNotEmpty(achieList)) {
+ if (null != achieList.get(0)) {
+ itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
+ itm.setOrderAmount(achieList.get(0).getOrderAmount());
+ itm.setRegAmount(achieList.get(0).getRegAmount());
+ itm.setRegAchieve(achieList.get(0).getRegAchieve());
+ itm.setUpgAmount(achieList.get(0).getUpgAmount());
+ itm.setUpgAchieve(achieList.get(0).getUpgAchieve());
+ itm.setRepAmount(achieList.get(0).getRepAmount());
+ itm.setRepAchieve(achieList.get(0).getRepAchieve());
+ itm.setConAmount(achieList.get(0).getConAmount());
+ itm.setConAchieve(achieList.get(0).getConAchieve());
+ if (sizeZoneAchie != null) {
+ itm.setSmallAreaPv(sizeZoneAchie.getSmallAreaPv());
+ itm.setBigArealPv(sizeZoneAchie.getBigArealPv());
+ itm.setSmallAreaAm(sizeZoneAchie.getSmallAreaAm());
+ itm.setBigArealAm(sizeZoneAchie.getBigArealAm());
+ }
//中国业绩转为人民币
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
itm.setRegAchieve(itm.getRegAchieve().multiply(currency.getData().getInExchangeRate()));
@@ -512,13 +493,8 @@ public class MemberReportController extends BaseController {
return getDataTable(memberList);
}
-
/**
- * @description: 导出伞下直推新增业金额绩大小区金额业绩(新)
- * @author: zhang jing
- * @date: 2024/3/19 10:57
- * @param: [directPushNewVo, response]
- * @return: void
+ * 导出伞下直推新增业金额绩大小区金额业绩(新)
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT)
@PostMapping("/export-direct-push-new-up")
@@ -549,21 +525,21 @@ public class MemberReportController extends BaseController {
if (date1.equals(date2) || (DateUtils.compareDate(endPayTime, date) >= 0)) {
dpo.setPayTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date));
endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
- String dateNow=DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
- dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
+ String dateNow = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
+ dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
}
Date zonpayTime = DateUtils.afterDate(1, ChronoUnit.DAYS, dpo.getEndPayTime());
dpo.setZonpayTime(zonpayTime);
//查询最新期数
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+ int periodSta = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
dpo.setPkCountry(pkCountry);
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodSta);
dpo.setAchieveTableNameEnd(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodEnd);
//伞下直推新增业绩
List memberList = memberReportService.directPushNewList(dpo.getMemberCodeList(), pkCountry, startPayTime, endPayTime);
List pkMemberList = memberList.stream().map(DirectPushNewVo::getPkMember).collect(Collectors.toList());
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List achieList = memberReportService.directPushNewAchieList(dpo, pkMemberList);
if (CollectionUtil.isNotEmpty(memberList)) {
@@ -606,11 +582,7 @@ public class MemberReportController extends BaseController {
}
/**
- * @description: 伞下直推新增盒数大小区盒数
- * @author: zhang jing
- * @date: 2025/2/14 9:53
- * @param: [memberCode, pkCountry, startPayTime, endPayTime]
- * @return: com.hzs.common.core.web.page.TableDataInfo
+ * 伞下直推新增盒数大小区盒数
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_BOX, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-box")
@@ -643,15 +615,15 @@ public class MemberReportController extends BaseController {
Date zonpayTime = DateUtils.afterDate(1, ChronoUnit.DAYS, endPayTime);
dpo.setZonpayTime(zonpayTime);
endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
- String dateNow=DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
- dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
+ String dateNow = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
+ dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
}
dpo.setEndPayTime(endPayTime);
dpo.setStartPayTime(startPayTime);
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+ int periodSta = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
dpo.setPkCountry(pkCountry);
//查询最新期数
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodSta);
@@ -659,7 +631,7 @@ public class MemberReportController extends BaseController {
dpo.setMemberRetailTable(TableNameConstants.CU_MEMBER_RETAIL_RANGE + periodEnd);
if (StringUtils.isNotEmpty(dpo.getPayTime())) {
//查询会员是否激活
- int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dpo.getPayTime()).getPkId();
+ int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dpo.getPayTime()).getPkId();
dpo.setMemberRetailSTable(TableNameConstants.CU_MEMBER_RETAIL_S + period);
}
@@ -701,11 +673,7 @@ public class MemberReportController extends BaseController {
/**
- * @description: 导出伞下直推新增盒数大小区盒数
- * @author: zhang jing
- * @date: 2025/2/17 9:58
- * @param: [response, dpo]
- * @return: void
+ * 导出伞下直推新增盒数大小区盒数
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_BOX, method = EOperationMethod.EXPORT)
@PostMapping("export-direct-push-box")
@@ -742,19 +710,19 @@ public class MemberReportController extends BaseController {
endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, date));
Date zonpayTime = DateUtils.afterDate(1, ChronoUnit.DAYS, dpo.getEndPayTime());
dpo.setZonpayTime(zonpayTime);
- String dateNow=DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
- dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
+ String dateNow = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
+ dpo.setAchieveTableNameNow(TableNameConstants.CU_MEMBER_RETAIL_S + iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dateNow).getPkId());
}
- int periodSta = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
- int periodEnd = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
+ int periodSta = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDateStr).getPkId();
+ int periodEnd = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr).getPkId();
//查询最新期数
dpo.setAchieveTableNameSta(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodSta);
dpo.setAchieveTableNameEnd(TableNameConstants.CU_MEMBER_AMOUNT_BOX + periodEnd);
dpo.setMemberRetailTable(TableNameConstants.CU_MEMBER_RETAIL_RANGE + periodEnd);
if (StringUtils.isNotEmpty(dpo.getPayTime())) {
//查询会员是否激活
- int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dpo.getPayTime()).getPkId();
+ int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(dpo.getPayTime()).getPkId();
dpo.setMemberRetailSTable(TableNameConstants.CU_MEMBER_RETAIL_S + period);
}
@@ -771,7 +739,7 @@ public class MemberReportController extends BaseController {
List pkMemberList = new ArrayList<>();
pkMemberList.addAll(memberList.stream().map(DirectPushNewVo::getPkMember).collect(Collectors.toList()));
//查询会员是否激活
- List enableStatusList = memberReportService.selectMemberActiveState(dpo,pkMemberList);
+ List enableStatusList = memberReportService.selectMemberActiveState(dpo, pkMemberList);
List boxVoList = new ArrayList<>();
memberList.forEach(item -> boxVoList.add(BeanUtil.copyProperties(item, DirectPushBoxVo.class)));
//伞下直推新增盒数
@@ -831,7 +799,7 @@ public class MemberReportController extends BaseController {
if (endPayTime != null) {
endPayTime = DateUtils.getEndTime(endPayTime);
}
- R memberDto = memberServiceApi.getMember(memberCode);
+ R memberDto = iMemberServiceApi.getMember(memberCode);
CuMember member = memberDto.getData();
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
@@ -841,7 +809,7 @@ public class MemberReportController extends BaseController {
if (member == null) {
return getDataTable(new ArrayList<>());
}
- R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List orderTypeList = EOrderBusiness.getOrderTypeList(orderType);
@@ -889,11 +857,7 @@ public class MemberReportController extends BaseController {
}
/**
- * @description: 伞下新增安置业绩列表(历史)
- * @author: zhang jing
- * @date: 2024/3/12 15:15
- * @param: [memberCode, memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, orderType, pkAwards]
- * @return: com.hzs.common.core.web.page.TableDataInfo
+ * 伞下新增安置业绩列表(历史)
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.SELECT)
@GetMapping("/member-resettle-achieve_up")
@@ -925,22 +889,22 @@ public class MemberReportController extends BaseController {
if (StringUtils.isEmpty(memberCode)) {
return getDataTable(new ArrayList<>());
}
- R memberDto = memberServiceApi.getMemberByCode(memberCode);
+ R memberDto = iMemberServiceApi.getMemberByCode(memberCode);
CuMember member = memberDto.getData();
if (member == null) {
return getDataTable(new ArrayList<>());
}
Integer pkCountry = SecurityUtils.getPkCountry();
- R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List memberResettleAchieveList = new ArrayList<>();
BigDecimal inExchangeRate = currency.getInExchangeRate();
//查询最新期数
- int staPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
+ int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(startDateStr)).getPkId();
- int endPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
+ int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(endDateStr)).getPkId();
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr);
@@ -972,11 +936,7 @@ public class MemberReportController extends BaseController {
}
/**
- * @description: 导出伞下新增安置业绩列表
- * @author: zhang jing
- * @date: 2024/3/15 14:19
- * @param: [response, memberCode, memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, orderType, pkAwards]
- * @return: void
+ * 导出伞下新增安置业绩列表
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.EXPORT)
@PostMapping("/member-resettle-achieve_up_export")
@@ -1008,7 +968,7 @@ public class MemberReportController extends BaseController {
if (StringUtils.isEmpty(memberCode)) {
return;
}
- R memberDto = memberServiceApi.getMemberByCode(memberCode);
+ R memberDto = iMemberServiceApi.getMemberByCode(memberCode);
CuMember member = memberDto.getData();
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
@@ -1018,14 +978,14 @@ public class MemberReportController extends BaseController {
if (member == null) {
return;
}
- R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List memberResettleAchieveList = new ArrayList<>();
BigDecimal inExchangeRate = currency.getInExchangeRate();
//查询最新期数
- int staPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
+ int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(startDateStr)).getPkId();
- int endPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
+ int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(endDateStr)).getPkId();
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
@@ -1069,7 +1029,7 @@ public class MemberReportController extends BaseController {
if (memberResettleAchieveParam.getEndPayTime() != null) {
memberResettleAchieveParam.setEndPayTime(DateUtils.getEndTime(memberResettleAchieveParam.getEndPayTime()));
}
- R memberDto = memberServiceApi.getMember(memberResettleAchieveParam.getMemberCode());
+ R memberDto = iMemberServiceApi.getMember(memberResettleAchieveParam.getMemberCode());
CuMember member = memberDto.getData();
if (member == null) {
ExcelUtil util = new ExcelUtil<>(MemberResettleAchieveVo.class);
@@ -1086,7 +1046,7 @@ public class MemberReportController extends BaseController {
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
pkCountry = SecurityUtils.getPkCountry();
}
- R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List orderTypeList = EOrderBusiness.getOrderTypeList(memberResettleAchieveParam.getOrderType());
@@ -1135,9 +1095,6 @@ public class MemberReportController extends BaseController {
/**
* 订单币种查询
- *
- * @param
- * @return
*/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.ORDER_CURRENCY_LIST, method = EOperationMethod.SELECT)
@GetMapping("/order-currency-list")
@@ -1203,9 +1160,6 @@ public class MemberReportController extends BaseController {
/**
* 订单分布统计
- *
- * @param
- * @return
*/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.GET_ORDER_DISTRIBUTION, method = EOperationMethod.SELECT)
@GetMapping("/get-order-distribution")
@@ -1233,9 +1187,6 @@ public class MemberReportController extends BaseController {
/**
* 出货明细汇总统计
- *
- * @param
- * @return
*/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_SHIPPING_DETAILS_LIST, method = EOperationMethod.SELECT)
@GetMapping("/product-shipping-details-list")
@@ -1360,7 +1311,7 @@ public class MemberReportController extends BaseController {
// 补全23:59:59
reportSummaryVo.setEndCreateTime(DateUtils.getEndTime(reportSummaryVo.getEndCreateTime()));
}
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
startPage();
reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry());
List reportSummaryList = memberReportService.reportSummaryList(reportSummaryVo);
@@ -1390,7 +1341,7 @@ public class MemberReportController extends BaseController {
// 补全23:59:59
reportSummaryVo.setEndCreateTime(DateUtils.getEndTime(reportSummaryVo.getEndCreateTime()));
}
- R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
+ R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
reportSummaryVo.setPkCountry(SecurityUtils.getPkCountry());
List reportSummaryList = memberReportService.reportSummaryList(reportSummaryVo);
for (ReportSummaryVo summaryVo : reportSummaryList) {
@@ -1409,10 +1360,7 @@ public class MemberReportController extends BaseController {
}
/*
- * @description: 推荐反查
- * @author: sui q
- * @date: 2023/8/28 10:07
- * @param: null null
+ * 推荐反查
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PARENT_PEG, method = EOperationMethod.SELECT)
@PostMapping("/parent-peg")
@@ -1420,7 +1368,7 @@ public class MemberReportController extends BaseController {
List cuMemberPushAchieveVOList = new ArrayList<>();
if (StringUtils.isNotEmpty(cuMemberUmbrellaParam.getMemberCode())) {
startPage();
- List cuMemberAchieveExtList = memberService.queryParentCuMemberAchieveExt(cuMemberUmbrellaParam);
+ List cuMemberAchieveExtList = iMemberService.queryParentCuMemberAchieveExt(cuMemberUmbrellaParam);
for (CuMemberAchieveExt cuMemberAchieveExt : cuMemberAchieveExtList) {
CuMemberPushAchieveVO vo = BeanUtil.copyProperties(cuMemberAchieveExt, CuMemberPushAchieveVO.class);
cuMemberPushAchieveVOList.add(vo);
@@ -1433,11 +1381,7 @@ public class MemberReportController extends BaseController {
}
/**
- * @description: 导出推荐反查
- * @author: zhang jing zj
- * @date: 2023/9/12 10:04
- * @param: [response, cuMemberUmbrellaParam]
- * @return: void
+ * 导出推荐反查
**/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PARENT_PEG, method = EOperationMethod.EXPORT)
@PostMapping("/export-parent-peg")
@@ -1445,7 +1389,7 @@ public class MemberReportController extends BaseController {
List cuMemberPushAchieveVOList = new ArrayList<>();
if (StringUtils.isNotEmpty(cuMemberUmbrellaParam.getMemberCode())) {
- List cuMemberAchieveExtList = memberService.queryParentCuMemberAchieveExt(cuMemberUmbrellaParam);
+ List cuMemberAchieveExtList = iMemberService.queryParentCuMemberAchieveExt(cuMemberUmbrellaParam);
if (CollectionUtil.isNotEmpty(cuMemberAchieveExtList)) {
// 获取需要翻译的枚举翻译
Map transactionMap = iTransactionCommonService.exportEnumTransaction(ECategory.values());
@@ -1471,7 +1415,7 @@ public class MemberReportController extends BaseController {
@GetMapping("/product-detail-query-list")
public TableDataInfo productDetailQuery(ProductDetailQueryParam productDetailQueryParam) {
// if (StringUtils.isNotBlank(productDetailQueryParam.getMemberCode())) {
-// R memberDto = memberServiceApi.getMember(productDetailQueryParam.getMemberCode());
+// R memberDto = iMemberServiceApi.getMember(productDetailQueryParam.getMemberCode());
// CuMember member = memberDto.getData();
// if (member != null) {
// productDetailQueryParam.setMemberCode(null);
@@ -1486,7 +1430,7 @@ public class MemberReportController extends BaseController {
productDetailQueryParam.setEndPayTime(DateUtils.getEndTime(productDetailQueryParam.getEndPayTime()));
}
- R