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 + select * from ( - select * - from CU_MEMBER_SERVICE_LOG - where 1=1 - - and EDIT_TYPE in - - #{editType} - - - and PK_MEMBER = #{pkMember} - and APPROVE_STATUS = #{approveStatus} - and del_flag = 0 - - and CREATION_TIME <= to_date(#{actEndDateStr} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') - - order by CREATION_TIME desc) + select * + from CU_MEMBER_SERVICE_LOG + where 1=1 + + and EDIT_TYPE in + + #{editType} + + + and PK_MEMBER = #{pkMember} + and APPROVE_STATUS = #{approveStatus} + and del_flag = 0 + + and CREATION_TIME <= to_date(#{actEndDateStr} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') + + order by CREATION_TIME desc) where rownum <= 2 + + + diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java index 8cef6955..f7255570 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java @@ -35,16 +35,6 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange { */ private String awardsName; - /** - * 是否相同日,注册日是累计升级 - */ - private Integer sameDate; - - /** - * 注册升级购买数量 - */ - private Integer buyNum; - /** * 极差比例 */ diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberServiceLog.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberServiceLog.java index b9d7d420..4b5be867 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberServiceLog.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberServiceLog.java @@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.util.Date; + import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; + import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonFormat; @@ -15,12 +17,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 办理业务记录信息表 - *

- * - * @author hzs - * @since 2022-08-22 */ @Data @Builder @@ -103,7 +100,7 @@ public class CuMemberServiceLog extends BaseEntity { private BigDecimal singleAmount; /** - * 批次单号(大单号) + * 批次单号(大单号) */ @TableField(exist = false) private String orderNumber; From 3a7ff8afb04a127c9d6656792577453ea25415ef Mon Sep 17 00:00:00 2001 From: woody Date: Fri, 13 Jun 2025 09:03:12 +0800 Subject: [PATCH 12/75] =?UTF-8?q?feat(MemberEmptyService):=20=E7=A9=BA?= =?UTF-8?q?=E5=8D=95=E6=B3=A8=E5=86=8C=E4=B8=8D=E6=A0=A1=E9=AA=8C=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MemberEmptyServiceImpl.java | 33 ++++--------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/service/impl/MemberEmptyServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/service/impl/MemberEmptyServiceImpl.java index dfadf4ff..3eca5bb6 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/service/impl/MemberEmptyServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/service/impl/MemberEmptyServiceImpl.java @@ -116,12 +116,10 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService { public void importTemplate(List resultList) { // 会员编号列表(导入会员编号去重) List checkMemberList = new ArrayList<>(); - // 会员联系方式列表(需要查库校验) - List checkPhoneList = new ArrayList<>(); // 遍历导入数据,提取各种校验所需要的数据 for (MemberEmptyDetailDTO detail : resultList) { - this.checkBase(detail, checkMemberList, checkPhoneList); + this.checkBase(detail, checkMemberList); } } @@ -255,7 +253,7 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService { // 遍历导入数据,提取各种校验所需要的数据 for (MemberEmptyDetailDTO detail : resultList) { - if (this.checkBase(detail, checkMemberList, checkPhoneList)) { + if (this.checkBase(detail, checkMemberList)) { // 已经存在异常,直接返回 return false; } @@ -270,8 +268,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService { // 查询会员编号是否存在 Map checkCodeMap = iCuMemberService.checkMemberCodeExist(checkMemberList, true, pkMemberEmpty); - // 查询联系方式是否存在 - Map checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty, systemType); +// // 查询联系方式是否存在 +// Map checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty, systemType); // 查询推荐编号是否存在(在本次推荐数据中的直接排除掉) final Map checkParentCodeMap = new HashMap<>(); @@ -290,15 +288,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService { bool[0] = false; } } - if (checkPhoneMap.size() > 0) { - if (null != checkPhoneMap.get(detail.getPhone()) && checkPhoneMap.get(detail.getPhone()) >= 1) { - // 导入的会员联系方式已经存在数据库中,异常状态 - detail.setPointStatus(EPointStatus.ABNORMAL.getValue()); - // 会员联系方式存在重复 - detail.setContentAbstract(detail.getContentAbstract().replace(TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT), "") + TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT) + ";"); - bool[0] = false; - } - } // 处理校验推荐编号是否存在 if (!checkMemberList.contains(detail.getParentCode()) && checkParentCodeMap.get(detail.getParentCode()) == null) { // 推荐编号不在本次导入的会员中,也不在数据库中,异常状态 @@ -568,9 +557,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService { * * @param detail 校验数据 * @param checkMemberList 会员编号列表 - * @param checkPhoneList 会员联系方式列表 */ - private boolean checkBase(MemberEmptyDetailDTO detail, List checkMemberList, List checkPhoneList) { + private boolean checkBase(MemberEmptyDetailDTO detail, List checkMemberList) { // 校验之前先为空 detail.setPointStatus(EPointStatus.NORMAL.getValue()); detail.setContentAbstract(""); @@ -601,16 +589,7 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService { // 导入数据中不重复的会员编号,需要查库校验是否重复 checkMemberList.add(detail.getMemberCode()); } - if (checkPhoneList.contains(detail.getPhone())) { - // 导入的数据存在重复联系方式,异常状态 - detail.setPointStatus(EPointStatus.ABNORMAL.getValue()); - // 联系方式存在重复 - detail.setContentAbstract(detail.getContentAbstract() + TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT) + ";"); - hasError = true; - } else { - // 导入数据中不重复的联系方式,需要查库校验是否重复 - checkPhoneList.add(detail.getPhone()); - } + return hasError; } From 8363daf3b94810e813efff00ac3bce0d3977636b Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 13 Jun 2025 09:21:19 +0800 Subject: [PATCH 13/75] =?UTF-8?q?##=20get-info=E8=BF=94=E5=9B=9E=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E6=BF=80=E6=B4=BB=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../retail/member/service/impl/MemberRetailServiceImpl.java | 1 + .../java/com/hzs/retail/member/vo/RetailMemberInfoVO.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java index e76a25df..ffb5c0de 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java @@ -87,6 +87,7 @@ public class MemberRetailServiceImpl implements IMemberRetailService { .systemType(cuMember.getSystemType()) .pkCountry(cuMember.getPkCountry()) .pkSettleCountry(cuMember.getPkSettleCountry()) + .isActivate(cuMember.getIsActivate()) .build(); } return null; diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java index 108d531c..6cf20d6c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java @@ -127,4 +127,9 @@ public class RetailMemberInfoVO implements Serializable { */ private Integer systemType; + /** + * 是否激活(0=是,1=否) + */ + private Integer isActivate; + } From e5358217a46da6fca362dd9c768baf80028d1858 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 13 Jun 2025 09:35:13 +0800 Subject: [PATCH 14/75] =?UTF-8?q?##=20Feat=20-=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=A7=92=E7=BB=93=E8=A1=A5=E5=81=BFMQ=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/RabbitMqConstants.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RabbitMqConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RabbitMqConstants.java index 9d630351..4b4b0993 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RabbitMqConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RabbitMqConstants.java @@ -37,6 +37,21 @@ public class RabbitMqConstants { */ public static final String ORDER_SECOND_KEY = PREFIX + "order.second.key"; + + + /** + * 奖金秒接-激活补偿 exchange + */ + public static final String ORDER_SECOND_ACTIVATE_COMPENSATION_EXCHANGE = PREFIX + "order.second_activate_compensation.exchange"; + /** + * 奖金秒接-激活补偿 queue + */ + public static final String ORDER_SECOND_ACTIVATE_COMPENSATION_QUEUE = PREFIX + "order.second_activate_compensation.queue"; + /** + * 奖金秒接-激活补偿 key + */ + public static final String ORDER_SECOND_ACTIVATE_COMPENSATION_KEY = PREFIX + "order.second_activate_compensation.key"; + /** * 活动 exchange */ From b32e00d74e4e503eb4919a815d566ed970a94400 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 13 Jun 2025 09:59:30 +0800 Subject: [PATCH 15/75] =?UTF-8?q?##=20=E5=8D=87=E7=BA=A7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=BF=80=E6=B4=BBMQ=E6=8E=A8=E9=80=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/service/impl/CuMemberBusinessServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 1bcb3274..7746f410 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -53,6 +53,7 @@ import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.dto.AreaCurrencyDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -85,6 +86,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { private ICuMemberAchieveService cuMemberAchieveService; @Autowired private RedisService redisService; + @Autowired + private RabbitTemplate rabbitTemplate; private ICuMemberService cuMemberService; @@ -1516,6 +1519,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { } this.handleRetailMemberAccount(saOrder, cuMemberAccountExt); + + // 推送会员激活处理 + rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_EXCHANGE, RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_KEY, Collections.singletonList(cuMember.getPkId())); } @Transactional(rollbackFor = Exception.class) From f5b00b773e609f96e655eac9b55b4b4bc1bf14be Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 13 Jun 2025 10:38:50 +0800 Subject: [PATCH 16/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 --- .../impl/CuMemberBonusServiceImpl.java | 5 +- .../service/impl/CuMemberServiceImpl.java | 4 +- .../manage/CuHandleBusinessController.java | 65 +++---------------- .../service/ICuHandleBusinessService.java | 1 - .../impl/CuHandleBusinessServiceImpl.java | 22 +++++-- .../handlebusiness/vo/HandleBusinessVO.java | 12 +--- .../hzs/common/core/enums/EProcessType.java | 6 +- 7 files changed, 32 insertions(+), 83 deletions(-) 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 ab59d7fe..e9018578 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 @@ -14,10 +14,7 @@ import com.hzs.bonus.bonus.service.ICuMemberBonusService; import com.hzs.bonus.bonus.vo.MemberBonusDetailSerVO; import com.hzs.bonus.bonus.vo.MemberBonusDetailVO; import com.hzs.bonus.bonus.vo.MemberBonusVO; -import com.hzs.common.core.constant.HttpStatus; -import com.hzs.common.core.constant.MemberBonusFieldConstants; -import com.hzs.common.core.constant.MemberFieldConstants; -import com.hzs.common.core.constant.SystemFieldConstants; +import com.hzs.common.core.constant.*; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index c95161b4..98472581 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -134,8 +134,8 @@ public class CuMemberServiceImpl extends ServiceImpl i save = true; } } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException(e); + log.error("saveMember error: {}", e.getMessage(), e); + throw new ServiceException(e.getMessage()); } return save; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/controller/manage/CuHandleBusinessController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/controller/manage/CuHandleBusinessController.java index 4618d103..f40579cc 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/controller/manage/CuHandleBusinessController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/controller/manage/CuHandleBusinessController.java @@ -62,9 +62,6 @@ import java.util.stream.Collectors; /** * 业务办理表 前端控制器 - * - * @author zhangjing - * @since 2023-01-11 */ @RestController @RequestMapping("/manage/handle-business") @@ -102,11 +99,7 @@ public class CuHandleBusinessController extends BaseController { /** - * @description: 查询办理业务列表 - * @author: zhang jing - * @date: 2023/1/12 14:58 - * @param: [handleBusinessVO] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询办理业务列表 **/ @AccessPermissions("BasicBusiness") @Log(module = EOperationModule.HANDLE_BUSINESS, business = EOperationBusiness.BASE_BUSINESS, method = EOperationMethod.SELECT) @@ -154,11 +147,7 @@ public class CuHandleBusinessController extends BaseController { } /** - * @description: 校验同姓名同手机号是否满足规则 - * @author: zhang jing - * @date: 2024/12/19 14:27 - * @param: [handleBusinessList] - * @return: java.lang.String + * 校验同姓名同手机号是否满足规则 **/ public List checkNamePhone(List businessMemberList) { //如果只有修改姓名业务或者修改手机业务 @@ -238,27 +227,8 @@ public class CuHandleBusinessController extends BaseController { return errorList; } - /** - * @param CuHandleBusinessVO - * @return - */ - @Log(module = EOperationModule.HANDLE_BUSINESS, method = EOperationMethod.SELECT) - @PostMapping("/confirm") - public AjaxResult confirmHandleBusiness(@RequestBody HandleBusinessVO CuHandleBusinessVO) { - Integer pkCountry = SecurityUtils.getPkCountry(); - - - return null; - } - - - /** - * @description: 业务办理导入数据 - * @author: zhang jing - * @date: 2023/1/21 9:26 - * @param: [file, updateSupport] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 业务办理导入数据 **/ @PostMapping("/importData") @Log(module = EOperationModule.HANDLE_BUSINESS, business = EOperationBusiness.BASE_BUSINESS, method = EOperationMethod.IMPORT) @@ -303,11 +273,7 @@ public class CuHandleBusinessController extends BaseController { } /** - * @description: 办理业务-基础业务校验 - * @author: zhang jing - * @date: 2023/1/21 10:31 - * @param: [businessSingleVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 办理业务-基础业务校验 **/ @Log(module = EOperationModule.HANDLE_BUSINESS, business = EOperationBusiness.BASE_BUSINESS, method = EOperationMethod.SELECT) @PostMapping("/businessCheck") @@ -432,7 +398,7 @@ public class CuHandleBusinessController extends BaseController { nuc.setMemberCode(cov.getMemberCode()); nuc.setMemberName(cov.getMemberName()); nuc.setPhone(cov.getPhone()); - if(StringUtils.isNotNull(uc.getEndValidityDate())){ + if (StringUtils.isNotNull(uc.getEndValidityDate())) { LocalDateTime localDateTime = uc.getEndValidityDate().toInstant() .atZone(ZoneId.systemDefault()) .toLocalDateTime(); @@ -938,11 +904,7 @@ public class CuHandleBusinessController extends BaseController { /** - * @description: 校验用户余额是否充足 - * @author: zhang jing - * @date: 2023/6/7 11:33 - * @param: [businessSingleVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 校验用户余额是否充足 **/ @Log(module = EOperationModule.HANDLE_BUSINESS, business = EOperationBusiness.BASE_BUSINESS, method = EOperationMethod.SELECT) @PostMapping("/balanceCheck") @@ -974,11 +936,7 @@ public class CuHandleBusinessController extends BaseController { } /** - * @description: 更新新值 - * @author: zhang jing - * @date: 2023/3/20 12:11 - * @param: [] - * @return: java.lang.String + * 更新新值 **/ private String newValue(List businessValueList) { //更新会员新值 @@ -999,11 +957,7 @@ public class CuHandleBusinessController extends BaseController { /** - * @description: 重新申请办理业务 - * @author: zhang jing - * @date: 2023/2/1 21:47 - * @param: [businessMemberVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 重新申请办理业务 **/ @Log(module = EOperationModule.HANDLE_BUSINESS, business = EOperationBusiness.BASE_BUSINESS, method = EOperationMethod.SUBMIT) @PostMapping("/againBusiness") @@ -1025,13 +979,12 @@ public class CuHandleBusinessController extends BaseController { } /** - * yh * 在线签呈(发起人) * * @return */ @Log(module = EOperationModule.HANDLE_BUSINESS, business = EOperationBusiness.BASE_BUSINESS, method = EOperationMethod.SUBMIT) - @PostMapping("online-petition") + @PostMapping("/online-petition") public AjaxResult signOnline(@RequestBody OnlinePetitionVo linePetitionVo) { SysUser loginUser = userTokenService.getLoginUser().getLoginSysUser(); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/ICuHandleBusinessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/ICuHandleBusinessService.java index 53313d09..1000b1d6 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/ICuHandleBusinessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/ICuHandleBusinessService.java @@ -20,7 +20,6 @@ public interface ICuHandleBusinessService extends IService { **/ List queryHandleBusinessList(HandleBusinessShowVO handleBusinessVO); - /** * 保存业务办理信息 * 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 58ac737d..3b4afc61 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 @@ -127,6 +127,7 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl list) { Map counts = list.stream() @@ -688,6 +685,21 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl 0; } + + if (result) { + // 修改是否激活,旧值为未激活,新值为激活的会员需要推MQ处理秒结状态 + List pkMemberList = handleBusinessVO.getBusinessMemberList().stream() + .filter( + tmpData -> EApprovalBusiness.IS_ACTIVATE.getValue() == tmpData.getBusinessType() + && tmpData.getOldValue().equals(EYesNo.NO.getIntValue() + "") + && tmpData.getNewValue().equals(EYesNo.YES.getIntValue() + "") + ) + .map(BusinessMemberVO::getPkMember) + .collect(Collectors.toList()); + // 推送会员激活处理 + rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_EXCHANGE, RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_KEY, pkMemberList); + } + return result; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/vo/HandleBusinessVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/vo/HandleBusinessVO.java index 07452b07..586d27fc 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/vo/HandleBusinessVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/vo/HandleBusinessVO.java @@ -6,24 +6,18 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; -import java.math.BigDecimal; import java.util.List; /** - *

* 业务办理表Vo办理基础业务实体VO - *

- * - * @author zhangjing - * @since 2023-01-11 */ @Data @AllArgsConstructor @NoArgsConstructor -public class HandleBusinessVO implements Serializable{ +public class HandleBusinessVO implements Serializable { - private long serialVersionUID = -7461122780634685808L; + private long serialVersionUID = -7461122780634685808L; /** * 会员信息集合 @@ -101,6 +95,4 @@ public class HandleBusinessVO implements Serializable{ private BusinessTableVO btvo; - - } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EProcessType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EProcessType.java index 8728a78a..da40f1a4 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EProcessType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EProcessType.java @@ -5,11 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * @Description: 签呈流程类型 - * @Author: jiang chao - * @Time: 2022/11/10 17:35 - * @Classname: ESignType - * @PackageName: com.hzs.common.core.enums + * 签呈流程类型 */ @AllArgsConstructor @Getter From 4d5e592019e620830af3c97cc7e17753c43d2f84 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 13 Jun 2025 10:39:49 +0800 Subject: [PATCH 17/75] =?UTF-8?q?##=20Feat=20-=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=A7=92=E7=BB=93=E8=A1=A5=E5=81=BFMQ=E9=80=BB=E8=BE=91=20?= =?UTF-8?q?=E6=9F=A5=E5=BD=93=E5=89=8DID=E4=BC=9E=E4=B8=8B=E7=A7=92?= =?UTF-8?q?=E7=BB=93=E8=A1=A8=E7=9A=84sum(NEW=5FBOX=5FNUM)=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=87=B3=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E7=9A=84?= =?UTF-8?q?TEAM=5FNEW=5FBOX=5FNUM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/mapper/CuMemberBonusMapper.java | 2 + .../bonus/service/ICuMemberBonusService.java | 12 ++++- .../impl/CuMemberBonusServiceImpl.java | 26 ++++++++-- ...derSecondActivateCompensationListener.java | 46 +++++++++++++++++ .../bonus/bonus/CuMemberBonusMapper.xml | 19 +++++++ .../api/RetailMemberController.java | 17 +++---- .../member/utils/DataStatisticsUtil.java | 50 ++++++++++++++----- 7 files changed, 143 insertions(+), 29 deletions(-) create mode 100644 bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondActivateCompensationListener.java 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 9f5ed6b0..53ef4e5d 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 @@ -137,4 +137,6 @@ public interface CuMemberBonusMapper extends BaseMapper { * @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/service/ICuMemberBonusService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java index e2d2c1de..2a57871e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusService.java @@ -1,11 +1,11 @@ package com.hzs.bonus.bonus.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.hzs.bonus.bonus.param.BonusParam; +import com.hzs.bonus.bonus.vo.MemberBonusVO; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.member.bonus.CuMemberBonus; import com.hzs.common.domain.member.ext.CuMemberBonusExt; -import com.hzs.bonus.bonus.param.BonusParam; -import com.hzs.bonus.bonus.vo.MemberBonusVO; import java.util.Date; import java.util.List; @@ -165,4 +165,12 @@ public interface ICuMemberBonusService extends IService { void calculateBonusTotal(CuMemberBonusExt cuMemberBonusExt, CuMemberBonusExt memberBonusExt); CuMemberBonusExt initCuMemberBonus(); + + /** + * 用户激活后会抛出MQ + * 在此需要补偿该用户的当日秒结的团队新增 + * + * @param pkIdList + */ + void recalculateTeamNewBoxNum(List pkIdList); } 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 ab59d7fe..f7a3f627 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 @@ -1,10 +1,12 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageInfo; +import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle; import com.hzs.bonus.bonus.mapper.*; @@ -14,10 +16,7 @@ import com.hzs.bonus.bonus.service.ICuMemberBonusService; import com.hzs.bonus.bonus.vo.MemberBonusDetailSerVO; import com.hzs.bonus.bonus.vo.MemberBonusDetailVO; import com.hzs.bonus.bonus.vo.MemberBonusVO; -import com.hzs.common.core.constant.HttpStatus; -import com.hzs.common.core.constant.MemberBonusFieldConstants; -import com.hzs.common.core.constant.MemberFieldConstants; -import com.hzs.common.core.constant.SystemFieldConstants; +import com.hzs.common.core.constant.*; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; @@ -38,6 +37,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -55,6 +56,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus)); return cuMemberBonusMap; } + + @Override + public void recalculateTeamNewBoxNum(List pkIdList) { + String retailsTableName = getDayTableName(); + log.info("recalculateTeamNewBoxNum: pkIdList: {}, tableName: {}", JSONUtil.toJsonStr(pkIdList), retailsTableName); + for (Long pkId : pkIdList) { + baseMapper.recalculateTeamNewBoxNum(pkId, retailsTableName); + } + } + private String getDayTableName() { + String localDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId(); + return TableNameConstants.CU_MEMBER_RETAIL_S + period; + } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondActivateCompensationListener.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondActivateCompensationListener.java new file mode 100644 index 00000000..4b648640 --- /dev/null +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/listener/SaOrderSecondActivateCompensationListener.java @@ -0,0 +1,46 @@ +package com.hzs.bonus.listener; + +import cn.hutool.json.JSONUtil; +import com.hzs.bonus.bonus.service.IBonusSettleService; +import com.hzs.bonus.bonus.service.ICuMemberBonusService; +import com.hzs.bonus.bonus.service.ICuMemberRetailLogService; +import com.hzs.common.core.constant.CountryConstants; +import com.hzs.common.core.constant.MagicNumberConstants; +import com.hzs.common.core.constant.RabbitMqConstants; +import com.hzs.common.core.enums.EYesNo; +import com.hzs.common.domain.member.bonus.CuMemberRetailLog; +import com.hzs.common.domain.sale.ext.SaOrderExt; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.rabbit.annotation.*; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 订单秒接 + */ +@Slf4j +@Component +public class SaOrderSecondActivateCompensationListener { + @Autowired + private ICuMemberBonusService memberBonusService; + + @RabbitListener(bindings = @QueueBinding( + exchange = @Exchange(value = RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_EXCHANGE, type = "topic"), + value = @Queue(value = RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_QUEUE, durable = "true", autoDelete = "false"), + key = RabbitMqConstants.ORDER_SECOND_ACTIVATE_COMPENSATION_KEY)) + @RabbitHandler + public void onMessage(Message> message, Channel channel) throws Exception { + List activateCompensationIdList = message.getPayload(); + log.info("秒结开始消费,接收到的参数:{}", JSONUtil.toJsonStr(activateCompensationIdList)); + + Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(deliveryTag, false); + + memberBonusService.recalculateTeamNewBoxNum(activateCompensationIdList); + } +} 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 e5d49d48..a111573f 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 @@ -574,4 +574,23 @@ group by cb.pk_member + + 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 @@ - 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> areaMap = areaServiceApi.getAreaMap(SecurityUtils.getPkCountry()); + R> areaMap = iAreaServiceApi.getAreaMap(SecurityUtils.getPkCountry()); Map map = areaMap.getData(); startPage(); List orderTypeList = EOrderBusiness.getOrderTypeList(productDetailQueryParam.getOrderType()); @@ -1537,7 +1481,7 @@ public class MemberReportController extends BaseController { @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.PRODUCT_DETAIL_QUERY_LIST, method = EOperationMethod.EXPORT) @PostMapping("/product-detail-query-list-export") public void productDetailQueryExport(ProductDetailQueryParam productDetailQueryParam, HttpServletResponse response) { - R> areaMap = areaServiceApi.getAreaMap(SecurityUtils.getPkCountry()); + R> areaMap = iAreaServiceApi.getAreaMap(SecurityUtils.getPkCountry()); Map map = areaMap.getData(); if (productDetailQueryParam.getStartPayTime() != null) { productDetailQueryParam.setStartPayTime(DateUtils.getStartTime(productDetailQueryParam.getStartPayTime())); @@ -1603,11 +1547,7 @@ public class MemberReportController extends BaseController { } /** - * @description: 手动统计会员直推金额业绩盒数数据 - * @author: zhang jing - * @date: 2025/2/12 16:15 - * @param: [staDate, endDate] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 手动统计会员直推金额业绩盒数数据 **/ @GetMapping("/staAmountBox") public AjaxResult staAmountBox(String staDate, String endDate) { @@ -1616,11 +1556,7 @@ public class MemberReportController extends BaseController { } /** - * @description: 初始化数据会员直推金额业绩盒数数据 - * @author: zhang jing - * @date: 2025/2/12 17:32 - * @param: [staDate, endDate] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 初始化数据会员直推金额业绩盒数数据 **/ @GetMapping("/initial") public AjaxResult initial(String staDate, String endDate) { diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/report/mapper/CuMemberSettlePeriodMapper.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/report/mapper/CuMemberSettlePeriodMapper.java index 7839bbfc..bc6cc52f 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/report/mapper/CuMemberSettlePeriodMapper.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/report/mapper/CuMemberSettlePeriodMapper.java @@ -5,9 +5,6 @@ import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; /** * 会员结算期间 Mapper 接口 - * - * @author hzs - * @since 2022-10-26 */ public interface CuMemberSettlePeriodMapper extends BaseMapper { diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/report/service/ICuMemberSettlePeriodService.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/report/service/ICuMemberSettlePeriodService.java index 1fc61ff7..509cf624 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/report/service/ICuMemberSettlePeriodService.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/report/service/ICuMemberSettlePeriodService.java @@ -5,9 +5,6 @@ import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; /** * 会员结算期间 服务类 - * - * @author hzs - * @since 2022-10-26 */ public interface ICuMemberSettlePeriodService extends IService { @@ -15,9 +12,6 @@ public interface ICuMemberSettlePeriodService extends IService implements ICuMemberSettlePeriodService { From c410d4faa4b0049c700b046be466c2f69a19d8d8 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 13 Jun 2025 17:52:00 +0800 Subject: [PATCH 37/75] =?UTF-8?q?##=20=E5=95=86=E5=93=81=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=8D=E8=B4=AD=E5=8C=BA=E5=9F=9F=E5=88=86?= =?UTF-8?q?=E7=BA=A2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wares/controller/manage/BdWaresController.java | 1 + .../java/com/hzs/sale/wares/param/WaresParams.java | 12 +++++------- .../resources/mapper/sale/wares/BdWaresMapper.xml | 2 +- .../com/hzs/common/domain/sale/wares/BdWares.java | 6 ++++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java index d1550472..33361086 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java @@ -541,6 +541,7 @@ public class BdWaresController extends BaseController { waresParams.setPkSpecialCurrency(waresExtend.getPkSpecialCurrency()); waresParams.setSortStatus(wares.getSortStatus()); waresParams.setSystemType(waresExtend.getSystemType()); + waresParams.setAreaIncome(wares.getAreaIncome()); if (waresExtend.getMakerIncome() != null) { R currencyDto = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); waresParams.setMakerIncome(waresExtend.getMakerIncome().multiply(currencyDto.getData().getInExchangeRate())); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java index a174c808..810cb34e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java @@ -9,13 +9,6 @@ import java.util.Date; import java.util.List; import java.util.Map; -/** - * @Description: - * @Author: yuhui - * @Time: 2022/9/9 14:14 - * @Classname: WaresParams - * @PackageName: com.hzs.sale.wares.controller.manage.params - */ @Data public class WaresParams implements Serializable { /** @@ -416,4 +409,9 @@ public class WaresParams implements Serializable { */ private Integer waresStatus; + /** + * 复购区域分红 + */ + private BigDecimal areaIncome; + } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index da3e9700..64158386 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -46,9 +46,9 @@ - + diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java index c7882dd9..dd038016 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java @@ -216,4 +216,10 @@ public class BdWares extends BaseEntity { @TableField("SYSTEM_TYPE") private Integer systemType; + /** + * 复购区域分红 + */ + @TableField("AREA_INCOME") + private BigDecimal areaIncome; + } From 503d993540adfcc1a3785d984fa291f5070acde9 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 13 Jun 2025 18:07:58 +0800 Subject: [PATCH 38/75] =?UTF-8?q?##=20=E7=B4=AF=E7=A7=AF=E7=9B=92=E6=95=B0?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=BE=AA=E7=8E=AF=E4=BF=AE=E6=94=B9=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java | 3 --- 1 file changed, 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 a7506a4c..03236b4b 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 @@ -121,7 +121,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { boxNum += saOrderItems.getWaresQuantity(); - break; } } saOrderExt.setBoxNum(boxNum); @@ -259,7 +258,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { boxNum += saOrderItems.getWaresQuantity(); - break; } } saOrderExt.setBoxNum(boxNum); @@ -486,7 +484,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { boxNum += saOrderItems.getWaresQuantity(); - break; } } // 个人累计消费pv From f0a8c658f506c494d2d08050914c3336c32786a4 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 13 Jun 2025 18:14:13 +0800 Subject: [PATCH 39/75] =?UTF-8?q?##=20Opt=20-=20=E4=B8=9A=E7=BB=A9?= =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E5=A4=A7=E5=B0=8F=E5=8C=BA=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?&=E5=B8=82=E5=9C=BA=E5=8A=A8=E6=80=81=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiRetailHomePageController.java | 3 +- .../mapper/CuMemberRetailRangeMapper.java | 4 ++ .../param/MarketDynamicsQueryDateParam.java | 6 ++- .../ICuMemberRetailAchieveService.java | 3 +- .../CuMemberRetailAchieveServiceImpl.java | 28 ++++++++---- .../member/utils/DataStatisticsUtil.java | 43 ++++++++++++++++--- .../retail/member/utils/MemoryPageUtils.java | 24 +++++++++++ .../hzs/retail/member/utils/PageResult.java | 20 +++++++++ .../CuMemberRetailDataStatisticsDetailVO.java | 8 ++++ .../member/vo/MarketDynamicsDetailVO.java | 15 ++++++- .../achieve/CuMemberRetailRangeMapper.xml | 36 ++++++++++++++++ 11 files changed, 168 insertions(+), 22 deletions(-) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/MemoryPageUtils.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/PageResult.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 86b03605..e0812932 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 @@ -181,7 +181,6 @@ public class ApiRetailHomePageController extends BaseController { */ @PostMapping("/market-dynamics") public AjaxResult getMarketDynamics(@RequestBody MarketDynamicsQueryDateParam param) { - retailAchieveService.getMarketDynamics(param); - return AjaxResult.success(); + return AjaxResult.success(retailAchieveService.getMarketDynamics(param)); } } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRangeMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRangeMapper.java index b80d0219..451389fe 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRangeMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRangeMapper.java @@ -2,8 +2,10 @@ package com.hzs.retail.member.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.MarketDynamicsDetailVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -174,6 +176,8 @@ public interface CuMemberRetailRangeMapper extends BaseMapper getRetailDataStatisticsDetail(CuMemberRetailAchieveVO cuMemberAchieveVO); + List getMarketDynamicsDetail(@Param("param") MarketDynamicsQueryDateParam param); + /** * 查询当天自己新增盒数 * 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 index 76f0c1ce..d1dd7504 100644 --- 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 @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.util.List; @Data @AllArgsConstructor @@ -17,6 +18,7 @@ import java.io.Serializable; public class MarketDynamicsQueryDateParam implements Serializable { private Long pkId; private String nowDate; + private String yesterdayDate; private String lastMonthDate; /** @@ -24,10 +26,12 @@ public class MarketDynamicsQueryDateParam implements Serializable { */ private String currentMonthTableName; /** - * + * */ private String lastMonthTableName; private String currentDayTableName; + + private List pkIdList; /** * 查询条件 (会员编号/会员姓名) */ 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 bb6488f8..9f369375 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 @@ -3,6 +3,7 @@ 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.utils.PageResult; import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; @@ -114,5 +115,5 @@ public interface ICuMemberRetailAchieveService extends IService getMarketDynamics(MarketDynamicsQueryDateParam param); + PageResult 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 70609c88..50d4a9ce 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 @@ -19,6 +19,7 @@ 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.utils.PageResult; import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; @@ -307,18 +308,20 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl getMarketDynamics(MarketDynamicsQueryDateParam param) { + public PageResult getMarketDynamics(MarketDynamicsQueryDateParam param) { + Long pkMember = SecurityUtils.getUserId(); + Integer systemType = SecurityUtils.getSystemType(); + DataStatisticsUtil.setQueryDateParam(param); param.setCurrentDayTableName(getDayTableName()); - param.setCurrentMonthTableName(getDayTableName(param.getNowDate())); - param.setCurrentDayTableName(getDayTableName(param.getLastMonthDate())); + param.setCurrentMonthTableName(getDayTableName(param.getYesterdayDate())); + param.setLastMonthTableName(getDayTableName(param.getLastMonthDate())); log.info("MarketDynamicsQueryDateParam : {}", JSONUtil.toJsonStr(param)); - return Collections.emptyList(); + List pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType); + param.setPkIdList(pkMemberList); + List detailVOList = baseMapper.getMarketDynamicsDetail(param); + log.info("detailVOList : {}", JSONUtil.toJsonStr(detailVOList)); + return DataStatisticsUtil.getMarketDynamicsAssemblyData(detailVOList, param); } private String getDayTableName(String localDate) { CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate); if(ObjectUtil.isEmpty(cuMemberSettlePeriod)){ - return null; + return TableNameConstants.CU_MEMBER_RETAIL_RANGE; } int period = cuMemberSettlePeriod.getPkId(); return TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; 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 f28e6207..5de773cb 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,11 +1,13 @@ package com.hzs.retail.member.utils; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.hzs.common.core.enums.EYesNo; import com.hzs.common.domain.member.base.CuMember; import com.hzs.retail.member.param.MarketDynamicsQueryDateParam; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; +import com.hzs.retail.member.vo.MarketDynamicsDetailVO; import java.math.BigDecimal; import java.math.RoundingMode; @@ -17,6 +19,7 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 用户统计数据工具 @@ -49,7 +52,8 @@ public class DataStatisticsUtil { calcDetailVOTotalField(detailVOList, pkId); addVirtualBranch(detailVOList, pkId); CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); - CuMemberRetailDataStatisticsDetailVO bigRange = getBigRangeDetailVO(detailVOList, pkId); + CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId); + CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId); if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){ // 昨日非激活 排除昨日日结表数据 excludeDailySettlementData(detailVOList); @@ -57,19 +61,19 @@ public class DataStatisticsUtil { // 排除注水数据 excludeWaterInjectionData(detailVOList, pkId); } - Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRange.getTotalBoxNum(); + Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum(); if(smallRangeTotalBoxNum < 0){ smallRangeTotalBoxNum = 0; } - BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRange.getTotalPv()); + BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRangePv.getTotalPv()); if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){ smallRangeTotalPv = BigDecimal.ZERO; } return CuMemberRetailDataStatisticsResultVO.builder() .totalBoxNum(total.getTotalBoxNum()) .totalPv(formatPV(total.getTotalPv())) - .bigRangeTotalBoxNum(bigRange.getTotalBoxNum()) - .bigRangeTotalPv(formatPV(bigRange.getTotalPv())) + .bigRangeTotalBoxNum(bigRangeBox.getTotalBoxNum()) + .bigRangeTotalPv(formatPV(bigRangePv.getTotalPv())) .smallRangeTotalBoxNum(smallRangeTotalBoxNum) .smallRangeTotalPv(formatPV(smallRangeTotalPv)) .build(); @@ -219,6 +223,23 @@ public class DataStatisticsUtil { return detailVOList.parallelStream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null); } + /** + * 组装市场动态列表数据 + * @param detailVOList + */ + public static PageResult getMarketDynamicsAssemblyData(List detailVOList, MarketDynamicsQueryDateParam param){ + if(StrUtil.isNotEmpty(param.getKeyWords())){ + detailVOList = detailVOList.parallelStream().filter(o -> param.getKeyWords().contains(o.getMemberCode()) || param.getKeyWords().contains(o.getMemberName())).collect(Collectors.toList()); + } + MarketDynamicsDetailVO bigRange = detailVOList.parallelStream() + .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) + .orElse(null); + detailVOList = detailVOList.parallelStream().filter(o -> !o.getPkId().equals(bigRange.getPkId())).collect(Collectors.toList()); + PageResult result = MemoryPageUtils.paginate(detailVOList, param.getPageNum(), param.getPageSize()); + result.setBigRange(bigRange); + return result; + } + private static Integer getMaxTotalBoxNum(List detailVOList) { return detailVOList.parallelStream() .map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum) @@ -226,12 +247,18 @@ public class DataStatisticsUtil { .max(Integer::compare) .orElse(null); } - private static CuMemberRetailDataStatisticsDetailVO getBigRangeDetailVO(List detailVOList, Long pkId){ - return detailVOList.parallelStream() + private static CuMemberRetailDataStatisticsDetailVO getBigRangeBoxDetailVO(List detailVOList, Long pkId){ + return detailVOList.stream() .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId)) .max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)) .orElse(null); } + private static CuMemberRetailDataStatisticsDetailVO getBigRangePVDetailVO(List detailVOList, Long pkId){ + return detailVOList.stream() + .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId)) + .max(Comparator.comparing(CuMemberRetailDataStatisticsDetailVO::getTotalPv)) + .orElse(null); + } public static BigDecimal formatPV(BigDecimal pv){ return pv.divide( new BigDecimal("10000"), @@ -242,9 +269,11 @@ public class DataStatisticsUtil { public static void setQueryDateParam(MarketDynamicsQueryDateParam param){ LocalDate.now(ZoneId.of("Asia/Shanghai")); LocalDate currentDate = LocalDate.now(); + LocalDate yesterdayDate = currentDate.minusDays(1); LocalDate previousMonthDate = currentDate.minusMonths(1); LocalDate lastDayOfPreviousMonth = previousMonthDate.with(TemporalAdjusters.lastDayOfMonth()); param.setNowDate(currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + param.setYesterdayDate(yesterdayDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); param.setLastMonthDate(lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); // System.out.println("当前日期: " + currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); // System.out.println("上一个月最后一天: " + lastDayOfPreviousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/MemoryPageUtils.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/MemoryPageUtils.java new file mode 100644 index 00000000..e42482b1 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/MemoryPageUtils.java @@ -0,0 +1,24 @@ +package com.hzs.retail.member.utils; + +import java.util.ArrayList; +import java.util.List; + +public class MemoryPageUtils { + public static PageResult paginate(List dataList, int pageNum, int pageSize) { + // 校验参数有效性 + if (pageNum <= 0) pageNum = 1; + if (pageSize <= 0) pageSize = 10; // 默认每页10条 + + int total = dataList.size(); + int start = (pageNum - 1) * pageSize; + if (start >= total) { + return new PageResult<>(total, new ArrayList<>()); + } + + // 计算结束索引(避免超出列表长度) + int end = Math.min(start + pageSize, total); + List pageData = dataList.subList(start, end); + + return new PageResult<>(total, pageData); + } +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/PageResult.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/PageResult.java new file mode 100644 index 00000000..95ef7329 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/PageResult.java @@ -0,0 +1,20 @@ +package com.hzs.retail.member.utils; + +import com.hzs.retail.member.vo.MarketDynamicsDetailVO; +import lombok.Data; + +import java.util.List; + +@Data +public class PageResult { + private long total; + private List rows; + private MarketDynamicsDetailVO bigRange; + + public PageResult(long total, List rows) { + this.total = total; + this.rows = rows; + } + + // getter/setter 省略 +} 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 cd21cefc..55c261d1 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 @@ -105,5 +105,13 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable { */ private Integer smallBoxNum; + @Override + public CuMemberRetailDataStatisticsDetailVO clone() { + try { + return (CuMemberRetailDataStatisticsDetailVO) super.clone(); + } catch (CloneNotSupportedException e) { + throw new AssertionError(); + } + } } 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 index 794ed51f..fc0ac86b 100644 --- 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 @@ -17,6 +17,10 @@ import java.math.BigDecimal; * 市场动态列表对象 */ public class MarketDynamicsDetailVO implements Serializable { + /** + * 用户ID + */ + private Long pkId; /** * 用户编号 */ @@ -28,11 +32,13 @@ public class MarketDynamicsDetailVO implements Serializable { /** * 结算等级 */ - private String pkSettleGrade; + private Integer pkSettleGrade; + private String gradeName; /** * 真实奖衔 */ - private String pkAwards; + private Integer pkAwards; + private String awardsName; /** * 今日业绩 @@ -71,4 +77,9 @@ public class MarketDynamicsDetailVO implements Serializable { * 上月盒数 */ private Integer lastMonthBoxNum; + + /** + * 累计消费盒数 + */ + private Integer totalBoxNum; } 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 c5109efa..ccbdb92e 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 @@ -872,4 +872,40 @@ + From 0e2a1f2571c7ced7ef2b9e7847bc341f807fe5ff Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 13 Jun 2025 18:18:37 +0800 Subject: [PATCH 40/75] =?UTF-8?q?##=20=E5=A4=8D=E8=B4=AD=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E5=88=86=E7=BA=A2=E6=8C=89=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E7=9A=84=E4=BB=B7=E6=A0=BC=E8=BF=9B=E8=A1=8C=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 --- .../service/impl/BonusSettleRangeHandle.java | 24 ++++++++++++++----- .../mapper/bonus/order/BonusOrderMapper.xml | 4 +++- .../domain/sale/ext/SaOrderWaresExt.java | 7 ++++++ 3 files changed, 28 insertions(+), 7 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 03236b4b..beb8f19e 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 @@ -1596,14 +1596,26 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { return null; } - // 区域收益,商品价格 * 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(6, BigDecimal.ROUND_HALF_UP); - calAchieve = calAchieve.add(saOrderWaresExt.getWaresPrice()); + if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() + || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) { + // 注册、升级订单, 区域收益 = 商品价格 * 0.5% * 商品数量 + for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { + // 商品最终价格 + BigDecimal waresPrice = saOrderWaresExt.getWaresPrice(); + // 商品数量 + BigDecimal waresQuantityBig = new BigDecimal(saOrderWaresExt.getWaresQuantity()); + // 单个商品价格 + BigDecimal waresOnePrice = waresPrice.divide(waresQuantityBig, 6, RoundingMode.FLOOR); + + benefitIncome = benefitIncome.add(waresOnePrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(waresQuantityBig)); + } + } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { + // 复购订单, 区域收益 = 复购区域分红 * 商品数量 + for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { + benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); + } } CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME); diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml index 5e45a63b..b946e1f4 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml @@ -60,6 +60,7 @@ + @@ -153,7 +154,8 @@ nvl(st.pk_wares,0) pk_wares, nvl(st.wares_price,0) wares_price, nvl(bw.wares_code,'~') wares_code, - nvl(st.wares_quantity,0) wares_quantity + nvl(st.wares_quantity,0) wares_quantity, + nvl(bw.area_income, 0) area_income from sa_order so left join sa_order_wares st on so.pk_id = st.pk_order and st.wares_price > 0 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java index 6a6cd648..37e0e56b 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java @@ -4,6 +4,8 @@ import com.hzs.common.domain.sale.order.SaOrderWares; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; + @EqualsAndHashCode(callSuper = true) @Data public class SaOrderWaresExt extends SaOrderWares { @@ -13,4 +15,9 @@ public class SaOrderWaresExt extends SaOrderWares { */ private String waresCode; + /** + * 复购区域分红 + */ + private BigDecimal areaIncome; + } From 02453df49a23e347692af7d51ea993cef6578e68 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 13 Jun 2025 18:25:06 +0800 Subject: [PATCH 41/75] =?UTF-8?q?##=20Opt=20-=20=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E5=8A=A8=E6=80=81-=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../retail/member/utils/DataStatisticsUtil.java | 16 ++++++++-------- 1 file changed, 8 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 5de773cb..8539d1dd 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 @@ -83,7 +83,7 @@ public class DataStatisticsUtil { * @param detailVOList */ public static void calcDetailVOTotalField(List detailVOList, Long pkId){ - detailVOList.parallelStream().forEach(detailVO -> { + detailVOList.stream().forEach(detailVO -> { detailVO.setTotalBoxNum( detailVO.getConsumeBoxNum() // 个人累计消费盒数(日结) // + detailVO.getNewBoxNum() // 个人新增盒数(日结) @@ -110,7 +110,7 @@ public class DataStatisticsUtil { * @param detailVOList */ public static void excludeDailySettlementData(List detailVOList){ - detailVOList.parallelStream().forEach(detailVO -> { + detailVOList.stream().forEach(detailVO -> { detailVO.setTotalBoxNum( detailVO.getTotalBoxNum() - detailVO.getTeamBoxNum() // 团队累计消费盒数(日结) @@ -127,7 +127,7 @@ public class DataStatisticsUtil { * @param detailVOList */ public static void excludeWaterInjectionData(List detailVOList, Long pkId){ - detailVOList.parallelStream().forEach(detailVO -> { + detailVOList.stream().forEach(detailVO -> { if(!detailVO.getPkId().equals(pkId)){ detailVO.setTotalBoxNum( detailVO.getTotalBoxNum() @@ -220,7 +220,7 @@ public class DataStatisticsUtil { * @return */ public static CuMemberRetailDataStatisticsDetailVO getDetailVOByPKID(List detailVOList, Long pkId){ - return detailVOList.parallelStream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null); + return detailVOList.stream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null); } /** @@ -229,19 +229,19 @@ public class DataStatisticsUtil { */ public static PageResult getMarketDynamicsAssemblyData(List detailVOList, MarketDynamicsQueryDateParam param){ if(StrUtil.isNotEmpty(param.getKeyWords())){ - detailVOList = detailVOList.parallelStream().filter(o -> param.getKeyWords().contains(o.getMemberCode()) || param.getKeyWords().contains(o.getMemberName())).collect(Collectors.toList()); + detailVOList = detailVOList.stream().filter(o -> o.getMemberCode().contains(param.getKeyWords()) || o.getMemberName().contains(param.getKeyWords())).collect(Collectors.toList()); } - MarketDynamicsDetailVO bigRange = detailVOList.parallelStream() + MarketDynamicsDetailVO bigRange = detailVOList.stream() .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) .orElse(null); - detailVOList = detailVOList.parallelStream().filter(o -> !o.getPkId().equals(bigRange.getPkId())).collect(Collectors.toList()); + detailVOList = detailVOList.stream().filter(o -> !o.getPkId().equals(bigRange.getPkId())).collect(Collectors.toList()); PageResult result = MemoryPageUtils.paginate(detailVOList, param.getPageNum(), param.getPageSize()); result.setBigRange(bigRange); return result; } private static Integer getMaxTotalBoxNum(List detailVOList) { - return detailVOList.parallelStream() + return detailVOList.stream() .map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum) .filter(Objects::nonNull) .max(Integer::compare) From 19de07fd43f62303c342052b846259e44227687b Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 14 Jun 2025 09:45:28 +0800 Subject: [PATCH 42/75] =?UTF-8?q?##=20get-info=E8=BF=94=E5=9B=9E=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E8=8D=A3=E8=AA=89=E5=A5=96=E8=A1=94=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/dto/RetailMemberDataDTO.java | 19 ++++++++----------- .../service/impl/MemberRetailServiceImpl.java | 8 +++++--- .../retail/member/vo/RetailMemberInfoVO.java | 17 +++++++++++++---- .../provider/CommonServiceProvider.java | 16 +++++++++------- 4 files changed, 35 insertions(+), 25 deletions(-) diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/RetailMemberDataDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/RetailMemberDataDTO.java index ee567c64..3b1041e5 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/RetailMemberDataDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/RetailMemberDataDTO.java @@ -9,11 +9,7 @@ import java.io.Serializable; import java.math.BigDecimal; /** - * @Description: 新零售会员信息 - * @Author: jiang chao - * @Time: 2024/12/11 15:46 - * @Classname: RetailMemberDataDTO - * @PackageName: com.hzs.system.common.dto + * 新零售会员信息 */ @AllArgsConstructor @NoArgsConstructor @@ -32,14 +28,14 @@ public class RetailMemberDataDTO implements Serializable { private Integer pkGrade; /** - * 极差奖衔 + * 当月奖衔 */ private Integer pkAwards; /** * 荣誉奖衔 */ - private Integer pkRangeAwards; + private Integer pkMaxAwards; /** * 国家名称 @@ -71,23 +67,24 @@ public class RetailMemberDataDTO implements Serializable { * 等级图标 */ private String gradeIcon; + /** - * 极差奖衔显示 + * 月度奖衔显示 */ private String awardsVal; /** - * 极差奖衔图标 + * 月度奖衔图标 */ private String awardsIcon; /** * 荣誉奖衔显示 */ - private String rangeAwardsVal; + private String maxAwardsVal; /** * 荣誉奖衔图标 */ - private String rangeAwardsIcon; + private String maxAwardsIcon; /** * 币种图标 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java index ffb5c0de..e8706879 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/MemberRetailServiceImpl.java @@ -37,7 +37,7 @@ public class MemberRetailServiceImpl implements IMemberRetailService { .pkSettleCountry(CountryConstants.CHINA_COUNTRY) .pkGrade(cuMember.getPkSettleGrade()) .pkAwards(cuMember.getPkAwards()) - .pkRangeAwards(cuMember.getPkRangeAwards()) + .pkMaxAwards(cuMember.getPkMaxAwards()) .build()).getData(); // 会员标记(0=正常会员,1=V0会员,2=V5会员) @@ -77,8 +77,10 @@ public class MemberRetailServiceImpl implements IMemberRetailService { .gradeIcon(memberDataDTO.getGradeIcon()) .pkAwardsVal(memberDataDTO.getAwardsVal()) .awardsIcon(memberDataDTO.getAwardsIcon()) - .pkRangeAwardsVal(memberDataDTO.getRangeAwardsVal()) - .rangeAwardsIcon(memberDataDTO.getRangeAwardsIcon()) + .pkMaxAwardsVal(memberDataDTO.getMaxAwardsVal()) + .maxAwardsIcon(memberDataDTO.getMaxAwardsIcon()) +// .pkRangeAwardsVal(memberDataDTO.getRangeAwardsVal()) +// .rangeAwardsIcon(memberDataDTO.getRangeAwardsIcon()) .currencyIcon(memberDataDTO.getCurrencyIcon()) .memberSign(memberSign) .control(control) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java index 6cf20d6c..d5361f0e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/vo/RetailMemberInfoVO.java @@ -76,22 +76,31 @@ public class RetailMemberInfoVO implements Serializable { private String gradeIcon; /** - * 极差奖衔名称 + * 当月奖衔名称 */ private String pkAwardsVal; /** - * 极差奖衔图标 + * 当月奖衔图标 */ private String awardsIcon; /** * 荣誉奖衔名称 */ - private String pkRangeAwardsVal; + private String pkMaxAwardsVal; /** * 荣誉奖衔图标 */ - private String rangeAwardsIcon; + private String maxAwardsIcon; + +// /** +// * 荣誉奖衔名称 +// */ +// private String pkRangeAwardsVal; +// /** +// * 荣誉奖衔图标 +// */ +// private String rangeAwardsIcon; /** * 币种图标 diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java index 3ccbfc78..8b212fd4 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java @@ -131,7 +131,7 @@ public class CommonServiceProvider implements ICommonServiceApi { memberDataDTO.setGradeVal(bdGrade.getGradeName()); } } - // 极差奖衔 + // 当月奖衔 if (null != memberDataDTO.getPkAwards()) { BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards()); if (null != bdAwards) { @@ -143,13 +143,15 @@ public class CommonServiceProvider implements ICommonServiceApi { } } // 荣誉奖衔 - if (null != memberDataDTO.getPkRangeAwards()) { - BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkRangeAwards()); + if (null != memberDataDTO.getPkMaxAwards()) { + BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards()); if (null != bdAwards) { - memberDataDTO.setRangeAwardsVal(bdAwards.getAwardsName()); - if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) { - // 奖衔如果是会员级别不返回图标 - memberDataDTO.setRangeAwardsIcon(bdAwards.getImage()); + if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) { + memberDataDTO.setMaxAwardsVal(memberDataDTO.getAwardsVal()); + memberDataDTO.setMaxAwardsIcon(memberDataDTO.getAwardsIcon()); + } else { + memberDataDTO.setMaxAwardsVal(bdAwards.getAwardsName()); + memberDataDTO.setMaxAwardsIcon(bdAwards.getImage()); } } } From 2f6e9da59892ef3a4f6a891fe98de9cc460ee11b Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 14 Jun 2025 09:47:07 +0800 Subject: [PATCH 43/75] =?UTF-8?q?##=20=E8=AE=A1=E7=AE=97=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E7=9B=B4=E6=8E=A8=E4=BC=9A=E5=91=98=E4=B8=8D?= =?UTF-8?q?=E7=AE=97=E6=B3=A8=E6=B0=B4=EF=BC=9B=E5=A5=96=E9=87=91=E5=85=AC?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/service/IBonusGrantService.java | 22 +-- .../service/impl/BonusGrantServiceImpl.java | 135 ++++++++---------- .../service/impl/BonusSettleRangeHandle.java | 119 +++++++-------- 3 files changed, 120 insertions(+), 156 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusGrantService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusGrantService.java index e9faa10f..d6a9dd1e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusGrantService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusGrantService.java @@ -1,20 +1,12 @@ package com.hzs.bonus.bonus.service; /** - * @Description: 奖金发放 - * @Author: sui q - * @Time: 2023/3/20 17:04 - * @Classname: IBonusGrantService - * @PackageName: com.hzs.member.bonus.service + * 奖金发放 */ public interface IBonusGrantService { /** * 每天公布奖金,定时任务 - * - * @return: void - * @Author: sui q - * @Date: 2023/3/20 17:06 */ void publishBonusByPeriodEveryDay(); @@ -24,9 +16,6 @@ public interface IBonusGrantService { * 手动公布奖金 * * @param settleDate 日期 - * @return: void - * @Author: sui q - * @Date: 2023/3/20 17:06 */ void publishBonusByPeriod(Integer pkCountry, String settleDate); @@ -34,9 +23,6 @@ public interface IBonusGrantService { * 手动不公布奖金 * * @param settleDate 日期 - * @return: void - * @Author: sui q - * @Date: 2023/3/20 17:06 */ void noPublishBonusByPeriod(Integer pkCountry, String settleDate); @@ -44,9 +30,6 @@ public interface IBonusGrantService { * 每天发放奖金 * * @param settleDate 日期 - * @return: void - * @Author: sui q - * @Date: 2023/3/20 17:06 */ Boolean grantBonusByPeriod(Integer pkCountry, String settleDate); @@ -56,9 +39,6 @@ public interface IBonusGrantService { * 每天奖金提现 * * @param settleDate 日期 - * @return: void - * @Author: sui q - * @Date: 2023/3/20 17:07 */ void withdrawalBonusByPeriod(Integer pkCountry, String settleDate); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java index 747069ac..3187a5ab 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java @@ -1,6 +1,5 @@ package com.hzs.bonus.bonus.service.impl; -import com.hzs.activity.base.IActivityServiceApi; import com.hzs.bonus.account.service.ICuMemberAccountService; import com.hzs.bonus.account.service.ICuMemberTradeDetailService; import com.hzs.bonus.account.service.ICuMemberTradeService; @@ -22,6 +21,7 @@ import com.hzs.system.base.ICountryServiceApi; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAccountServiceApi; +import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,70 +33,47 @@ import java.time.temporal.ChronoUnit; import java.util.*; /** - * 金发放实现类 + * 奖金发放实现类 */ +@Slf4j @Service public class BonusGrantServiceImpl implements IBonusGrantService { @DubboReference - IAccountServiceApi accountServiceApi; - @DubboReference - IActivityServiceApi activityServiceApi; - - private ICuMemberBonusService cuMemberBonusService; - - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; + IAccountServiceApi iAccountServiceApi; + @Autowired + private ICuMemberBonusService iCuMemberBonusService; + @Autowired + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired private MemberToolsHandler memberToolsHandler; - - private ICuMemberTradeService cuMemberTradeService; - - private ICuMemberTradeDetailService cuMemberTradeDetailService; - - private ICuMemberAccountService cuMemberAccountService; + @Autowired + private ICuMemberTradeService iCuMemberTradeService; + @Autowired + private ICuMemberTradeDetailService iCuMemberTradeDetailService; + @Autowired + private ICuMemberAccountService iCuMemberAccountService; @DubboReference - ICountryServiceApi countryServiceApi; + ICountryServiceApi iCountryServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; - - @Autowired - public void setCuMemberAccountService(ICuMemberAccountService cuMemberAccountService) { - this.cuMemberAccountService = cuMemberAccountService; - } - - @Autowired - public void setCuMemberTradeDetailService(ICuMemberTradeDetailService cuMemberTradeDetailService) { - this.cuMemberTradeDetailService = cuMemberTradeDetailService; - } - - @Autowired - public void setCuMemberTradeService(ICuMemberTradeService cuMemberTradeService) { - this.cuMemberTradeService = cuMemberTradeService; - } - - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberBonusService(ICuMemberBonusService cuMemberBonusService) { - this.cuMemberBonusService = cuMemberBonusService; - } + ICurrencyServiceApi iCurrencyServiceApi; + @Transactional(rollbackFor = Exception.class) @Override public void publishBonusByPeriodEveryDay() { - Map integerBdCountryMap = countryServiceApi.getAllCountryMap().getData(); + Map integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData(); if (integerBdCountryMap.size() > 0) { for (Integer pkCountry : integerBdCountryMap.keySet()) { String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate())); CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); + log.info("公布奖金参数, settleDate: {}, ", settleDate); // 设置不公布后不能自动公布奖金 if (EYesNo.PROHIBIT.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { return; } + log.info("公布奖金期数状态, isPublish: {}, ", cuMemberSettlePeriod.getIsPublish()); publishBonus(cuMemberSettlePeriod); } } @@ -105,13 +82,16 @@ public class BonusGrantServiceImpl implements IBonusGrantService { @Override @Transactional(rollbackFor = Exception.class) public void grantWithdrawBonusByPeriodEveryDay() { - Map integerBdCountryMap = countryServiceApi.getAllCountryMap().getData(); + Map integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData(); if (integerBdCountryMap.size() > 0) { for (Integer pkCountry : integerBdCountryMap.keySet()) { // 先发放奖金,验证是否是周结,周结发放上周的,直接变为可提现 Date grantDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate()); String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, grantDay); grantBonusByPeriod(pkCountry, settleDate); + // 设置奖金可以提现 + withdrawalBonusByPeriod(pkCountry, settleDate); + // 周奖发放上周的奖金 // CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); // Date withdrawDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, grantDay); @@ -119,29 +99,26 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // !CountryConstants.CHINA_COUNTRY.equals(pkCountry)) { // withdrawDay = grantDay; // } - withdrawalBonusByPeriod(pkCountry, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, grantDay)); - // 设置奖金可以提现 } } } /* - * @description: 公布奖金 - * @author: sui q - * @date: 2023/4/24 14:19 - * @param: null null + * 公布奖金 **/ private void publishBonus(CuMemberSettlePeriodExt cuMemberSettlePeriod) { if (EYesNo.YES.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { return; } - // 更新奖金状态 - cuMemberBonusService.updateCuMemberBonusStatus(null, EGrantStatus.PUBLISHED.getValue(), EGrantStatus.SETTLED.getValue(), + + log.info("公布奖金开始, periodId: {}, ", cuMemberSettlePeriod.getPkId()); + // 更新奖金状态(cu_member_bonus) + iCuMemberBonusService.updateCuMemberBonusStatus(null, EGrantStatus.PUBLISHED.getValue(), EGrantStatus.SETTLED.getValue(), cuMemberSettlePeriod.getPkId(), cuMemberSettlePeriod.getPkId()); - // 更新期间表状态 + // 更新期间表状态(cu_member_settle_period_detail) cuMemberSettlePeriod.setIsPublish(EYesNo.YES.getIntValue()); cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); } @Override @@ -160,11 +137,11 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 更新期间表状态 cuMemberSettlePeriod.setIsPublish(EYesNo.PROHIBIT.getIntValue()); cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); } private CuMemberSettlePeriodExt getCuMemberSettlePeriod(Integer pkCountry, String settleDate) { - CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = cuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate)); + CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = iCuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate)); cuMemberSettlePeriodByDate.setPkModified(MagicNumberConstants.PK_ADMIN); cuMemberSettlePeriodByDate.setModifiedTime(DateUtils.currentDateTime()); return cuMemberSettlePeriodByDate; @@ -189,16 +166,16 @@ public class BonusGrantServiceImpl implements IBonusGrantService { return Boolean.FALSE; } } - Map bdAccountValueMap = accountServiceApi.getAccountMapByCountry(pkCountry).getData(); + Map bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData(); Date currentDateTime = DateUtils.currentDateTime(); // 查询奖金表,查询未发放的奖金明细 - List cuMemberBonusList = cuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + List cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); if (cuMemberBonusList.size() > 0) { // 新增交易流水 List cuMemberTradeList = new ArrayList<>(); cuMemberBonusList.forEach(cuMemberBonus -> { - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); // 奖金币(首购+复购+云代+海粉+嗨粉+店铺) packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); // 重销币(商城重消+平台服务费) @@ -211,10 +188,10 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 车奖积分 // packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); }); - List seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); + List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); // 新增流水明细,记录奖金明细的发放状态、消费明细 List cuMemberTradeDetailList = new ArrayList<>(); - Map bdAccountMap = accountServiceApi.getAccountListByCountry(pkCountry).getData(); + Map bdAccountMap = iAccountServiceApi.getAccountListByCountry(pkCountry).getData(); for (int i = 0; i < cuMemberTradeList.size(); i++) { CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); cuMemberTrade.setPkId(seqList.get(i)); @@ -233,18 +210,18 @@ public class BonusGrantServiceImpl implements IBonusGrantService { } } // 批量保存交易流水,交易流水明细 - cuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); - cuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); + iCuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); + iCuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); // 批量更新会员账户,更新余额 - cuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + iCuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); // 更新奖金表发放状态 - cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), + iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); } // 更新期间表状态 cuMemberSettlePeriod.setIsGrant(EYesNo.YES.getIntValue()); cuMemberSettlePeriod.setGrantDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); return Boolean.TRUE; } @@ -253,14 +230,14 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 奖金发放 CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); // 查询奖金表,查询未发放的奖金明细 - List cuMemberBonusList = cuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); - Map bdAccountValueMap = accountServiceApi.getAccountMapByCountry(pkCountry).getData(); + List cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + Map bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData(); Date currentDateTime = DateUtils.currentDateTime(); if (cuMemberBonusList.size() > 0) { // 新增交易流水 List cuMemberTradeList = new ArrayList<>(); cuMemberBonusList.forEach(cuMemberBonus -> { - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); // 奖金币(首购+复购+云代+海粉+嗨粉+店铺) packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); // 重销币(商城重消+平台服务费) @@ -273,10 +250,10 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 车奖积分 // packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); }); - List seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); + List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); // 新增流水明细,记录奖金明细的发放状态、消费明细 List cuMemberTradeDetailList = new ArrayList<>(); - Map bdAccountMap = accountServiceApi.getAccountListByCountry(pkCountry).getData(); + Map bdAccountMap = iAccountServiceApi.getAccountListByCountry(pkCountry).getData(); for (int i = 0; i < cuMemberTradeList.size(); i++) { CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); cuMemberTrade.setPkId(seqList.get(i)); @@ -295,12 +272,12 @@ public class BonusGrantServiceImpl implements IBonusGrantService { } } // 批量保存交易流水,交易流水明细 - cuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); - cuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); + iCuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); + iCuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); // 批量更新会员账户,更新余额 - cuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + iCuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); // 更新奖金表发放状态 - cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), + iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); } } @@ -327,15 +304,15 @@ public class BonusGrantServiceImpl implements IBonusGrantService { } } // 批量更新会员账户,更新余额 - cuMemberAccountService.updateMemberAccountWithdrawalByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); + iCuMemberAccountService.updateMemberAccountWithdrawalByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); // 更新交易明细表状态 cu_member_trade_detail - cuMemberTradeDetailService.updateCuMemberTradeDetailByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); + iCuMemberTradeDetailService.updateCuMemberTradeDetailByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); // 更新奖金表发放状态 - cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.WITHDRAWAL.getValue(), EGrantStatus.GRANT.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.WITHDRAWAL.getValue(), EGrantStatus.GRANT.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); // 更新期间表状态 cuMemberSettlePeriod.setIsWithdrawal(EYesNo.YES.getIntValue()); cuMemberSettlePeriod.setWithdrawalDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); } /** 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 beb8f19e..cacd8812 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 @@ -33,6 +33,7 @@ import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.BdRangeAwards; import com.hzs.member.detail.ICuMemberServiceLogServiceApi; import com.hzs.system.config.dto.BonusConfigDTO; +import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -44,8 +45,9 @@ import java.util.*; import java.util.stream.Collectors; /** - * 计算乐享极差收益 + * 计算新零售收益 */ +@Slf4j @Component public class BonusSettleRangeHandle extends BonusSettleHandle { @@ -920,9 +922,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } - // 最新确认逻辑,计算大小区时,不需要去掉注水 + // 最新确认逻辑,计算大小区时,需要去掉注水 // 伞下团队累计盒数 + 自己消费盒数 - int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum(); + int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum() + - cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum(); if (areaBoxNum > bigBoxNum) { // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 bigBoxNum = areaBoxNum; @@ -941,6 +944,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } + if (targetMemberRangeExt.getPkMember() == 201) { + log.info("targetMemberRangeExt: {}", targetMemberRangeExt); + } // 计算奖衔(荣誉级别) while (true) { // 当前实时奖衔值 + 5,获取下一个奖衔值 @@ -983,58 +989,58 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } break; } - // 计算分红奖衔(秒结不走这个地方) - while (true) { - if (null == targetMemberRangeExt.getShareAwardsValue()) { - break; - } - int awardsValue = targetMemberRangeExt.getShareAwardsValue() + 5; - if (targetMemberRangeExt.getGradeValue().equals(EGrade.S_VIP.getValue()) && retailAwardsMap.containsKey(awardsValue)) { - BdAwards bdAwards = retailAwardsMap.get(awardsValue); - // 先验证累计业绩 - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { - // 验证小区,计算小区业绩 - List cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); - BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); -// if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) { -// consumeBigPv = targetMemberRangeExt.getBigTeamPv(); +// // 计算分红奖衔(秒结不走这个地方) +// while (true) { +// if (null == targetMemberRangeExt.getShareAwardsValue()) { +// break; +// } +// int awardsValue = targetMemberRangeExt.getShareAwardsValue() + 5; +// if (targetMemberRangeExt.getGradeValue().equals(EGrade.S_VIP.getValue()) && retailAwardsMap.containsKey(awardsValue)) { +// BdAwards bdAwards = retailAwardsMap.get(awardsValue); +// // 先验证累计业绩 +// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { +// // 验证小区,计算小区业绩 +// List cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); +// BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); +//// if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) { +//// consumeBigPv = targetMemberRangeExt.getBigTeamPv(); +//// } +// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) { +// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { +// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); +// } +// BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); +// if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { +// consumeBigPv = consumePv; +// } // } - for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) { - if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { - cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); - } - BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); - if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { - consumeBigPv = consumePv; - } - } - BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMemberRangeExt.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv)); - if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) { - if (bdAwards.getPlaceDeptNum() > 0) { - // 验证是否有多个区满足业绩 - List cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); - int enoughNum = 0; - for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) { - if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { - cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); - } - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { - enoughNum += 1; - } - } - if (bdAwards.getPlaceDeptNum() > enoughNum) { - break; - } - } - cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.SHARE_TYPE.getValue())); - targetMemberRangeExt.setShareAwardsValue(bdAwards.getAwardsValue()); - targetMemberRangeExt.setPkShareAwards(bdAwards.getPkId()); - continue; - } - } - } - break; - } +// BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMemberRangeExt.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv)); +// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) { +// if (bdAwards.getPlaceDeptNum() > 0) { +// // 验证是否有多个区满足业绩 +// List cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); +// int enoughNum = 0; +// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) { +// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { +// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); +// } +// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { +// enoughNum += 1; +// } +// } +// if (bdAwards.getPlaceDeptNum() > enoughNum) { +// break; +// } +// } +// cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.SHARE_TYPE.getValue())); +// targetMemberRangeExt.setShareAwardsValue(bdAwards.getAwardsValue()); +// targetMemberRangeExt.setPkShareAwards(bdAwards.getPkId()); +// continue; +// } +// } +// } +// break; +// } } /** @@ -1106,9 +1112,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } - // 最新确认逻辑,计算大小区时,不需要去掉注水 + // 最新确认逻辑,计算大小区时,需要去掉注水 // 伞下团队累计盒数 + 自己消费盒数 - int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum(); + int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum() + - cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum(); if (areaBoxNum > bigBoxNum) { // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 bigBoxNum = areaBoxNum; From 06653aaa9a814732b901fa6327e54a8ed0d66823 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Sat, 14 Jun 2025 09:47:34 +0800 Subject: [PATCH 44/75] =?UTF-8?q?##=20Opt=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=B3=A8=E6=B0=B4=E7=9A=84=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hzs/retail/member/utils/DataStatisticsUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 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 8539d1dd..fd56d08f 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 @@ -52,8 +52,6 @@ public class DataStatisticsUtil { calcDetailVOTotalField(detailVOList, pkId); addVirtualBranch(detailVOList, pkId); CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); - CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId); - CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId); if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){ // 昨日非激活 排除昨日日结表数据 excludeDailySettlementData(detailVOList); @@ -61,6 +59,8 @@ public class DataStatisticsUtil { // 排除注水数据 excludeWaterInjectionData(detailVOList, pkId); } + CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId); + CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId); Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum(); if(smallRangeTotalBoxNum < 0){ smallRangeTotalBoxNum = 0; From 7a88013554af24d9087f5f82c42f6a35bbf22728 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Sat, 14 Jun 2025 09:55:24 +0800 Subject: [PATCH 45/75] =?UTF-8?q?##=20Fix=20-=20=E6=9C=AC=E6=9C=88=3D?= =?UTF-8?q?=E6=98=A8=E6=97=A5=E6=9C=88=20+=20=E4=BB=8A=E6=97=A5=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=20+=20=E4=BB=8A=E6=97=A5=E5=9B=A2=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/member/achieve/CuMemberRetailRangeMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ccbdb92e..f4c76a07 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 @@ -886,8 +886,8 @@ NVL( currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) todayBoxNum, NVL( currentMonth.NEW_CONSUME_PV + currentMonth.TEAM_NEW_PV, 0 ) yesterdayPv, NVL( currentMonth.NEW_BOX_NUM + currentMonth.TEAM_NEW_BOX_NUM, 0 ) yesterdayBoxNum, - NVL( currentMonth.MONTH_CONSUME_PV, 0 ) currentMonthPv, - NVL( currentMonth.MONTH_BOX_NUM , 0 ) currentMonthBoxNum, + NVL( currentMonth.MONTH_CONSUME_PV + currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV , 0 ) currentMonthPv, + NVL( currentMonth.MONTH_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) currentMonthBoxNum, NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv, NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum, NVL( currentMonth.CONSUME_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) totalBoxNum From 3df2c1b987854066fc84f26520d93286c6f6a9fa Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Sat, 14 Jun 2025 10:46:33 +0800 Subject: [PATCH 46/75] =?UTF-8?q?##=20Fix=20-=20=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E5=8A=A8=E6=80=81-=E5=B0=8F=E5=8C=BA=E4=B8=9A=E7=BB=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hzs/retail/member/utils/DataStatisticsUtil.java | 1 - 1 file changed, 1 deletion(-) 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 fd56d08f..30b4f9b8 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 @@ -185,7 +185,6 @@ public class DataStatisticsUtil { ) .totalPv( detailVO.getConsumePv() - .add(detailVO.getNewConsumePv()) .add(detailVO.getSNewConsumePv()) ) .bigBoxNum(0) From 836b1fbdea0d744f29e13f6c5777af169448c00d Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 14 Jun 2025 11:10:24 +0800 Subject: [PATCH 47/75] =?UTF-8?q?##=20=E7=A9=BA=E5=8D=95=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E6=BF=80=E6=B4=BB=E5=A4=84=E7=90=86=EF=BC=88?= =?UTF-8?q?195=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../empty/controller/manage/CuMemberEmptyController.java | 6 +----- .../java/com/hzs/member/empty/dto/MemberEmptyDetailDTO.java | 6 +----- .../com/hzs/member/empty/param/MemberEmptySignParam.java | 6 +----- .../mapper/member/empty/CuMemberEmptyDetailMapper.xml | 4 +++- .../com/hzs/common/core/web/domain/BaseApprovalEntity.java | 6 +----- .../hzs/common/domain/member/empty/CuMemberEmptyDetail.java | 3 --- 6 files changed, 7 insertions(+), 24 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/controller/manage/CuMemberEmptyController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/controller/manage/CuMemberEmptyController.java index 6ee93893..d6ef714f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/controller/manage/CuMemberEmptyController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/controller/manage/CuMemberEmptyController.java @@ -47,11 +47,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description: 空单注册控制器 - * @Author: jiang chao - * @Time: 2023/6/16 16:58 - * @Classname: CuMemberEmptyController - * @PackageName: com.hzs.member.empty.controller.manage + * 空单注册控制器 */ @RequestMapping("/manage/member-empty") @RestController diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/dto/MemberEmptyDetailDTO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/dto/MemberEmptyDetailDTO.java index 591fcdc8..a1bdc9bd 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/dto/MemberEmptyDetailDTO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/dto/MemberEmptyDetailDTO.java @@ -9,11 +9,7 @@ import java.math.BigDecimal; import java.util.List; /** - * @Description: 空单注册明细DTO - * @Author: jiang chao - * @Time: 2023/6/16 17:52 - * @Classname: CuMemberEmptyDetailVO - * @PackageName: com.hzs.member.empty.vo + * 空单注册明细DTO */ @Data public class MemberEmptyDetailDTO { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/param/MemberEmptySignParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/param/MemberEmptySignParam.java index 4114c6c6..b59d05ba 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/param/MemberEmptySignParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/empty/param/MemberEmptySignParam.java @@ -5,11 +5,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; /** - * @Description: 空单免签入参 - * @Author: jiang chao - * @Time: 2023/7/10 14:47 - * @Classname: MemberEmptyFreeSignParam - * @PackageName: com.hzs.member.empty.param + * 空单免签入参 */ @EqualsAndHashCode(callSuper = true) @Data diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml index cb358d6a..3fe99d97 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml @@ -123,7 +123,8 @@ #{item.recAddress, jdbcType=VARCHAR} rec_address, #{item.contentAbstract, jdbcType=VARCHAR} content_abstract, #{item.productFlag} product_flag, - #{item.orderType} order_type + #{item.orderType} order_type, + #{item.autoFlag} auto_flag from dual ) tmp @@ -155,6 +156,7 @@ cmed.product_flag = tmp.product_flag, cmed.order_type = tmp.order_type, cmed.pk_modified = #{userId}, + cmed.auth_flag = tmp.auto_flag, cmed.modified_time = sysdate diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseApprovalEntity.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseApprovalEntity.java index fdcdeec7..9db44df2 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseApprovalEntity.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/web/domain/BaseApprovalEntity.java @@ -6,11 +6,7 @@ import java.io.Serializable; import java.util.List; /** - * @Description: 审批基类 - * @Author: jiang chao - * @Time: 2023/3/16 14:28 - * @Classname: BaseApprovalEntity - * @PackageName: com.hzs.common.core.web.domain + * 审批基类 */ @Data public class BaseApprovalEntity implements Serializable { diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/empty/CuMemberEmptyDetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/empty/CuMemberEmptyDetail.java index 543fb804..ca240d4e 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/empty/CuMemberEmptyDetail.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/empty/CuMemberEmptyDetail.java @@ -15,9 +15,6 @@ import lombok.experimental.Accessors; /** * 空单批次明细 - * - * @author hzs - * @since 2023-06-16 */ @Data @EqualsAndHashCode(callSuper = false) From c98511ecb3b9be8d994da02b254f7bd8179e3208 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 14 Jun 2025 13:29:18 +0800 Subject: [PATCH 48/75] =?UTF-8?q?##=20=E4=BF=AE=E6=94=B9=E6=88=B7=E7=B1=8D?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=A0=A1=E9=AA=8C=E8=B0=83=E6=95=B4=EF=BC=88?= =?UTF-8?q?181=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiDomicileChangeController.java | 10 ++--- .../hzs/member/self/vo/DomicileChangeVO.java | 16 ++----- .../member/sms/service/IApiAliSmsService.java | 6 +-- .../member/sms/service/IApiSmsService.java | 21 --------- .../sms/service/impl/ApiSmsServiceImpl.java | 44 ------------------- 5 files changed, 8 insertions(+), 89 deletions(-) delete mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiSmsService.java delete mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/impl/ApiSmsServiceImpl.java 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 60064152..5c14b9f3 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 @@ -5,7 +5,6 @@ import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.constant.msg.FinanceMsgConstants; import com.hzs.common.core.enums.EApprovalBusiness; -import com.hzs.common.core.enums.ESmsTemplate; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; @@ -18,7 +17,7 @@ import com.hzs.member.account.vo.CuMemberAuthenticationVO; import com.hzs.member.base.service.ICuMemberService; import com.hzs.member.self.service.ICuSelfServiceLogService; import com.hzs.member.self.vo.DomicileChangeVO; -import com.hzs.member.sms.service.impl.ApiSmsServiceImpl; +import com.hzs.member.sms.service.IApiAliSmsService; import com.hzs.system.config.IServiceChargeServiceApi; import com.hzs.system.config.dto.ServiceChargeDTO; import lombok.extern.slf4j.Slf4j; @@ -42,7 +41,7 @@ public class ApiDomicileChangeController extends BaseController { @Autowired private ICuMemberService iCuMemberService; @Autowired - private ApiSmsServiceImpl apiSmsService; + private IApiAliSmsService iApiAliSmsService; @Autowired private ICuSelfServiceLogService iCuSelfServiceLogService; @@ -131,9 +130,8 @@ public class ApiDomicileChangeController extends BaseController { if (!existApprovalData.equals(AjaxResult.success())) { return existApprovalData; } - //验证码校验 - String key = ESmsTemplate.VERIFICATION.getCache() + pkMember; - String message = apiSmsService.checkSms(key, domicileChangeVO.getVerificationCode()); + // 校验短信验证码 + String message = iApiAliSmsService.checkCode(domicileChangeVO.getChangePhone(), domicileChangeVO.getVerificationCode(), null); if (null != message) { return AjaxResult.error(message); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/self/vo/DomicileChangeVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/self/vo/DomicileChangeVO.java index af1faa01..8fd867a1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/self/vo/DomicileChangeVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/self/vo/DomicileChangeVO.java @@ -1,16 +1,11 @@ package com.hzs.member.self.vo; -import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.hzs.common.core.annotation.Transaction; import com.hzs.common.core.constant.EnumsPrefixConstants; import com.hzs.common.core.web.domain.BaseApprovalEntity; -import com.hzs.member.base.dto.LoginMember; import com.hzs.system.sys.dto.LoginUser; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; import java.io.Serializable; import java.math.BigDecimal; @@ -18,13 +13,8 @@ import java.util.Date; /** * 户籍变更VO - * - * @Description: - * @Author: ljc - * @Time: 2023/4/18 10:17 - * @Classname: DomicileChangeVO - * @Package_name: com.hzs.member.self.vo */ +@EqualsAndHashCode(callSuper = true) @Data @Builder @AllArgsConstructor @@ -164,7 +154,7 @@ public class DomicileChangeVO extends BaseApprovalEntity implements Serializable /** * 驳回信息 */ - private String rejectMsg; + private String rejectMsg; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiAliSmsService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiAliSmsService.java index 8f586597..f5d40803 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiAliSmsService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiAliSmsService.java @@ -1,11 +1,7 @@ package com.hzs.member.sms.service; /** - * @Description: 阿里短信发送服务 - * @Author: jiang chao - * @Time: 2024/12/19 16:30 - * @Classname: IApiAliSmsService - * @PackageName: com.hzs.member.sms.service + * 阿里短信发送服务 */ public interface IApiAliSmsService { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiSmsService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiSmsService.java deleted file mode 100644 index 86c25dc0..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/IApiSmsService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hzs.member.sms.service; - -/** - * @Description: 短信处理服务 - * @Author: jiang chao - * @Time: 2023/3/8 15:55 - * @Classname: ISmsService - * @PackageName: com.hzs.member.sms.service - */ -public interface IApiSmsService { - - /** - * 校验验证码 - * - * @param cacheKey 验证码缓存key - * @param code 验证码 - * @return 如果返回null为正确,其它为错误内容 - */ - String checkSms(String cacheKey, String code); - -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/impl/ApiSmsServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/impl/ApiSmsServiceImpl.java deleted file mode 100644 index 928d3666..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/sms/service/impl/ApiSmsServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.hzs.member.sms.service.impl; - -import com.hzs.common.core.config.BdConfig; -import com.hzs.common.core.constant.msg.SystemMsgConstants; -import com.hzs.common.core.enums.EEnv; -import com.hzs.common.core.service.RedisService; -import com.hzs.common.util.TransactionUtils; -import com.hzs.member.sms.service.IApiSmsService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * 短信处理服务 - */ -@Slf4j -@Service -public class ApiSmsServiceImpl implements IApiSmsService { - - @Autowired - private RedisService redisService; - - @Override - public String checkSms(String cacheKey, String code) { - if (EEnv.TEST.getValue().equals(BdConfig.getEnv()) && "ASDF".equals(code)) { - // 测试环境暂时不发放短信 - return null; - } - Object codeObj = redisService.getCacheObject(cacheKey); - if (null != codeObj) { - if (codeObj.toString().equals(code)) { - // 校验正确之后,删除缓存 - redisService.deleteObject(cacheKey); - return null; - } else { - // 验证码错误 - return TransactionUtils.getContent(SystemMsgConstants.CODE_ERROR); - } - } - // 验证码已失效 - return TransactionUtils.getContent(SystemMsgConstants.CODE_EXPIRE); - } - -} From c26b13264251187504adfb66214976a668d66d40 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 14 Jun 2025 14:07:03 +0800 Subject: [PATCH 49/75] =?UTF-8?q?##=20=E7=A9=BA=E5=8D=95=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86=EF=BC=88195=EF=BC=89?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml index 3fe99d97..71721bf3 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/empty/CuMemberEmptyDetailMapper.xml @@ -156,7 +156,7 @@ cmed.product_flag = tmp.product_flag, cmed.order_type = tmp.order_type, cmed.pk_modified = #{userId}, - cmed.auth_flag = tmp.auto_flag, + cmed.auto_flag = tmp.auto_flag, cmed.modified_time = sysdate From 7f03ef8e7a16fa1189ad7f8caa159dc33c926faf Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Sat, 14 Jun 2025 14:08:33 +0800 Subject: [PATCH 50/75] =?UTF-8?q?##=20Fix=20-=20=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E5=8A=A8=E6=80=81-=E5=B0=8F=E5=8C=BA=E4=B8=9A=E7=BB=A9[bugID?= =?UTF-8?q?=3D197=E3=80=90H5=E3=80=91=E5=A6=82=E6=88=AA=E5=9B=BE=EF=BC=8CR?= =?UTF-8?q?E55691589=E8=BF=99=E4=B8=AA=E4=BC=9A=E5=91=98=E7=9A=84=E5=B8=82?= =?UTF-8?q?=E5=9C=BA=E5=8A=A8=E6=80=81=E9=87=8C=EF=BC=8C=E7=BA=A2=E6=A1=86?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E7=9B=92=E6=95=B0=E5=92=8C=E4=B8=9A=E7=BB=A9?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E6=9C=89=E5=80=BC=E6=89=8D=E5=AF=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/member/achieve/CuMemberRetailRangeMapper.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 f4c76a07..a05d70de 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 @@ -884,10 +884,10 @@ currentMonth.ENABLE_STATUS, NVL( currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) todayPv, NVL( currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) todayBoxNum, - NVL( currentMonth.NEW_CONSUME_PV + currentMonth.TEAM_NEW_PV, 0 ) yesterdayPv, - NVL( currentMonth.NEW_BOX_NUM + currentMonth.TEAM_NEW_BOX_NUM, 0 ) yesterdayBoxNum, - NVL( currentMonth.MONTH_CONSUME_PV + currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV , 0 ) currentMonthPv, - NVL( currentMonth.MONTH_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) currentMonthBoxNum, + NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + currentMonth.TEAM_NEW_PV, 0 ) yesterdayPv, + NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + currentMonth.TEAM_NEW_BOX_NUM, 0 ) yesterdayBoxNum, + NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) currentMonthPv, + NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) currentMonthBoxNum, NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv, NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum, NVL( currentMonth.CONSUME_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) totalBoxNum From b9ddee109ff46c2d75cbf6138c56aa2107bccd27 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 14 Jun 2025 16:31:35 +0800 Subject: [PATCH 51/75] =?UTF-8?q?##=20=E6=96=B0=E9=9C=80=E6=B1=82=EF=BC=8C?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E3=80=81=E5=8D=87=E7=BA=A7=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=A4=9A=E9=80=81=E4=B8=A4=E7=BA=A7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiRetailOrderController.java | 9 +++++++- .../service/impl/RetailOrderServiceImpl.java | 3 ++- .../retail/sale/param/RetailOrderParam.java | 5 +++++ .../sale/param/RetailOrderPayParam.java | 12 +++++----- .../sale/order/service/ISaOrderService.java | 4 +++- .../service/impl/SaOrderServiceImpl.java | 22 ++++++++++++++++++- 6 files changed, 46 insertions(+), 9 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index 6a5328a4..c3e183bb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -8,6 +8,7 @@ import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EGrade; import com.hzs.common.core.enums.ESpecialArea; +import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.exception.ServiceException; import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; @@ -94,7 +95,7 @@ public class ApiRetailOrderController { try { // 购物车中获取商品信息,获取等级 BdGrade bdGrade = iSaOrderService.calculateGrade(levelParam.getSpecialArea(), convertShoppingCarToSku(SecurityUtils.getUserId(), levelParam.getShopList()), - null, levelParam.getUpgradeMember(), SecurityUtils.getSystemType()); + null, levelParam.getUpgradeMember(), SecurityUtils.getSystemType(), EYesNo.NO.getIntValue()); if (null != bdGrade) { orderLevelVO.setIsEnough(true); orderLevelVO.setPkGradeVal(bdGrade.getGradeName()); @@ -276,6 +277,9 @@ public class ApiRetailOrderController { // return AjaxResult.error(relationStr); // } + // 支付入参 + payParam.setIsPay(EYesNo.YES.getIntValue()); + // 封装会员信息 CuMember newMember = iRetailOrderService.packageCuMember(registerParam); // 封装订单信息 @@ -383,6 +387,9 @@ public class ApiRetailOrderController { return AjaxResult.error(otherCheckStr); } + // 支付入参 + payParam.setIsPay(EYesNo.YES.getIntValue()); + // 封装订单信息 SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember); 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 643f1b2f..a1e5bfa2 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 @@ -208,7 +208,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService { if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea() || ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) { // 注册、升级订单,计算会员等级 - BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList, cuMember, orderParam.getSystemType()); + BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList, + cuMember, orderParam.getSystemType(), orderParam.getIsPay()); if (null == newGrade) { throw new ServiceException("会员不满足升级条件"); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java index 18de1236..a5587c9a 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderParam.java @@ -161,4 +161,9 @@ public class RetailOrderParam implements Serializable { */ private Integer systemType; + /** + * 是否支付操作(0=是,1=否) + */ + private Integer isPay; + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderPayParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderPayParam.java index 3ce00264..fe2d6b99 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderPayParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/param/RetailOrderPayParam.java @@ -9,11 +9,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; /** - * @Description: 新零售订单支付入参 - * @Author: jiang chao - * @Time: 2024/12/12 16:45 - * @Classname: RetailPayOrderParam - * @PackageName: com.hzs.retail.sale.param + * 新零售订单支付入参 */ @Data public class RetailOrderPayParam implements Serializable { @@ -42,4 +38,10 @@ public class RetailOrderPayParam implements Serializable { @JsonIgnore private Integer pkCountry = CountryConstants.CHINA_COUNTRY; + /** + * 是否支付操作(0=是,1=否) + */ + private Integer isPay; + + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java index d6a6e692..cee80d55 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java @@ -689,7 +689,9 @@ public interface ISaOrderService extends IService { * @param systemType 系统类型 * @return 返回 null 则为不满足升级条件 */ - BdGrade calculateGrade(Integer specialArea, List orderItemsParams, List gradeList, CuMember updateGradeMember, Integer systemType); + BdGrade calculateGrade(Integer specialArea, List orderItemsParams, + List gradeList, CuMember updateGradeMember, + Integer systemType, Integer isPay); /** * 根据盒数计算等级 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 4c17c2c1..3c58d33c 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 @@ -2607,7 +2607,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public BdGrade calculateGrade(Integer specialArea, List orderItemsParams, - List gradeList, CuMember updateGradeMember, Integer systemType) { + List gradeList, CuMember updateGradeMember, + Integer systemType, Integer isPay) { if (CollectionUtil.isEmpty(gradeList)) { gradeList = iGradeServiceApi.getRetailGradeList().getData(); } @@ -2654,6 +2655,25 @@ public class SaOrderServiceImpl extends ServiceImpl impl return null; } } + + // TODO 2025.06.14 添加新需求,V1-V3,购买多给两级 + if (EYesNo.YES.getIntValue() == isPay) { + // 支付时才进行处理 + if (null != bdGrade) { + if (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue()) { + // V1 给 V3 + bdGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get(); + } else if (EGrade.YOU_KE.getValue() == bdGrade.getGradeValue()) { + // V2 给 V4 + bdGrade = gradeList.stream().filter(tmpData -> EGrade.VIP.getValue() == tmpData.getGradeValue()).findFirst().get(); + } else if (EGrade.MAKER.getValue() == bdGrade.getGradeValue()) { + // V3 给 V5 + bdGrade = gradeList.stream().filter(tmpData -> EGrade.S_VIP.getValue() == tmpData.getGradeValue()).findFirst().get(); + } + } + } + + return bdGrade; } From 4ae4b5178eca3cd0744e333b9da6017c34f3f5ca Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 08:54:40 +0800 Subject: [PATCH 52/75] =?UTF-8?q?##=20=E6=98=AF=E5=90=A6=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E6=A0=A1=E9=AA=8C=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 3c58d33c..73790db7 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 @@ -2657,7 +2657,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } // TODO 2025.06.14 添加新需求,V1-V3,购买多给两级 - if (EYesNo.YES.getIntValue() == isPay) { + if (null != isPay && EYesNo.YES.getIntValue() == isPay) { // 支付时才进行处理 if (null != bdGrade) { if (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue()) { From e0fafbe410ec28d17093538b6fa7f907d277b9c8 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 09:09:50 +0800 Subject: [PATCH 53/75] =?UTF-8?q?##=20=E6=94=B6=E8=B4=A7=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=B3=A8=E9=87=8A=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/address/mapper/CuMemberReceivingMapper.java | 3 --- .../member/address/service/ICuMemberReceivingService.java | 3 --- .../address/service/impl/CuMemberReceivingServiceImpl.java | 3 --- .../base/controller/api/ApiMemberAddressController.java | 6 +----- .../java/com/hzs/member/base/param/MemberAddressParam.java | 6 +----- .../main/java/com/hzs/member/base/vo/MemberAddressVO.java | 6 +----- .../hzs/common/domain/member/address/CuMemberReceiving.java | 5 ----- 7 files changed, 3 insertions(+), 29 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/address/mapper/CuMemberReceivingMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/address/mapper/CuMemberReceivingMapper.java index 8d9208f2..48e53f47 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/address/mapper/CuMemberReceivingMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/address/mapper/CuMemberReceivingMapper.java @@ -5,9 +5,6 @@ import com.hzs.common.domain.member.address.CuMemberReceiving; /** * 会员收货信息 Mapper 接口 - * - * @author hzs - * @since 2022-08-22 */ public interface CuMemberReceivingMapper extends BaseMapper { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/ICuMemberReceivingService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/ICuMemberReceivingService.java index e6cfea06..7f65362e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/ICuMemberReceivingService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/ICuMemberReceivingService.java @@ -6,9 +6,6 @@ import com.hzs.member.base.param.MemberAddressParam; /** * 会员收货信息 服务类 - * - * @author hzs - * @since 2022-08-22 */ public interface ICuMemberReceivingService extends IService { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/impl/CuMemberReceivingServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/impl/CuMemberReceivingServiceImpl.java index 9e328e76..948f8725 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/impl/CuMemberReceivingServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/address/service/impl/CuMemberReceivingServiceImpl.java @@ -15,9 +15,6 @@ import java.util.Date; /** * 会员收货信息 服务实现类 - * - * @author hzs - * @since 2022-08-22 */ @Service public class CuMemberReceivingServiceImpl extends ServiceImpl implements ICuMemberReceivingService { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberAddressController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberAddressController.java index f44c221f..bf0d53c2 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberAddressController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/api/ApiMemberAddressController.java @@ -29,11 +29,7 @@ import java.util.List; import java.util.Map; /** - * @Description: 会员地址控制器 - * @Author: jiang chao - * @Time: 2023/1/18 9:52 - * @Classname: ApiMemberAddressController - * @PackageName: com.hzs.member.base.controller.api + * 会员地址控制器 */ @Slf4j @RequestMapping("/api/member-address") diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/MemberAddressParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/MemberAddressParam.java index 0d6066cc..2af05930 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/MemberAddressParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/MemberAddressParam.java @@ -7,11 +7,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** - * @Description: 会员地址入参 - * @Author: jiang chao - * @Time: 2023/1/18 10:19 - * @Classname: MemberAddressParam - * @PackageName: com.hzs.member.base.param + * 会员地址入参 */ @Data public class MemberAddressParam { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberAddressVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberAddressVO.java index 030fff0a..5de7e68e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberAddressVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberAddressVO.java @@ -3,11 +3,7 @@ package com.hzs.member.base.vo; import lombok.Data; /** - * @Description: 会员地址返回VO - * @Author: jiang chao - * @Time: 2023/1/18 10:01 - * @Classname: MemberAddresssVO - * @PackageName: com.hzs.member.base.vo + * 会员地址返回VO */ @Data public class MemberAddressVO { diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/address/CuMemberReceiving.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/address/CuMemberReceiving.java index c29f3b5f..ae3a433a 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/address/CuMemberReceiving.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/address/CuMemberReceiving.java @@ -11,12 +11,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 会员收货信息 - *

- * - * @author hzs - * @since 2022-08-22 */ @Data @EqualsAndHashCode(callSuper = false) From 5ebfd640c2358210bb4e74ad3ddfb6c85d819514 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 09:31:10 +0800 Subject: [PATCH 54/75] =?UTF-8?q?##=20=E6=96=B0=E9=9C=80=E6=B1=82=EF=BC=8C?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E3=80=81=E5=8D=87=E7=BA=A7=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=A4=9A=E9=80=81=E4=B8=A4=E7=BA=A7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../retail/sale/controller/api/ApiRetailOrderController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index c3e183bb..cc89b47f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -278,7 +278,7 @@ public class ApiRetailOrderController { // } // 支付入参 - payParam.setIsPay(EYesNo.YES.getIntValue()); + registerParam.setIsPay(EYesNo.YES.getIntValue()); // 封装会员信息 CuMember newMember = iRetailOrderService.packageCuMember(registerParam); @@ -388,7 +388,7 @@ public class ApiRetailOrderController { } // 支付入参 - payParam.setIsPay(EYesNo.YES.getIntValue()); + upgradeParam.setIsPay(EYesNo.YES.getIntValue()); // 封装订单信息 SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember); From 7cb0035eb7c83fadd24ed577718c832f10ff33fa Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 09:44:45 +0800 Subject: [PATCH 55/75] =?UTF-8?q?##=20=E5=A5=96=E8=A1=94=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=94=B9=E4=B8=BA=E9=80=BB=E8=BE=91=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=92=8C=E6=9F=A5=E8=AF=A2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CuMemberSettlePeriodDetailMapper.java | 5 - ...CuMemberSettlePeriodDetailServiceImpl.java | 39 ++--- .../impl/CuMemberSettlePeriodServiceImpl.java | 1 - .../service/impl/CuMemberTreeServiceImpl.java | 11 +- .../service/impl/CuMemberServiceImpl.java | 8 +- .../bonus/bonus/param/BonusExpandParam.java | 7 +- .../detail/mapper/CuMemberAwardsMapper.java | 48 ++---- .../service/ICuMemberAwardsService.java | 29 ++-- .../impl/CuMemberAwardsServiceImpl.java | 146 +++++----------- .../achieve/CuMemberRetailRangeMapper.xml | 6 +- .../achieve/CuMemberSettlePeriodMapper.xml | 2 +- .../bonus/achieve/CuMemberTreeMapper.xml | 92 +++++----- .../mapper/bonus/base/CuMemberMapper.xml | 36 ++-- .../bonus/bonus/CuMemberBonusMapper.xml | 7 +- .../bonus/detail/CuMemberAwardsMapper.xml | 163 +++++------------- .../detail/mapper/CuMemberAwardsMapper.java | 22 --- .../service/ICuMemberAwardsService.java | 6 - .../impl/CuMemberAwardsServiceImpl.java | 59 ++----- .../member/detail/CuMemberAwardsMapper.xml | 6 - .../common/domain/member/base/CuMember.java | 3 - 20 files changed, 218 insertions(+), 478 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java index 50ef8887..dd6c9185 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java @@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail; /** - *

* 会员结算期间明细 Mapper 接口 - *

- * - * @author hzs - * @since 2023-07-27 */ public interface CuMemberSettlePeriodDetailMapper extends BaseMapper { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java index 21e75a25..360f1fb9 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java @@ -1,47 +1,38 @@ package com.hzs.bonus.achieve.service.impl; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodDetailService; -import com.hzs.common.core.constant.BonusFieldConstants; -import com.hzs.common.core.constant.MemberFieldConstants; -import com.hzs.common.core.constant.SystemFieldConstants; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt; import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodDetailMapper; import org.springframework.stereotype.Service; /** - *

* 会员结算期间明细 服务实现类 - *

- * - * @author hzs - * @since 2023-07-27 */ @Service public class CuMemberSettlePeriodDetailServiceImpl extends ServiceImpl implements ICuMemberSettlePeriodDetailService { - @Override public boolean updateCuMemberSettlePeriodDetailByPeriod(CuMemberSettlePeriodExt cuMemberSettlePeriodExt) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - if(cuMemberSettlePeriodExt.getIsPublish() != null && cuMemberSettlePeriodExt.getPublishDate() != null){ - updateWrapper.set(BonusFieldConstants.IS_PUBLISH, cuMemberSettlePeriodExt.getIsPublish()); - updateWrapper.set(BonusFieldConstants.PUBLISH_DATE, cuMemberSettlePeriodExt.getPublishDate()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + if (cuMemberSettlePeriodExt.getIsPublish() != null && cuMemberSettlePeriodExt.getPublishDate() != null) { + updateWrapper.set(CuMemberSettlePeriodDetail::getIsPublish, cuMemberSettlePeriodExt.getIsPublish()); + updateWrapper.set(CuMemberSettlePeriodDetail::getPublishDate, cuMemberSettlePeriodExt.getPublishDate()); } - if(cuMemberSettlePeriodExt.getIsGrant() != null && cuMemberSettlePeriodExt.getGrantDate() != null){ - updateWrapper.set(BonusFieldConstants.IS_GRANT, cuMemberSettlePeriodExt.getIsGrant()); - updateWrapper.set(BonusFieldConstants.GRANT_DATE, cuMemberSettlePeriodExt.getGrantDate()); + if (cuMemberSettlePeriodExt.getIsGrant() != null && cuMemberSettlePeriodExt.getGrantDate() != null) { + updateWrapper.set(CuMemberSettlePeriodDetail::getIsGrant, cuMemberSettlePeriodExt.getIsGrant()); + updateWrapper.set(CuMemberSettlePeriodDetail::getGrantDate, cuMemberSettlePeriodExt.getGrantDate()); } - if(cuMemberSettlePeriodExt.getIsWithdrawal() != null && cuMemberSettlePeriodExt.getWithdrawalDate() != null){ - updateWrapper.set(BonusFieldConstants.IS_WITHDRAWAL, cuMemberSettlePeriodExt.getIsWithdrawal()); - updateWrapper.set(BonusFieldConstants.WITHDRAWAL_DATE, cuMemberSettlePeriodExt.getWithdrawalDate()); + if (cuMemberSettlePeriodExt.getIsWithdrawal() != null && cuMemberSettlePeriodExt.getWithdrawalDate() != null) { + updateWrapper.set(CuMemberSettlePeriodDetail::getIsWithdrawal, cuMemberSettlePeriodExt.getIsWithdrawal()); + updateWrapper.set(CuMemberSettlePeriodDetail::getWithdrawalDate, cuMemberSettlePeriodExt.getWithdrawalDate()); } - updateWrapper.eq(MemberFieldConstants.START_PERIOD, cuMemberSettlePeriodExt.getStartPeriod()); - updateWrapper.eq(MemberFieldConstants.END_PERIOD, cuMemberSettlePeriodExt.getEndPeriod()); - if(cuMemberSettlePeriodExt.getPkCountry() != null){ - updateWrapper.eq(SystemFieldConstants.PK_COUNTRY, cuMemberSettlePeriodExt.getPkCountry()); + updateWrapper.eq(CuMemberSettlePeriodDetail::getStartPeriod, cuMemberSettlePeriodExt.getStartPeriod()); + updateWrapper.eq(CuMemberSettlePeriodDetail::getEndPeriod, cuMemberSettlePeriodExt.getEndPeriod()); + if (cuMemberSettlePeriodExt.getPkCountry() != null) { + updateWrapper.eq(CuMemberSettlePeriodDetail::getPkCountry, cuMemberSettlePeriodExt.getPkCountry()); } return update(updateWrapper); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java index 616358d4..876efb8e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java @@ -239,7 +239,6 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl i @Override public void updateCuMemberRetailRangeByPeriod(List cuMemberAwardsList, Integer period) { baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue()); - baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.SHARE_TYPE.getValue()); +// baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.SHARE_TYPE.getValue()); } @Override public void updateCuMemberRetailRangeByList(List cuMemberAwardsList, Integer period) { baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.RANGE_TYPE.getValue()); - baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue()); +// baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue()); } @Override @@ -96,13 +96,13 @@ public class CuMemberServiceImpl extends ServiceImpl i @Override public void updateBackCuMemberRetailRangeAward(Integer period) { baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue()); - baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.SHARE_TYPE.getValue()); +// baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.SHARE_TYPE.getValue()); } @Override public void updateCuMemberRetailRangeAwardByDate(Date settleDate) { baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.RANGE_TYPE.getValue()); - baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.SHARE_TYPE.getValue()); +// baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.SHARE_TYPE.getValue()); } @Override diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java index 26a3e9a3..1a1190f1 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java @@ -11,12 +11,7 @@ import java.util.Date; import java.util.List; /** - * @description: 4-n 增加碰次 - * @author: sui q - * @time: 2024/7/19 14:21 - * @classname: BonusExpandParam - * @package_name: com.hzs.bonus.bonus.param - * version 1.0.0 + * 4-n 增加碰次 */ @Data @Builder diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java index 58f5e868..cac46543 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java @@ -3,10 +3,8 @@ package com.hzs.bonus.detail.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.detail.CuMemberAwards; -import com.hzs.common.domain.system.config.BdAwards; import org.apache.ibatis.annotations.Param; -import java.math.BigDecimal; import java.util.List; /** @@ -43,47 +41,25 @@ public interface CuMemberAwardsMapper extends BaseMapper { */ Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List cuMemberAwardsList); - /* - * 删除升级的奖衔 - **/ + /** + * 删除升级的奖衔 + */ void deleteCuMemberAwardsByList(@Param("cuMemberAwards") List cuMemberAwards, @Param("period") Integer period); - /* - * 查询自动升级的等级 - **/ + /** + * 查询自动升级的等级 + */ List queryCuMemberAwards(@Param("cuMemberRetailRangeExtList") List cuMemberRetailRangeExtList, @Param("period") Integer period); - /* - * 回退等级 - **/ + /** + * 回退等级 + */ void mergeCuMemberBackAwards(@Param("rangeTableName") String rangeTableName, @Param("pkMember") Long pkMember, @Param("period") Integer period); - /* - * 每月1号计算奖衔 - **/ - void calculateCuMemberAwardsEveryMonth(@Param("period") Integer period, @Param("month") String month, - @Param("beforeMontTableName") String beforeMontTableName, @Param("minAchieve") BigDecimal minAchieve); - - /* - * 每月1号计算奖衔 - **/ - void calculateCuMemberRangeAwardsEveryMonth(@Param("period") Integer period, @Param("rangeTableName") String rangeTableName, @Param("minAchieve") BigDecimal minAchieve); - - /* - * 更新奖衔 - **/ - void calculateCuMemberAwards(@Param("period") Integer period, @Param("bdAwardsList") List bdAwardsList); - - /* - * 删除重复奖衔数据 - **/ - void deleteRepeatCuMemberAwards(@Param("period") Integer period, @Param("firstPeriod") Integer firstPeriod, - @Param("yesPeriod") Integer yesPeriod); - - /* - * 根据结算表更新奖衔 - **/ + /** + * 根据结算表更新奖衔 + */ void updateCuMemberAwardsExamine(@Param("assessTableName") String assessTableName, @Param("awardPeriod") Integer awardPeriod, @Param("assessPeriod") Integer assessPeriod); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java index 4775e50a..2f5ce241 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java @@ -46,19 +46,19 @@ public interface ICuMemberAwardsService extends IService { */ void saveBatchCuMemberAwards(List cuMemberAwardsList); - /* - * 删除升级的奖衔 - **/ + /** + * 删除升级的奖衔 + */ void deleteCuMemberAwards(List cuMemberAwards, Integer period); - /* - * 查询自动升级的等级 - **/ + /** + * 查询自动升级的等级 + */ List queryCuMemberAwards(List cuMemberRetailRangeExtList, Integer period); - /* - * 回退等级 - **/ + /** + * 回退奖衔 + */ void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period); /** @@ -70,13 +70,8 @@ public interface ICuMemberAwardsService extends IService { */ void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime); - /* - * 每月1号计算奖衔 - **/ - void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map awardsMap); - - /* - * 根据结算表更新奖衔 - **/ + /** + * 根据结算表更新奖衔 + */ void updateCuMemberAwardsExamine(Date currentDate, Integer period); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java index 8d5d41e8..56f55e32 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java @@ -1,7 +1,7 @@ package com.hzs.bonus.detail.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; @@ -21,60 +21,39 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.math.BigDecimal; import java.time.temporal.ChronoUnit; import java.util.*; /** - *

* 会员信息-奖衔升级记录 服务实现类 - *

- * - * @author hzs - * @since 2022-08-31 */ @Service public class CuMemberAwardsServiceImpl extends ServiceImpl implements ICuMemberAwardsService { - private ICuMemberTreeService cuMemberTreeService; - - private ICuMemberService cuMemberService; - - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - + @Autowired + private ICuMemberService iCuMemberService; + @Autowired + private ICuMemberTreeService iCuMemberTreeService; + @Autowired + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired private CuMemberBonusSettle cuMemberBonusSettle; - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberService(ICuMemberService cuMemberService) { - this.cuMemberService = cuMemberService; - } - - @Autowired - public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { - this.cuMemberTreeService = cuMemberTreeService; - } - @Override @Transactional(rollbackFor = Exception.class) public void calculateCuMemberAwards(String setDate, Map countryAwardsMap, String settleTableName) { // 查询结算日当天奖衔发生过变动的会员,本期 Date settleDate = DateUtils.parseStringToDate(setDate); - Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId(); + Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId(); //删除当天奖衔升级记录,自动升级的 // 更新奖衔,回退奖衔 List cuMemberAwards = queryCuMemberAwardsByPeriod(period, null); - cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period); - cuMemberService.updateBackCuMemberAward(cuMemberAwards, period); + iCuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period); + iCuMemberService.updateBackCuMemberAward(cuMemberAwards, period); // 回退业绩表奖衔 baseMapper.deleteCuMemberAwards(period); while (true) { - List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName); + List cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName); if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) { break; } @@ -85,8 +64,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType); - cuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period); - cuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period); + iCuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period); + iCuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period); // 回退业绩表奖衔 baseMapper.deleteCuMemberAwards(period); } @@ -95,22 +74,22 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl 0) { // 将变动值插入临时表中 // 更新会员表 - cuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period); + iCuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period); // 更新结算网体表(月表、日表) // 根据结算日期获得所有需要更新的周期 updateMemberAwardPeriod(settleDate); return Boolean.TRUE; } else { - cuMemberService.updateCuMemberByPeriod(null, period); + iCuMemberService.updateCuMemberByPeriod(null, period); updateMemberAwardPeriod(settleDate); return Boolean.FALSE; } @@ -224,52 +203,26 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl periodList = new ArrayList<>(); while (DateUtils.compareDateBefore(settleDate, currentDate)) { String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate); - periodList.add(cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId()); + periodList.add(iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId()); settleDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate); } - cuMemberTreeService.updateCuMemberSettleByPeriod(periodList); + iCuMemberTreeService.updateCuMemberSettleByPeriod(periodList); } @Override public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue()); - updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkApprove); - updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, currentDateTime); - updateWrapper.eq(SaOrderFieldConstants.PK_ORDER, pkOrder); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue()); + updateWrapper.set(CuMemberAwards::getPkModified, pkApprove); + updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime); + updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder); update(updateWrapper); } - @Override - public void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map awardsMap) { - // 根据奖衔找到最小的业绩要求 - BigDecimal minAchieve = BigDecimal.valueOf(999999999); - List bdAwardsList = new ArrayList<>(); - for (String key : awardsMap.keySet()) { - BdAwards bdAwards = awardsMap.get(key); - if (bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())) { - minAchieve = bdAwards.getCommunityCheck(); - } - if (ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { - bdAwardsList.add(bdAwards); - } - } - String month = DateUtils.getMonth(settleDate); -// baseMapper.deleteCuMemberSettleAwards(period); - // 计算业绩, 计算直销团队的福利奖衔 - baseMapper.calculateCuMemberAwardsEveryMonth(period, month, beforeMontTableName, minAchieve); - String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + period; - // 计算乐享极差团队奖衔 - baseMapper.calculateCuMemberRangeAwardsEveryMonth(period, rangeTableName, minAchieve); - baseMapper.calculateCuMemberAwards(period, bdAwardsList); - // 清空当月cu_member_settle_awards中数据 currentMonthFirstPeriod yesterdayPeriod 之间和period重复的去掉 - baseMapper.deleteRepeatCuMemberAwards(period, currentMonthFirstPeriod, yesterdayPeriod); - } - @Override public void updateCuMemberAwardsExamine(Date currentDate, Integer period) { String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate); - Integer currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId(); + Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId(); String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate); baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod); } @@ -286,9 +239,6 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap, Integer period) { @@ -350,20 +300,18 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl changeAwardsList, Integer period, List cuMemberAwardsList) { // 验证是否有降奖衔的,降奖衔的也要更新 if (changeAwardsList.size() > 0) { // 更新奖衔表,将奖衔升级记录修改为删除状态 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MemberFieldConstants.PERIOD, period); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberAwards::getPeriod, period); baseMapper.updateBatchCuMemberAwards(changeAwardsList, period); // 根据 changeAwardsList 查找到这群人的历史奖衔升级记录 List hisCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(changeAwardsList); @@ -384,19 +332,17 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl - * @Author: sui q - * @Date: 2022/11/5 14:21 */ private List queryCuMemberAwardsByPeriod(Integer period, Integer systemType) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MemberFieldConstants.PERIOD, period); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberAwards::getPeriod, period); if (systemType != null) { - queryWrapper.eq("SYSTEM_TYPE", systemType); + queryWrapper.eq(CuMemberAwards::getSystemType, systemType); } - queryWrapper.eq(MemberFieldConstants.UP_TYPE, EUpgradeType.AUTO_UPGRADE.getValue()); + queryWrapper.eq(CuMemberAwards::getUpType, EUpgradeType.AUTO_UPGRADE.getValue()); return baseMapper.selectList(queryWrapper); } @@ -409,13 +355,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml index e38b09f2..f3cbc3aa 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml @@ -47,7 +47,7 @@ diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 36742b84..df9ee4ca 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -237,43 +237,24 @@ - CREATE - OR REPLACE TRIGGER - ${tableName} - _ - TRIG - BEFORE - INSERT - OR - UPDATE ON ${tableName} - FOR EACH ROW + CREATE OR REPLACE TRIGGER + ${tableName}_TRIG + BEFORE INSERT OR UPDATE ON ${tableName} FOR EACH ROW DECLARE v_newVal NUMBER(12) := 0; - v_incval - NUMBER(12) := 0; + v_incval NUMBER(12) := 0; BEGIN - IF - INSERTING AND :new.pk_id IS NULL THEN - SELECT ${tableNameSeq}.NEXTVAL - INTO v_newVal - FROM DUAL; - IF - v_newVal = 1 THEN - SELECT NVL(max(pk_id), 0) - INTO v_newVal - FROM ${tableName}; - v_newVal - := v_newVal + 1; + IF INSERTING AND :new.pk_id IS NULL THEN + SELECT ${tableNameSeq}.NEXTVAL INTO v_newVal FROM DUAL; + IF v_newVal = 1 THEN SELECT NVL(max(pk_id), 0) INTO v_newVal FROM ${tableName}; + v_newVal := v_newVal + 1; LOOP EXIT WHEN v_incval >= v_newVal; - SELECT ${tableNameSeq}.nextval - INTO v_incval - FROM dual; + SELECT ${tableNameSeq}.nextval INTO v_incval FROM dual; END LOOP; END IF; - :new - .pk_id := v_newVal; + :new.pk_id := v_newVal; END IF; END; @@ -309,8 +290,7 @@ - create index - ${tableName}_parent + create index ${tableName}_parent on ${tableName} ( @@ -319,8 +299,7 @@ - create index - ${tableName}_place + create index ${tableName}_place on ${tableName} ( @@ -330,8 +309,7 @@ - create unique index - ${tableName}_PK_M + create unique index ${tableName}_PK_M on ${tableName} ( PK_MEMBER, @@ -340,8 +318,7 @@ - create unique index - ${tableName}_PK_M + create unique index ${tableName}_PK_M on ${tableName} ( PK_MEMBER @@ -416,6 +393,7 @@ using (select pk_member, max(old_level) old_level from cu_member_awards where period = #{period} + and del_flag = 0 group by pk_member) b on (a.pk_member = b.pk_member) when matched then @@ -433,6 +411,7 @@ where period = #{period} and up_type = 1 and system_type = 1 + and del_flag = 0 group by pk_member) ca inner join bd_range_awards ba on ca.old_level = ba.pk_id @@ -447,11 +426,14 @@ merge into ${rangeTableName} a using ( - select ca.pk_member, max(old_level) pk_awards from cu_member_awards ca + select ca.pk_member, max(old_level) pk_awards + from cu_member_awards ca inner join ${rangeTableName} cm on ca.pk_member = cm.pk_member - where ca.period = #{period} and ca.up_type = 1 + where ca.period = #{period} + and ca.up_type = 1 and ca.award_type = #{awardType} + and ca.del_flag = 0 and cm.pk_awards <= ca.new_level @@ -476,9 +458,13 @@ using ( select y.pk_member,y.pk_awards from ${rangeTableName} x inner join ( - select a.pk_member,a.new_level pk_awards from cu_member_awards a + select a.pk_member,a.new_level pk_awards + from cu_member_awards a + where a.del_flag = 0 inner join( - select pk_member, max(pk_id) pk_id from cu_member_awards where del_flag = 0 and up_type=2 + select pk_member, max(pk_id) pk_id + from cu_member_awards + where del_flag = 0 and up_type=2 and end_validity_date <= #{settleDate, jdbcType=DATE} and award_type = #{awardType} group by pk_member) b @@ -506,15 +492,13 @@ update ${rangeTableName} - set pk_awards = (select pk_id from bd_awards where awards_value = 0), - pk_share_awards = (select pk_id from bd_awards where awards_value = 0) + set pk_awards = (select pk_id from bd_awards where awards_value = 0) update ${rangeTableName} - set pk_awards = (select pk_id from bd_awards where awards_value = 5), - pk_share_awards = (select pk_id from bd_awards where awards_value = 5) + set pk_awards = (select pk_id from bd_awards where awards_value = 5) where pk_grade = ( select pk_id from bd_grade @@ -664,12 +648,14 @@ connect by pk_place_parent = prior pk_member) a inner join (select cw.pk_member, cw.new_level pk_awards from cu_member_awards cw - inner join(select pk_member, max(pk_id) pk_id - from cu_member_awards - where del_flag = 0 - and UP_TYPE in (1, 3) - group by pk_member) ca - on cw.pk_id = ca.pk_id) b + inner join (select pk_member, max(pk_id) pk_id + from cu_member_awards + where del_flag = 0 + and UP_TYPE in (1, 3) + group by pk_member) ca + on cw.pk_id = ca.pk_id + where cw.del_flag = 0 + ) b on a.pk_member = b.pk_member) a inner join bd_awards ba on a.pk_awards = ba.pk_id @@ -697,7 +683,9 @@ where del_flag = 0 and UP_TYPE in (1, 3) group by pk_member) ca - on cw.pk_id = ca.pk_id) b + on cw.pk_id = ca.pk_id + where cw.del_flag = 0 + ) b on a.pk_member = b.pk_member ) x inner join bd_awards ba diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml index 277883bd..6ef7a0b6 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml @@ -206,7 +206,7 @@ a.pk_awards = b.pk_awards, - a.pk_range_awards=b.pk_awards, + a.pk_range_awards = b.pk_awards, a.modified_time = sysdate @@ -263,6 +263,7 @@ using (select pk_member, max(old_level) old_level from cu_member_awards where period = #{period} + and del_flag = 0 group by pk_member) b on (a.pk_id = b.pk_member) when matched then @@ -279,6 +280,7 @@ from cu_member_awards where period = #{period} and up_type = 1 + and del_flag = 0 group by pk_member) ca inner join bd_range_awards ba on ca.old_level = ba.pk_id @@ -292,11 +294,14 @@ merge into cu_member a - using (select pk_member, max(old_level) pk_awards from cu_member_awards ca + using (select pk_member, max(old_level) pk_awards + from cu_member_awards ca inner join cu_member cm on ca.pk_member = cm.pk_id - where ca.period = #{period} and ca.up_type = 1 + where ca.period = #{period} + and ca.up_type = 1 and award_type = #{awardType} + and ca.del_flag = 0 and cm.pk_awards < ca.new_level @@ -321,14 +326,19 @@ using ( select y.pk_member,y.pk_awards from cu_member x inner join ( - select a.pk_member,a.new_level pk_awards from cu_member_awards a - inner join( - select pk_member,max(pk_id) pk_id from cu_member_awards where del_flag=0 and up_type=2 - and end_validity_date <=#{settleDate, jdbcType=DATE} + select a.pk_member,a.new_level pk_awards + from cu_member_awards a + where a.del_flag = 0 + inner join ( + select pk_member, max(pk_id) pk_id + from cu_member_awards + where del_flag = 0 + and up_type = 2 + and end_validity_date <= #{settleDate, jdbcType=DATE} and award_type = #{awardType} group by pk_member) b - on a.pk_id=b.pk_id ) y - on x.pk_id=y.pk_member + on a.pk_id = b.pk_id) y + on x.pk_id = y.pk_member where x.pk_awards < y.pk_awards @@ -344,7 +354,7 @@ a.pk_awards = b.pk_awards, - a.pk_range_awards=b.pk_awards, + a.pk_range_awards = b.pk_awards, a.modified_time = sysdate @@ -352,15 +362,13 @@ update cu_member - set pk_awards = (select pk_id from bd_awards where awards_value = 0), - pk_range_awards = (select pk_id from bd_awards where awards_value = 0) + set pk_awards = (select pk_id from bd_awards where awards_value = 0) update cu_member - set pk_awards=(select pk_id from bd_awards where awards_value = 5), - pk_range_awards=(select pk_id from bd_awards where awards_value = 5) + set pk_awards = (select pk_id from bd_awards where awards_value = 5) where pk_settle_grade = ( select pk_id from bd_grade 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 4620375d..1334060f 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 @@ -58,16 +58,15 @@ - -
- update cu_member_bonus set grant_status = #{grantStatus}, pk_modified=100000000, modified_time=sysdate - where del_flag= 0 + update cu_member_bonus + set grant_status = #{grantStatus}, pk_modified = 100000000, modified_time = sysdate + where del_flag = 0 and grant_status = #{oldGrantStatus} and period between #{startPeriod} and #{endPeriod} diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml index fbd4d289..8635906a 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml @@ -39,74 +39,6 @@ SELECT 1 FROM dual - - merge into cu_member_settle_awards a - using ( - select #{period} period, b.* - from ( - select pk_member, - pk_country, - a_balance, - b_balance, - a_new_pv, - b_new_pv, - (case - when a_balance = 0 and b_balance = 0 then a_new_pv + b_new_pv - when a_balance = 0 then a_new_pv - else b_new_pv end) new_pv - from ( - select ct.pk_member, - ct.pk_country, - nvl(ctb.a_balance, 0) a_balance, - nvl(ctb.b_balance, 0) b_balance, - ct.a_sum_pv a_new_pv, - ct.b_sum_pv b_new_pv - from ( - select pk_member, - pk_country, - sum(A_NEW_PV + REP_A_NEW_PV) A_SUM_PV, - sum(b_NEW_PV + REP_B_NEW_PV) b_SUM_PV, - sum(register_new_pv) REGISTER_PV, - sum(upgrade_new_pv) UPGRADE_PV, - sum(repurchase_new_pv) REPURCHASE_PV, - sum(hi_fun_new_pv) HI_FUN_PV, - sum(mall_new_pv) MALL_PV - from cu_member_achieve${month} - where period <= #{period} - and pk_country = 1 - group by pk_member, pk_country - ) ct - left join ${beforeMontTableName} ctb - on ct.pk_member = ctb.pk_member - )) b - where new_pv >= #{minAchieve}) b - on (a.pk_member = b.pk_member and a.period = b.period) - when matched then - update set a.a_balance = b.a_balance,a.b_balance = b.b_balance, - a.a_new_pv = b.a_new_pv,a.b_new_pv = b.b_new_pv,a.new_pv = b.new_pv - when not matched then - insert (pk_id, period, pk_member, a_balance, b_balance, a_new_pv, b_new_pv, new_pv, pk_country, assess_status) - values (cu_member_settle_awards_seq.nextval, b.period, b.pk_member, b.a_balance, b.b_balance, b.a_new_pv, b.b_new_pv, b.new_pv, - b.pk_country, 3) - - - merge into cu_member_settle_awards a - using( - select pk_member,period,max(pk_awards) pk_awards from( - - select pk_member,period,#{item.pkId} pk_awards from cu_member_settle_awards - where period = #{period} and pk_country=#{item.pkCountry} and new_pv>=#{item.communityCheck} - - and new_pv <#{item.communityCheckEnd} - - - ) - group by pk_member,period - ) b on (a.pk_member=b.pk_member and a.period=b.period) - when matched then - update set a.pk_awards=b.pk_awards - - update cu_member_awards set del_flag = 1, modified_time = sysdate, PK_MODIFIED = 1 where period= #{period} and pk_member in @@ -114,6 +46,7 @@ #{item.pkMember} + merge into cu_member_settle_awards a using ( @@ -128,27 +61,6 @@ update set a.assess_target = b.assess_target,a.assess_status = b.assess_status - - merge into cu_member_settle_awards a - using ( - select #{period} period, b.pk_member, b.max_team_pv, b.small_team_pv new_pv - from ( - select pk_parent pk_member, - max(team_month_pv + new_pv) max_team_pv, - (sum(team_month_pv + new_pv) - max(team_month_pv + new_pv)) small_team_pv, - count(pk_parent) dept_num - from ${rangeTableName} - group by pk_parent - having count(pk_parent) >= 2) b - where b.small_team_pv >= #{minAchieve}) b - on (a.pk_member = b.pk_member and a.period = b.period) - when matched then - update set a.a_new_pv = b.max_team_pv,a.b_new_pv = b.new_pv,a.new_pv = b.new_pv - when not matched then - insert (pk_id, period, pk_member, a_balance, b_balance, a_new_pv, b_new_pv, new_pv, pk_country, assess_status) - values (cu_member_settle_awards_seq.nextval, b.period, b.pk_member, 0, 0, b.max_team_pv, b.new_pv, b.new_pv, 1, 3) - - merge into ${rangeTableName} a using ( @@ -169,8 +81,11 @@ from cu_member start with pk_id = #{pkMember} connect by prior pk_parent = pk_id) - group by ca.pk_member) cx - on cw.pk_id = cx.pk_id ) b + group by ca.pk_member + ) cx + on cw.pk_id = cx.pk_id + where cw.del_flag = 0 + ) b on (a.pk_member = b.pk_member) when matched then update set a.pk_awards = b.old_level @@ -178,48 +93,45 @@ - delete - from cu_member_awards + update cu_member_awards cma + set cma.del_flag = 1, + cma.modified_time = sysdate + where period = #{period} + and up_type = 1 + + - - delete - from cu_member_settle_awards - where pk_id in ( - select a.pk_id - from ( - select ct.pk_id, ct.pk_member, ba.awards_value - from cu_member_settle_awards ct - inner join bd_awards ba - on ct.pk_awards = ba.pk_id and ba.del_flag = 0 - where period = #{period}) a - inner join( - select ct.*, bw.awards_value - from ( - select pk_member, max(pk_awards) pk_awards - from cu_member_settle_awards - where period between #{firstPeriod} and #{yesPeriod} - group by pk_member) ct - inner join bd_awards bw - on ct.pk_awards = bw.pk_id and bw.del_flag = 0 - ) b - on a.pk_member = b.pk_member and a.awards_value <= b.awards_value) - + - delete from cu_member_awards where period = #{period} and del_flag=0 and up_type=1 + update cu_member_awards cma + set cma.del_flag = 1, + cma.modified_time = sysdate + where period = #{period} and del_flag = 0 and up_type = 1 and pk_id in #{item.pkId} + + + select ca.pk_member,ba.awards_value new_level from cu_member_awards ca diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java index c4731c77..a0f7eec7 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java @@ -13,9 +13,6 @@ import java.util.Date; /** * 会员 - * - * @author hzs - * @since 2022-08-04 */ @Data @EqualsAndHashCode(callSuper = false) From 73b70e4fa07875ea303e21b5b4d9e40071133895 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 09:56:33 +0800 Subject: [PATCH 56/75] =?UTF-8?q?##=20=E8=87=AA=E5=B7=B1=E6=9C=88=E7=B4=AF?= =?UTF-8?q?=E8=AE=A1=E4=B8=9A=E7=BB=A9=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 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 cacd8812..9c17af6c 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 @@ -491,11 +491,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 个人累计消费pv BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); + sourceMemberRangeExt.setMonthBoxNum(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.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); // 计算自己等级、奖衔等 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap); @@ -864,16 +865,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { // 累计业绩 - targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); - targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); - targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); - targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); + targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); + targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); + // 累计金额 targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); + targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); + targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); // 累计盒数 + targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum); targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum); targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() + boxNum); - targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum); // 计算等级 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap); From 9020247e9a2034149ea10ccd3d5a6c9d3bd989eb Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Mon, 16 Jun 2025 10:00:11 +0800 Subject: [PATCH 57/75] =?UTF-8?q?##=20Fix=20-=20=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E5=8A=A8=E6=80=81-=E4=B8=9A=E7=BB=A9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/MarketDynamicsQueryDateParam.java | 4 ++++ .../retail/member/utils/DataStatisticsUtil.java | 16 ++++++++++++---- .../member/achieve/CuMemberRetailRangeMapper.xml | 14 +++++++------- 3 files changed, 23 insertions(+), 11 deletions(-) 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 index d1dd7504..85e209b3 100644 --- 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 @@ -38,4 +38,8 @@ public class MarketDynamicsQueryDateParam implements Serializable { private String keyWords; private Integer pageNum = 1; private Integer pageSize = 10; + /** + * 查询类型 1-盒数, 2-业绩 + */ + private Integer queryType; } 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 30b4f9b8..04273214 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 @@ -230,10 +230,18 @@ public class DataStatisticsUtil { if(StrUtil.isNotEmpty(param.getKeyWords())){ detailVOList = detailVOList.stream().filter(o -> o.getMemberCode().contains(param.getKeyWords()) || o.getMemberName().contains(param.getKeyWords())).collect(Collectors.toList()); } - MarketDynamicsDetailVO bigRange = detailVOList.stream() - .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) - .orElse(null); - detailVOList = detailVOList.stream().filter(o -> !o.getPkId().equals(bigRange.getPkId())).collect(Collectors.toList()); + MarketDynamicsDetailVO bigRange = null; + if(param.getQueryType().equals(1)){ + bigRange = detailVOList.stream() + .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) + .orElse(null); + }else{ + bigRange = detailVOList.stream() + .max(Comparator.comparing(MarketDynamicsDetailVO::getTodayPv)) + .orElse(null); + } + MarketDynamicsDetailVO finalBigRange = bigRange; + detailVOList = detailVOList.stream().filter(o -> !o.getPkId().equals(finalBigRange.getPkId())).collect(Collectors.toList()); PageResult result = MemoryPageUtils.paginate(detailVOList, param.getPageNum(), param.getPageSize()); result.setBigRange(bigRange); return result; 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 a05d70de..6054564a 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 @@ -882,15 +882,15 @@ cu.PK_AWARDS, awards.AWARDS_NAME, currentMonth.ENABLE_STATUS, - NVL( currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) todayPv, - NVL( currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) todayBoxNum, - NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + currentMonth.TEAM_NEW_PV, 0 ) yesterdayPv, - NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + currentMonth.TEAM_NEW_BOX_NUM, 0 ) yesterdayBoxNum, - NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) currentMonthPv, - NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) currentMonthBoxNum, + NVL( NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) todayPv, + NVL( NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) todayBoxNum, + NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv, + NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_NEW_BOX_NUM, 0 ), 0 ) yesterdayBoxNum, + NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) currentMonthPv, + NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum, NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv, NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum, - NVL( currentMonth.CONSUME_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) totalBoxNum + NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum FROM cu_member cu LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER From b386dda7ba5c9407a719c96722b7c9e21bd6f1f8 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 10:09:45 +0800 Subject: [PATCH 58/75] =?UTF-8?q?##=20=E7=AD=89=E7=BA=A7=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E9=80=BB=E8=BE=91=E5=88=A0=E9=99=A4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CuMemberGradeServiceImpl.java | 4 +- .../achieve/CuMemberRetailRangeMapper.xml | 8 ++-- .../bonus/detail/CuMemberGradeMapper.xml | 44 ++++++++++++++++--- .../member/detail/CuMemberLevelMapper.xml | 6 ++- 4 files changed, 47 insertions(+), 15 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java index 02e12052..e1370a2c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java @@ -1,13 +1,11 @@ package com.hzs.bonus.detail.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.base.service.ICuMemberService; import com.hzs.bonus.detail.mapper.CuMemberGradeMapper; import com.hzs.bonus.detail.service.ICuMemberGradeService; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.detail.CuMemberLevel; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -22,7 +20,7 @@ public class CuMemberGradeServiceImpl extends ServiceImpl calculateCuMemberRetailGradeInit(Integer period, Date startDate, Date endDate, String rangeTableName) { - // 更新奖衔,回退奖衔 + // 更新奖衔,回退等级 baseMapper.deleteCuMemberGrade(period); baseMapper.updateCuMemberGrade(rangeTableName, period); return baseMapper.queryCuMemberLevel(startDate, endDate); 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 ca5a9e04..bc6a2071 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 @@ -300,14 +300,14 @@ a.pk_settle_country, a.pk_share_awards, a.enable_status, - consume_box_num, new_box_num, - team_box_num, + consume_box_num, month_box_num, - team_new_box_num, + new_consume_pv, consume_pv, month_consume_pv, - new_consume_pv, + team_box_num, + team_new_box_num, team_consume_amount, team_consume_pv, team_month_amount, diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml index 8ca32712..a1c91cde 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml @@ -85,28 +85,57 @@ a.pk_grade = b.pk_grade + + update cu_member_grade + set del_flag = 1, + modified_time = sysdate + where period = #{period} + and del_flag = 0 + and up_type = 1 + + + - delete from cu_member_grade where period = #{period} and del_flag=0 and up_type=1 + update cu_member_grade + set del_flag = 1, + modified_time = sysdate + where period = #{period} + and del_flag = 0 + and up_type = 1 and pk_id in #{item.pkId} + + select a.* from cu_member_grade a inner join( - select pk_member,max(nvl(modified_time,creation_time)) creation_time from cu_member_grade - where period <= #{period} and del_flag=0 and up_type=2 + select pk_member, max(nvl(modified_time,creation_time)) creation_time + from cu_member_grade + where period <= #{period} + and del_flag = 0 + and up_type = 2 group by pk_member) b - on a.pk_member=b.pk_member and nvl(a.modified_time,a.creation_time)=b.creation_time + on a.pk_member = b.pk_member and nvl(a.modified_time,a.creation_time) = b.creation_time and a.pk_member in #{item.pkMember} diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberLevelMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberLevelMapper.xml index 4771c65e..8cf2aa8d 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberLevelMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/detail/CuMemberLevelMapper.xml @@ -23,14 +23,16 @@ From b46d53874444299d89b7f31a8ea6600b2515d723 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 10:35:49 +0800 Subject: [PATCH 59/75] =?UTF-8?q?##=20=E8=AE=A2=E5=8D=95=E7=BC=96=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E5=8F=91=E8=B4=A7=E5=8D=95=E7=BC=96=E5=8F=B7=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0RE=E5=89=8D=E7=BC=80=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/hzs/common/core/enums/EOrderPrefix.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java index cb89d8fd..f62ffa10 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java @@ -18,7 +18,7 @@ public enum EOrderPrefix { /** * 销售订单 */ - ORDER_CODE("SO", "销售订单"), + ORDER_CODE("RESO", "销售订单"), /** * 采购订单 @@ -73,7 +73,7 @@ public enum EOrderPrefix { /** * 发货单 */ - DELIVERY_CODE("SD", "发货单"), + DELIVERY_CODE("RESD", "发货单"), /** * 充值 From 174fe27340ec85230dd732e79e5ee58ab32b4854 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 14:51:42 +0800 Subject: [PATCH 60/75] =?UTF-8?q?##=20=E6=9B=B4=E6=96=B0=E5=A5=96=E8=A1=94?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/bonus/achieve/CuMemberTreeMapper.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index df9ee4ca..0ef2750a 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -460,7 +460,6 @@ inner join ( select a.pk_member,a.new_level pk_awards from cu_member_awards a - where a.del_flag = 0 inner join( select pk_member, max(pk_id) pk_id from cu_member_awards @@ -468,7 +467,9 @@ and end_validity_date <= #{settleDate, jdbcType=DATE} and award_type = #{awardType} group by pk_member) b - on a.pk_id = b.pk_id ) y + on a.pk_id = b.pk_id + where a.del_flag = 0 + ) y on x.pk_member=y.pk_member where From f4899490def0fef34bab9315d697073b23682f19 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 15:00:28 +0800 Subject: [PATCH 61/75] =?UTF-8?q?##=20=E6=9B=B4=E6=96=B0=E5=A5=96=E8=A1=94?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/bonus/base/CuMemberMapper.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml index 6ef7a0b6..4ef71d76 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml @@ -328,7 +328,6 @@ inner join ( select a.pk_member,a.new_level pk_awards from cu_member_awards a - where a.del_flag = 0 inner join ( select pk_member, max(pk_id) pk_id from cu_member_awards @@ -337,7 +336,9 @@ and end_validity_date <= #{settleDate, jdbcType=DATE} and award_type = #{awardType} group by pk_member) b - on a.pk_id = b.pk_id) y + on a.pk_id = b.pk_id + where a.del_flag = 0 + ) y on x.pk_id = y.pk_member where From b2d754d2f243ae4dfa1534b2d9031ef9a3fe306c Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 15:14:05 +0800 Subject: [PATCH 62/75] =?UTF-8?q?##=20xxl=E7=94=9F=E4=BA=A7=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bd-third/src/main/resources/application-online.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bd-third/src/main/resources/application-online.properties b/bd-third/src/main/resources/application-online.properties index 736bcf26..e817946a 100644 --- a/bd-third/src/main/resources/application-online.properties +++ b/bd-third/src/main/resources/application-online.properties @@ -1,14 +1,14 @@ ### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册; -xxl.job.admin.addresses=http://172.26.201.190:8181/xxl-admin +xxl.job.admin.addresses=http://172.26.201.209:8181/xxl-admin # log config logging.config=classpath:logback.xml ### 执行器通讯TOKEN [选填]:非空时启用; -xxl.job.accessToken=retail_token_online +xxl.job.accessToken=re_token_online ### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册 -xxl.job.executor.appname=xxl-job-retail +xxl.job.executor.appname=xxl-job-re ### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。 xxl.job.executor.address= ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务"; From a46ec5257e64a5c2a3409cff1fff5cbec070d893 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 16 Jun 2025 16:07:48 +0800 Subject: [PATCH 63/75] =?UTF-8?q?##=20=E7=94=9F=E4=BA=A7nacos=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index c33de852..2237fbb4 100644 --- a/pom.xml +++ b/pom.xml @@ -463,7 +463,7 @@ online - + 172.26.201.209:8847 @@ -471,7 +471,7 @@ nacos - + reOnline_nacos#202 From 2615f517de9100c2ad15f0adb1ffe78beebcdb23 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Tue, 17 Jun 2025 09:39:25 +0800 Subject: [PATCH 64/75] =?UTF-8?q?##=20Fix=20-=20=E7=9B=92=E6=95=B0(?= =?UTF-8?q?=E5=B0=8F=E5=8C=BA=E7=9B=92=E6=95=B0)=20&=20=E5=B8=82=E5=9C=BA?= =?UTF-8?q?=E5=8A=A8=E6=80=81-=E6=9C=AC=E6=9C=88=E7=9B=92=E6=95=B0(?= =?UTF-8?q?=E6=97=A5=E7=BB=93.MONTH=5FBOX=5FNUM=20+=20TEAM=5FMONTH=5FBOX?= =?UTF-8?q?=5FNUM=20+=20=E7=A7=92=E7=BB=93.NEW=5FBOX=5FNUM=20+=20TEAM=5FNE?= =?UTF-8?q?W=5FBOX=5FNUM)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hzs/retail/member/utils/DataStatisticsUtil.java | 2 +- .../mapper/member/achieve/CuMemberRetailRangeMapper.xml | 2 +- 2 files changed, 2 insertions(+), 2 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 04273214..d5836207 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 @@ -180,7 +180,7 @@ public class DataStatisticsUtil { .memberCode(SELF_VIRTUAL_NAME) .totalBoxNum( detailVO.getConsumeBoxNum() - + detailVO.getNewBoxNum() +// + detailVO.getNewBoxNum() + detailVO.getSNewBoxNum() ) .totalPv( 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 6054564a..3a10d092 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 @@ -887,7 +887,7 @@ NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv, NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_NEW_BOX_NUM, 0 ), 0 ) yesterdayBoxNum, NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) currentMonthPv, - NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum, + NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum, NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv, NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum, NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum From 34b1b8632a991f59f93fba1b334aaa4526d3adce Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 17 Jun 2025 10:46:35 +0800 Subject: [PATCH 65/75] =?UTF-8?q?##=20=E6=97=A5=E7=BB=93=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=9B=A2=E9=98=9F=E6=9C=88=E7=9B=92=E6=95=B0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=8F=8A=E5=A4=84=E7=90=86=EF=BC=9B=E6=9C=88=E5=A5=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AE=A2=E5=8D=95=E4=B8=8D=E8=B5=B0dubbo=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=EF=BC=8C=E6=94=B9=E4=B8=BA=E8=87=AA=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 --- .../mapper/CuMemberRetailRangeMapper.java | 4 +- .../service/ICuMemberRetailRangeService.java | 2 +- .../impl/CuMemberRetailRangeServiceImpl.java | 4 +- .../service/impl/BonusSettleAgentHandle.java | 219 ---------------- .../impl/BonusSettleFirstPurchaseHandle.java | 76 ++---- .../bonus/service/impl/BonusSettleHandle.java | 87 ++---- .../service/impl/BonusSettleRangeHandle.java | 71 +++-- .../service/impl/BonusSettleServiceImpl.java | 3 +- .../service/impl/BonusSettleStoreHandle.java | 112 -------- .../bonus/order/mapper/BonusOrderMapper.java | 12 + .../order/service/IBonusOrderService.java | 11 +- .../service/impl/BonusOrderServiceImpl.java | 6 + .../achieve/CuMemberRetailRangeMapper.xml | 248 ++++++++++-------- .../bonus/achieve/CuMemberTreeMapper.xml | 21 +- .../mapper/bonus/base/CuMemberMapper.xml | 5 +- .../bonus/detail/CuMemberAwardsMapper.xml | 9 +- .../bonus/detail/CuMemberGradeMapper.xml | 19 +- .../mapper/bonus/order/BonusOrderMapper.xml | 22 ++ .../com/hzs/common/core/utils/DateUtils.java | 99 ++----- .../member/achieve/CuMemberRetailRange.java | 121 ++++----- 20 files changed, 387 insertions(+), 764 deletions(-) delete mode 100644 bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleAgentHandle.java delete mode 100644 bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleStoreHandle.java diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java index 5f2c1c57..691f9453 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java @@ -144,5 +144,7 @@ public interface CuMemberRetailRangeMapper extends BaseMapper calculateCloudAgentAreaBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap) { - List cuMemberBonusDetailList = new ArrayList<>(); - // 云代区域 月奖 - // 查询时间范围内订单 - Date settleDate = DateUtils.parseStringToDate(settleDateStr); - // 上个月最后一天 - settleDate = DateUtils.beforeMonthLastDate(settleDate); - // 结算月第一天 - Date currentMonthFirstDate = DateUtils.currentMonthFirstDate(settleDate); - // 结算月下月第一天 - Date nextMonthFirstDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate); - List orderType = new ArrayList<>(); - orderType.add(EOrderType.REGISTER_ORDER.getValue()); - orderType.add(EOrderType.UPGRADE_ORDER.getValue()); - orderType.add(EOrderType.REPURCHASE_ORDER.getValue()); - List currentMonthOrderList = saOrderServiceApi.querySaOrderByDayForCloud(currentMonthFirstDate, nextMonthFirstDate, orderType).getData(); - // 查询月末会员状态 - Integer lastPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(settleDateStr).getPkId(); - String currentSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + lastPeriod; - Set pkMemberSet = new HashSet<>(); - // 获取配置 - Map bdBonusCloudMap = bonusConfigDTO.getBonusCloudMap(); - if (bdBonusCloudMap == null) { - return cuMemberBonusDetailList; - } - // 计算奖金 云代首购 首购订单1% 云代复购 复购订单1% - // 查询会员,查询出所有代理的会员 - Map> cuMemberAgentMap = cuMemberAgentService.queryCuMemberAgent(); - List saOrderList = new ArrayList<>(); - for (SaOrder saOrder : currentMonthOrderList) { - if (saOrder.getPkCountry() == null || saOrder.getRecProvince() == null || saOrder.getRecCity() == null) { - continue; - } - String key = saOrder.getPkCountry().toString() + saOrder.getRecProvince() + saOrder.getRecCity(); - if (!cuMemberAgentMap.containsKey(key)) { - continue; - } else { - saOrderList.add(saOrder); - } - pkMemberSet.add(saOrder.getPkMember()); - List cuMemberAgentList = cuMemberAgentMap.get(key); - cuMemberAgentList.forEach(cuMemberAgent -> - pkMemberSet.add(cuMemberAgent.getPkMember())); - } - List cuMemberSettleExtList = cuMemberTreeService.batchQueryMemberSettleByMemberPk(currentSettleTableName, pkMemberSet); - Map cuMemberSettleExtMap = new HashMap<>(); - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - Map currencyDtoMap = bonusConfigDTO.getCurrencyDtoMap(); - for (SaOrder saOrder : saOrderList) { - String key = saOrder.getPkCountry().toString() + saOrder.getRecProvince().toString() + saOrder.getRecCity().toString(); - List cuMemberAgentList = cuMemberAgentMap.get(key); - BigDecimal exchangeRate = BigDecimal.ONE; - if (currencyDtoMap.containsKey(saOrder.getPkCountry().toString() + saOrder.getPkRate())) { - exchangeRate = currencyDtoMap.get(saOrder.getPkCountry().toString() + saOrder.getPkRate()).getInExchangeRate(); - } - // 云代首购 - CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrder.getPkMember()); - if (sourceMemberSettleExt == null) { - continue; - } - if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType() || - EOrderType.UPGRADE_ORDER.getValue() == saOrder.getOrderType() || - Objects.equals(EOrderType.FICTITIOUS_ORDER.getValue(), saOrder.getOrderType())) { - BdBonusCloud bdBonusCloud = bdBonusCloudMap.get(saOrder.getPkCountry().toString() + ECloudType.CLOUD_TYPE_FIRST_PURCHASE.getValue()); - for (CuMemberAgent cuMemberAgent : cuMemberAgentList) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(cuMemberAgent.getPkMember()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() || - EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()) { - continue; - } - if (cuMemberAgent.getAgentGrade() == 7 && cuMemberAgent.getAgentCounty() != null && saOrder.getRecCounty() != null && - !Objects.equals(cuMemberAgent.getAgentCounty(), saOrder.getRecCounty())) { - continue; - } else { - if (cuMemberAgent.getAgentGrade() == 8 && cuMemberAgent.getAgentCounty() != null && - !Objects.equals(cuMemberAgent.getAgentCounty(), saOrder.getRecCounty())) { - continue; - } - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrder, targetMemberSettleExt, cuMemberBonus); - // 计算比例 - cuMemberBonusDetail.setCalValue(bdBonusCloud.getCloudRatio()); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CLOUD_AGENT_FIRST_PURCHASE.getValue())); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrder.getOrderAchieve(), bdBonusCloud.getCloudRatio())); - cloudAgentRemark(saOrder, cuMemberBonusDetail, sourceMemberSettleExt, targetMemberSettleExt, BonusMsgConstants.CLOUD_AGENT_FIRST_REPURCHASE); - cuMemberBonusDetailList.add(cuMemberBonusDetail); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrder.getOrderAmount(), exchangeRate); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setCloudPurIncome(ComputeUtil.computeAdd(cuMemberBonus.getCloudPurIncome(), cuMemberBonusDetail.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - } - } else { - // 云代复购 - BdBonusCloud bdBonusCloud = bdBonusCloudMap.get(saOrder.getPkCountry().toString() + ECloudType.CLOUD_TYPE_PURCHASE.getValue()); - for (CuMemberAgent cuMemberAgent : cuMemberAgentList) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(cuMemberAgent.getPkMember()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() || - EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()) { - continue; - } - if (cuMemberAgent.getAgentGrade() == 7 && cuMemberAgent.getAgentCounty() != null && saOrder.getRecCounty() != null && - !Objects.equals(cuMemberAgent.getAgentCounty(), saOrder.getRecCounty())) { - continue; - } else { - if (cuMemberAgent.getAgentGrade() == 8 && cuMemberAgent.getAgentCounty() != null && - !Objects.equals(cuMemberAgent.getAgentCounty(), saOrder.getRecCounty())) { - continue; - } - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrder, targetMemberSettleExt, cuMemberBonus); - // 计算比例 - cuMemberBonusDetail.setCalValue(bdBonusCloud.getCloudRatio()); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CLOUD_AGENT_REPURCHASE.getValue())); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrder.getOrderAchieve(), bdBonusCloud.getCloudRatio())); - cloudAgentRemark(saOrder, cuMemberBonusDetail, sourceMemberSettleExt, targetMemberSettleExt, BonusMsgConstants.CLOUD_AGENT_REPURCHASE); - cuMemberBonusDetailList.add(cuMemberBonusDetail); - - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrder.getOrderAmount(), exchangeRate); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setCloudRepurIncome(ComputeUtil.computeAdd(cuMemberBonus.getCloudRepurIncome(), cuMemberBonusDetail.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - } - } - } - - // 复购券均分收益规则 - List repurSharRuleConfigExtList = activityServiceApi.queryRepurSharRuleConfig(currentMonthFirstDate, nextMonthFirstDate).getData(); - if (CollectionUtil.isNotEmpty(repurSharRuleConfigExtList)) { - for (AcRepurSharRuleConfigExt acRepurSharRuleConfigExt : repurSharRuleConfigExtList) { - List orderTypeList = acRepurSharRuleConfigExt.getRepurSharOrderTypeList().stream().distinct().map(AcRepurSharOrderType::getOrderType).collect(Collectors.toList()); - List orderList = saOrderServiceApi.querySaOrderByTimeForCouponShare(settleDate, nextMonthFirstDate, orderTypeList, - acRepurSharRuleConfigExt.getOrderAmount(), acRepurSharRuleConfigExt.getOrderAchieve(), acRepurSharRuleConfigExt.getPkCountry()).getData(); - if (CollectionUtil.isNotEmpty(orderList)) { - Set memberSet = orderList.stream().distinct().map(SaOrder::getPkMember).collect(Collectors.toSet()); - cuMemberSettleExtList = cuMemberTreeService.batchQueryMemberSettleByMemberPk(currentSettleTableName, memberSet); - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - for (SaOrder saOrder : orderList) { - BigDecimal exchangeRate = BigDecimal.ONE; - if (currencyDtoMap.containsKey(saOrder.getPkCountry().toString() + saOrder.getPkRate())) { - exchangeRate = currencyDtoMap.get(saOrder.getPkCountry().toString() + saOrder.getPkRate()).getInExchangeRate(); - } - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(saOrder.getPkMember()); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrder, targetMemberSettleExt, cuMemberBonus); - // 计算比例 - cuMemberBonusDetail.setCalValue(acRepurSharRuleConfigExt.getRatioValue()); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_COUPONS_SHARE.getValue())); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrder.getOrderAchieve(), acRepurSharRuleConfigExt.getRatioValue())); - shareCouponRemark(cuMemberBonusDetail, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate)); - cuMemberBonusDetailList.add(cuMemberBonusDetail); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrder.getOrderAmount(), exchangeRate); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setRepurCouponShare(cuMemberBonusDetail.getPretaxIncome()); - setRepurchaseCouponTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - } - } - } - } - return cuMemberBonusDetailList; - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java index 7c9327ef..f4fd5354 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java @@ -3,8 +3,6 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import com.hzs.bonus.base.service.ICuMemberService; -import com.hzs.bonus.bonus.service.ICuMemberBonusService; -import com.hzs.bonus.bonus.service.ICuMemberShareDetailService; import com.hzs.common.core.constant.*; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; @@ -21,7 +19,6 @@ import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.system.config.BdAwards; -import com.hzs.common.domain.system.config.BdBonusItems; import com.hzs.common.domain.system.config.BdGrade; import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.dto.*; @@ -42,14 +39,10 @@ import java.util.stream.Collectors; public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { @DubboReference - IGradeServiceApi gradeServiceApi; + IGradeServiceApi iGradeServiceApi; @Autowired - private ICuMemberBonusService cuMemberBonusService; - @Autowired - private ICuMemberShareDetailService cuMemberShareDetailService; - @Autowired - private ICuMemberService cuMemberService; + private ICuMemberService iCuMemberService; /** * 计算直推奖 @@ -69,7 +62,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { // 推荐奖明细 List cuMemberBonusPushList = new ArrayList<>(); Set pkCountrySet = firPurchaseOrderList.stream().distinct().map(SaOrderExt::getPkCountry).collect(Collectors.toSet()); - Map> gradeDtoMap = gradeServiceApi.queryCountryGradeConfigByCondition(pkCountrySet).getData(); + Map> gradeDtoMap = iGradeServiceApi.queryCountryGradeConfigByCondition(pkCountrySet).getData(); // 等级对应的业绩 for (SaOrderExt saOrderExt : firPurchaseOrderList) { List gradeList = gradeDtoMap.get(saOrderExt.getPkCountry()); @@ -272,7 +265,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { * @param bonusConfigDTO 参数 * @param firPurchaseOrderList 首单 * @param cuMemberBonusMap 所有计算出来的奖金汇总 - * @Description: 计算拓展收益 + * 计算拓展收益 * @return: void * @Author: sui q * @Date: 2022/11/10 14:17 @@ -498,7 +491,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { * @param firPurchaseOrderList 订单列表 * @param cuMemberBonusExpandList 量奖明细 * @param cuMemberBonusMap 所有计算出来的奖金汇总 - * @Description: 计算辅导收益 + * 计算辅导收益 * @return: void * @Author: sui q * @Date: 2022/11/10 14:17 @@ -513,7 +506,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @Description: 计算领导奖 + * 计算领导奖 + * * @return: List * @Author: sui q * @Date: 2023/2/8 17:16 @@ -546,7 +540,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @Description: 计算领导奖 + * 计算领导奖 + * * @return: List * @Author: sui q * @Date: 2023/2/8 17:16 @@ -676,7 +671,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { /** * @param backMemberBonusCoachList 临时记录辅导奖列表 * @param i 第几代 - * @Description: 处理拓展表备注 + * 处理拓展表备注 * @return: void * @Author: sui q * @Date: 2022/11/17 18:02 @@ -777,41 +772,9 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { return cuMemberBonusDetail; } - /** - * @param settleTableName 结算表 - * @param period 期间 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - * @Description: 计算报单服务费 - * 车奖 全球分红 有奖衔的会员,复购考核通过的,根据对应奖衔可拿代数配置拿下面代数的(推荐+拓展+领导+分红)奖金合计为基数的相应代数的比率(配置值) - * 跟领导奖一样的算法,不算启动卡 - * @return: List - * @Author: sui q - * @Date: 2022/11/17 14:14 - */ - List calculateGlobalCarBonus(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, String settleTableName, String settleDateStr, - Integer period, Map cuMemberBonusMap) { - // 查询存在车奖、全球积分的国家 - List bonusValueList = new ArrayList<>(); -// bonusValueList.add(EBonusItems.GLOBAL_DIVIDEND.getValue()); -// bonusValueList.add(EBonusItems.CAR_BONUS_POINTS.getValue()); - List bdBonusItemsList = bonusItemsServiceApi.queryExistsBonusItems(bonusValueList).getData(); - // 查询出存在车奖跟全球积分的国家 - Set country = new HashSet<>(); - if (bdBonusItemsList != null && bdBonusItemsList.size() > 0) { - bdBonusItemsList.forEach(bdBonusItems -> country.add(bdBonusItems.getPkCountry())); - // 查询这几个国家的奖金 - List cuMemberBonusList = cuMemberBonusService.queryExistsPurchaseBonusMember(period, Arrays.asList(country.toArray(new Integer[]{}))); - return calculateGlobalCarBonusOne(cuMemberSettleExtMap, settleTableName, settleDateStr, bonusConfigDTO, cuMemberBonusList, period, cuMemberBonusMap); - } - // 查询所有有奖金的人的所有血缘上级,根据国家查询,只查询有该奖金项的国家 - return null; - } /** - * @Description: 计算全球积分车奖积分 - * @return: List - * @Author: sui q - * @Date: 2023/2/8 17:16 + * 计算全球积分车奖积分 */ List calculateGlobalCarBonusOne(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, List cuMemberBonusList, @@ -842,10 +805,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @Description: 计算全球积分车奖积分 - * @return: List - * @Author: sui q - * @Date: 2023/2/8 17:16 + * 计算全球积分车奖积分 */ List calculateGlobalCarBonusDetail(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, CuMemberBonus sourceMemberBonus, @@ -958,14 +918,12 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @param settleDateStr 结算日期 - * @param period 期间 - * @Description: 计算报单服务费 + * 计算报单服务费 * 车奖 全球分红 有奖衔的会员,复购考核通过的,根据对应奖衔可拿代数配置拿下面代数的(推荐+拓展+领导+分红)奖金合计为基数的相应代数的比率(配置值) * 跟领导奖一样的算法,不算启动卡 - * @return: List - * @Author: sui q - * @Date: 2022/11/17 14:14 + * + * @param settleDateStr 结算日期 + * @param period 期间 */ List calculateShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, Map cuAwardsControlMap) { @@ -1115,7 +1073,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { // } BigDecimal gradeExpandRatio = bdGrade.getExpandRatio(); // 验证受益人等级 - CuMember cuMember = cuMemberService.getMember(targetMemberSettleExt.getMemberCode()); + CuMember cuMember = iCuMemberService.getMember(targetMemberSettleExt.getMemberCode()); if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY) && cuMember != null && DateUtils.compareDate(DateUtils.parseStringToDate("2024-09-11"), cuMember.getPayTime()) > 0) { if (targetMemberSettleExt.getGradeValue() == EGrade.VIP.getValue()) { 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 843f87da..22b3779e 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 @@ -26,10 +26,8 @@ import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdGrade; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; -import com.hzs.sale.order.ISaOrderServiceApi; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; -import com.hzs.system.config.IBonusItemsServiceApi; import com.hzs.system.config.dto.BonusConfigDTO; import com.hzs.system.config.dto.BonusExpandDTO; import com.hzs.system.config.dto.RangeDTO; @@ -45,33 +43,15 @@ import java.util.*; public abstract class BonusSettleHandle { @DubboReference - ISaOrderServiceApi saOrderServiceApi; - @DubboReference - IBonusItemsServiceApi bonusItemsServiceApi; - @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; + @Autowired protected ICuMemberTreeService cuMemberTreeService; - @Autowired - public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { - this.cuMemberTreeService = cuMemberTreeService; - } - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - + @Autowired private ICuMemberAssessService cuMemberAssessService; - @Autowired - public void setCuMemberAssessService(ICuMemberAssessService cuMemberAssessService) { - this.cuMemberAssessService = cuMemberAssessService; - } - - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - public ICuMemberSettlePeriodService getCuMemberSettlePeriodService() { return cuMemberSettlePeriodService; } @@ -475,7 +455,7 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusCoach 辅导奖 * @param sourceMemberRangeExt 提供奖金的人 * @param targetMemberRangeExt 获得奖金的人 - * @Description: 获得 辅导收益的备注 + * 获得 辅导收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -495,7 +475,7 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusDetail 报单服务费 * @param sourceCuMemberSettleExt 提供奖金的人 * @param targetCuMemberSettleExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 + * 获得 报单服务费收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -514,7 +494,7 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusDetail 报单服务费 * @param sourceCuMemberRangeExt 提供奖金的人 * @param targetCuMemberRangeExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 + * 获得 报单服务费收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -577,7 +557,7 @@ public abstract class BonusSettleHandle { /** * @param cuMemberBonusDetail 分红 * @param settleDate 结算日期 - * @Description: 获得 分红收益的备注 + * 获得 分红收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -591,7 +571,7 @@ public abstract class BonusSettleHandle { /** * @param cuMemberBonusDetail 分红 * @param settleDate 结算日期 - * @Description: 获得 分红收益的备注 + * 获得 分红收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -604,7 +584,7 @@ public abstract class BonusSettleHandle { /** * @param cuMemberBonusDetail 分红 - * @Description: 获得 分红收益的备注 + * 获得 分红收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -619,7 +599,7 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusRange 报单服务费 * @param sourceCuMemberSettleExt 提供奖金的人 * @param targetCuMemberSettleExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 + * 获得 报单服务费收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -640,7 +620,7 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusRange 报单服务费 * @param sourceCuMemberSettleExt 提供奖金的人 * @param targetCuMemberSettleExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 + * 获得 报单服务费收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -744,7 +724,7 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusDetail 云代首购 * @param sourceCuMemberSettleExt 提供奖金的人 * @param targetCuMemberSettleExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 + * 获得 报单服务费收益的备注 * @return: String * @Author: sui q * @Date: 2022/11/17 11:22 @@ -761,7 +741,7 @@ public abstract class BonusSettleHandle { /** * @param settleDateStr 结算日期 * @param cuMemberSettleExtList 会员列表 - * @Description: 获取会员列表的考核结果 + * 获取会员列表的考核结果 * @return: Map * @Author: sui q * @Date: 2022/11/17 14:25 @@ -790,7 +770,7 @@ public abstract class BonusSettleHandle { CuMemberSettleExt cuMemberSettleExt) { Integer pkRate = saOrder.getPkRate(); if (pkRate == null || !Objects.equals(cuMemberSettleExt.getPkSettleCountry(), saOrder.getPkCountry())) { - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberSettleExt.getPkSettleCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberSettleExt.getPkSettleCountry()).getData(); pkRate = currencyDTO.getPkId(); } return getCuMemberBonus(period, cuMemberBonusMap, cuMemberSettleExt.getPkMember(), cuMemberSettleExt.getIncomeStatus(), @@ -919,7 +899,7 @@ public abstract class BonusSettleHandle { * @param cuMemberSettleExtMap 树关系 * @param settleTableName 结算表 * @param saOrderList 订单 - * @Description: 根据订单获取会员的血缘父级,用于嗨粉推荐、复购极差 + * 根据订单获取会员的血缘父级,用于嗨粉推荐、复购极差 * @return: void * @Author: sui q * @Date: 2023/1/4 14:10 @@ -935,7 +915,7 @@ public abstract class BonusSettleHandle { /** * @param awardsMap 奖衔 * @param parentMemberTree 会员树历史记录 - * @Description: 获取会员的极差等级,验证会员是否有奖衔 + * 获取会员的极差等级,验证会员是否有奖衔 * @return: String * @Author: sui q * @Date: 2023/1/4 14:22 @@ -958,7 +938,7 @@ public abstract class BonusSettleHandle { /** * @param awardsMap 奖衔 * @param parentMemberTree 会员树历史记录 - * @Description: 获取会员的极差等级,验证会员是否有奖衔 + * 获取会员的极差等级,验证会员是否有奖衔 * @return: String * @Author: sui q * @Date: 2023/1/4 14:22 @@ -973,13 +953,11 @@ public abstract class BonusSettleHandle { } /** + * 奖金明细 报单服务费、分红、云代首购、云代复购、海豆收益 + * * @param saOrderExt 订单 * @param targetMemberSettleExt 奖金网体 * @param cuMemberBonus 奖金主表 - * @Description: 奖金明细 报单服务费、分红、云代首购、云代复购、海豆收益 - * @return: CuMemberBonusDetail - * @Author: sui q - * @Date: 2023/1/5 16:31 */ protected CuMemberBonusDetail getCuMemberBonusDetail(SaOrder saOrderExt, CuMemberSettleExt targetMemberSettleExt, CuMemberBonus cuMemberBonus) { CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder() @@ -1004,12 +982,10 @@ public abstract class BonusSettleHandle { } /** + * 获得需要查询的会员,免考通过的不需要查询考核记录 + * * @param cuMemberSettleExtMap 存储目前有的会员数据 * @param cuMemberSettleExtList 需要查询的会员数据 - * @Description: 获得需要查询的会员,免考通过的不需要查询考核记录 - * @return: List - * @Author: sui q - * @Date: 2022/11/17 17:57 */ protected List getQueryMemberSettleExtList(Map cuMemberSettleExtMap, List cuMemberSettleExtList) { // 过滤数据,免考的会员不进行查询 @@ -1025,12 +1001,10 @@ public abstract class BonusSettleHandle { } /** + * 设置奖金扣项,计算税前收益,扣税,实际收益, 设置主表 + * * @param cuMemberBonus 奖金明细 * @param bonusDetail 奖金明细表 - * @Description: 设置奖金扣项,计算税前收益,扣税,实际收益, 设置主表 - * @return: void - * @Author: sui q - * @Date: 2023/1/11 11:17 */ protected void setBonusDeduct(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) { BigDecimal pretaxIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.PRETAX_INCOME); @@ -1045,10 +1019,7 @@ public abstract class BonusSettleHandle { } /** - * @Description: 首购计算 扣项,小计,总计 - * @return: void - * @Author: sui q - * @Date: 2023/1/11 13:59 + * 首购计算 扣项,小计,总计 */ protected void setFirstPurchaseTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) { setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail); @@ -1058,10 +1029,7 @@ public abstract class BonusSettleHandle { } /** - * @Description: 复购计算 扣项,小计,总计 - * @return: void - * @Author: sui q - * @Date: 2023/1/11 13:59 + * 复购计算 扣项,小计,总计 */ protected void setPurchaseTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) { setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail); @@ -1071,10 +1039,7 @@ public abstract class BonusSettleHandle { } /** - * @Description: 云代计算 扣项,小计,总计 - * @return: void - * @Author: sui q - * @Date: 2023/1/11 13:59 + * 云代计算 扣项,小计,总计 */ protected void setCloudTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) { setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail); 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 9c17af6c..b046a598 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 @@ -132,6 +132,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 注册、升级、复购、重消,盒数、业绩算个人累计数据(盒数、业绩) sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); @@ -233,9 +234,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 等级map(key:等级ID,value:等级对象) Map gradeIdMap = new HashMap<>(); // 等级列表 - List retaiGradeList = bonusConfigDTO.getRetaiGradeList(); + List retailGradeList = bonusConfigDTO.getRetaiGradeList(); // 等级 - for (BdGrade bdGrade : retaiGradeList) { + for (BdGrade bdGrade : retailGradeList) { if (bdGrade.getBoxTotal() > 0) { retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); } @@ -267,11 +268,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 订单业绩 BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum); sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() - boxNum); + sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); 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<>(); @@ -283,7 +285,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { List cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap); cuMemberRetailRangeExtList.add(sourceMemberRangeExt); - // 查询期间的等级和奖衔 List memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod); // 查询最大的手动奖衔 @@ -323,7 +324,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } if (cuMemberGradeList.size() > 0) { + // 删除等级 iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod); + // 批量更新会员等级 iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod); } } @@ -347,8 +350,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 处理等级、奖衔 if (cuMemberAwardsList.size() > 0) { + // 删除会员奖衔记录 iCuMemberAwardsService.deleteCuMemberAwards(cuMemberAwardsList, currentPeriod); - // 更新会员表,更新奖衔 + // 更新会员表奖衔数据 iCuMemberService.updateCuMemberMinAwardsByList(cuMemberAwardsList, currentPeriod); } } @@ -493,7 +497,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); - sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); + sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum() + boxNum); sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); @@ -554,14 +558,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } if (cuMemberAwardsList.size() > 0) { + // 批量插入会员奖衔记录 iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList); - // 更新会员表,更新奖衔 + // 更新会员表奖衔数据 iCuMemberService.updateCuMemberRetailRangeByPeriod(cuMemberAwardsList, period); } if (cuMemberGradeList.size() > 0) { + // 批量插入会员等级记录 iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList); + // 更新会员表等级数据(来源 cu_member_grade) iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period); - // 根据cu_member_level更新cu_member + // 更新会员表等级数据(来源 cu_member_level) iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate); } // 更新网体 @@ -864,18 +871,18 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { - // 累计业绩 + // 累计金额 targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); - // 累计金额 + // 累计业绩 targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); // 累计盒数 targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum); targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum); - targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() + boxNum); + targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() + boxNum); // 计算等级 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap); @@ -946,9 +953,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } - if (targetMemberRangeExt.getPkMember() == 201) { - log.info("targetMemberRangeExt: {}", targetMemberRangeExt); - } // 计算奖衔(荣誉级别) while (true) { // 当前实时奖衔值 + 5,获取下一个奖衔值 @@ -1063,16 +1067,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { // 累计业绩 - targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); - targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); - targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); - targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); - targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); + targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); + targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); + // 累计金额 + targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); + targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); + targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); // 累计盒数 - targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() - boxNum); - targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() - boxNum); targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() - boxNum); + targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() - boxNum); + targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum() - boxNum); // 计算等级 calculateBackGrade(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeMap, cuMemberAwardsMap, targetMemberRangeExt); cuMemberRetailRangeExtList.add(targetMemberRangeExt); @@ -1755,39 +1760,53 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { */ void calculateRetailShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period, BonusRecordDetailVO bonusRecordDetailVO, Map cuMemberBonusMap) { + // 结算日期 Date settleDate = DateUtils.parseStringToDate(settleDateStr); + // 上月最后一天 String beforeMonthLastDate = DateUtils.beforeMonthLastDateStr(settleDate); - // 查询上月最后一天 + // 上月最后一天期数 Integer beforeMonthLastPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(beforeMonthLastDate).getPkId(); String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforeMonthLastPeriod; + // 查询上月订单 - // 结算月第一天 + // 结算月第一天(上月第一天) Date currentMonthFirstDate = DateUtils.beforeMonthFirstDate(settleDate); - // 结算月下月第一天 + // 结算月下月第一天(本月第一天) Date nextMonthFirstDate = DateUtils.currentMonthFirstDate(settleDate); + List orderType = new ArrayList<>(); orderType.add(EOrderType.RETAIL_REGISTER.getValue()); orderType.add(EOrderType.RETAIL_UPGRADE.getValue()); orderType.add(EOrderType.RETAIL_REPURCHASE.getValue()); + + // 月订单列表 List totalMonthOrderList = new ArrayList<>(); List memberBonusRangeList = new ArrayList<>(); List memberBonusDetailList = new ArrayList<>(); + // 当前年月 String month = DateUtils.getMonth(settleDateStr); while (!DateUtils.compareDateEqual(currentMonthFirstDate, nextMonthFirstDate)) { + // 从上月第一天开始,每天查一次订单,查到本月第一天停止 Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, currentMonthFirstDate); - List currentMonthOrderList = saOrderServiceApi.querySaOrderByDayForCloud(currentMonthFirstDate, endDate, orderType).getData(); + // 查询指定时间范围内订单 + List currentMonthOrderList = iBonusOrderService.listSaOrderByTime(currentMonthFirstDate, endDate, orderType); totalMonthOrderList.addAll(currentMonthOrderList); currentMonthFirstDate = endDate; } + if (totalMonthOrderList.size() > 0) { + // 会员ID集合 Set pkMemberSet = new HashSet<>(); totalMonthOrderList.forEach(saOrder -> pkMemberSet.add(saOrder.getPkMember())); + // 查询会员血缘伞上数据 List cuMemberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByMemberPk(rangeTableName, pkMemberSet); + // 会员结算map(key:会员ID, value:会员结算数据) Map memberRangeExtMap = new HashMap<>(); cuMemberRetailRangeExtList.forEach(cuMemberRetailRangeExt -> memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt)); // 按照体系将订单区分 + // key:会员体系,value:会员订单列表 Map> orderMap = new HashMap<>(); for (SaOrder saOrder : totalMonthOrderList) { if (memberRangeExtMap.containsKey(saOrder.getPkMember())) { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index 17f11363..f853565d 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -67,8 +67,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private ICuMemberSettlePeriodService cuMemberSettlePeriodService; @Autowired - private ICuMemberService cuMemberService; - @Autowired private ICuAwardsControlService cuAwardsControlService; @Autowired private ICuMemberRepeatBonusService cuMemberRepeatBonusService; @@ -175,6 +173,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate); if (afterDate.endsWith("01")) { + // TODO new 区域考核处理 // 计算完月奖,计算考核(区域6个月要达到蓝宝以上) String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; cuRegionAssessService.assessRegionByEveryMonth(settleDate, rangeTableName); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleStoreHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleStoreHandle.java deleted file mode 100644 index 54308fdc..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleStoreHandle.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import cn.hutool.core.collection.CollectionUtil; -import com.hzs.common.core.constant.BonusFieldConstants; -import com.hzs.common.core.constant.TableNameConstants; -import com.hzs.common.core.enums.EBonusIncomeStatus; -import com.hzs.common.core.enums.EBonusItems; -import com.hzs.common.core.utils.ComputeUtil; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.core.utils.reflect.ReflectUtils; -import com.hzs.common.domain.bonus.BdBonusDeduct; -import com.hzs.common.domain.member.bonus.CuMemberBonus; -import com.hzs.common.domain.member.bonus.CuMemberBonusDetail; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.common.domain.system.config.BdStoreLevelDetail; -import com.hzs.common.domain.system.config.ext.BdStoreLevelExt; -import com.hzs.system.config.IGradeServiceApi; -import com.hzs.system.config.dto.BonusConfigDTO; -import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.time.temporal.ChronoUnit; -import java.util.*; -import java.util.stream.Collectors; - -/** - * @description: 计算店铺奖金 - * @author: sui q - * @time: 2023/5/8 15:40 - * @classname: BonusStoreHandle - * @package_name: com.hzs.member.bonus.service.impl - * version 1.0.0 - */ -@Component -public class BonusSettleStoreHandle extends BonusSettleHandle{ - - @DubboReference - private IGradeServiceApi gradeServiceApi; - - /** - * @param period 期间 - * @param bonusConfigDTO 参数 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - * @Description: 计算嗨粉奖金 - * @return: void - * @Author: sui q - * @Date: 2022/11/10 14:17 - */ - List calculateStoreBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap) { - // 云代区域 月奖 - // 查询时间范围内订单 - Date settleDate = DateUtils.parseStringToDate(settleDateStr); - // 上个月最后一天 - settleDate = DateUtils.beforeMonthLastDate(settleDate); - // 结算月第一天 - Date currentMonthFirstDate = DateUtils.currentMonthFirstDate(settleDate); - // 结算月下月第一天 - Date nextMonthFirstDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate); - // 查询月末会员状态 - Date currentMonthLastDate = DateUtils.currentMonthLastDate(settleDate); - Integer lastPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentMonthLastDate)).getPkId(); - String currentSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + lastPeriod; - List cuMemberBonusDetailList = new ArrayList<>(); - List currentMonthOrderList = saOrderServiceApi.querySaOrderByTimeForStore(currentMonthFirstDate, nextMonthFirstDate).getData(); - if(CollectionUtil.isNotEmpty(currentMonthOrderList)){ - // 查询店铺奖金配置表 - Set pkMemberSet = currentMonthOrderList.stream().distinct().map(SaOrder::getPkMember).collect(Collectors.toSet()); - List cuMemberSettleExtList = cuMemberTreeService.batchQueryMemberSettleByMemberPk(currentSettleTableName, pkMemberSet); - Map cuMemberSettleExtMap = new HashMap<>(); - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - List storeLevelList = gradeServiceApi.queryStoreLevel().getData(); - Map storeLevelExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(storeLevelList.size())); - if(CollectionUtil.isNotEmpty(storeLevelList)){ - for (BdStoreLevelExt bdStoreLevel : storeLevelList) { - storeLevelExtMap.put(bdStoreLevel.getPkId().toString() + bdStoreLevel.getPkCreator().toString(), bdStoreLevel); - } - } - for (SaOrderExt saOrderExt : currentMonthOrderList) { - String key = saOrderExt.getPkMemberStore().toString() + saOrderExt.getPkCountry().toString(); - if(storeLevelExtMap.containsKey(key)){ - BdStoreLevelExt bdStoreLevelExt = storeLevelExtMap.get(key); - for (BdStoreLevelDetail bdStoreLevelDetail : bdStoreLevelExt.getStoreLevelDetailList()) { - if(ComputeUtil.compareValue(saOrderExt.getOrderAchieve(), bdStoreLevelDetail.getEndAchievement())){ - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, targetMemberSettleExt, cuMemberBonus); - // 计算比例 - cuMemberBonusDetail.setCalValue(bdStoreLevelDetail.getRatio()); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.STORE_INCOME.getValue())); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), bdStoreLevelDetail.getRatio())); - storeRemark(cuMemberBonusDetail, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentMonthLastDate)); - cuMemberBonusDetailList.add(cuMemberBonusDetail); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setStoreIncome(cuMemberBonusDetail.getPretaxIncome()); - setBonusDeduct(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - BigDecimal realIncome = ReflectUtils.invokeGetter(cuMemberBonusDetail, BonusFieldConstants.REAL_INCOME); - cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome)); - } - break; - } - } - } - } - } - return cuMemberBonusDetailList; - - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java index 1a2dd92d..ac0fe4c7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/mapper/BonusOrderMapper.java @@ -1,6 +1,7 @@ package com.hzs.bonus.order.mapper; import com.hzs.common.domain.sale.ext.SaOrderExt; +import com.hzs.common.domain.sale.order.SaOrder; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -28,4 +29,15 @@ public interface BonusOrderMapper { @Param("endDate") Date endDate, @Param("orderCode") String orderCode); + /** + * 查询订单列表 + * + * @param startDate 开始日期 + * @param endDate 结束日期 + * @param orderType 订单类型列表 + */ + List listSaOrderByTime(@Param("startDate") Date startDate, + @Param("endDate") Date endDate, + @Param("orderType") List orderType); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java index b1cecccc..0b380855 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/IBonusOrderService.java @@ -1,7 +1,7 @@ package com.hzs.bonus.order.service; -import com.hzs.common.core.domain.R; import com.hzs.common.domain.sale.ext.SaOrderExt; +import com.hzs.common.domain.sale.order.SaOrder; import java.util.Date; import java.util.List; @@ -21,4 +21,13 @@ public interface IBonusOrderService { */ SaOrderExt querySaOrderByDay(Date startDate, Date endDate, String orderCode); + /** + * 查询订单列表 + * + * @param startDate 开始日期 + * @param endDate 结束日期 + * @param orderType 订单类型列表 + */ + List listSaOrderByTime(Date startDate, Date endDate, List orderType); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java index 1425a1db..25180756 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/order/service/impl/BonusOrderServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.hzs.bonus.order.mapper.BonusOrderMapper; import com.hzs.bonus.order.service.IBonusOrderService; import com.hzs.common.domain.sale.ext.SaOrderExt; +import com.hzs.common.domain.sale.order.SaOrder; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -30,4 +31,9 @@ public class BonusOrderServiceImpl implements IBonusOrderService { return null; } + @Override + public List listSaOrderByTime(Date startDate, Date endDate, List orderType) { + return bonusOrderMapper.listSaOrderByTime(startDate, endDate, orderType); + } + } 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 bc6a2071..28a19249 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 @@ -26,20 +26,21 @@ - - + - + - - + + + + - - + + @@ -60,51 +61,66 @@ update ${rangeTableName} - set consume_box_num=0, - new_box_num=0, - team_box_num=0, - month_box_num=0, - team_new_box_num=0, - pk_share_awards = (select pk_id from BD_AWARDS where awards_value = 0), - consume_pv=0, - month_consume_pv=0, - new_consume_pv=0, - team_consume_amount=0, - team_consume_pv=0, - enable_status=1, - team_month_amount=0, - team_month_pv=0, - team_new_amount=0, - team_new_pv=0, - recommend_num=0, - team_num=0, + set new_box_num = 0, + consume_box_num = 0, + month_box_num = 0, + new_consume_pv = 0, + consume_pv = 0, + month_consume_pv = 0, + team_new_box_num = 0, + team_box_num = 0, + team_month_box_num = 0, + team_new_pv = 0, + team_consume_pv = 0, + team_month_pv = 0, + team_new_amount = 0, + team_consume_amount = 0, + team_month_amount = 0, + recommend_num = 0, + team_num = 0, + enable_status = 1, pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 20), - region_address=0, - big_box_num=0, - small_box_num=0, - big_team_pv=0, - small_team_pv=0 + pk_share_awards = (select pk_id from BD_AWARDS where awards_value = 0), + region_address = 0, + big_box_num = 0, + small_box_num = 0, + big_team_pv = 0, + small_team_pv = 0 merge into ${rangeTableName} a using( - select pk_member,consume_box_num,new_box_num,team_box_num,month_box_num,team_new_box_num,enable_status, - consume_pv,month_consume_pv,new_consume_pv,team_consume_amount,team_consume_pv,pk_share_awards, - team_month_amount,team_month_pv,team_new_amount,team_new_pv,recommend_num,team_num,pk_grade, - big_box_num,small_box_num,big_team_pv,small_team_pv + select pk_member, pk_grade, pk_share_awards, enable_status, + new_box_num, consume_box_num, month_box_num, + new_consume_pv, consume_pv, month_consume_pv, + team_new_box_num, team_box_num, team_month_box_num, + team_new_pv, team_consume_pv, team_month_pv, + team_new_amount, team_consume_amount, team_month_amount, + recommend_num, team_num, + big_box_num, small_box_num, big_team_pv, small_team_pv from ${yesterdayRangeTableName} ) b - on (a.pk_member=b.pk_member) + on (a.pk_member = b.pk_member) when matched then - update set a.consume_box_num=b.consume_box_num,a.team_box_num=b.team_box_num, - a.consume_pv=b.consume_pv,a.team_consume_amount=b.team_consume_amount,a.team_consume_pv=b.team_consume_pv, - a.recommend_num=b.recommend_num,a.team_num=b.team_num,a.pk_grade=b.pk_grade, a.enable_status = b.enable_status, - a.big_box_num=b.big_box_num,a.small_box_num=b.small_box_num, - a.big_team_pv=b.big_team_pv,a.small_team_pv=b.small_team_pv + update set + a.consume_box_num = b.consume_box_num, + a.consume_pv = b.consume_pv, + a.team_box_num = b.team_box_num, + a.team_consume_pv = b.team_consume_pv, + a.team_consume_amount = b.team_consume_amount, + a.recommend_num = b.recommend_num, a.team_num = b.team_num, + a.pk_grade = b.pk_grade, + a.enable_status = b.enable_status, + a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num, + a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv - ,a.month_box_num=b.month_box_num,a.month_consume_pv=b.month_consume_pv,a.pk_share_awards=b.pk_share_awards, - a.team_month_amount=b.team_month_amount,a.team_month_pv=b.team_month_pv + ,a.month_box_num = b.month_box_num + ,a.month_consume_pv = b.month_consume_pv + ,a.team_month_box_num = b.team_month_box_num + ,a.team_month_pv = b.team_month_pv + ,a.team_month_amount = b.team_month_amount + ,a.pk_share_awards = b.pk_share_awards @@ -112,28 +128,24 @@ merge into ${rangeTableName} a using ( - select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkGrade} pk_grade, - #{item.consumeBoxNum} consume_box_num, #{item.newBoxNum} new_bosx_num, #{item.pkShareAwards} pk_share_awards, - #{item.teamBoxNum} team_box_num, #{item.monthBoxNum} month_box_num, #{item.teamNewBoxNum} team_new_box_num, - #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, - #{item.newConsumePv} new_consume_pv, #{item.teamConsumeAmount} team_consume_amount, - #{item.teamMonthAmount} team_month_amount, #{item.teamMonthPv} team_month_pv, - #{item.teamNewPv} team_new_pv, #{item.teamNewAmount} team_new_amount, - #{item.teamConsumePv} team_consume_pv, #{item.newBoxNum} new_box_num, - #{item.recommendNum} recommend_num, #{item.teamNum} team_num, - #{item.enableStatus} enable_status + select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkGrade} pk_grade, #{item.pkShareAwards} pk_share_awards, + #{item.newBoxNum} new_box_num, #{item.consumeBoxNum} consume_box_num, #{item.monthBoxNum} month_box_num, + #{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, + #{item.teamNewBoxNum} team_new_box_num, #{item.teamBoxNum} team_box_num, #{item.teamMonthBoxNum} team_month_box_num, + #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, + #{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount, + #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status from dual ) b - on (a.pk_member=b.pk_member) + on (a.pk_member = b.pk_member) when matched then update set a.pk_awards = b.pk_awards, a.pk_grade = b.pk_grade, a.pk_share_awards = b.pk_share_awards, - a.consume_box_num = b.consume_box_num, a.new_box_num = b.new_box_num, a.team_box_num = b.team_box_num, - a.month_box_num = b.month_box_num, a.team_new_box_num = b.team_new_box_num, - a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, a.new_consume_pv = b.new_consume_pv, - a.team_consume_amount = b.team_consume_amount, a.team_consume_pv = b.team_consume_pv, - a.team_month_amount = b.team_month_amount, a.team_month_pv = b.team_month_pv, - a.team_new_amount = b.team_new_amount, a.team_new_pv = b.team_new_pv, + a.new_box_num = b.new_box_num, a.consume_box_num = b.consume_box_num, a.month_box_num = b.month_box_num, + a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, + a.team_new_box_num = b.team_new_box_num, a.team_box_num = b.team_box_num, a.team_month_box_num = b.team_month_box_num, + a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, + a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount, a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status @@ -202,8 +214,8 @@ when matched then update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv, - a.team_new_box_num = b.team_new_box_num,a.team_new_pv = b.team_new_pv, - a.team_new_amount = b.team_new_amount,a.enable_status = b.enable_status + a.team_new_box_num = b.team_new_box_num, a.team_new_pv = b.team_new_pv, + a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status @@ -224,8 +236,11 @@ select cm.pk_member, cr.county region_address from ${rangeTableName} cm inner join cu_member_retail_region cr - on cr.pk_member = cm.pk_member and cr.effective = 0 and cr.del_flag = 0 - where cr.creation_time < #{settleDate,jdbcType=DATE}) b + on cr.pk_member = cm.pk_member + and cr.effective = 0 + and cr.del_flag = 0 + where cr.creation_time < #{settleDate, jdbcType=DATE} + ) b on (a.pk_member = b.pk_member) when matched then update set a.region_address = b.region_address @@ -241,15 +256,14 @@ from cu_member_spe_retail where del_flag = 0 and period = #{period} - group by member_code) b - on a.member_code = b.member_code and nvl(a.modified_time, a.creation_time) = b.creation_time + group by member_code + ) b on a.member_code = b.member_code and nvl(a.modified_time, a.creation_time) = b.creation_time ) b on (a.member_code = b.member_code) when matched then - update set a.big_box_num = b.team_box_num - b.small_box_num,a.small_box_num = b.small_box_num, - a.team_box_num = a.team_box_num + b.team_box_num,a.team_consume_pv = a.team_consume_pv + b.total_team_pv, - a.team_month_pv = a.team_month_pv + b.total_team_pv, - a.big_team_pv = b.total_team_pv - b.small_area_pv, a.small_team_pv = b.small_area_pv + update set + a.big_box_num = b.team_box_num - b.small_box_num, + a.small_box_num = b.small_box_num @@ -257,25 +271,26 @@ using ( select * from ${beforeTableName} a - inner join( + inner join ( select cr.* from cu_member_spe_retail cr - inner join( + inner join ( select member_code, max(pk_id) pk_id from cu_member_spe_retail where period < #{period} and del_flag = 0 group by member_code - ) b - on cr.member_code = b.member_code + ) b on cr.member_code = b.member_code where cr.period = #{period} - and cr.del_flag = 0) b - on a.member_code = b.member_code + and cr.del_flag = 0 + ) b on a.member_code = b.member_code ) b on (a.pk_member = b.pk_member) when matched then - update set a.big_box_num = 0,a.small_box_num = 0, - a.team_box_num = a.team_box_num - a.big_box_num - a.small_box_num + update set + a.big_box_num = 0, + a.small_box_num = 0, + a.team_box_num = a.team_box_num @@ -577,26 +598,27 @@ cm.income_status, cm.pay_time, b.pk_rate, - nvl(cm.is_activate, a.enable_status) enable_status, - nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num, + nvl(cm.is_activate, a.enable_status) enable_status, a.new_box_num, - nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num, - nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num, - a.team_new_box_num, - nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv, - nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv, + nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num, + nvl(b.month_box_num, 0) + a.new_box_num month_box_num, a.new_consume_pv, - nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount, + nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv, + nvl(b.month_consume_pv, 0) + a.new_consume_pv month_consume_pv, + a.team_new_box_num, + nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num, + nvl(b.team_month_box_num, 0) + a.team_new_box_num team_month_box_num, + a.team_new_pv, nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv, - nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount, nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv, + a.team_new_amount, + nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount, + nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount, nvl(b.big_box_num, 0) big_box_num, nvl(b.small_box_num, 0) small_box_num, nvl(b.big_team_pv, 0) big_team_pv, nvl(b.small_team_pv, 0) small_team_pv, a.system_type, - a.team_new_amount, - a.team_new_pv, bg.grade_value, bg.grade_name, bw.awards_value, @@ -657,17 +679,17 @@ SELECT count(1) FROM CU_MEMBER cm - where cm.DEL_FLAG=0 - AND cm.IS_ACTIVATE=0 + where cm.DEL_FLAG = 0 + AND cm.IS_ACTIVATE = 0 and cm.member_code = #{memberCode} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java index 33dbfefc..2319e26a 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java @@ -18,9 +18,6 @@ import java.util.List; /** * 会员账户信息 Mapper 接口 - * - * @author hzs - * @since 2022-08-11 */ public interface CuMemberAccountMapper extends BaseMapper { @@ -28,9 +25,6 @@ public interface CuMemberAccountMapper extends BaseMapper { * 查询会员账户状态,账户信息 * * @param cuMemberAccount 会员账户条件信息 - * @return: List - * @Author: sui q - * @Date: 2022/9/5 11:57 */ List queryMemberAccountByCondition(CuMemberAccount cuMemberAccount); @@ -48,9 +42,6 @@ public interface CuMemberAccountMapper extends BaseMapper { * 更新账户余额 * * @param cuMemberAccount 会员账户表 - * @return: Integer - * @Author: sui q - * @Date: 2022/9/21 21:42 */ Integer updateMemberAccount(CuMemberAccount cuMemberAccount); @@ -214,9 +205,6 @@ public interface CuMemberAccountMapper extends BaseMapper { * 奖金发放,根据期间发放奖金,更新奖金余额 * * @param startPeriod 期间 - * @return: void - * @Author: sui q - * @Date: 2023/3/21 14:12 */ void updateMemberAccountGrantByPeriod(@Param("pkCountry") Integer pkCountry, @Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod); @@ -225,9 +213,6 @@ public interface CuMemberAccountMapper extends BaseMapper { * 奖金可提现,根据期间更新可提现金额,减少可消费金额 * * @param startPeriod 期间 - * @return: void - * @Author: sui q - * @Date: 2023/3/21 14:12 */ void updateMemberAccountWithdrawalByPeriod(@Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod, @Param("pkCountry") Integer pkCountry); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java index 74c7a6d4..e869194c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java @@ -14,9 +14,6 @@ import java.util.List; /** * 会员账户信息 服务类 - * - * @author hzs - * @since 2022-08-11 */ public interface ICuMemberAccountService extends IService { @@ -24,9 +21,6 @@ public interface ICuMemberAccountService extends IService { * 查询会员账户状态,账户信息 * * @param cuMemberAccount 会员账户条件信息 - * @return: List - * @Author: sui q - * @Date: 2022/9/5 11:57 */ List queryMemberAccountByCondition(CuMemberAccount cuMemberAccount); @@ -62,9 +56,6 @@ public interface ICuMemberAccountService extends IService { * * @param cuMemberAccount 会员账户表 * @param pkModified 修改人 - * @return: Boolean - * @Author: sui q - * @Date: 2022/9/21 21:42 */ Boolean updateMemberAccount(CuMemberAccount cuMemberAccount, Long pkModified); @@ -80,9 +71,6 @@ public interface ICuMemberAccountService extends IService { * 根据会员id 列表查询账户信息 * * @param pkMemberList 列表 - * @return: List - * @Author: sui q - * @Date: 2023/3/25 16:28 */ List queryCuMemberAccountByPkMembers(List pkMemberList); @@ -264,9 +252,6 @@ public interface ICuMemberAccountService extends IService { * 奖金发放,根据期间发放奖金,更新奖金余额 * * @param startPeriod 期间 - * @return: void - * @Author: sui q - * @Date: 2023/3/21 14:12 */ void updateMemberAccountGrantByPeriod(Integer pkCountry, Integer startPeriod, Integer endPeriod); @@ -274,9 +259,6 @@ public interface ICuMemberAccountService extends IService { * 奖金可提现,根据期间更新可提现金额,减少可消费金额 * * @param startPeriod 期间 - * @return: void - * @Author: sui q - * @Date: 2023/3/21 14:12 */ void updateMemberAccountWithdrawalByPeriod(Integer startPeriod, Integer endPeriod, Integer pkCountry); @@ -315,9 +297,6 @@ public interface ICuMemberAccountService extends IService { * @param pkMember 会员账户 * @param pkApprove 审核人 * @param currentDateTime 当前时间 - * @return: void - * @Author: sui q - * @Date: 2023/3/21 14:12 */ void deleteCuMemberAccountByPkMember(Long pkMember, Long pkApprove, Date currentDateTime); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java index 90a14f1f..48d27424 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java @@ -53,32 +53,24 @@ import java.util.stream.Collectors; /** * 会员账户信息 服务实现类 - * - * @author hzs - * @since 2022-08-11 */ @Service @Slf4j public class CuMemberAccountServiceImpl extends ServiceImpl implements ICuMemberAccountService { @Autowired - private ICuMemberBaseService cuMemberBaseService; - + private ICuMemberBaseService iCuMemberBaseService; @Autowired - private ICuMemberService cuMemberService; - + private ICuMemberService iCuMemberService; @Autowired - private ICuMemberAccountLogService cuMemberAccountLogService; + private ICuMemberAccountLogService iCuMemberAccountLogService; @DubboReference - IApprovalServiceApi approvalServiceApi; - + IApprovalServiceApi iApprovalServiceApi; @DubboReference - ITransactionServiceApi transactionServiceApi; - + IAccountServiceApi iAccountServiceApi; @DubboReference - IAccountServiceApi accountServiceApi; - + ITransactionServiceApi iTransactionServiceApi; @Override public List queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) { @@ -158,7 +150,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl> mapR = approvalServiceApi.queryApprovalInfo(Collections.singletonList(EApprovalBusiness.FROZEN.getValue()), memberFrozenParam.getPkCountry()); + R> mapR = iApprovalServiceApi.queryApprovalInfo(Collections.singletonList(EApprovalBusiness.FROZEN.getValue()), memberFrozenParam.getPkCountry()); //批次号 String batchNum = CommonUtil.createSerialNumber(EOrderPrefix.FROZEN_CODE.getValue()); memberPetitionVo.setBusinessNo(batchNum); @@ -185,7 +177,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl memberCodes = memberFrozenParam.getMemberCodes(); - List cuMemberList = cuMemberService.findMemberByMembercodesAndPkcountry(memberCodes, memberFrozenParam.getPkCountry()); + List cuMemberList = iCuMemberService.findMemberByMembercodesAndPkcountry(memberCodes, memberFrozenParam.getPkCountry()); Map memberMap = cuMemberList.stream().collect(Collectors.toMap(CuMember::getMemberCode, o -> o)); for (String memberCode : memberCodes) { for (CuMemberFrozenDetailParam frozenDetailParam : memberFrozenDetails) { @@ -194,7 +186,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl memberWalletBalanceVOList = new ArrayList<>(); List cuMemberRechargeAccountParams = baseMapper.queryWalletBalanceByPkMember(pkMember); //根据币种值查询币种 - List accounts = accountServiceApi.memberAccountByType(pkCountry).getData(); + List accounts = iAccountServiceApi.memberAccountByType(pkCountry).getData(); Map accountMap = accounts.stream().collect(Collectors.toMap(BdAccount::getFieldValue, Function.identity())); BigDecimal total = BigDecimal.ZERO; if (CollUtil.isNotEmpty(cuMemberRechargeAccountParams)) { @@ -276,7 +268,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl selectAccountDetail(Long pkMember, Integer pkCountry) { CuMemberAccountShowVO cuMemberAccountShowVO; CuMemberAccount cuMemberAccount = this.queryCuMemberAccountByPkMember(pkMember); - List bdAccounts = cuMemberBaseService.getAccountByCountryId(pkCountry); + List bdAccounts = iCuMemberBaseService.getAccountByCountryId(pkCountry); List memberAccountShowVOList = new ArrayList<>(); for (BdAccount bdAccount : bdAccounts) { cuMemberAccountShowVO = new CuMemberAccountShowVO(); @@ -326,7 +318,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl queryMemberAccountByMemberCode(String memberCode, List accountTypes, Integer pkCountry) { List pkAccounts = new ArrayList<>(); for (Integer accountType : accountTypes) { - pkAccounts.add(cuMemberBaseService.getAccountValueById(accountType)); + pkAccounts.add(iCuMemberBaseService.getAccountValueById(accountType)); } List cuMemberRechargeAccountParams = baseMapper.queryMemberAccountByMemberCode(memberCode, pkAccounts, null); if (CollUtil.isNotEmpty(cuMemberRechargeAccountParams)) { - List accountList = cuMemberBaseService.getAccountByCountryId(pkCountry); + List accountList = iCuMemberBaseService.getAccountByCountryId(pkCountry); //币种value对应的币种对象 Map accountMap = accountList.stream().collect(Collectors.toMap(BdAccount::getFieldValue, o -> o)); for (CuMemberRechargeAccountParam CuMemberRechargeAccountParam : cuMemberRechargeAccountParams) { Integer accountType = CuMemberRechargeAccountParam.getAccountType(); Integer pkAccount = accountMap.get(accountType).getPkId(); CuMemberRechargeAccountParam.setPkAccount(pkAccount); - CuMemberRechargeAccountParam.setAccountType(cuMemberBaseService.translateAccountValue(pkAccount)); + CuMemberRechargeAccountParam.setAccountType(iCuMemberBaseService.translateAccountValue(pkAccount)); } } return cuMemberRechargeAccountParams; @@ -365,7 +357,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl allAccounts = cuMemberBaseService.getAccountByCountryId(pkCountry); + List allAccounts = iCuMemberBaseService.getAccountByCountryId(pkCountry); Map map = allAccounts.stream().collect(Collectors.toMap(BdAccount::getFieldValue, o -> o)); for (CuMemberAccountExt cuMemberAccountExt : cuMemberAccountExts) { memberWalletDetailVO = new CuMemberWalletDetailVO(); @@ -489,7 +481,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl 0) { ReflectUtils.invokeSetter(cuMemberAccount, MemberFieldConstants.LOCK_ACCOUNT + accountValue, lockConsume); @@ -574,7 +566,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl submit = approvalServiceApi.submit(approvalSubmitDTO, cuMemberFrozenParam.getLoginUser()); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, cuMemberFrozenParam.getLoginUser()); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(submit.getMsg()); @@ -634,9 +626,9 @@ public class CuMemberAccountServiceImpl extends ServiceImpl selectedPkAccounts = cuMemberAccountVO.getPkAccounts(); Integer pkCountry = cuMemberAccountVO.getPkCountry(); //汇率 - BigDecimal exchangeRate = cuMemberBaseService.getCurrency(pkCountry).getInExchangeRate(); + BigDecimal exchangeRate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate(); //配置的币种 - List bdAccounts = cuMemberBaseService.getAccountByCountryId(pkCountry); + List bdAccounts = iCuMemberBaseService.getAccountByCountryId(pkCountry); List allAccountValues = bdAccounts.stream().map(BdAccount::getFieldValue).collect(Collectors.toList()); for (CuMemberAccountExt cuMemberAccountExt : cuMemberAccountExtList) { cuMemberAccountExtVO = BeanUtil.copyProperties(cuMemberAccountExt, CuMemberAccountExtVO.class); @@ -657,7 +649,7 @@ public class CuMemberAccountServiceImpl extends ServiceImpl selectedPkAccounts = cuMemberAccountVO.getPkAccounts(); //汇率 - BigDecimal exchangeRate = cuMemberBaseService.getCurrency(pkCountry).getInExchangeRate(); + BigDecimal exchangeRate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate(); //配置的币种 for (CuMemberAccountExt cuMemberAccountExt : cuMemberAccountExtList) { memberAccountExportVO = CuMemberAccountExportVO.builder() diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/ZeroElementRevokeController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/ZeroElementRevokeController.java index 86388a00..0ee984d5 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/ZeroElementRevokeController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/ZeroElementRevokeController.java @@ -36,43 +36,27 @@ import java.util.*; import java.util.stream.Collectors; /** - * @description: 特殊业务-零元撤单 - * @author: zhang jing - * @date: 2022/12/29 11:39 - * @param: - * @return: + * 特殊业务-零元撤单 **/ @RequestMapping("/manager/zeroRevoke") @RestController public class ZeroElementRevokeController extends BaseController { @Autowired - private ICuMemberService cuMemberService; - + private ICuMemberService iCuMemberService; @Autowired - public void setCuMemberService(ICuMemberService cuMemberService) { - this.cuMemberService = cuMemberService; - } - + private ICuMemberServiceLogService iCuMemberServiceLogService; @Autowired - private ICuMemberServiceLogService memberServiceLogService; + private ICuMemberTradeService iCuMemberTradeService; @Autowired - private ICuMemberTradeService cuMemberTradeService; - @Autowired - private ICuMemberBaseService cuMemberBaseService; - @Autowired - private ITransactionCommonService iTransactionCommonService; + private ICuMemberBaseService iCuMemberBaseService; @DubboReference - IServiceChargeServiceApi serviceChargeServiceApi; + IServiceChargeServiceApi iServiceChargeServiceApi; /** - * @description: 特殊业务-零元撤单列表 - * @author: zhang jing - * @date: 2022/11/17 15:39 - * @param: [] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 特殊业务-零元撤单列表 **/ @AccessPermissions("ZeroBuy") @Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.ZERO_REVOKE, method = EOperationMethod.SELECT) @@ -81,7 +65,7 @@ public class ZeroElementRevokeController extends BaseController { startPage(); Integer pkCountry = SecurityUtils.getPkCountry(); zeroElementRevokeVO.setPkCountry(pkCountry); - List list = cuMemberService.zeroList(zeroElementRevokeVO); + List list = iCuMemberService.zeroList(zeroElementRevokeVO); return getDataTable(list); } @@ -97,27 +81,14 @@ public class ZeroElementRevokeController extends BaseController { public void export(HttpServletResponse response, ZeroElementRevokeVO zeroElementRevokeVO) { Integer pkCountry = SecurityUtils.getPkCountry(); zeroElementRevokeVO.setPkCountry(pkCountry); - List list = cuMemberService.zeroList(zeroElementRevokeVO); - if (CollectionUtil.isNotEmpty(list)) { - Map transactionMap1 = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, - EnumsPrefixConstants.KEY_AWARD); - list.forEach(itm -> { - //注册等级key - itm.setPkSettleGradeVal(transactionMap1.get(itm.getPkSettleGrade())); - itm.setPkAwardsVal(transactionMap1.get(itm.getPkAwards())); - }); - } + List list = iCuMemberService.zeroList(zeroElementRevokeVO); ExcelUtil util = new ExcelUtil<>(ZeroElementRevokeVO.class); util.exportExcel(response, list, "导出零元撤单"); } /** - * @description: 查询选择零元注册的会员 - * @author: zhang jing - * @date: 2023/3/27 17:52 - * @param: [updateCodeVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询选择零元注册的会员 **/ @Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.ZERO_REVOKE, method = EOperationMethod.SELECT) @GetMapping("/selected") @@ -134,7 +105,7 @@ public class ZeroElementRevokeController extends BaseController { List newlist = new ArrayList<>(); Integer pkCountry = SecurityUtils.getPkCountry(); for (Long lo : list) { - CuMember cm = cuMemberService.getMemberById(lo); + CuMember cm = iCuMemberService.getMemberById(lo); ZeroElementRevokeVO zrvo = BeanUtil.copyProperties(cm, ZeroElementRevokeVO.class); if (zrvo != null) { newlist.add(zrvo); @@ -143,7 +114,7 @@ public class ZeroElementRevokeController extends BaseController { if (CollectionUtil.isNotEmpty(newlist)) { for (ZeroElementRevokeVO zer : newlist) { //当前最大次数 - Integer approveNumber = memberServiceLogService.selectByMaxApproveNumber(zer.getPkId(), + Integer approveNumber = iCuMemberServiceLogService.selectByMaxApproveNumber(zer.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue(), EApproveStatus.FINISH.getValue()); zer.setChangeNumber(approveNumber + 1); //查询扣费金额,账户信息 @@ -151,14 +122,14 @@ public class ZeroElementRevokeController extends BaseController { serviceChargeDTO.setType(EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); serviceChargeDTO.setQuantity(approveNumber + 1); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); } zer.setCost(serviceChargeDTOR.getData().getCost()); zer.setPkAccount(serviceChargeDTOR.getData().getPkAccount()); - zer.setPkAccountKey(cuMemberBaseService.translateAccountValue(serviceChargeDTOR.getData().getPkAccount())); + zer.setPkAccountKey(iCuMemberBaseService.translateAccountValue(serviceChargeDTOR.getData().getPkAccount())); } } zeroElementRevokeVO.setZeroVOList(newlist); @@ -168,11 +139,7 @@ public class ZeroElementRevokeController extends BaseController { /** - * @description: 零元撤单 - * @author: zhang jing - * @date: 2022/12/30 10:22 - * @param: [postageParams] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 零元撤单 **/ @Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.ZERO_REVOKE, method = EOperationMethod.SUBMIT) @PostMapping("/confirm") @@ -193,14 +160,14 @@ public class ZeroElementRevokeController extends BaseController { zeroElementRevokeVO.setCreationTime(date); BusinessCommissionDTO businessCommissionDTO = new BusinessCommissionDTO(); for (ZeroElementRevokeVO zrvo : zeroElementRevokeVO.getZeroVOList()) { - Integer count = cuMemberService.checkmsLogCount(zrvo.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); + Integer count = iCuMemberService.checkmsLogCount(zrvo.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); if (count > 0) { zrvo.setErrorMsg(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_CODE_REPEAT)); errorlist.add(zrvo); continue; } //当前最大次数 - Integer approveNumber = memberServiceLogService.selectByMaxApproveNumber(zrvo.getPkId(), + Integer approveNumber = iCuMemberServiceLogService.selectByMaxApproveNumber(zrvo.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue(), EApproveStatus.FINISH.getValue()); zrvo.setChangeNumber(approveNumber + 1); if (zeroElementRevokeVO.getProcessType() == EProcessType.AVOIDSIGNING.getValue() || @@ -210,7 +177,7 @@ public class ZeroElementRevokeController extends BaseController { serviceChargeDTO.setType(EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); serviceChargeDTO.setPkCountry(pkCountry); serviceChargeDTO.setQuantity(approveNumber + 1); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -233,13 +200,13 @@ public class ZeroElementRevokeController extends BaseController { businessCommissionDTO.setMemberAmountDTOList(memberAmountDTOList); if (CollectionUtil.isNotEmpty(memberAmountDTOList)) { //接口查询金额是否足够 - List memberBalanceList = cuMemberTradeService.selectBalanceNotEnoughMember(businessCommissionDTO); + List memberBalanceList = iCuMemberTradeService.selectBalanceNotEnoughMember(businessCommissionDTO); if (CollectionUtil.isNotEmpty(memberBalanceList)) { return AjaxResult.error(504, TransactionUtils.getContent(ConfigMsgConstants.MEMBER_BALANCE_INSUFFICIENT), memberBalanceList); } } - zeroElementRevokeVO = cuMemberService.zeroRevokeBusiness(zeroElementRevokeVO); + zeroElementRevokeVO = iCuMemberService.zeroRevokeBusiness(zeroElementRevokeVO); } else { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_DATA_NOT_NULL)); } @@ -247,11 +214,7 @@ public class ZeroElementRevokeController extends BaseController { } /** - * @description: 发起签呈 免付,需要签呈需要付费 - * @author: zhang jing - * @date: 2023/3/4 11:06 - * @param: [updateCodeVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 发起签呈 免付,需要签呈需要付费 **/ @Log(module = EOperationModule.SPECIAL_BUSINESS, business = EOperationBusiness.ZERO_REVOKE, method = EOperationMethod.SUBMIT) @PostMapping("/petition") @@ -284,7 +247,7 @@ public class ZeroElementRevokeController extends BaseController { if (StringUtils.isNull(zero.getPkId())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.PKID_NOT_NULL)); } - Integer count = cuMemberService.checkmsLogCount(zero.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); + Integer count = iCuMemberService.checkmsLogCount(zero.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); if (count > 0) { zero.setErrorMsg(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_CODE_REPEAT)); errorlist.add(zero); @@ -293,7 +256,7 @@ public class ZeroElementRevokeController extends BaseController { pkMemberIds.add(zero.getPkId()); //当前最大次数 - Integer approveNumber = memberServiceLogService.selectByMaxApproveNumber(zero.getPkId(), + Integer approveNumber = iCuMemberServiceLogService.selectByMaxApproveNumber(zero.getPkId(), EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue(), EApproveStatus.FINISH.getValue()); zero.setChangeNumber(approveNumber + 1); if (zeroElementRevokeVO.getProcessType() == EProcessType.DOUBLEPAY.getValue()) { @@ -302,7 +265,7 @@ public class ZeroElementRevokeController extends BaseController { serviceChargeDTO.setType(EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); serviceChargeDTO.setQuantity(approveNumber + 1); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); //接口查询金额是否足够 businessCommissionDTO.setPkAccount(serviceChargeDTOR.getData().getPkAccount()); businessCommissionDTO.setPkCountry(pkCountry); @@ -323,13 +286,13 @@ public class ZeroElementRevokeController extends BaseController { if (CollectionUtil.isNotEmpty(memberAmountDTOList)) { //接口查询金额是否足够 if (zeroElementRevokeVO.getProcessType() == EProcessType.DOUBLEPAY.getValue()) { - List memberBalanceList = cuMemberTradeService.selectBalanceNotEnoughMember(businessCommissionDTO); + List memberBalanceList = iCuMemberTradeService.selectBalanceNotEnoughMember(businessCommissionDTO); if (CollectionUtil.isNotEmpty(memberBalanceList)) { return AjaxResult.error(504, TransactionUtils.getContent(ConfigMsgConstants.MEMBER_BALANCE_INSUFFICIENT), memberBalanceList); } } } - cuMemberService.zeroPetition(zeroElementRevokeVO); + iCuMemberService.zeroPetition(zeroElementRevokeVO); return AjaxResult.success(true); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index 717e0a56..ef00d63f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -15,20 +15,15 @@ import com.hzs.member.marketnews.vo.UserInvestmentVo; import com.hzs.retail.member.param.ShareRetailMemberParam; import org.apache.ibatis.annotations.Param; -import java.math.BigDecimal; import java.util.Collection; import java.util.Date; import java.util.List; /** * 会员 Mapper 接口 - * - * @author hzs - * @since 2022-08-04 */ public interface CuMemberMapper extends BaseMapper { - /** * 查询登录会员以及状态 * @@ -50,17 +45,11 @@ public interface CuMemberMapper extends BaseMapper { * 前台查询会员的方法,通过传输不同的参数,查询不同的会员 * * @param cuMember 会员编号 - * @return: CuMemberExt - * @Author: sui q - * @Date: 2022/8/29 11:50 */ List queryMemberInfoByCondition(CuMember cuMember); /* - * @description: 根据条件查询会员信息,查询单表 - * @author: sui q - * @date: 2023/5/10 15:07 - * @param: null null + * 根据条件查询会员信息,查询单表 **/ List queryMemberByCondition(CuMember cuMember); @@ -68,10 +57,6 @@ public interface CuMemberMapper extends BaseMapper { * 查找安置人伞上 * * @param memberId 会员编号 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List selectPlaceSponsorOnUmbrella(@Param("memberId") Long memberId, @Param("memberCode") String memberCode, @@ -81,10 +66,6 @@ public interface CuMemberMapper extends BaseMapper { * 查找安置人伞上会员信息 * * @param memberId 编号、安置人 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List querySponsorOnUmbrella(@Param("memberId") Long memberId, @Param("memberCodeList") List memberCodeList); @@ -92,10 +73,6 @@ public interface CuMemberMapper extends BaseMapper { * 查找安置人伞下 * * @param memberId 会员编号 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List selectPlaceSponsorUnderUmbrella(@Param("memberId") Long memberId); @@ -103,10 +80,6 @@ public interface CuMemberMapper extends BaseMapper { * 查找安置人伞下 * * @param memberId 会员编号 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List selectPlaceSponsorUnderUmbrellaByCode(@Param("memberId") Long memberId, @Param("placeParentCode") String placeParentCode); @@ -114,10 +87,6 @@ public interface CuMemberMapper extends BaseMapper { * 查找安置人伞下 * * @param memberId 会员编号 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List selectPlaceSponsorUnderUmbrellaByCondition(@Param("memberId") Long memberId, @Param("cuMemberExtList") List cuMemberExtList); @@ -126,9 +95,6 @@ public interface CuMemberMapper extends BaseMapper { * * @param memberId 会员编号 * @param placeDept 安置部门 - * @return: CuMemberExt - * @Author: sui q - * @Date: 2022/9/1 20:36 */ CuMemberExt selectPlaceSponsorLastLeft(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept); @@ -136,10 +102,6 @@ public interface CuMemberMapper extends BaseMapper { * 查找血缘伞上,推荐人 * * @param memberId 推荐人编号 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List selectBloodKinshipOnUmbrella(Long memberId); @@ -147,38 +109,22 @@ public interface CuMemberMapper extends BaseMapper { * 查找血缘伞下,推荐人 * * @param memberId 推荐人编号 - * @Description: - * @return: List - * @Author: sui q - * @Date: 2022/8/29 20:54 */ List selectBloodKinshipUnderUmbrella(Long memberId); /** * 获取会员主键 - * - * @return: Integer - * @Author: sui q - * @Date: 2022/9/30 17:38 */ Long createMemberId(); /** - * @description: 查询新零售会员信息 - * @author: zhang jing - * @date: 2024/12/10 11:09 - * @param: [retailMemberVO] - * @return: java.util.List + * 查询新零售会员信息 **/ List retailMemberList(RetailMemberVO retailMemberVO); /** - * @description: 会员真实信息 - * @author: zhang jing - * @date: 2022/11/16 15:13 - * @param: [memberParam] - * @return: java.util.List + * 会员真实信息 **/ List realCuMemberByCondition(CuMemberVO memberParam); @@ -203,11 +149,7 @@ public interface CuMemberMapper extends BaseMapper { @Param("pkCountry") Integer pkCountry); /** - * @description: 特殊业务-修改会员编号列表 - * @author: zhang jing - * @date: 2022/12/29 11:48 - * @param: [updateCodeVO] - * @return: java.util.List + * 特殊业务-修改会员编号列表 **/ List puCodeList(UpdateCodeVO updateCodeVO); @@ -215,21 +157,13 @@ public interface CuMemberMapper extends BaseMapper { /** - * @description: 查询全部修改过会员编号的记录 - * @author: zhang jing - * @date: 2023/9/27 10:51 - * @param: [updateCodeVO] - * @return: java.util.List + * 查询全部修改过会员编号的记录 **/ List puCodeAllList(UpdateCodeVO updateCodeVO); /** - * @description: 查询会员变更前信息 - * @author: zhang jing - * @date: 2023/7/17 12:18 - * @param: [updateCodeVO] - * @return: com.hzs.member.base.vo.UpdateCodeVO + * 查询会员变更前信息 **/ UpdateCodeVO specialBusinessQuery(UpdateCodeVO updateCodeVO); @@ -246,7 +180,6 @@ public interface CuMemberMapper extends BaseMapper { @Param("businessType") int businessType, @Param("updatePkMember") Long updatePkMember); - /** * 根据业务类型批量理新 * @@ -267,9 +200,6 @@ public interface CuMemberMapper extends BaseMapper { * 保存会员信息 * * @param cuMember 会员信息 - * @return: void - * @Author: sui q - * @Date: 2023/2/2 15:19 */ Integer insertCuMember(CuMember cuMember); @@ -282,75 +212,43 @@ public interface CuMemberMapper extends BaseMapper { int insertBatchCuMember(@Param("memberList") List memberList); /** - * @description:特殊业务-修改结算国 - * @author: zhang jing - * @date: 2023/2/21 9:25 - * @param: [upseCountryVO] - * @return: java.util.List + * 特殊业务-修改结算国 **/ List upseCountryList(UpdateSettleCountryVO upseCountryVO); /** - * @description: 特殊配置 修改结算国列表 - * @author: zhang jing - * @date: 2023/4/28 17:23 - * @param: [upseCountryVO] - * @return: java.util.List + * 特殊配置 修改结算国列表 **/ List upsettleCountryList(UpdateSettleCountryVO upseCountryVO); /** - * @description: 查询修改政策币列表 - * @author: zhang jing - * @date: 2023/5/9 14:25 - * @param: [upVO] - * @return: java.util.List + * 查询修改政策币列表 **/ List upPolicyCurrencyList(UpPolicyCurrencyVO upVO); /** - * @description: 校验会员是否有充值审核 - * @author: zhang jing - * @date: 2023/2/23 10:52 - * @param: [pkMember] - * @return: java.lang.Integer + * 校验会员是否有充值审核 **/ Integer checkCecharge(@Param("pkMember") Long pkMember); /** - * @description: 校验会员是否有提现审核 - * @author: zhang jing - * @date: 2023/2/23 10:52 - * @param: [pkMember] - * @return: java.lang.Integer + * 校验会员是否有提现审核 **/ Integer checkWithdraw(@Param("pkMember") Long pkMember); /** - * @description: 校验会员所有账户是否有余额 - * @author: zhang jing - * @date: 2023/2/23 10:53 - * @param: [pkMember] - * @return: java.lang.Integer + * 校验会员所有账户是否有余额 **/ Integer checkAccount(@Param("pkMember") Long pkMember); /** - * @description: 查询会员是否存在未完成基础业务办理 - * @author: zhang jing - * @date: 2023/2/23 16:00 - * @param: [pkMember] - * @return: java.lang.Integer + * 查询会员是否存在未完成基础业务办理 **/ Integer checkmsLogCount(@Param("pkMember") Long pkMember, @Param("editType") Integer editType); /** - * @description: 查询会员是否存在未完成注水业绩业务 - * @author: zhang jing - * @date: 2023/2/23 16:34 - * @param: [pkMember] - * @return: java.lang.Integer + * 查询会员是否存在未完成注水业绩业务 **/ Integer checkMemberAchieveCount(@Param("pkMember") Long pkMember); @@ -364,10 +262,7 @@ public interface CuMemberMapper extends BaseMapper { List queryMemberSelect(@Param("param") MemberSelectParam param, @Param("pkCountry") Integer pkCountry); /* - * description: 查询历史网体的最末安置人,左右区一起查出来 - * @author: sui q - * @date: 2023/4/6 17:35 - * @param: + * 查询历史网体的最末安置人,左右区一起查出来 **/ List queryCuMemberLastPlaceParent(@Param("pkMember") Long pkMember); @@ -386,24 +281,6 @@ public interface CuMemberMapper extends BaseMapper { */ List selectRegList(MarketNewsParam marketNewsParam); - /** - * @description: 查询最新会员 - * @author: zhang jing - * @date: 2023/5/24 16:37 - * @param: [] - * @return: com.hzs.common.domain.member.base.CuMember - **/ - CuMember queryRecentlyMember(@Param("pkCountry") Integer pkCountry); - - /** - * @description: 查询最新国际编号 - * @author: zhang jing - * @date: 2023/5/30 19:30 - * @param: [] - * @return: com.hzs.common.domain.member.base.CuMember - **/ - CuMember queryInternationalMember(); - /** * 查询推荐列表 * @@ -412,7 +289,6 @@ public interface CuMemberMapper extends BaseMapper { * @param memberName 会员名称 * @param startCreateTime 开始时间 * @param endCreateTime 结束时间 - * @param endCreateTime 结束时间 * @param memberInfo 会员信息 * @return */ @@ -529,10 +405,7 @@ public interface CuMemberMapper extends BaseMapper { void updatePlaceParentAndPlaceDeptById(@Param("pkMember") Long pkMember, @Param("pkPlaceParent") Long pkPlaceParent, @Param("placeDept") Integer placeDept); /* - * @description: 查询会员左右区人数 - * @author: sui q - * @date: 2023/8/15 14:34 - * @param: null null + * 查询会员左右区人数 **/ List queryMemberLeftRightCount(@Param("pkMember") Long pkMember); @@ -603,14 +476,6 @@ public interface CuMemberMapper extends BaseMapper { */ CuMemberExt queryParentVertex(@Param("pkMember") Long pkMember); - /** - * 查询血缘上所属团队 - * - * @param pkMember 会员ID - * @return - */ - CuMemberExt queryParentTeam(@Param("pkMember") Long pkMember); - /** * 用户消费统计 * @@ -619,11 +484,7 @@ public interface CuMemberMapper extends BaseMapper { List getMemberConsumptionStat(MemberConsumptionStatParam memberConsumptionStatParam); /** - * @description: 查询表是否存在 - * @author: zhang jing - * @date: 2024/4/7 16:10 - * @param: [tableName] - * @return: java.lang.Integer + * 查询表是否存在 **/ Integer selectExistTable(String tableName); @@ -683,11 +544,7 @@ public interface CuMemberMapper extends BaseMapper { CuMember getParentMember(@Param("memberCode") String memberCode); /** - * @description: 查询同名同手机号最早注册的会员 - * @author: zhang jing - * @date: 2024/10/22 14:51 - * @param: [pkMember, memberPoint, grade] - * @return: com.hzs.common.domain.member.base.CuMember + * 查询同名同手机号最早注册的会员 **/ CuMember sameNamePhone(@Param("memberName") String memberName, @Param("phone") String phone, @@ -755,11 +612,7 @@ public interface CuMemberMapper extends BaseMapper { @Param("topMemberCode") String topMemberCode); /** - * @description: 添加等级升级记录 - * @author: zhang jing - * @date: 2024/12/22 10:36 - * @param: [cuMemberGrade] - * @return: void + * 添加等级升级记录 **/ void saveMemberGrade(CuMemberGrade cuMemberGrade); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index 72f6e68c..abf348bf 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -21,7 +21,6 @@ import com.hzs.member.share.param.ShareRegisterParam; import com.hzs.retail.member.param.ShareRetailMemberParam; import com.hzs.system.sys.dto.ApprovalBusinessResultDTO; -import java.math.BigDecimal; import java.util.Collection; import java.util.Date; import java.util.List; @@ -184,7 +183,6 @@ public interface ICuMemberService extends IService { **/ List retailMemberList(RetailMemberVO retailMemberVO); - /** * 查询真实信息 **/ @@ -719,14 +717,6 @@ public interface ICuMemberService extends IService { */ CuMemberExt queryParentVertex(Long pkMember); - /** - * 查询血缘上所属团队 - * - * @param pkMember 会员ID - * @return - */ - CuMemberExt queryParentTeam(Long pkMember); - /** * 用户消费统计 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 98472581..115af218 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -89,17 +89,17 @@ import java.util.stream.Collectors; public class CuMemberServiceImpl extends ServiceImpl implements ICuMemberService { @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; @DubboReference - ICountryServiceApi countryServiceApi; + ICountryServiceApi iCountryServiceApi; @DubboReference - IServiceChargeServiceApi serviceChargeServiceApi; + IServiceChargeServiceApi iServiceChargeServiceApi; @DubboReference - IGradeServiceApi gradeServiceApi; + IGradeServiceApi iGradeServiceApi; @DubboReference - IApprovalServiceApi approvalServiceApi; + IApprovalServiceApi iApprovalServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; + IAwardsServiceApi iAwardsServiceApi; @Autowired private ICuMemberRegisterService memberRegisterService; @@ -584,7 +584,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .sendIdList(zeroElementRevokeVO.getSendIdList()) .fileList(zeroElementRevokeVO.getFileList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.ZERO_ELEMENT_REVOKE_PETITION); @@ -655,7 +655,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .sendIdList(updateCodeVO.getSendIdList()) .fileList(updateCodeVO.getFileList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.MEMBER_UPDATE_PETITION); @@ -730,7 +730,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .sendIdList(upseCountryVO.getSendIdList()) .fileList(upseCountryVO.getFileList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.UPDATE_SETTLE_PETITION); @@ -803,7 +803,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .sendIdList(policyCurrencyVO.getSendIdList()) .fileList(policyCurrencyVO.getFileList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.POLICY_CURRENCY_PETITION); @@ -886,7 +886,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.ZERO_ELEMENT_REVOKE.getValue()); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -990,7 +990,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue()); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -1053,7 +1053,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.DEL_POLICY_CURRENCY_YES_NO.getValue()); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -1128,7 +1128,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.CHANGE_MEMBER_CODE.getValue()); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -1309,7 +1309,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .businessCode(code) .signType(ESignType.getEnumByValue(placeParentParam.getSignType())) .remark(placeParentParam.getRemark()).pkMemberList(memberSet).userIdList(placeParentParam.getUserIdList()).build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.MEMBER_UPDATE_PLACE_PARENT); @@ -1590,7 +1590,7 @@ public class CuMemberServiceImpl extends ServiceImpl i */ @Override public String createUserNameByPremix(Integer pkCountry, Integer digit) { - CountryDTO country = countryServiceApi.getCountry(pkCountry).getData(); + CountryDTO country = iCountryServiceApi.getCountry(pkCountry).getData(); String prefix = country.getCode(); if (StringUtils.isEmpty(prefix)) { return null; @@ -1738,7 +1738,7 @@ public class CuMemberServiceImpl extends ServiceImpl i @Override public List> systemListTree(List memberRetailExtList, CuMemberRetailSExt memberRetailExt, String settleTableName) { // 汇率 - R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); + R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); BigDecimal inExchangeRate = currency.getData().getInExchangeRate(); // 查询血缘伞下团队业绩和人数 @@ -1813,7 +1813,7 @@ public class CuMemberServiceImpl extends ServiceImpl i private Map queryGradeDTOMap() { Set countrySet = new HashSet<>(); countrySet.add(CountryConstants.CHINA_COUNTRY); - Map> countryMap = gradeServiceApi.queryCountryGradeConfigByCondition(countrySet).getData(); + Map> countryMap = iGradeServiceApi.queryCountryGradeConfigByCondition(countrySet).getData(); Map gradeDtoMap = new HashMap<>(); countryMap.forEach((pkCountry, gradeList) -> { @@ -1939,11 +1939,11 @@ public class CuMemberServiceImpl extends ServiceImpl i //查询修改前结算国等级奖衔value值 - R gd = gradeServiceApi.getGrade(member.getPkRegisterGrade()); + R gd = iGradeServiceApi.getGrade(member.getPkRegisterGrade()); Integer pkRegisterGrade = gd.getData().getGradeValue(); - gd = gradeServiceApi.getGrade(member.getPkSettleGrade()); + gd = iGradeServiceApi.getGrade(member.getPkSettleGrade()); Integer pkSettleGrade = gd.getData().getGradeValue(); - gd = gradeServiceApi.getGradeByGradeValue(pkRegisterGrade, uc.getNewPkSettleCountry()); + gd = iGradeServiceApi.getGradeByGradeValue(pkRegisterGrade, uc.getNewPkSettleCountry()); if (null == gd.getData()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } @@ -1951,7 +1951,7 @@ public class CuMemberServiceImpl extends ServiceImpl i throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } member.setPkRegisterGrade(gd.getData().getPkId()); - gd = gradeServiceApi.getGradeByGradeValue(pkSettleGrade, uc.getNewPkSettleCountry()); + gd = iGradeServiceApi.getGradeByGradeValue(pkSettleGrade, uc.getNewPkSettleCountry()); if (null == gd.getData()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } @@ -1959,8 +1959,8 @@ public class CuMemberServiceImpl extends ServiceImpl i throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } member.setPkSettleGrade(gd.getData().getPkId()); - R aw = awardsServiceApi.getAwardsOne(member.getPkAwards()); - R> awList = awardsServiceApi.queryAwards(uc.getNewPkSettleCountry()); + R aw = iAwardsServiceApi.getAwardsOne(member.getPkAwards()); + R> awList = iAwardsServiceApi.queryAwards(uc.getNewPkSettleCountry()); if (CollectionUtil.isEmpty(awList.getData())) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_AWARDS_IS_NULL)); } @@ -2171,7 +2171,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .sendIdList(policyCurrencyVO.getSendIdList()) .fileList(policyCurrencyVO.getFileList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.POLICY_CURRENCY_PETITION); @@ -2222,11 +2222,11 @@ public class CuMemberServiceImpl extends ServiceImpl i member.setModifiedTime(date); //查询修改前结算国等级奖衔value值 - R gd = gradeServiceApi.getGrade(member.getPkRegisterGrade()); + R gd = iGradeServiceApi.getGrade(member.getPkRegisterGrade()); Integer pkRegisterGrade = gd.getData().getGradeValue(); - gd = gradeServiceApi.getGrade(member.getPkSettleGrade()); + gd = iGradeServiceApi.getGrade(member.getPkSettleGrade()); Integer pkSettleGrade = gd.getData().getGradeValue(); - gd = gradeServiceApi.getGradeByGradeValue(pkRegisterGrade, Integer.parseInt(uc.getNewSettleCountry())); + gd = iGradeServiceApi.getGradeByGradeValue(pkRegisterGrade, Integer.parseInt(uc.getNewSettleCountry())); if (null == gd.getData()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } @@ -2234,7 +2234,7 @@ public class CuMemberServiceImpl extends ServiceImpl i throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } member.setPkRegisterGrade(gd.getData().getPkId()); - gd = gradeServiceApi.getGradeByGradeValue(pkSettleGrade, Integer.parseInt(uc.getNewSettleCountry())); + gd = iGradeServiceApi.getGradeByGradeValue(pkSettleGrade, Integer.parseInt(uc.getNewSettleCountry())); if (null == gd.getData()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } @@ -2242,8 +2242,8 @@ public class CuMemberServiceImpl extends ServiceImpl i throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_GRADE_IS_NULL)); } member.setPkSettleGrade(gd.getData().getPkId()); - R aw = awardsServiceApi.getAwardsOne(member.getPkAwards()); - R> awList = awardsServiceApi.queryAwards(Integer.parseInt(uc.getNewSettleCountry())); + R aw = iAwardsServiceApi.getAwardsOne(member.getPkAwards()); + R> awList = iAwardsServiceApi.queryAwards(Integer.parseInt(uc.getNewSettleCountry())); if (CollectionUtil.isEmpty(awList.getData())) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.UPDATE_COUNTRY_AFTER_AWARDS_IS_NULL)); } @@ -2285,7 +2285,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.CHANGE_MEMBER_CODE.getValue()); serviceChargeDTO.setPkCountry(pkCountry); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -2350,13 +2350,13 @@ public class CuMemberServiceImpl extends ServiceImpl i @Override public Integer getGradeTranslateValue(Integer pkId) { - R grade = gradeServiceApi.getGrade(pkId); + R grade = iGradeServiceApi.getGrade(pkId); return grade.getData().getPkTransaction(); } @Override public Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId) { - R awards = awardsServiceApi.getAwardsOne(pkId); + R awards = iAwardsServiceApi.getAwardsOne(pkId); return awards.getData().getPkTransaction(); } @@ -2385,7 +2385,7 @@ public class CuMemberServiceImpl extends ServiceImpl i @Override public CuMember shareRegisterMember(ShareRegisterParam registerParam) { // 处理等级 - GradeDTO gradeDTO = gradeServiceApi.getGradeByGradeValue(EGrade.START_UP.getValue(), CountryConstants.CHINA_COUNTRY).getData(); + GradeDTO gradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.START_UP.getValue(), CountryConstants.CHINA_COUNTRY).getData(); if (null == gradeDTO) { return null; } @@ -2600,8 +2600,6 @@ public class CuMemberServiceImpl extends ServiceImpl i // 安置禁止 isShowWares = !waresAuthorityPlaceList.contains(bdWaresAuthority.getPkMember()); } - // } - } resultMap.put(showWaresDTO.getPkWares(), isShowWares); } @@ -2703,7 +2701,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .userIdList(updateParentPetitionParam.getUserIdList()) .sendIdList(updateParentPetitionParam.getSendIdList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.MEMBER_UPDATE_PETITION); @@ -2793,7 +2791,7 @@ public class CuMemberServiceImpl extends ServiceImpl i .userIdList(updatePlaceParentPetitionParam.getUserIdList()) .sendIdList(updatePlaceParentPetitionParam.getSendIdList()) .build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(ConfigMsgConstants.MEMBER_UPDATE_PETITION); @@ -2814,11 +2812,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return updatePlaceParentPetitionParam; } - /** - * 修改直推(通过) - * - * @param approvalBusinessResultDTO - */ @Override public void updateParentByBusinessNo(ApprovalBusinessResultDTO approvalBusinessResultDTO) { //修改直推 @@ -2842,11 +2835,6 @@ public class CuMemberServiceImpl extends ServiceImpl i } } - /** - * 修改直推(驳回) - * - * @param approvalBusinessResultDTO - */ @Override public void updateParentByBusinessNoReject(ApprovalBusinessResultDTO approvalBusinessResultDTO) { //修改直推 @@ -2860,7 +2848,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.CU_MEMBER_PARENT.getValue()); serviceChargeDTO.setPkCountry(memberServiceLog.getPkCountry()); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -2892,11 +2880,6 @@ public class CuMemberServiceImpl extends ServiceImpl i } } - /** - * 修改安置(通过) - * - * @param approvalBusinessResultDTO - */ @Override public void updatePlaceParentByBusinessNo(ApprovalBusinessResultDTO approvalBusinessResultDTO) { //修改安置 @@ -2919,11 +2902,6 @@ public class CuMemberServiceImpl extends ServiceImpl i } - /** - * 修改安置(驳回) - * - * @param approvalBusinessResultDTO - */ @Override public void updatePlaceParentByBusinessNoReject(ApprovalBusinessResultDTO approvalBusinessResultDTO) { String businessCode = approvalBusinessResultDTO.getBusinessCode(); @@ -2939,7 +2917,7 @@ public class CuMemberServiceImpl extends ServiceImpl i ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO(); serviceChargeDTO.setType(EApprovalBusiness.CU_MEMBER_PLACE_PARENT.getValue()); serviceChargeDTO.setPkCountry(memberServiceLog.getPkCountry()); - R serviceChargeDTOR = serviceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); + R serviceChargeDTOR = iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO); if (null == serviceChargeDTOR.getData() || null == serviceChargeDTOR.getData().getPkAccount()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.BUSINESS_ACCOUNT_IS_NULL)); @@ -2992,25 +2970,11 @@ public class CuMemberServiceImpl extends ServiceImpl i return this.update(updateWrapper); } - /** - * 校验新安置部门和安置编号下是否已存在节点 - * - * @param placeDeptMemberCode - * @param placeDept - * @return - */ @Override public Long checkPlaceDeptAndMemberCode(String placeDeptMemberCode, Integer placeDept) { return baseMapper.checkPlaceDeptAndMemberCode(placeDeptMemberCode, placeDept); } - /** - * 校验修改直推 memberCode 是否在自己血缘伞下 - * - * @param pkMember - * @param memberCode - * @return - */ @Override public Long checkMemberParent(Long pkMember, String memberCode) { return baseMapper.checkMemberParent(pkMember, memberCode); @@ -3021,11 +2985,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.updateMemberEditNumber(pkMemberList, updatePkMember); } - /** - * @param pkMember 推荐人 - * @param editNewPlaceMemberCode 安置后会员编号 - * @return - */ @Override public Long checkPlaceMemberList(Long pkMember, String editNewPlaceMemberCode) { return baseMapper.checkPlaceMemberList(pkMember, editNewPlaceMemberCode); @@ -3041,16 +3000,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.queryParentVertex(pkMember); } - @Override - public CuMemberExt queryParentTeam(Long pkMember) { - return baseMapper.queryParentTeam(pkMember); - } - - /** - * 用户消费统计 - * - * @return - */ @Override public List getMemberConsumptionStat(MemberConsumptionStatParam memberConsumptionStatParam) { return baseMapper.getMemberConsumptionStat(memberConsumptionStatParam); @@ -3061,33 +3010,16 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.getMenuMember(pkMember); } - /** - * 查询会员服务编号列表 - * - * @param memberServiceCodeParam - * @return - */ @Override public List queryMemberServiceCodeList(MemberServiceCodeParam memberServiceCodeParam) { return baseMapper.queryMemberServiceCodeList(memberServiceCodeParam); } - /** - * 根据会员编号置空服务编号 - * - * @param memberCode - */ @Override public void updateMemberCodeByServiceCodeBlack(String memberCode) { baseMapper.updateMemberCodeByServiceCodeBlack(memberCode); } - /** - * 查询最大服务编码 - * - * @param pkCountry - * @return - */ @Override public String getMaxServiceCode(Integer pkCountry) { return baseMapper.getMaxServiceCode(pkCountry); @@ -3098,13 +3030,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.getParentMember(memberCode); } - /** - * 查询会员奖衔 - * - * @param param 查询参数 - * @param pkCountry 所属国家 - * @return - */ @Override public List listMemberAwards(MemberAwardsQueryParam param, Integer pkCountry) { return baseMapper.listMemberAwards(param, pkCountry); @@ -3223,13 +3148,6 @@ public class CuMemberServiceImpl extends ServiceImpl i // return "注册信息已存在,请重新输入注册信息"; } - /** - * @description: 添加等级升级记录 - * @author: zhang jing - * @date: 2024/12/22 10:36 - * @param: [cuMemberGrade] - * @return: void - **/ @Override public void saveMemberGrade(CuMemberGrade cuMemberGrade) { baseMapper.saveMemberGrade(cuMemberGrade); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/ZeroElementRevokeVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/ZeroElementRevokeVO.java index 5d7d4bc3..71cda299 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/ZeroElementRevokeVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/ZeroElementRevokeVO.java @@ -19,11 +19,7 @@ import java.util.List; import java.util.Set; /** - * @Description: 特殊业务-零元撤单实体vo - * @Author: zhangjing - * @Time: 2022/12/28 11:21 - * @Classname: ZeroElementRevokeVO - * @PackageName: com.hzs.member.base.vo + * 特殊业务-零元撤单实体vo */ @Data @EqualsAndHashCode(callSuper = false) @@ -64,7 +60,7 @@ public class ZeroElementRevokeVO extends BaseApprovalEntity { /** * 结算等级 会员等级 */ - @Excel(name = "注册等级") + @Excel(name = "结算等级") private String pkSettleGradeVal; private Integer pkRegisterGrade; @@ -95,17 +91,6 @@ public class ZeroElementRevokeVO extends BaseApprovalEntity { @Excel(name = "推荐人姓名") private String parMemberName; - /** - * 安置人编号 - */ - @Excel(name = "安置人编号") - private String placeMemberCode; - - /** - * 安置人姓名 - */ - @Excel(name = "安置人姓名") - private String placeMemberName; /** * 隶属体系 */ @@ -119,7 +104,7 @@ public class ZeroElementRevokeVO extends BaseApprovalEntity { /** * 创建时间 */ - @Excel(name = "创建日期",dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "创建日期", dateFormat = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date creationTime; /** @@ -134,13 +119,11 @@ public class ZeroElementRevokeVO extends BaseApprovalEntity { /** * 结算等级 */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE) private Integer pkSettleGrade; /** * 真实奖衔 */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD) private Integer pkAwards; /** @@ -152,11 +135,11 @@ public class ZeroElementRevokeVO extends BaseApprovalEntity { * 零元撤单会员集合 */ @Transaction - private List zeroVOList; + private List zeroVOList; /** * 错误提示集合 */ - private List erroList; + private List erroList; /** * 业务单号 @@ -224,12 +207,5 @@ public class ZeroElementRevokeVO extends BaseApprovalEntity { private Long pkCreator; - - - - - - - } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/ShareRetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/ShareRetailMemberController.java index da61d818..b48376ae 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/ShareRetailMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/ShareRetailMemberController.java @@ -32,11 +32,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description: 新零售会员管理控制器 - * @Author: jiang chao - * @Time: 2025/1/3 16:23 - * @Classname: RetailMemberManageController - * @PackageName: com.hzs.retail.member.controller.manage + * 新零售会员管理控制器 */ @Slf4j @RestController diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareDeleteParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareDeleteParam.java index 3e7c4797..16f6b484 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareDeleteParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareDeleteParam.java @@ -5,11 +5,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; /** - * @Description: 新零售0元会员删除 - * @Author: jiang chao - * @Time: 2025/1/4 8:00 - * @Classname: ShareDeleteParam - * @PackageName: com.hzs.retail.member.param + * 新零售0元会员删除 */ @Data public class ShareDeleteParam { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareParentDeleteParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareParentDeleteParam.java index 93cfefae..2b3a0486 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareParentDeleteParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareParentDeleteParam.java @@ -6,11 +6,7 @@ import javax.validation.constraints.NotNull; import java.util.List; /** - * @Description: 新零售0元会员删除 - * @Author: jiang chao - * @Time: 2025/1/4 8:00 - * @Classname: ShareDeleteParam - * @PackageName: com.hzs.retail.member.param + * 新零售0元会员删除 */ @Data public class ShareParentDeleteParam { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareRetailMemberParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareRetailMemberParam.java index 871d2de7..60e6a8a2 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareRetailMemberParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/ShareRetailMemberParam.java @@ -5,11 +5,7 @@ import lombok.Data; import java.io.Serializable; /** - * @Description: 新零售分享会员列表查询入参 - * @Author: jiang chao - * @Time: 2025/1/3 16:43 - * @Classname: ShareRetailMemberParam - * @PackageName: com.hzs.retail.member.param + * 新零售分享会员列表查询入参 */ @Data public class ShareRetailMemberParam implements Serializable { 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 95302be4..0d877f84 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 @@ -637,37 +637,39 @@ ORDER BY cmp.CREATION_TIME DESC - + @@ -1597,21 +1593,6 @@ - - - - - - - - - - - - - - - + select pkmember, + period, + uptype, + membercode, + membername, + phone, + pkAwardsVal, + pkMaxAwardsVal, + pkRegisterGradeVal, + vertexname, + creationtime, + endvaliditydate + from (select cm.pk_id as pkmember, + cma.period, + cma.up_type as uptype, + cm.member_code as membercode, + cm.member_name as membername, + cm.phone, + baa.awards_name as pkAwardsVal, + bam.awards_name as pkMaxAwardsVal, + bg.grade_name as pkRegisterGradeVal, + ver.vertex_name as vertexname, + cma.creation_time as creationtime, + cma.end_validity_date as endvaliditydate, + row_number() over(partition by cm.member_code order by cma.new_level desc) as rn + from cu_member cm + left join bd_grade bg + on bg.pk_id = cm.pk_register_grade + and bg.del_flag = 0 + left join bd_vertex ver + on cm.pk_vertex = ver.pk_id + and ver.del_flag = 0 + left join cu_member_awards cma + on cma.pk_member = cm.pk_id + and cma.award_type = 1 + and cma.del_flag = 0 + left join cu_member_settle_period cmsp + on cmsp.pk_id = cma.period + left join bd_awards baa + on baa.pk_id = cma.new_level + and baa.del_flag = 0 + left join bd_awards bam + on bam.pk_id = cm.pk_max_awards + and bam.del_flag = 0 + where cm.del_flag = 0 + and cm.pk_settle_country = #{pkCountry} + and cma.del_flag = 0 AND cm.MEMBER_CODE like #{memberCode} || '%' - - AND cma.UP_TYPE=#{upType} - AND cm.MEMBER_NAME like #{memberName} || '%' AND cm.phone like #{phone} || '%' - - AND AW.PK_ID=#{pkAwards} + + AND cma.UP_TYPE = #{upType} - - AND AWW.PK_ID=#{pkRangeAwards} + + AND AW.PK_ID = #{pkAwards} + + + AND AWW.PK_ID = #{pkMaxAwards} and cmsp.SETTLE_DATE >= to_date(#{startDate}, 'yyyy-mm-dd') @@ -344,22 +344,18 @@ and CMA.END_VALIDITY_DATE <= to_date(#{endEffectiveDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') - AND cm.pk_vertex=#{pkVertex} - - - AND cm.pk_team_code=#{pkTeamCode} + AND cm.pk_vertex = #{pkVertex} - AND cm.PK_REGISTER_GRADE=#{pkRegisterGrade} + AND cm.PK_REGISTER_GRADE = #{pkRegisterGrade} ) t - WHERE rn = 1 - ORDER BY CREATIONTIME DESC + where rn = 1 + order by creationtime desc - - select * from ( SELECT CM.PK_ID AS PKMEMBER, @@ -388,19 +384,19 @@ ON cm.pk_team_code=cmt.pk_id AND cmt.del_flag=0 WHERE CML.DEL_FLAG = 0 AND CM.DEL_FLAG = 0 - AND cm.PK_SETTLE_COUNTRY=#{pkCountry} - AND cm.system_Type=#{systemType} + AND cm.PK_SETTLE_COUNTRY = #{pkCountry} + AND cm.system_Type = #{systemType} AND cm.MEMBER_CODE like #{memberCode} || '%' + + AND cm.pk_vertex = #{pkVertex} + + + AND cm.pk_team_code = #{pkTeamCode} + - AND CML.UP_TYPE=#{upType} - - - AND cm.MEMBER_NAME like #{memberName} || '%' - - - AND cm.phone like #{phone} || '%' + AND CML.UP_TYPE = #{upType} and CML.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd') @@ -408,15 +404,6 @@ and CML.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') - - AND cm.pk_vertex=#{pkVertex} - - - AND cm.pk_team_code=#{pkTeamCode} - - - AND cm.PK_REGISTER_GRADE=#{pkRegisterGrade} - UNION SELECT CM.PK_ID AS PKMEMBER, @@ -443,19 +430,19 @@ ON cm.pk_team_code=cmt.pk_id AND cmt.del_flag=0 WHERE CMG.DEL_FLAG = 0 AND CM.DEL_FLAG = 0 - AND cm.PK_SETTLE_COUNTRY=#{pkCountry} - AND cm.system_Type=#{systemType} + AND cm.PK_SETTLE_COUNTRY = #{pkCountry} + AND cm.system_Type = #{systemType} AND cm.MEMBER_CODE like #{memberCode} || '%' + + AND cm.pk_vertex = #{pkVertex} + + + AND cm.pk_team_code = #{pkTeamCode} + - AND CMG.UP_TYPE=#{upType} - - - AND cm.MEMBER_NAME like #{memberName} || '%' - - - AND cm.phone like #{phone} || '%' + AND CMG.UP_TYPE = #{upType} and CMG.CREATION_TIME >= to_date(#{startDate}, 'yyyy-mm-dd') @@ -463,42 +450,10 @@ and CMG.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') - - AND cm.pk_vertex=#{pkVertex} - - - AND cm.pk_team_code=#{pkTeamCode} - - - AND cm.PK_REGISTER_GRADE=#{pkRegisterGrade} - - ) ORDER BY CREATIONTIME DESC - - - - - - - - + - - - From 550225fb15a3ce8a5cb04ac3632fb2bf70e52dc0 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 18 Jun 2025 10:33:42 +0800 Subject: [PATCH 75/75] =?UTF-8?q?##=20=E8=B0=83=E6=95=B4=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E3=80=81=E8=AE=A2=E5=8D=95=E5=89=8D=E7=BC=80=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/hzs/common/core/constant/SysConstants.java | 2 +- .../src/main/java/com/hzs/common/core/enums/EOrderPrefix.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java index ac23007c..e6764038 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java @@ -12,7 +12,7 @@ public class SysConstants { /** * 新零售前缀 */ - public static final String RETAIL_PREFIX = "RE"; + public static final String RETAIL_PREFIX = "BF"; /** * 顶点 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java index f62ffa10..1ac9a8f8 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderPrefix.java @@ -18,7 +18,7 @@ public enum EOrderPrefix { /** * 销售订单 */ - ORDER_CODE("RESO", "销售订单"), + ORDER_CODE("BFSO", "销售订单"), /** * 采购订单 @@ -73,7 +73,7 @@ public enum EOrderPrefix { /** * 发货单 */ - DELIVERY_CODE("RESD", "发货单"), + DELIVERY_CODE("BFSD", "发货单"), /** * 充值