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 09468cd8..69948be8 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 @@ -115,13 +115,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 先算等级 注册、升级计算等级 // 订单指定产品盒数 - BigDecimal boxNum = BigDecimal.ZERO; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { - boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); - } - } - saOrderExt.setBoxNum(boxNum); + BigDecimal boxNum = saOrderExt.getBoxNum(); +// BigDecimal boxNum = BigDecimal.ZERO; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { +// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); +// } +// } +// saOrderExt.setBoxNum(boxNum); // 订单业绩 BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); @@ -154,7 +155,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { ) { // 注册、升级订单,计算奖金: 直推级差收益 + 平级收益 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { + if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode()) + && EDelFlag.UN_DELETE.getValue() == saOrderItems.getDelFlag()) { // 指定盒数商品 // 计算直推级差收益 + 平级收益 cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt)); @@ -259,13 +261,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 计算自消费奖衔 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 先算等级 注册、升级计算等级 - BigDecimal boxNum = BigDecimal.ZERO; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { - boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); - } - } - saOrderExt.setBoxNum(boxNum); + BigDecimal boxNum = saOrderExt.getBoxNum(); +// BigDecimal boxNum = BigDecimal.ZERO; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { +// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); +// } +// } +// saOrderExt.setBoxNum(boxNum); // 订单业绩 BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); @@ -522,12 +525,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); // 订单指定产品盒数(计算等级使用) - BigDecimal boxNum = BigDecimal.ZERO; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { - boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); - } - } + BigDecimal boxNum = saOrderExt.getBoxNum(); +// BigDecimal boxNum = BigDecimal.ZERO; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { +// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity()))); +// } +// } + // 个人累计消费pv BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) @@ -552,7 +557,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { ) { // 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { + if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode()) + && EDelFlag.UN_DELETE.getValue() == saOrderItems.getDelFlag()) { // 盒数商品 计算 直推级差 + 平级收益 cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); } @@ -1405,12 +1411,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { // 复购订单, 区域收益 = 复购区域分红 * 商品数量 for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { - if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) { - // 按比值处理 - benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); - } else { - // 按比率处理 - benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP)); + if (EDelFlag.UN_DELETE.getValue() == saOrderWaresExt.getDelFlag()) { + if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) { + // 按比值处理 + benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); + } else { + // 按比率处理 + benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP)); + } } } } 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 1d1494ed..b9e09a19 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 @@ -212,7 +212,6 @@ from sa_order so left join sa_order_items soi on soi.pk_order = so.pk_id - and soi.del_flag = 0 and soi.is_gift = 1 where so.order_status = 1 and so.order_type in (43, 44)