diff --git a/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java b/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java index a6957510..70299013 100644 --- a/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java +++ b/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java @@ -1,76 +1,49 @@ package com.hzs.bonus.settle; 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; /** - * @description: 奖金结算 - * @author: sui q - * @time: 2023/9/18 14:24 - * @classname: IMemberBonusSettleApi - * @package_name: com.hzs.bonus.settle - * version 1.0.0 + * 奖金结算 */ public interface IMemberSettleBonusApi { /** * 根据秒结算会员奖金 + * * @param orderCode 订单 - * @return: List - * @Author: sui q - * @Date: 2023/2/1 21:27 */ R calculateCumberBonusBySecond(String orderCode); - /* - * @description: 定时任务每天自动计算奖金 - * @author: sui q - * @date: 2023/4/10 14:23 - * @param: null null + * 定时任务每天自动计算奖金 **/ R autoCalculateBonus(Date settleDate); /* - * @description: 备份网体 - * @author: sui q - * @date: 2024/11/15 10:10 - * @param: null null + * 备份网体 **/ void backupsSettleBonusEveryday(); /* - * @description: 定时任务每天自动公布奖金 - * @author: sui q - * @date: 2023/4/10 14:23 - * @param: null null + * 定时任务每天自动公布奖金 **/ void autoPublishBonus(); /* - * @description: 定时任务每天自动发放奖金 - * @author: sui q - * @date: 2023/4/10 14:23 - * @param: null null + * 定时任务每天自动发放奖金 **/ void autoGrantBonus(); /* - * @description: 每日生成业绩、月表统计数据 - * @author: sui q - * @date: 2023/9/1 9:50 - * @param: null null + * 每日生成业绩、月表统计数据 **/ void insertCuMemberAchieveByEveryDay(); /* - * @description: 退单回退业绩 - * @author: sui q - * @date: 2023/9/22 9:27 - * @param: null null + * 退单回退业绩 **/ Boolean chargeBackSaOrder(SaOrder saOrder); } diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java index 2c2b55fc..7f046db2 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java @@ -3,17 +3,12 @@ package com.hzs.activity.pick; import com.hzs.common.core.domain.R; import com.hzs.common.domain.activity.pick.AcPickMemberLog; import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import java.math.BigDecimal; import java.util.List; /** - * @Description: 提货相关dubbo服务入口 - * @Author: jiang chao - * @Time: 2023/5/15 11:20 - * @Classname: IAcPickServiceApi - * @PackageName: com.hzs.activity.base + * 提货相关dubbo服务入口 */ public interface IAcPickServiceApi { @@ -27,29 +22,10 @@ public interface IAcPickServiceApi { R handlePickOrder(Long pkMember, String orderCode); /* - * @description: 更新提货单 - * @author: sui q - * @date: 2023/5/30 19:49 - * @param: null null + * 更新提货单 **/ R updatePickUse(List acPickExtList, Integer signSource, List acPickMemberLogList); - /* - * @description: 更新提货单 - * @author: sui q - * @date: 2023/5/30 19:49 - * @param: null null - **/ - R updatePickUse(List acPickExtList, List acPickMemberLogList); - - /* - * @description: 查询会员提货使用记录 - * @author: sui q - * @date: 2023/6/3 10:51 - * @param: null null - **/ - R> queryPickMemberLog(List saOrderExtList); - /** * 根据订单查询邮费 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/LeXueRangeParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/LeXueRangeParam.java deleted file mode 100644 index c83d55c7..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/LeXueRangeParam.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hzs.bonus.bonus.param; - -import com.hzs.common.domain.activity.pick.AcPickMemberLog; -import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** - * @description: 计算乐学易考特殊极差的param - * @author: sui q - * @time: 2023/6/3 14:37 - * @classname: LeXueRangeParam - * @package_name: com.hzs.member.bonus.param - * version 1.0.0 - */ -@Data -public class LeXueRangeParam implements Serializable { - - private List acPickExtList; - - private List acPickMemberLogList; -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/TripleCycleListParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/TripleCycleListParam.java deleted file mode 100644 index eeee939b..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/TripleCycleListParam.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hzs.bonus.bonus.param;/** - * @Description: - * @Author: yuhui - * @Time: 2023/6/7 14:43 - * @Classname: TripleCycleListParam - * @PackageName: com.hzs.member.marketnews.param - */ - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; - -import java.util.Date; - -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.member.marketnews.param - *@Author: yh - *@CreateTime: 2023-06-07 14:43 - *@Description: TODO - *@Version: 1.0 - */ -@Data -public class TripleCycleListParam { - - /** - * 会员主键 - */ - private Long pkMember; - - /** - * 会员编号 - */ - private String memberCode; - - /** - * 会员姓名 - */ - - private String memberName; - - /** - * 开始时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd") - private Date startCreationTime; - /** - * 结束时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd") - private Date endCreationTime; - - - /** - * 国家 - */ - private Integer pkCountry; - - /** - * 注册等级 - */ - private Integer pkRegisterGrade; - - /** - * 查询会员信息 - */ - private String memberInfo; - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java index 3a9c1bd5..c9e58d26 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java @@ -17,12 +17,7 @@ import java.time.temporal.ChronoUnit; import java.util.Date; /** - * @description: 奖金计算 - * @author: sui q - * @time: 2023/9/18 14:26 - * @classname: MemberBonusSettleProvider - * @package_name: com.hzs.bonus.bonus.settle - * version 1.0.0 + * 奖金计算 */ @DubboService @Slf4j 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 e3261909..4663771a 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 @@ -74,7 +74,7 @@ public interface ICuMemberBonusService extends IService { TableDataInfo queryMemberBonusDetailVoByCondition(BonusParam bonusParam); /* - * @description: 查询创客空间奖金来源 + * 查询创客空间奖金来源 **/ List queryMemberMarkBonusDetailSource(BonusParam bonusParam); @@ -107,7 +107,7 @@ public interface ICuMemberBonusService extends IService { void insertOrUpdateCuMemberBonus(List cuMemberBonusList); /* - * @description: 查询会员奖金 + * 查询会员奖金 **/ List queryCuMemberBonus(int period, List cuMemberBonusList); @@ -130,24 +130,24 @@ public interface ICuMemberBonusService extends IService { List queryCuMemberBonusByCondition(Integer pkCountry, Integer grantStatus, Integer startPeriod, Integer endPeriod); /* - * @description: 定时任务每天自动计算奖金 + * 定时任务每天自动计算奖金 * @param: startDate 开始时间 * @param: endDate 结束时间 **/ Boolean autoCalculateBonus(Date startDate, Date endDate); /* - * @description: 备份网体 + * 备份网体 **/ void backupsSettleBonusEveryday(); /* - * @description: 查询会员奖金根据期间 + * 查询会员奖金根据期间 **/ Set queryMemberBonusByPeriod(Integer period); /* - * @description: 查询会员一周周期的拓展累计,复购拓展累计 + * 查询会员一周周期的拓展累计,复购拓展累计 **/ Map queryWeekMemberBonus(int startPeriod, int endPeriod); 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 196f805e..e913dad5 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 @@ -48,12 +48,12 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { private ICuMemberBonusDelayService iCuMemberBonusDelayService; /** + * 计算直推奖 + * * @param settleTableName 结算表 * @param bonusConfigDTO 参数 * @param systemConfigMap 系统参数 * @param firPurchaseOrderList 首单 - * @Description: 计算直推奖 - * @return: void */ List calculateRecommendBonus(Map cuMemberSettleExtMap, String settleTableName, BonusConfigDTO bonusConfigDTO, Map systemConfigMap, List firPurchaseOrderList, Integer period, Map cuMemberBonusMap, Map awardsMap) { @@ -75,141 +75,9 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { cuMemberBonusPushList.add(cuMemberBonusPush); } } - - // TODO new 乐学直推级差收益,需要按新逻辑修改(级差等级4个,封顶上限修改) - // V2订单6000,最多发3000,V1拿400,V4最多拿3000,前面等级没拿,后面等级就多拿一份 - List specialOrderList = new ArrayList<>(); - firPurchaseOrderList.forEach(saOrderExt -> { - if (EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType() || - EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { - specialOrderList.add(saOrderExt); - } - }); - if (specialOrderList.size() > 0) { - Set memberSet = new HashSet<>(); - specialOrderList.forEach(saOrderExt -> memberSet.add(saOrderExt.getPkMember())); - cuMemberSettleExtList = iCuMemberTreeService.batchQuerySpecialCuMemberSettleParent(settleTableName, memberSet); - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - // 计算奖金 - for (SaOrderExt saOrderExt : specialOrderList) { - // 订单能发放总奖金 - BigDecimal maxBonus; - // 根据金额验证最大金额 - if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V4_AMOUNT)) { - // 订单金额大于 128000,封顶奖金 43000 - maxBonus = MagicNumberConstants.V4_V4_BONUS; - } else if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V3_AMOUNT)) { - // 订单金额大于 36000,封顶奖金 18000 - maxBonus = MagicNumberConstants.V4_V3_BONUS; - } else if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V2_AMOUNT)) { - // 订单金额大于 6000,封顶奖金 3000 - maxBonus = MagicNumberConstants.V4_V2_BONUS; - } else if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V1_AMOUNT)) { - // 订单金额大于 2000,封顶奖金 1000 - maxBonus = MagicNumberConstants.V4_V1_BONUS; - } else { - // 订单金额小于 2000,没有奖金 - maxBonus = BigDecimal.ZERO; - } - - CuMemberSettleExt sourceSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - Long pkParent = sourceSettleExt.getPkParent(); - // 已发放奖金 - BigDecimal grantBonus = BigDecimal.ZERO; - while (ComputeUtil.compareGreaterThan(maxBonus, grantBonus)) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(pkParent); - if (targetMemberSettleExt == null) { - break; - } - // 死点没有奖金 - if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() - || EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() - || validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIRECT_INCOME.getValue())) { - // 非正常点位 或 停算收益 或 没有这个奖项,则直接跳过当前人 - pkParent = targetMemberSettleExt.getPkParent(); - continue; - } - // 初始化会员奖金汇总 - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - // 直推奖金明细 - int pkBonusItem = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIRECT_INCOME.getValue()); - CuMemberBonusPush cuMemberBonusPush = getCuMemberBonusPush(saOrderExt, targetMemberSettleExt, cuMemberBonus, pkBonusItem); - // 不算轮次 - cuMemberBonusPush.setCalType(ECalType.VALUE.getValue()); - cuMemberBonusPush.setRound(-1); - cuMemberBonusPush.setSecond(0); - // 值 - cuMemberBonusPush.setCalValue(BigDecimal.ZERO); - BigDecimal pretaxIncome; - // 验证等级,根据等级给奖金 - if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V4_AMOUNT)) { - // 订单金额 128000,V4推拿43000,V3推拿10800,V2推拿1800,V1推拿400 - pretaxIncome = computePushRangeBonus(targetMemberSettleExt, MagicNumberConstants.V4_V4_BONUS, MagicNumberConstants.V3_V4_BONUS, MagicNumberConstants.V2_V4_BONUS, MagicNumberConstants.V1_V_BONUS); - } else if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V3_AMOUNT)) { - // 订单金额 36000,V4推拿18000,V3推拿10800,V2推拿1800,V1推拿400 - pretaxIncome = computePushRangeBonus(targetMemberSettleExt, MagicNumberConstants.V4_V3_BONUS, MagicNumberConstants.V3_V3_BONUS, MagicNumberConstants.V2_V3_BONUS, MagicNumberConstants.V1_V_BONUS); - } else if (ComputeUtil.compareValue(saOrderExt.getOrderAmount(), MagicNumberConstants.V2_AMOUNT)) { - // 订单金额 6000,V4推拿3000,V3推拿2400,V2推拿1800,V1推拿400 - pretaxIncome = computePushRangeBonus(targetMemberSettleExt, MagicNumberConstants.V4_V2_BONUS, MagicNumberConstants.V3_V2_BONUS, MagicNumberConstants.V2_V2_BONUS, MagicNumberConstants.V1_V_BONUS); - } else { - // 订单金额 2000,V4推拿1000,V3推拿800,V2推拿600,V1推拿400 - pretaxIncome = computePushRangeBonus(targetMemberSettleExt, MagicNumberConstants.V4_V1_BONUS, MagicNumberConstants.V3_V1_BONUS, MagicNumberConstants.V2_V1_BONUS, MagicNumberConstants.V1_V_BONUS); - } - pretaxIncome = ComputeUtil.computeSubtract(pretaxIncome, grantBonus); - if (!ComputeUtil.compareValue(pretaxIncome)) { - pkParent = targetMemberSettleExt.getPkParent(); - continue; - } - grantBonus = ComputeUtil.computeAdd(grantBonus, pretaxIncome); - cuMemberBonusPush.setPretaxIncome(pretaxIncome); - cuMemberBonusPush.setRealIncome(pretaxIncome); - cuMemberBonusPush.setIncomeTax(BigDecimal.ZERO); - - // TODO new 需要扣除20% - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusPush.getIncomeStatus()) { - cuMemberBonus.setGlobalPoints(ComputeUtil.computeAdd(cuMemberBonus.getGlobalPoints(), cuMemberBonusPush.getPretaxIncome())); - - // 实发收益总计 -// BigDecimal realIncome = ReflectUtils.invokeGetter(cuMemberBonusPush, BonusFieldConstants.REAL_INCOME); -// cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome)); - - // TODO new 首购实发小计、实发收益总计,比原来多累计到首购实发小计 - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusPush); - } - cuMemberBonusPush.setRemark(String.format(BonusMsgConstants.RECOMMEND_SPECIAL_DIRECT, saOrderExt.getOrderCode(), - sourceSettleExt.getMemberCode() + sourceSettleExt.getMemberName(), - targetMemberSettleExt.getMemberCode() + targetMemberSettleExt.getMemberName(), - cuMemberBonusPush.getRealIncome())); - - cuMemberBonusPushList.add(cuMemberBonusPush); - pkParent = targetMemberSettleExt.getPkParent(); - } - } - } return cuMemberBonusPushList; } - /** - * 计算直推奖金 - */ - private BigDecimal computePushRangeBonus(CuMemberSettleExt targetMemberSettleExt, - BigDecimal V4Bonus, BigDecimal V3Bonus, - BigDecimal V2Bonus, BigDecimal V1Bonus) { - BigDecimal pretaxIncome; - if (targetMemberSettleExt.getGradeValue() == EGrade.S_VIP.getValue()) { - pretaxIncome = V4Bonus; - } else if (targetMemberSettleExt.getGradeValue() == EGrade.VIP.getValue()) { - pretaxIncome = V3Bonus; - } else if (targetMemberSettleExt.getGradeValue() == EGrade.MAKER.getValue()) { - pretaxIncome = V2Bonus; - } else { - pretaxIncome = V1Bonus; - } - return pretaxIncome; - } - - /** * 计算某条订单的推荐奖金 * 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 5b09823e..a051cf7e 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 @@ -126,17 +126,13 @@ public abstract class BonusSettleHandle { BonusExpandDTO bonusExpand = bonusConfigDTO.getBonusExpandMap().get(memberSettleExt.getPkSettleCountry()); // 4-N 拓展比例(一般为26%) BigDecimal expandRatio = bonusExpand.getExpandRatio(); -// log.info("expandRatio 配置N使用的比例 : {}", expandRatio); if (ComputeUtil.compareValue(editExpandRatio)) { expandRatio = editExpandRatio; } -// log.info("expandRatio 2 : {}", expandRatio); BigDecimal countryExpandRatio = ComputeUtil.computeDivide(expandRatio, BigDecimal.valueOf(endTouch)); if (ComputeUtil.compareValue(countryExpandRatio, bdGrade.getRepurchaseRatio())) { -// log.info("expandRatio 3 : {}", bdGrade.getRepurchaseRatio()); return bdGrade.getRepurchaseRatio(); } -// log.info("expandRatio N均过比较 : {}", countryExpandRatio); return countryExpandRatio; } @@ -362,10 +358,11 @@ public abstract class BonusSettleHandle { } /** + * 获得 直推收益的备注 + * * @param saOrderExt 订单编号 * @param cuMemberBonusPush 直推奖 * @param cuMemberSettleExtMap 存储会员网体的map - * @Description: 获得 直推收益的备注 */ protected void recommendRemark(SaOrderExt saOrderExt, CuMemberBonusPush cuMemberBonusPush, Map cuMemberSettleExtMap) { CuMemberSettleExt sourceCuMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); @@ -386,12 +383,10 @@ public abstract class BonusSettleHandle { } /** + * 记录需要修改的会员结算表数据, 安置的 + * * @param cuMemberSettleExtMap 会员结算 * @param cuMemberSettleExtList 查询出来的结算数据 - * @Description: 记录需要修改的会员结算表数据, 安置的 - * @return: void - * @Author: sui q - * @Date: 2022/11/15 9:52 */ protected void getSecondMemberSettle(Map cuMemberSettleExtMap, List cuMemberSettleExtList) { cuMemberSettleExtList.forEach(cuMemberSettleExt -> { @@ -693,31 +688,12 @@ public abstract class BonusSettleHandle { } /** - * 获得 分享极差收益的备注 + * 获得 报单服务费收益的备注 * - * @param saOrderExt 订单编号 - * @param cuMemberBonusRange 报单服务费 - * @param sourceCuMemberSettleExt 提供奖金的人 - * @param targetCuMemberSettleExt 获得奖金的人 - */ - protected void xueRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt, - CuMemberSettleExt targetCuMemberSettleExt) { - String remark = String.format(BonusMsgConstants.LE_XUE_SHARE_RANGE, saOrderExt.getOrderCode(), - sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(), - targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(), - ComputeUtil.computeDivide(targetCuMemberSettleExt.getRetailPrice(), BigDecimal.valueOf(1)), targetCuMemberSettleExt.getGradeValue()); - cuMemberBonusRange.setRemark(remark); - } - - /** * @param saOrder 订单编号 * @param cuMemberBonusDetail 云代首购 * @param sourceCuMemberSettleExt 提供奖金的人 * @param targetCuMemberSettleExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 - * @return: String - * @Author: sui q - * @Date: 2022/11/17 11:22 */ protected void cloudAgentRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt, String msg) { @@ -729,14 +705,12 @@ public abstract class BonusSettleHandle { } /** + * 获得 报单服务费收益的备注 + * * @param saOrder 订单编号 * @param cuMemberBonusDetail 云代首购 * @param sourceCuMemberSettleExt 提供奖金的人 * @param targetCuMemberSettleExt 获得奖金的人 - * @Description: 获得 报单服务费收益的备注 - * @return: String - * @Author: sui q - * @Date: 2022/11/17 11:22 */ protected void repurchaseCouponsRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) { @@ -987,12 +961,10 @@ public abstract class BonusSettleHandle { } /** + * 获取会员的极差等级,验证会员是否有奖衔 + * * @param awardsMap 奖衔 * @param parentMemberTree 会员树历史记录 - * @Description: 获取会员的极差等级,验证会员是否有奖衔 - * @return: String - * @Author: sui q - * @Date: 2023/1/4 14:22 */ protected String getMemberCountryKey(Map awardsMap, CuMemberTree parentMemberTree, Map cuAwardsControlMap) { Integer pkAwards = getPkRealAwards(parentMemberTree.getPkMember(), parentMemberTree.getPkAwards(), cuAwardsControlMap); @@ -1010,12 +982,10 @@ public abstract class BonusSettleHandle { } /** + * 获取会员的极差等级,验证会员是否有奖衔 + * * @param awardsMap 奖衔 * @param parentMemberTree 会员树历史记录 - * @Description: 获取会员的极差等级,验证会员是否有奖衔 - * @return: String - * @Author: sui q - * @Date: 2023/1/4 14:22 */ protected String getMemberKey(Map awardsMap, CuMemberTree parentMemberTree) { String key = Integer.toString(ERangeType.AWARDS.getValue()) + parentMemberTree.getPkAwards(); @@ -1027,13 +997,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() diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index c41e7758..7442cd99 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -3,15 +3,12 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import com.hzs.activity.pick.IAcPickServiceApi; -import com.hzs.bonus.bonus.param.LeXueRangeParam; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.msg.BonusMsgConstants; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; -import com.hzs.common.domain.activity.pick.AcPickMemberLog; -import com.hzs.common.domain.activity.pick.ext.AcPickExt; import com.hzs.common.domain.bonus.BdBonusDeduct; import com.hzs.common.domain.bonus.risk.CuMemberRiskControl; import com.hzs.common.domain.member.base.CuAwardsControl; @@ -20,8 +17,6 @@ import com.hzs.common.domain.member.detail.CuMemberAssess; import com.hzs.common.domain.member.ext.CuBonusExpandExt; import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.common.domain.sale.ext.SaOrderItemsExt; -import com.hzs.common.domain.sale.order.SaOrderItems; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdGrade; import com.hzs.system.config.dto.BonusConfigDTO; @@ -35,12 +30,9 @@ import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.*; -import java.util.stream.Collectors; /** - * @Description: 计算复购的奖金处理类 - * @Classname: BonusSettlePurchaseHandle - * @PackageName: com.hzs.member.bonus.service.impl + * 计算复购的奖金处理类 */ @Slf4j @Component @@ -384,37 +376,13 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { */ List calculateRepurchaseRangeBonus(Map cuMemberSettleExtMap, String settleTableName, String settleDate, Map rangeDtoMap, Map awardsMap, BonusConfigDTO bonusConfigDTO, List purchaseOrderList, Integer period, - Map cuMemberBonusMap, Map cuAwardsControlMap, LeXueRangeParam leXueRangeParam) { - // 计算复购极差的订单 -// List chinaRangeOrderList = new ArrayList<>(); - // 计算乐学易考特殊复购极差的订单 - List specialOrderList = new ArrayList<>(); - purchaseOrderList.forEach(saOrderExt -> { - /*if (Objects.equals(EOrderType.REPURCHASE_ORDER.getValue(), saOrderExt.getOrderType()) || - Objects.equals(EOrderType.THIRD_ORDER.getValue(), saOrderExt.getOrderType())) { - rangeOrderList.add(saOrderExt); - } else */ - if (Objects.equals(EOrderType.SPECIAL_REPURCHASE_ORDER.getValue(), saOrderExt.getOrderType())) { -// rangeOrderList.add(saOrderExt); - specialOrderList.add(saOrderExt); - }/* else if (Objects.equals(saOrderExt.getPkCountry(), CountryConstants.CHINA_COUNTRY)) { - if (!Objects.equals(EOrderType.FANS_ORDER.getValue(), saOrderExt.getOrderType()) && - !Objects.equals(EOrderType.HAI_FUN_UPGRADE_ORDER.getValue(), saOrderExt.getOrderType())) { - chinaRangeOrderList.add(saOrderExt); - } - } else { - overseasRangeOrderList.add(saOrderExt); - }*/ - }); + Map cuMemberBonusMap, Map cuAwardsControlMap) { List cuMemberBonusRangeList = new ArrayList<>(); // 处理血缘上网体信息 getMemberParentBySaOrder(cuMemberSettleExtMap, settleTableName, purchaseOrderList); - // TODO new 乐学不需要考核相关 + // 考核相关 // List cuMemberSettleExtList = getMemberParentBySaOrder(cuMemberSettleExtMap, settleTableName, purchaseOrderList); // Map cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDate, cuMemberSettleExtList); - - Map cuMemberAssessMap = null; - // if (chinaRangeOrderList.size() > 0) { // Map> saOrderRangeDtoMap = saOrderServiceApi.queryOrderRangeVO(chinaRangeOrderList).getData(); // Map rangePkDtoMap = new HashMap<>(ComputeUtil.mapInitCapacity(rangeDtoMap.size())); @@ -487,104 +455,6 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { // } // } // } - // 乐学复购级差,商品4个等级购买差价300,这个位置进行拨出 - if (specialOrderList.size() > 0) { - for (SaOrderExt saOrderExt : specialOrderList) { - for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsExtList()) { - if (EYesNo.YES.getIntValue() == saOrderItems.getIsGift() || ComputeUtil.compareGreaterThan(MagicNumberConstants.LXYK_V3, saOrderItems.getPrice())) { - // 赠品或者商品价格小于2680,不需要处理,2380已经是V4价格了,不存在往上拨出的极差 - continue; - } - - // 最大发放奖金 - BigDecimal maxBonus; - if (ComputeUtil.compareValue(saOrderItems.getPrice(), MagicNumberConstants.LXYK_V1)) { - // 价格大于等于3280,最多拨900 - // 2025.04.28 需求调整去掉 V1 等级,最低为2980,最多拨600 - maxBonus = MagicNumberConstants.LXYK_BONUS_600; - } else if (ComputeUtil.compareValue(saOrderItems.getPrice(), MagicNumberConstants.LXYK_V2)) { - // 价格大于等于2980,最多拨600 - maxBonus = MagicNumberConstants.LXYK_BONUS_600; - } else if (ComputeUtil.compareValue(saOrderItems.getPrice(), MagicNumberConstants.LXYK_V3)) { - // 价格大于等于2680,最多拨拨300 - maxBonus = MagicNumberConstants.LXYK_BONUS_300; - } else { - maxBonus = BigDecimal.ZERO; - } - - // 获取血缘伞上的推荐人 一定要发完,从推荐人开始发 - // 当前会员 - CuMemberSettleExt sourceMemberTree = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - - // 累计发放奖金 - BigDecimal grantBonus = BigDecimal.ZERO; - while (ComputeUtil.compareGreaterThan(maxBonus, grantBonus)) { - // 最大发放奖金 大于 累计发放奖金,则继续处理 - if (null == sourceMemberTree) { - break; - } - int pkGrade = sourceMemberTree.getPkGrade(); - if (pkGrade == 3 || pkGrade == 4) { - // 如果是 V1 直接跳过,开始计算 V2 - // 2025.04.28 需求调整去掉 V1 等级,V1 V2 就直接跳过,开始计算V3 - pkGrade = 5; - } - // 推荐人 - CuMemberSettleExt parentMemberTree = cuMemberSettleExtMap.get(sourceMemberTree.getPkParent()); - // 找血缘线上高等级推荐人 - parentMemberTree = getSpecialRangeCuMemberTree(cuMemberSettleExtMap, bonusConfigDTO, sourceMemberTree, parentMemberTree, cuMemberAssessMap, pkGrade); - if (null == parentMemberTree) { - break; - } - // 级差奖金 - BigDecimal rangeOrder = BigDecimal.ZERO; -// if (parentMemberTree.getPkGrade() == 4) { -// // V2 拿 300 -// // 2025.04.28 需求调整去掉 V1 等级,V2 不需要拿了 -// rangeOrder = MagicNumberConstants.LXYK_BONUS_300; -// } else - if (parentMemberTree.getPkGrade() == 5) { - // V3前没有V2,拿600; V3前有V2,拿300 - // 2025.04.28 需求调整去掉 V1 等级,V3 拿300 - rangeOrder = MagicNumberConstants.LXYK_BONUS_300; -// if (ComputeUtil.computeSubtract(maxBonus, grantBonus).compareTo(new BigDecimal(900)) == 0) { -// rangeOrder = MagicNumberConstants.LXYK_BONUS_600; -// } else { -// rangeOrder = MagicNumberConstants.LXYK_BONUS_300; -// } - } else if (parentMemberTree.getPkGrade() == 6) { - // V4 拿剩下所有 - rangeOrder = ComputeUtil.computeSubtract(maxBonus, grantBonus); - } - grantBonus = ComputeUtil.computeAdd(grantBonus, rangeOrder); - // 实际发放复购级差(多个商品情况下,需要乘商品数量) - BigDecimal repurchaseRangeBonus = ComputeUtil.computeMultiply(rangeOrder, saOrderItems.getWaresQuantity()); - - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, parentMemberTree); - CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(bonusConfigDTO, saOrderExt, parentMemberTree, cuMemberBonus); - cuMemberBonusRange.setCalAchieve(saOrderExt.getOrderAchieve()); - cuMemberBonusRange.setCalValue(BigDecimal.ZERO); - cuMemberBonusRange.setPretaxIncome(repurchaseRangeBonus); - cuMemberBonusRange.setPkRange(0); - cuMemberBonusRange.setPkBeforeRange(0); - cuMemberBonusRange.setPkOrderItems(0L); - String remark = String.format(BonusMsgConstants.LE_SHARE_RANGE, saOrderExt.getOrderCode(), - sourceMemberTree.getMemberCode() + sourceMemberTree.getMemberName(), - parentMemberTree.getMemberCode() + parentMemberTree.getMemberName(), repurchaseRangeBonus); - cuMemberBonusRange.setRemark(remark); - // 封装复购级差,处理明细、扣项等 - packageRepurchaseRange(bonusConfigDTO, cuMemberBonusRangeList, saOrderExt, cuMemberBonus, cuMemberBonusRange, repurchaseRangeBonus); - // 发放到最高级后跳出 - if (parentMemberTree.getPkGrade() == 6) { - break; - } - sourceMemberTree = cuMemberSettleExtMap.get(parentMemberTree.getPkMember()); - } - } - } - // 学特殊级差 - calculateLeXueRangeBonus(settleTableName, rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, leXueRangeParam, specialOrderList, cuMemberBonusRangeList); - } return cuMemberBonusRangeList; } @@ -609,285 +479,6 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { cuMemberBonusRangeList.add(cuMemberBonusRange); } - /** - * 乐学特殊复购级差,根据法宝券进行计算奖金 - * 每个等级最多拨出一张法宝券,给200奖金,遇到V4为止 - * 如果购买时会员没有使用券,那么同等级也可以拨出一张 - * - * @param settleTableName - * @param rangeDtoMap - * @param bonusConfigDTO - * @param period - * @param cuMemberBonusMap - * @param leXueRangeParam - * @param specialOrderList - * @param cuMemberBonusRangeList - */ - private void calculateLeXueRangeBonus(String settleTableName, Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, - Integer period, Map cuMemberBonusMap, LeXueRangeParam leXueRangeParam, - List specialOrderList, List cuMemberBonusRangeList) { - // 旧逻辑: 计算乐学易考特殊复购极差,找第一个vip,svip,找到有代金券,代金券-1,奖金给金额,第一个是svip后,就不给 - if (specialOrderList.size() > 0) { - // 查找订单血缘上会员 - Set expandMemberSet = specialOrderList.stream().distinct().map(SaOrderExt::getPkMember).collect(Collectors.toSet()); - List specialMemberSettleExtList = iCuMemberTreeService.batchQueryCuMemberSettleParentForSpecial(settleTableName, expandMemberSet); - - // 重算的时候首先先把数量还回来,在重新计算,查询订单扣除的记录 - List acPickMemberLogList = iAcPickServiceApi.queryPickMemberLog(specialOrderList).getData(); - // key: 会员ID + 提货专区ID - Map pickMemberLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(acPickMemberLogList.size())); - if (CollectionUtil.isNotEmpty(acPickMemberLogList)) { - acPickMemberLogList.forEach(acPickMemberLog -> pickMemberLogMap.put(acPickMemberLog.getPkMember().toString() + acPickMemberLog.getPkPick(), acPickMemberLog)); - leXueRangeParam.setAcPickMemberLogList(acPickMemberLogList); - } - - // 初始化父类网体的值 - Map specialmeberSettleExtMap = new HashMap<>(); - getMemberSettle(specialmeberSettleExtMap, specialMemberSettleExtList); - // 还原数量 - specialmeberSettleExtMap.forEach((pkMember, cumemberSettleExt) -> { - String key = pkMember.toString() + cumemberSettleExt.getApPkId(); - if (pickMemberLogMap.containsKey(key)) { - cumemberSettleExt.setUsableQuantity(cumemberSettleExt.getUsableQuantity() + pickMemberLogMap.get(key).getPickQuantity()); - } - }); - List acPickExtList = new ArrayList<>(); - for (SaOrderExt saOrderExt : specialOrderList) { - // 商品使用法宝券数量(key: 商品ID,value: 法宝券数量) - Map productPickMap = new HashMap<>(); - for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) { - if (null != saOrderItemsExt.getUsePick() && saOrderItemsExt.getUsePick() != 0) { - productPickMap.put(saOrderItemsExt.getPkWares(), saOrderItemsExt.getUsePick()); - } - } - - for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) { - if (EYesNo.YES.getIntValue() == saOrderItemsExt.getIsGift() - || ComputeUtil.compareEqual(saOrderItemsExt.getPrice(), BigDecimal.ZERO) - || ComputeUtil.compareEqual(saOrderItemsExt.getAchievement(), BigDecimal.ZERO)) { - // 赠品 或者 金额为0 或者 业绩为0 则不进行处理 - continue; - } - // 订单对应的会员 - CuMemberSettleExt sourceMemberSettleExt = specialmeberSettleExtMap.get(saOrderExt.getPkMember()); - if (null == sourceMemberSettleExt) { - break; - } - if (validatePkBonusItems(bonusConfigDTO, sourceMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) { - // 没有这个奖项,直接退出 - break; - } - - // 当前订单明细使用了法宝券 - Integer useNum = productPickMap.get(saOrderItemsExt.getPkWares()); - - if (null != useNum) { - // 订单使用了法宝券 - if (useNum.equals(saOrderItemsExt.getWaresQuantity())) { - // 法宝券和商品数量一致 - this.usePick(specialmeberSettleExtMap, rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, cuMemberBonusRangeList, acPickExtList); - } else { - // 法宝券和商品数量不一致,需要拆分处理 - // 使用法宝券部分处理 - SaOrderItemsExt tmpItems1 = BeanUtil.copyProperties(saOrderItemsExt, SaOrderItemsExt.class); - tmpItems1.setWaresQuantity(useNum); - tmpItems1.setUsePick(useNum); - this.usePick(specialmeberSettleExtMap, rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, tmpItems1, - sourceMemberSettleExt, cuMemberBonusRangeList, acPickExtList); - - // 未使用法宝券部分处理 - SaOrderItemsExt tmpItems2 = BeanUtil.copyProperties(saOrderItemsExt, SaOrderItemsExt.class); - tmpItems2.setWaresQuantity(saOrderItemsExt.getWaresQuantity() - useNum); - tmpItems2.setUsePick(saOrderItemsExt.getWaresQuantity() - useNum); - this.notUsePick(specialmeberSettleExtMap, rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, tmpItems2, - sourceMemberSettleExt, cuMemberBonusRangeList, acPickExtList); - } - } else { - // 没使用法宝券 - this.notUsePick(specialmeberSettleExtMap, rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, cuMemberBonusRangeList, acPickExtList); - } - } - } - if (acPickExtList.size() > 0) { - leXueRangeParam.setAcPickExtList(acPickExtList); - } - } - } - - /** - * 使用法宝券处理 - */ - private void usePick(Map specialmeberSettleExtMap, Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, SaOrderExt saOrderExt, SaOrderItemsExt saOrderItemsExt, CuMemberSettleExt sourceMemberSettleExt, - List cuMemberBonusRangeList, List acPickExtList) { - // 订单会员推荐人 - Long pkParent = sourceMemberSettleExt.getPkParent(); - // 订单会员等级 - int gradeValue = sourceMemberSettleExt.getGradeValue(); - - // 找不到父级了或者找到第一个svip直接跳出 - boolean V2Flag = Boolean.TRUE; - boolean V3Flag = Boolean.TRUE; - while (true) { - CuMemberSettleExt targetMemberSettleExt = specialmeberSettleExtMap.get(pkParent); - if (null == targetMemberSettleExt) { - // 上面没有推荐人了,直接结束 - break; - } - - // 法宝券和商品数量一致 - if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.MAKER.getValue() == targetMemberSettleExt.getGradeValue() && V2Flag && V3Flag) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V2 并且 V2 V3 都没有算过 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - V2Flag = Boolean.FALSE; - } - } else if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.VIP.getValue() == targetMemberSettleExt.getGradeValue() && V3Flag) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V3 并且 V3没有算过 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - V3Flag = Boolean.FALSE; - } - } else if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.S_VIP.getValue() == targetMemberSettleExt.getGradeValue()) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V4 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - break; - } - } - pkParent = targetMemberSettleExt.getPkParent(); - sourceMemberSettleExt = targetMemberSettleExt; - } - } - - /** - * 未使用法宝券处理 - */ - private void notUsePick(Map specialmeberSettleExtMap, Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, SaOrderExt saOrderExt, SaOrderItemsExt saOrderItemsExt, CuMemberSettleExt sourceMemberSettleExt, - List cuMemberBonusRangeList, List acPickExtList) { - // 订单会员推荐人 - Long pkParent = sourceMemberSettleExt.getPkParent(); - // 订单会员等级 - int gradeValue = sourceMemberSettleExt.getGradeValue(); - - // 找不到父级了或者找到第一个svip直接跳出 - boolean V1Flag = Boolean.TRUE; - boolean V2Flag = Boolean.TRUE; - boolean V3Flag = Boolean.TRUE; - while (true) { - CuMemberSettleExt targetMemberSettleExt = specialmeberSettleExtMap.get(pkParent); - if (null == targetMemberSettleExt) { - // 上面没有推荐人了,直接结束 - break; - } - - // 法宝券和商品数量一致 - if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.YOU_KE.getValue() == targetMemberSettleExt.getGradeValue() && V1Flag && V2Flag && V3Flag) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V1 并且 V1 V2 V3 都没有算过 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - V1Flag = Boolean.FALSE; - } - } else if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.MAKER.getValue() == targetMemberSettleExt.getGradeValue() && V2Flag && V3Flag) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V2 并且 V2 V3 都没有算过 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - V2Flag = Boolean.FALSE; - } - } else if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.VIP.getValue() == targetMemberSettleExt.getGradeValue() && V3Flag) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V3 并且 V3没有算过 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - V3Flag = Boolean.FALSE; - } - } else if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.S_VIP.getValue() == targetMemberSettleExt.getGradeValue()) { - // 订单会员等级小于推荐人等级 并且 推荐人是 V4 - if (this.handlePick(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, - sourceMemberSettleExt, targetMemberSettleExt, cuMemberBonusRangeList, acPickExtList)) { - break; - } - } - pkParent = targetMemberSettleExt.getPkParent(); - sourceMemberSettleExt = targetMemberSettleExt; - } - } - - /** - * 封装法宝券抵扣相关 - */ - private boolean handlePick(Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, - SaOrderExt saOrderExt, SaOrderItemsExt saOrderItemsExt, CuMemberSettleExt sourceMemberSettleExt, CuMemberSettleExt targetMemberSettleExt, - List cuMemberBonusRangeList, List acPickExtList) { - AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt, - targetMemberSettleExt, cuMemberBonusRangeList); - if (null != acPickExt) { - acPickExtList.add(acPickExt); - return true; - } - return false; - } - - /** - * 计算封装乐学复购特殊级差(法宝券)返回扣除提货法宝券 - * - * @param rangeDtoMap - * @param bonusConfigDTO - * @param period - * @param cuMemberBonusMap - * @param saOrderExt - * @param saOrderItemsExt - * @param sourceMemberSettleExt - * @param targetMemberSettleExt - * @param cuMemberBonusRangeList - * @return - */ - private AcPickExt calculateRangeBonus(Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, SaOrderExt saOrderExt, SaOrderItemsExt saOrderItemsExt, - CuMemberSettleExt sourceMemberSettleExt, CuMemberSettleExt targetMemberSettleExt, - List cuMemberBonusRangeList) { - if (targetMemberSettleExt.getUsableQuantity() != null && targetMemberSettleExt.getUsableQuantity() > 0) { - // 扣减数量(如果剩余法宝券 大于等于 商品数量,则使用商品数量,否则使用法宝券数量) - int waresQuantity = targetMemberSettleExt.getUsableQuantity() >= saOrderItemsExt.getWaresQuantity() ? saOrderItemsExt.getWaresQuantity() : targetMemberSettleExt.getUsableQuantity(); - - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(bonusConfigDTO, saOrderExt, targetMemberSettleExt, cuMemberBonus); - cuMemberBonusRange.setCalAchieve(saOrderItemsExt.getAchievement()); - cuMemberBonusRange.setCalValue(BigDecimal.ZERO); - cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeMultiply(BigDecimal.valueOf(waresQuantity), - ComputeUtil.computeDivide(targetMemberSettleExt.getRetailPrice(), BigDecimal.valueOf(1)))); - String key = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade(); - cuMemberBonusRange.setPkRange(rangeDtoMap.get(key).getPkRange()); - String beforeKey = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade(); - cuMemberBonusRange.setPkBeforeRange(rangeDtoMap.get(beforeKey).getPkRange()); - cuMemberBonusRange.setIncomeRatio(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(cuMemberBonusRange.getPretaxIncome(), BigDecimal.valueOf(1)), saOrderExt.getOrderAmount())); - cuMemberBonusRange.setPkOrderItems(0L); - // 计算比例 - cuMemberBonusRange.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())); - // 收益占比 - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - xueRangeRemark(saOrderExt, cuMemberBonusRange, sourceMemberSettleExt, targetMemberSettleExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) { - cuMemberBonus.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurRangeIncome(), cuMemberBonusRange.getPretaxIncome())); - setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); - } - cuMemberBonusRangeList.add(cuMemberBonusRange); - targetMemberSettleExt.setUsableQuantity(targetMemberSettleExt.getUsableQuantity() - waresQuantity); - AcPickExt acPickExt = new AcPickExt(); - acPickExt.setPkId(targetMemberSettleExt.getApPkId()); - acPickExt.setPkMember(targetMemberSettleExt.getPkMember()); - acPickExt.setOrderCode(saOrderExt.getOrderCode()); - acPickExt.setPickType(EPickType.COUPON.getValue()); - acPickExt.setUsedQuantity(waresQuantity); - acPickExt.setPkBaseConfig(0L); - acPickExt.setPkDataId(targetMemberSettleExt.getPkDataId()); - return acPickExt; - } - return null; - } - /** * 乐学复购极差,找下一个等级的推荐人 * 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 89eab643..485f23b5 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 @@ -3,7 +3,6 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; -import com.hzs.activity.pick.IAcPickServiceApi; import com.hzs.bonus.achieve.param.MemberAchieveParam; import com.hzs.bonus.achieve.service.ICuMemberAchieveService; import com.hzs.bonus.achieve.service.ICuMemberRangeService; @@ -14,12 +13,10 @@ import com.hzs.bonus.base.service.ICuMemberAchieveLogService; import com.hzs.bonus.base.service.ICuMemberService; import com.hzs.bonus.bonus.param.BdWaresBonusParam; import com.hzs.bonus.bonus.param.BonusExpandParam; -import com.hzs.bonus.bonus.param.LeXueRangeParam; import com.hzs.bonus.bonus.service.*; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; import com.hzs.bonus.bonus.vo.MemberBonusDetailCalVO; import com.hzs.bonus.detail.service.ICuMemberAwardsService; -import com.hzs.bonus.detail.service.ICuMemberLevelService; import com.hzs.bonus.risk.service.ICuMemberRiskControlService; import com.hzs.bonus.swing.service.ICuMemberSwingNetLogService; import com.hzs.common.core.config.BdConfig; @@ -90,8 +87,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { IMemberServiceApi iMemberServiceApi; @DubboReference ISaOrderServiceApi iSaOrderServiceApi; - @DubboReference - IAcPickServiceApi iAcPickServiceApi; @Autowired private ICuMemberTreeService iCuMemberTreeService; @@ -100,8 +95,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private ICuMemberAwardsService iCuMemberAwardsService; @Autowired - private ICuMemberLevelService iCuMemberLevelService; - @Autowired private ICuMemberService iCuMemberService; @Autowired private ICuMemberAchieveLogService iCuMemberAchieveLogService; @@ -299,7 +292,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // c)增加奖衔记录表 Map awardsMap = iAwardsServiceApi.getAwards().getData(); List cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap, - bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap, new LeXueRangeParam()); + bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap); if (cuMemberBonusMap.size() > 0) { saveCuMemberBonus(period, settleDate, cuMemberBonusMap); Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); @@ -356,7 +349,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } /** - * @Description: 每日计算会员奖金,最终的奖金 + * 每日计算会员奖金,最终的奖金 */ @Override @Transactional(rollbackFor = Exception.class) @@ -477,8 +470,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 奖金记录明细(统一入库使用) BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); // 计算奖金(主入口) - // 乐学易考奖金计算,回写代金券数量 - LeXueRangeParam leXueRangeParam = calculateBonusBySaOrderList(settleDate, period, yesterdayPeriod, currentSettleTableName, + calculateBonusBySaOrderList(settleDate, period, yesterdayPeriod, currentSettleTableName, firPurchaseOrderList, repurchaseOrderList, mallOrderList, awardsMap, gradeMap, bonusConfigDTO, cuMemberBonusMap, recordDetailVO, cuMemberSettleExtMap, expandOrderList, newExpandFlag); // 计算复购券 @@ -559,15 +551,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } // 奖金计算结束,统计拨比、业绩、4-N拨比 iCuBonusExpandService.updateCuBonusExpandRatio(BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(), "cu_member_bonus"); - - if (leXueRangeParam != null) { - // 乐学相关,处理提货数据 - if (CollectionUtil.isNotEmpty(leXueRangeParam.getAcPickExtList())) { - if (!iAcPickServiceApi.updatePickUse(leXueRangeParam.getAcPickExtList(), leXueRangeParam.getAcPickMemberLogList()).getData()) { - throw new RuntimeException("更新提货专区数量失败"); - } - } - } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); @@ -794,12 +777,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { * @param cuMemberSettleExtMap 会员结算map * @param expandOrderList 拓展收益订单(首购+复购) */ - private LeXueRangeParam calculateBonusBySaOrderList(String settleDate, Integer period, Integer yesterdayPeriod, String settleTableName, - List firPurchaseOrderList, List repurchaseOrderList, List mallOrderList, - Map awardsMap, Map gradeMap, BonusConfigDTO bonusConfigDTO, - Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, - Map cuMemberSettleExtMap, List expandOrderList, boolean newExpandFlag) { - LeXueRangeParam leXueRangeParam = null; + private void calculateBonusBySaOrderList(String settleDate, Integer period, Integer yesterdayPeriod, String settleTableName, + List firPurchaseOrderList, List repurchaseOrderList, List mallOrderList, + Map awardsMap, Map gradeMap, BonusConfigDTO bonusConfigDTO, + Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, + Map cuMemberSettleExtMap, List expandOrderList, boolean newExpandFlag) { Map cuAwardsControlMap = getCuAwardsControlMap(); Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); @@ -822,7 +804,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 先计算复购在计算首购 // 计算复购 if (CollectionUtil.isNotEmpty(repurchaseOrderList)) { - leXueRangeParam = calculatePurchaseOrder(riskControlMap, cuMemberSettleExtMap, settleTableName, settleDate, systemConfigMap, bonusConfigDTO, + calculatePurchaseOrder(riskControlMap, cuMemberSettleExtMap, settleTableName, settleDate, systemConfigMap, bonusConfigDTO, repurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, bonusRecordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap, rangeDtoMap, newExpandFlag); } @@ -861,8 +843,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { cuMemberBonusCoach.setIncomeDialRatio(BigDecimal.ZERO); cuMemberBonusCoach.setOrderDialRatio(BigDecimal.ZERO); }); - - return leXueRangeParam; } private Map getWeekMemberBonusMap(String settleDate, Integer period) { @@ -1171,7 +1151,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { * @param purchaseOrderList 复购订单 * @param rangeDtoMap 乐学奖金使用的汇率map */ - private LeXueRangeParam calculatePurchaseOrder(Map riskControlMap, Map cuMemberSettleExtMap, String settleTableName, String settleDate, + private void calculatePurchaseOrder(Map riskControlMap, Map cuMemberSettleExtMap, String settleTableName, String settleDate, Map systemConfigMap, BonusConfigDTO bonusConfigDTO, List purchaseOrderList, Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, Map awardsMap, List awardsList, Map cuAwardsControlMap, Map cuBonusExpandExtMap, @@ -1208,10 +1188,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList); } - //****************************乐学极差(复购)*****************************/ - LeXueRangeParam leXueRangeParam = new LeXueRangeParam(); + //****************************复购极差*****************************/ List cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap, - bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap, cuAwardsControlMap, leXueRangeParam); + bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap, cuAwardsControlMap); bonusRecordDetailVO.setCuMemberBonusRangeList(cuMemberBonusRangeList); Map memberBonusDetailCalVoMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size())); @@ -1262,8 +1241,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { cuMemberBonusRange.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepRangeIncome(), memberBonusDetailCalVO.getRealIncome())); cuMemberBonusRange.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); }); - // 插入奖金表 奖金明细表 - return leXueRangeParam; } /** @@ -1317,7 +1294,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } /** - * @Description: 计算嗨粉订单的奖金 + * 计算嗨粉订单的奖金 + * * @return: void */ private void calculateHiFunOrder(Map cuMemberSettleExtMap, String settleTableName, Map rangeDtoMap, @@ -1354,7 +1332,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } /** - * @Description: 计算订单奖金累计值 + * 计算订单奖金累计值 + * * @return: void */ private MemberBonusDetailCalVO calculateOrderRatio(Map memberBonusDetailVoMap, Object cuMemberBonus) { 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 216a3f59..5266f78a 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 @@ -66,42 +66,17 @@ public class CuMemberBonusServiceImpl extends ServiceImpl batchQueryCuMemberBonusSeq(Integer rowNum) { return baseMapper.batchQueryCuMemberBonusSeq(rowNum); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java index 2354ca04..921746e6 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java @@ -127,23 +127,6 @@ public class ApiPickController extends BaseController { .quantity(quantity) .build()); break; -// case MAKER_SEA_BUCKTHORN: -// case REPURCHASE_PICK: -// // 迁移创客沙棘提货、迁移复购提货处理 -// if (quantity % acPick.getBaseQuantity() != 0) { -// // 提货数量只能为%s的倍数 -// return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_QUANTITY_BASE, acPick.getBaseQuantity())); -// } -// // 查询产品 -// ProductDTO seaProductDTO = iProductServiceApi.getProduct(acPick.getPkDataId().intValue()).getData(); -// // 处理提货产品明细 -// detailList.add(ApiPickDetailVO.builder() -// .productName(seaProductDTO.getProductName()) -// .specsName(acPick.getSpecsName()) -// .cover(StringUtils.isNotEmpty(acPick.getPickCover()) ? acPick.getPickCover() : seaProductDTO.getCover()) -// .quantity(quantity) -// .build()); -// break; case LOTTERY_DRAW: case CONSUMPTION_GIFT: case DIRECT_PUSH_GIFT: @@ -309,33 +292,6 @@ public class ApiPickController extends BaseController { productOrderItems.setPkStorehouse(saOrder.getPkStorehouse()); orderItemsList.add(productOrderItems); break; -// case MAKER_SEA_BUCKTHORN: -// case REPURCHASE_PICK: -// // 迁移创客沙棘提货、迁移复购提货处理 -// if (param.getQuantity() % acPick.getBaseQuantity() != 0) { -// // 提货数量只能为%s的倍数 -// return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_QUANTITY_BASE, acPick.getBaseQuantity())); -// } -// // 查询产品信息 -// ProductDTO msbProductDTO = iProductServiceApi.getProduct(acPick.getPkDataId().intValue()).getData(); -// -// // 处理提货产品明细 -// SaOrderItems msbOrderItems = new SaOrderItems(); -// msbOrderItems.setPkProduct(acPick.getPkDataId().intValue()); -// msbOrderItems.setPkRate(currencyDTO.getPkId()); -// msbOrderItems.setQuantity(param.getQuantity()); -// msbOrderItems.setPkGrade(cuMember.getPkSettleGrade()); -// msbOrderItems.setPkAwards(cuMember.getPkAwards()); -// msbOrderItems.setOrderStatus(EOrderStatus.PAY.getValue()); -// msbOrderItems.setPkCreator(userId); -// msbOrderItems.setCreationTime(nowDate); -// msbOrderItems.setSpecsName(acPick.getSpecsName()); -// msbOrderItems.setSpecsNameId(acPick.getSpecsNameId()); -// msbOrderItems.setPkCountry(pkCountry); -// msbOrderItems.setWaresQuantity(param.getQuantity()); -// msbOrderItems.setSkuCode(CommonUtil.createSkuCode(msbProductDTO.getProductCode(), acPick.getSpecsNameId())); -// orderItemsList.add(msbOrderItems); -// break; case LOTTERY_DRAW: case CONSUMPTION_GIFT: case DIRECT_PUSH_GIFT: diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java index 8c65a312..71cc8a54 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java @@ -38,11 +38,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description: 提货处理控制器 - * @Author: jiang chao - * @Time: 2023/4/21 17:59 - * @Classname: AcPickController - * @PackageName: com.hzs.activity.pick.controller.manage + * 提货处理控制器 */ @RequestMapping("/manage/pick") @RestController @@ -96,9 +92,8 @@ public class AcPickController extends BaseController { acPickQueryVO.setPickTypeVal(EPickType.getEnumByValue(acPickQueryVO.getPickType()).getLabel()); - if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType() - || EPickType.COUPON.getValue() == acPickExt.getPickType()) { - // 提货产品、乐学易考代金券 + if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType()) { + // 提货产品 acPickQueryVO.setDetailList(Collections.singletonList(AcPickQueryDetailVO.builder() .productName(acPickExt.getProductName()) .quantity(acPickExt.getBaseQuantity()) @@ -159,8 +154,7 @@ public class AcPickController extends BaseController { acPickQueryVO.setPickTypeVal(EPickType.getEnumByValue(acPickQueryVO.getPickType()).getLabel()); - if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType() - || EPickType.COUPON.getValue() == acPickExt.getPickType()) { + if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType()) { // 产品处理 acPickQueryVO.setDetailList(Collections.singletonList(AcPickQueryDetailVO.builder() .productName(acPickExt.getProductName()) @@ -204,7 +198,7 @@ public class AcPickController extends BaseController { AcPickExt acPickExt = iAcPickService.queryDetail(pkId, pkCountry); if (null != acPickExt) { acPickQueryVO = BeanUtil.copyProperties(acPickExt, AcPickQueryVO.class); - if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType() || EPickType.COUPON.getValue() == acPickExt.getPickType()) { + if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType()) { // 产品处理 acPickQueryVO.setDetailList(Collections.singletonList(AcPickQueryDetailVO.builder() .pkProduct(acPickExt.getPkDataId().intValue()) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java index f4fbd13d..83fec566 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java @@ -13,9 +13,6 @@ import java.util.List; /** * 提货基础表 Mapper 接口 - * - * @author hzs - * @since 2023-04-21 */ public interface AcPickMapper extends BaseMapper { @@ -53,25 +50,6 @@ public interface AcPickMapper extends BaseMapper { @Param("quantity") Integer quantity, @Param("pkModified") Long pkModified); - /** - * 根据会员和类型回退使用数量 - * - * @param pkMember 会员ID - * @param pickType 提货类型 - * @param pkBaseConfig 活动配置ID(产品时为0) -- 可为null - * @param pkDataId 数据ID(产品为产品ID,活动为活动ID) -- 可为null - * @param quantity 数量 - * @param pkModified 操作人 - * @return - */ - int updatePickUsableByMember(@Param("pkMember") Long pkMember, - @Param("pickType") Integer pickType, - @Param("pkBaseConfig") Long pkBaseConfig, - @Param("pkDataId") Long pkDataId, - @Param("quantity") Integer quantity, - @Param("pkModified") Long pkModified); - - /** * 根据会员和活动类型回退使用数量 * @@ -101,14 +79,6 @@ public interface AcPickMapper extends BaseMapper { int updatePickUseBatch(@Param("list") List acPickExtList, @Param("quantity") Integer quantity); - /** - * 批量更新使用数量 - * - * @param acPickExtList 批量更新数据 - * @return - */ - int updatePickUseCouponBatch(@Param("list") List acPickExtList); - /** * 批量更新使用数量 * @@ -116,14 +86,6 @@ public interface AcPickMapper extends BaseMapper { */ int updateBackPickUseBatch(@Param("list") List acPickMemberLogList); - /** - * 根据主键更新提货数量 - * - * @param acPick - * @return - */ - int updatePickQuantityByPkId(@Param("acPick") AcPick acPick); - /** * 根据主键更新提货数据 * @@ -168,16 +130,6 @@ public interface AcPickMapper extends BaseMapper { */ List pickList(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry); - /** - * 更新代言礼包提货数据 - * - * @param pkMember 会员ID - * @param pkProduct 产品ID - * @param usableQuantity 更新数量 - * @return - */ - int updateRepurchasePick(@Param("pkMember") Long pkMember, @Param("pkProduct") Long pkProduct, @Param("usableQuantity") Integer usableQuantity); - /** * 撤单扣减乐学代金券 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMemberLogMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMemberLogMapper.java index 56acac20..b93ec0fb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMemberLogMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMemberLogMapper.java @@ -10,9 +10,6 @@ import java.util.List; /** * 会员提货记录 Mapper 接口 - * - * @author hzs - * @since 2023-05-15 */ public interface AcPickMemberLogMapper extends BaseMapper { @@ -36,20 +33,8 @@ public interface AcPickMemberLogMapper extends BaseMapper { @Param("quantity") Integer quantity, @Param("source") Integer source); - /** - * 批量插入提货日志 - * - * @param acPickExtList 批量插入数据 - * @param source 来源(1=后台,2=前台) - * @return - */ - int insertBatchPick(@Param("list") List acPickExtList, @Param("source") Integer source); - /* - * @description: 批量删除使用记录数据 - * @author: sui q - * @date: 2023/6/3 13:52 - * @param: null null + *批量删除使用记录数据 **/ int deleteBatch(@Param("acPickMemberLogList") List acPickMemberLogList); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickQueryParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickQueryParam.java index 92eca613..c7ef316b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickQueryParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickQueryParam.java @@ -8,11 +8,7 @@ import lombok.NoArgsConstructor; import java.util.Date; /** - * @Description: 提货查询列表入参 - * @Author: jiang chao - * @Time: 2023/4/21 18:01 - * @Classname: AcPickQueryParam - * @PackageName: com.hzs.activity.pick.param + * 提货查询列表入参 */ @Data @Builder diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcRepurchasePickParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcRepurchasePickParam.java deleted file mode 100644 index 4dfbc802..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcRepurchasePickParam.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hzs.activity.pick.param; - -import lombok.Data; - -import java.util.Date; - -/** - * @Description: 复购提货(迁移)入参 - * @Author: jiang chao - * @Time: 2023/5/31 17:29 - * @Classname: AcRepurchasePickParam - * @PackageName: com.hzs.activity.pick.param - */ -@Data -public class AcRepurchasePickParam { - - /** - * 会员编号 - */ - private String memberCode; - /** - * 会员名称 - */ - private String memberName; - - /** - * 结算等级 - */ - private Integer pkGrade; - /** - * 真实奖衔 - */ - private Integer pkAwards; - - /** - * 所属团队 - */ - private String teamName; - - /** - * 订单编号 - */ - private String orderCode; - /** - * 购买时间 - */ - private Date[] payTime; - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/provider/AcPickProviderApi.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/provider/AcPickProviderApi.java index 9aaeacd5..7f16b40e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/provider/AcPickProviderApi.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/provider/AcPickProviderApi.java @@ -9,7 +9,6 @@ import com.hzs.common.core.exception.ServiceException; import com.hzs.common.domain.activity.pick.AcPick; import com.hzs.common.domain.activity.pick.AcPickMemberLog; import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; @@ -18,11 +17,7 @@ import java.math.BigDecimal; import java.util.List; /** - * @Description: 提货相关dubbo服务入口 - * @Author: jiang chao - * @Time: 2023/5/15 11:21 - * @Classname: AcPickProviderApi - * @PackageName: com.hzs.activity.pick.provider + * 提货相关dubbo服务入口 */ @Slf4j @DubboService @@ -31,7 +26,7 @@ public class AcPickProviderApi implements IAcPickServiceApi { @Autowired private IAcPickService iAcPickService; @Autowired - private IAcPickMemberLogService acPickMemberLogService; + private IAcPickMemberLogService iAcPickMemberLogService; @Override public R handlePickOrder(Long pkMember, String orderCode) { @@ -55,27 +50,12 @@ public class AcPickProviderApi implements IAcPickServiceApi { return R.fail(); } - @Override - public R updatePickUse(List acPickExtList, List acPickMemberLogList) { - try { - return R.ok(iAcPickService.updatePickUse(acPickExtList, acPickMemberLogList)); - } catch (Exception e) { - log.error("更新提货单失败", e); - } - return R.fail(); - } - - @Override - public R> queryPickMemberLog(List saOrderExtList) { - return R.ok(acPickMemberLogService.queryPickMemberLog(saOrderExtList)); - } - @Override public R queryOrderPostage(String orderCode, Integer recProvince, Integer recCity, Integer pkCountry) { try { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(AcPickMemberLog::getPickOrder, orderCode); - AcPickMemberLog acPickMemberLog = acPickMemberLogService.getOne(queryWrapper); + AcPickMemberLog acPickMemberLog = iAcPickMemberLogService.getOne(queryWrapper); if (null != acPickMemberLog) { AcPick acPick = iAcPickService.getById(acPickMemberLog.getPkPick()); if (null != acPick) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickMemberLogService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickMemberLogService.java index c4e0c957..7bd40228 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickMemberLogService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickMemberLogService.java @@ -4,15 +4,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.activity.pick.vo.AcPickMemberLogVO; import com.hzs.common.domain.activity.pick.AcPickMemberLog; import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import java.util.List; /** * 会员提货记录 服务类 - * - * @author hzs - * @since 2023-05-15 */ public interface IAcPickMemberLogService extends IService { @@ -34,28 +30,9 @@ public interface IAcPickMemberLogService extends IService { */ int insertBatch(List acPickExtList, Integer quantity, Integer source); - /** - * 批量插入提货日志 - * - * @param acPickExtList 批量插入数据 - * @param source 来源(1=后台,2=前台) - * @return - */ - int insertBatchPick(List acPickExtList, Integer source); - /* - * @description: 批量删除使用记录数据 - * @author: sui q - * @date: 2023/6/3 13:52 - * @param: null null + * 批量删除使用记录数据 **/ int deleteBatch(List acPickMemberLogList); - /* - * @description: 查询会员提货使用记录 - * @author: sui q - * @date: 2023/6/3 10:51 - * @param: null null - **/ - List queryPickMemberLog(List saOrderExtList); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java index 77d163fc..447357c6 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java @@ -41,21 +41,6 @@ public interface IAcPickService extends IService { Integer usableQuantity, String pickCover, Date receiveTime, Integer pkPostage, Long pkCreator, Integer pkCountry, Long pkBaseId, String specsNameId, String specsName); - /** - * 根据会员和类型回退使用数量 - * - * @param pkMember 会员ID - * @param pickType 提货类型 - * @param pkBaseConfig 活动配置ID(产品时为0) -- 可为null - * @param pkDataId 数据ID(产品为产品ID,活动为活动ID) -- 可为null - * @param quantity 数量 - * @param pkModified 操作人 - * @return - */ - int updatePickUsableByMember(Long pkMember, Integer pickType, Long pkBaseConfig, - Long pkDataId, Integer quantity, Long pkModified); - - /** * 根据会员和活动类型回退使用数量 * @@ -75,11 +60,6 @@ public interface IAcPickService extends IService { **/ boolean updatePickUse(List acPickExtList, Integer signSource, List acPickMemberLogList); - /* - * @description: 更新提货单 - **/ - boolean updatePickUse(List acPickExtList, List acPickMemberLogList); - /** * 查询提货列表 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickMemberLogServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickMemberLogServiceImpl.java index 63dccf13..f05e809b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickMemberLogServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickMemberLogServiceImpl.java @@ -1,23 +1,17 @@ package com.hzs.activity.pick.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.hzs.activity.pick.mapper.AcPickMemberLogMapper; import com.hzs.activity.pick.service.IAcPickMemberLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.activity.pick.vo.AcPickMemberLogVO; import com.hzs.common.domain.activity.pick.AcPickMemberLog; import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import org.springframework.stereotype.Service; import java.util.*; -import java.util.stream.Collectors; /** * 会员提货记录 服务实现类 - * - * @author hzs - * @since 2023-05-15 */ @Service public class AcPickMemberLogServiceImpl extends ServiceImpl implements IAcPickMemberLogService { @@ -32,33 +26,9 @@ public class AcPickMemberLogServiceImpl extends ServiceImpl acPickExtList, Integer source) { - return baseMapper.insertBatchPick(acPickExtList, source); - } - @Override public int deleteBatch(List acPickMemberLogList) { return baseMapper.deleteBatch(acPickMemberLogList); } - @Override - public List queryPickMemberLog(List saOrderExtList) { - List retPickMemberLogList = new ArrayList<>(); - - Set orderKey = new HashSet<>(); - saOrderExtList.forEach(saOrderExt -> orderKey.add(saOrderExt.getOrderCode() + saOrderExt.getPkMember())); - - Set orderCodeSet = saOrderExtList.stream().distinct().map(SaOrderExt::getOrderCode).collect(Collectors.toSet()); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(AcPickMemberLog::getPickOrder, orderCodeSet); - List acPickMemberLogList = baseMapper.selectList(queryWrapper); - - for (AcPickMemberLog acPickMemberLog : acPickMemberLogList) { - if (!orderKey.contains(acPickMemberLog.getPickOrder() + acPickMemberLog.getPkMember())) { - retPickMemberLogList.add(acPickMemberLog); - } - } - return retPickMemberLogList; - } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java index 77ea09a8..17611158 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java @@ -117,11 +117,6 @@ public class AcPickServiceImpl extends ServiceImpl impleme return true; } - @Override - public int updatePickUsableByMember(Long pkMember, Integer pickType, Long pkBaseConfig, Long pkDataId, Integer quantity, Long pkModified) { - return baseMapper.updatePickUsableByMember(pkMember, pickType, pkBaseConfig, pkDataId, quantity, pkModified); - } - @Override public int updatePickUsableByMemberAndActivityType(Long pkMember, Integer pickType, Long pkBaseConfig, Long pkDataId, Integer quantity, Long pkModified) { @@ -145,21 +140,6 @@ public class AcPickServiceImpl extends ServiceImpl impleme return Boolean.TRUE; } - @Override - @Transactional(rollbackFor = Exception.class) - public boolean updatePickUse(List acPickExtList, List acPickMemberLogList) { - if (CollectionUtil.isNotEmpty(acPickMemberLogList)) { - // 回退数量 - baseMapper.updateBackPickUseBatch(acPickMemberLogList); - iAcPickMemberLogService.deleteBatch(acPickMemberLogList); - } - // 批量更新提货使用数量 - baseMapper.updatePickUseCouponBatch(acPickExtList); - // 批量插入提货日志 - iAcPickMemberLogService.insertBatchPick(acPickExtList, ESignSource.BONUS.getValue()); - return Boolean.TRUE; - } - @Override public List queryList(AcPickQueryParam param, Integer pkCountry) { return baseMapper.queryList(param, pkCountry); @@ -259,7 +239,6 @@ public class AcPickServiceImpl extends ServiceImpl impleme updateList.add(acPick); } - // 产品信息 BdProduct bdProduct = productMap.get(detailParam.getPkProduct()); // 操作日志内容 @@ -422,8 +401,7 @@ public class AcPickServiceImpl extends ServiceImpl impleme switch (ePickType) { case PICK_PRODUCT: case PRIZE: - case COUPON: - // 提货产品、抽奖、创客沙棘提货、复购提货、代金券 + // 提货产品、抽奖 if (null != detailParam.getPkProduct()) { BdProduct product = iBdProductService.getProduct(detailParam.getPkProduct()); content.append(ePickType.getLabel()).append(",").append(product.getProductName()).append("(").append(delAcPick.getSpecsName()).append(");"); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/util/PickUtil.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/util/PickUtil.java deleted file mode 100644 index 7a47ab82..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/util/PickUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hzs.activity.pick.util; - -import com.hzs.common.core.utils.StringUtils; - -import java.math.BigDecimal; - -/** - * @Description: 提货工具 - * @Author: jiang chao - * @Time: 2023/3/29 10:07 - * @Classname: PickUtil - * @PackageName: com.hzs.web.util - */ -public class PickUtil { - - /** - * 根据省获取复购提货邮费 - * - * @param province 省编号 - * @return - */ - public static BigDecimal getPurchasePickPostage(String province) { - if (StringUtils.isNotEmpty(province)) { - switch (province) { - case "620000": - case "460000": - case "150000": - case "630000": - case "640000": - case "540000": - case "650000": - // 甘肃、海南、内蒙古、青海、宁厦、西藏、新疆,邮费20元 - return new BigDecimal("20"); - default: - } - } - // 其它地区,邮费0元 - return BigDecimal.ZERO; - } - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcPickMemberLogVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcPickMemberLogVO.java index eb4aef71..d13d1e4e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcPickMemberLogVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcPickMemberLogVO.java @@ -8,11 +8,7 @@ import lombok.Data; import java.util.Date; /** - * @Description: 会员提货日志 - * @Author: jiang chao - * @Time: 2023/5/15 14:00 - * @Classname: AcPickMemberLogVO - * @PackageName: com.hzs.activity.pick.vo + * 会员提货日志 */ @Data public class AcPickMemberLogVO { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcRepurchasePickLogVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcRepurchasePickLogVO.java deleted file mode 100644 index 872177f3..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcRepurchasePickLogVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hzs.activity.pick.vo; - -import lombok.Data; - -/** - * @Description: 代言礼包详情VO - * @Author: jiang chao - * @Time: 2023/5/31 18:56 - * @Classname: AcRepurchasePickLogVO - * @PackageName: com.hzs.activity.pick.vo - */ -@Data -public class AcRepurchasePickLogVO { - - /** - * 订单编号 - */ - private String orderCode; - /** - * 产品名称 - */ - private String productName; - /** - * 产品编码 - */ - private String productCode; - - /** - * 发放数量 - */ - private Integer receiveQuantity; - - /** - * 发放年月 - */ - private String receiveMonth; - - /** - * 是否提货(1=是,0=否) - */ - private Integer receiveFlag; - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcRepurchasePickVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcRepurchasePickVO.java deleted file mode 100644 index 17224041..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/AcRepurchasePickVO.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hzs.activity.pick.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.hzs.common.core.annotation.Excel; -import com.hzs.common.core.annotation.Transaction; -import com.hzs.common.core.constant.EnumsPrefixConstants; -import lombok.Data; - -import java.util.Date; - -/** - * @Description: 复购提货(迁移)返回VO - * @Author: jiang chao - * @Time: 2023/5/31 17:09 - * @Classname: AcRepurchasePickExt - * @PackageName: com.hzs.common.domain.activity.pick.ext - */ -@Data -public class AcRepurchasePickVO { - - /** - * 主键 - */ - private Long pkId; - - /** - * 会员编号 - */ - @Excel(name = "会员编号") - private String memberCode; - /** - * 会员名称 - */ - @Excel(name = "会员姓名") - private String memberName; - - /** - * 结算等级翻译KEY - */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE) - @JsonIgnore - private Integer gradeKey; - /** - * 结算等级显示 - */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD) - @Excel(name = "结算等级") - private String gradeKeyVal; - /** - * 真实奖衔翻译KEY - */ - @JsonIgnore - private Integer awardsKey; - /** - * 真实奖衔显示 - */ - @Excel(name = "真实奖衔") - private String awardsKeyVal; - - /** - * 所属团队 - */ - @Excel(name = "所属团队") - private String teamName; - /** - * 商品名称 - */ - @Excel(name = "商品名称") - private String waresName; - - /** - * 礼包数量 - */ - @Excel(name = "礼包数量") - private Integer buyQuantity; - /** - * 可提数量 - */ - @Excel(name = "可提数量") - private Integer usableQuantity; - - /** - * 订单编号 - */ - @Excel(name = "订单编号") - private String orderCode; - /** - * 支付时间 - */ - @Excel(name = "支付时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date payTime; - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/ApiPickListVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/ApiPickListVO.java index ab35c188..fb382f05 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/ApiPickListVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/vo/ApiPickListVO.java @@ -6,11 +6,7 @@ import lombok.Data; import java.util.Date; /** - * @Description: 会员提货列表VO - * @Author: jiang chao - * @Time: 2023/4/24 16:15 - * @Classname: ApiPickVO - * @PackageName: com.hzs.activity.pick.vo + * 会员提货列表VO */ @Data public class ApiPickListVO { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java index a5262236..7439da5a 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderHandle.java @@ -28,7 +28,6 @@ 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.BdAreaFreePostage; -import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.util.TransactionUtils; import com.hzs.member.base.IMemberTeamServiceApi; @@ -46,7 +45,6 @@ import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.ISystemConfigServiceApi; import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAreaFreePostageServiceApi; -import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.dto.AreaCurrencyDTO; import com.hzs.system.config.dto.GradeDTO; @@ -74,8 +72,6 @@ public class SaOrderHandle { @DubboReference IMemberTeamServiceApi memberTeamServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; - @DubboReference ISystemConfigServiceApi systemConfigServiceApi; @DubboReference IAreaFreePostageServiceApi iAreaFreePostageServiceApi; @@ -268,24 +264,6 @@ public class SaOrderHandle { for (BdWaresDetailExt waresDetailExt : bdWaresDetailExtList) { SaOrderItems saOrderItems = getSaOrderItems(cuMember, saOrder, currency, saOrderItemsList, waresDetailExt); - // 特殊会员产品处理 - if (null != saOrder - && EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == saOrder.getOrderType() - && EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) { - - // 乐学复购,价格根据等级固定 - if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.S_VIP.getValue()).getPkId())) { - saOrderItems.setPrice(MagicNumberConstants.LXYK_V4); - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.VIP.getValue()).getPkId())) { - saOrderItems.setPrice(MagicNumberConstants.LXYK_V3); - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.MAKER.getValue()).getPkId())) { - saOrderItems.setPrice(MagicNumberConstants.LXYK_V2); - } else { - saOrderItems.setPrice(MagicNumberConstants.LXYK_V1); - } - // TODO new 乐学复购商品业绩为600 - saOrderItems.setAchievement(MagicNumberConstants.LXYK_PV); - } // 免邮的话不需要计算邮费 if (EYesNo.YES.getIntValue() == waresDetailExt.getIsFreeMail()) { 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 4e575171..de014094 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 @@ -57,7 +57,6 @@ import com.hzs.sale.order.param.*; import com.hzs.sale.order.service.*; import com.hzs.sale.order.vo.*; import com.hzs.sale.product.service.IBdProductExtendService; -import com.hzs.sale.product.service.IBdProductService; import com.hzs.sale.wares.service.*; import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.ICountryServiceApi; @@ -139,8 +138,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Autowired private IBdWaresSpecsRelationService iBdWaresSpecsRelationService; @Autowired - private IBdProductService iBdProductService; - @Autowired private ISaDeliverItemsService iSaDeliverItemsService; @Autowired private IAcPickService iAcPickService; @@ -731,9 +728,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrderExt.setPayTime(currentDateTime); saOrderExt.setOrderStatus(EOrderStatus.PAY.getValue()); -// // 乐学注册、乐学升级订单处理法宝券 -// this.handleLxPick(saOrderExt); - if (isToBePay && !isHaiFun) { // 根据业绩判断自动上树 -- 目前使用 newCuMember.setPkModified(pkCreator); @@ -891,23 +885,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (oldGradeDTO.getGradeValue() >= cuMember.getPkSettleGradeValue() && !Objects.equals(Integer.toString(EUpgradeWay.TOTAL.getValue()), upgradeWay)) { return false; } -// // 验证等级,原等级<新等级 -// if (oldGradeDTO.getGradeValue() >= cuMember.getPkSettleGradeValue()) { -// if (saOrderExt.getOrderType().equals(EOrderType.SPECIAL_UPGRADE_ORDER.getValue())) { -// // TODO new 乐学升级,如果V2可以购买订单金额大于36000的,如果V3可以购买订单金额大于128000的 -// if (!((EGrade.MAKER.getValue() == cuMember.getPkSettleGradeValue() && saOrderExt.getOrderAmount().compareTo(MagicNumberConstants.V3_AMOUNT) >= 0) -// || (EGrade.VIP.getValue() == cuMember.getPkSettleGradeValue() && saOrderExt.getOrderAmount().compareTo(MagicNumberConstants.V4_AMOUNT) >= 0)) -// ) { -// return false; -// } -// } -// } // 封装保存订单数据 encapsulationSaOrder(saOrderExt); -// // 乐学注册、乐学升级订单处理法宝券 -// this.handleLxPick(saOrderExt); - // 更新订单信息 updateSaOrder(saOrderExt); // 处理会员信息,更新会员等级,扣款 @@ -2431,32 +2411,4 @@ public class SaOrderServiceImpl extends ServiceImpl impl return baseMapper.singleItemStat(singleItemStatParam); } - /** - * 注册、升级处理乐学法宝券 - * - * @param saOrderExt - */ - private void handleLxPick(SaOrderExt saOrderExt) { - Set productIdList = saOrderExt.getOrderItemsList().stream().map(SaOrderItems::getPkProduct).collect(Collectors.toSet()); - List productExtList = iBdProductService.queryProductById(productIdList, saOrderExt.getPkCountry(), ERepurchaseType.LE_XUE_REGISTER.getValue()); - if (CollectionUtil.isNotEmpty(productExtList)) { - Map productDtoMap = new HashMap<>(ComputeUtil.mapInitCapacity(productExtList.size())); - productExtList.forEach(productDTO -> - productDtoMap.put(productDTO.getPkId(), productDTO)); - // 记录数量 - for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) { - if (productDtoMap.containsKey(saOrderItems.getPkProduct())) { - BdProductExt productDTO = productDtoMap.get(saOrderItems.getPkProduct()); - // 加入提货单 - iAcPickService.addPickByActivity(saOrderExt.getPkMember(), EPickType.COUPON.getValue(), 0L, saOrderItems.getPkProduct().longValue(), - saOrderItems.getQuantity(), productDTO.getCover(), null, null, - saOrderExt.getPkCreator(), saOrderExt.getPkCountry(), null, saOrderItems.getSpecsNameId(), saOrderItems.getSpecsName()); - - // 法宝券数量冗余在订单主表 - saOrderExt.setBoxNum(saOrderItems.getQuantity()); - } - } - } - } - } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java index 5b16362d..4c6287be 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java @@ -30,12 +30,6 @@ public interface BdProductMapper extends BaseMapper { */ List selectByQueryList(ProductParams productParams); - /* - * @description: 根据产品id查询产品 - **/ - List queryProductExtById(@Param("productIdSet") Set productIdSet, @Param("pkCountry") Integer pkCountry, - @Param("repurchaseType") Integer repurchaseType); - /* * @description: 根据规格、主键查询产品 **/ diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java index 5c837299..cdeedb47 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdProductService.java @@ -13,7 +13,6 @@ import com.hzs.system.sys.dto.LoginUser; import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Set; /** * 产品相关服务 @@ -28,12 +27,7 @@ public interface IBdProductService extends IService { BdProduct getProduct(Integer pkProduct); /* - * @description: 根据产品id查询产品 - **/ - List queryProductById(Set productIdSet, Integer pkCountry, Integer repurchaseType); - - /* - * @description: 根据规格、主键查询产品 + * 根据规格、主键查询产品 **/ List queryProductExtById(List productSpecsList, Integer pkCountry); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java index 35349755..f9af1704 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java @@ -65,11 +65,6 @@ public class BdProductServiceImpl extends ServiceImpl queryProductById(Set productIdSet, Integer pkCountry, Integer repurchaseType) { - return baseMapper.queryProductExtById(productIdSet, pkCountry, repurchaseType); - } - @Override public List queryProductExtById(List productSpecsList, Integer pkCountry) { return baseMapper.queryProductExtBySpecsId(productSpecsList, pkCountry); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java index fd913e38..8c9fb487 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java @@ -237,8 +237,7 @@ public class ApiBdWaresController extends BaseController { // 零售价 BigDecimal retailPrice = BigDecimal.ZERO; - if (EOrderType.REPURCHASE_ORDER.getValue() == cuWaresParams.getSpecialArea() - || EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == cuWaresParams.getSpecialArea()) { + if (EOrderType.REPURCHASE_ORDER.getValue() == cuWaresParams.getSpecialArea()) { for (BdWaresRange bdWaresRange : bdWaresRangeList) { if (waresExt.getPkId().intValue() == bdWaresRange.getPkWares().intValue()) { waresPrice = waresPrice.add(bdWaresRange.getPrice()); @@ -246,18 +245,6 @@ public class ApiBdWaresController extends BaseController { assAchieve = assAchieve.add(bdWaresRange.getAssAchieve()); } } - if (EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == cuWaresParams.getSpecialArea()) { - // 乐学复购,价格根据等级固定 - if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.S_VIP.getValue()).getPkId())) { - waresPrice = MagicNumberConstants.LXYK_V4; - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.VIP.getValue()).getPkId())) { - waresPrice = MagicNumberConstants.LXYK_V3; - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.MAKER.getValue()).getPkId())) { - waresPrice = MagicNumberConstants.LXYK_V2; - } else { - waresPrice = MagicNumberConstants.LXYK_V1; - } - } } else { List waresSpecsSku = waresSpecsSkuMap.get(waresExt.getPkId()); waresSpecsSku = waresSpecsSku.stream().peek(a -> a.setProductGift(a.getPkProduct() + "" + a.getIsGift())).collect(Collectors.toList()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java index 5b20c9e5..046aded8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.CountryConstants; -import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; @@ -16,7 +15,6 @@ import com.hzs.common.domain.sale.ext.BdWaresSpecsSkuExt; import com.hzs.common.domain.sale.wares.BdWaresLabel; import com.hzs.common.domain.sale.wares.BdWaresRange; import com.hzs.common.domain.sale.wares.BdWaresSpecsSku; -import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdLabel; import com.hzs.common.domain.system.ext.BdLabelExt; import com.hzs.common.security.utils.SecurityUtils; @@ -30,10 +28,7 @@ import com.hzs.sale.wares.param.*; import com.hzs.sale.wares.service.*; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; -import com.hzs.system.config.IAwardsServiceApi; -import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.IRangeServiceApi; -import com.hzs.system.config.dto.GradeDTO; import com.hzs.system.config.dto.RangeDTO; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; @@ -41,7 +36,6 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -67,10 +61,6 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl> gradeDTO = iGradeServiceApi.queryGradeList(pkCountry); - List gradeList = gradeDTO.getData(); - Map gradeMap = gradeList.stream().collect(Collectors.toMap(GradeDTO::getGradeValue, Function.identity())); - - BigDecimal price; - // 乐学复购,价格根据等级固定 - if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.S_VIP.getValue()).getPkId())) { - price = MagicNumberConstants.LXYK_V4; - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.VIP.getValue()).getPkId())) { - price = MagicNumberConstants.LXYK_V3; - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.MAKER.getValue()).getPkId())) { - price = MagicNumberConstants.LXYK_V2; - } else { - price = MagicNumberConstants.LXYK_V1; - } - cuWaresParams.setWaresPrice(price); - - for (CuProductParams productParam : productParams) { - for (CuWaresItemsParams cuWaresItemsParams : productParam.getWaresItemsParamsList()) { - cuWaresItemsParams.setPriceTotal(new BigDecimal(price.intValue() / productParams.size())); - } - } - } - cuWaresParams.setProductParams(productParams); cuWaresParams.setSpecialArea(specialArea); return cuWaresParams; @@ -211,13 +173,6 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl bdWaresSpecsSkuExtList; @@ -273,7 +228,8 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl !param.getWaresItemsParamsList().isEmpty()) .collect(Collectors.toList()); - // 处理特殊情况下的价格修改 - if (EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == specialArea) { - // 获取等级信息 - Map gradeMap = iGradeServiceApi.queryGradeList(pkCountry).getData().stream() - .collect(Collectors.toMap(GradeDTO::getGradeValue, Function.identity())); - BigDecimal price; - if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.S_VIP.getValue()).getPkId())) { - price = MagicNumberConstants.LXYK_V4; - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.VIP.getValue()).getPkId())) { - price = MagicNumberConstants.LXYK_V3; - } else if (cuMember.getPkSettleGrade().equals(gradeMap.get(EGrade.MAKER.getValue()).getPkId())) { - price = MagicNumberConstants.LXYK_V2; - } else { - price = MagicNumberConstants.LXYK_V1; - } - BigDecimal finalPrice = price; - productParamsResultList.forEach(param -> param.getWaresItemsParamsList().forEach(item -> { - if (EYesNo.NO.getIntValue() == item.getIsGift()) { - // 非赠品 - item.setPrice(finalPrice); - item.setPriceTotal(finalPrice.multiply(new BigDecimal(item.getQuantity()))); - } - })); - } - cuWaresParams.setProductParams(productParamsResultList); cuWaresParams.setSpecialArea(specialArea); return cuWaresParams; @@ -429,14 +360,6 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl selectByWaresSpecsSku(List waresIds) { return baseMapper.selectByWaresSpecsSku(waresIds); } - /** - * 根据id 批量查询sku 信息 - * - * @param pkWaresSpecsSku - * @return - */ @Override public List selectByPkIds(List pkWaresSpecsSku) { return baseMapper.selectByPkIds(pkWaresSpecsSku); @@ -541,31 +441,6 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl> gradeDTO = iGradeServiceApi.queryGradeList(pkCountry); - List gradeList = gradeDTO.getData(); - Map gradeMap = gradeList.stream().collect(Collectors.toMap(GradeDTO::getGradeValue, Function.identity())); - - // 查询会员信息 - R memberDate = iMemberServiceApi.getMember(pkMember); - CuMember cuMemberDate = memberDate.getData(); - - // 价格 - BigDecimal waresPrice; - if (cuMemberDate.getPkSettleGrade().equals(gradeMap.get(EGrade.S_VIP.getValue()).getPkId())) { - waresPrice = MagicNumberConstants.LXYK_V4; - } else if (cuMemberDate.getPkSettleGrade().equals(gradeMap.get(EGrade.VIP.getValue()).getPkId())) { - waresPrice = MagicNumberConstants.LXYK_V3; - } else if (cuMemberDate.getPkSettleGrade().equals(gradeMap.get(EGrade.MAKER.getValue()).getPkId())) { - waresPrice = MagicNumberConstants.LXYK_V2; - } else { - waresPrice = MagicNumberConstants.LXYK_V1; - } - waresItemVo.setPrice(waresPrice); - } - // 前台传递结算国 跨国报单计算价格使用 R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); if (pkCountry != null) { @@ -589,35 +464,16 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl selectByMinWaresSpecsSku(Integer pkWares) { return baseMapper.selectByMinWaresSpecsSku(pkWares); } - /** - * 根据商品id查询规格价格最小值 - * - * @param pkWaresIds - * @return - */ @Override public List selectByMinWaresSpecsSkuByPkWaresList(List pkWaresIds) { return baseMapper.selectByMinWaresSpecsSkuByPkWaresList(pkWaresIds); } - /** - * 根据id 查询 - * - * @param pkWaresSpecsSku - * @return - */ @Override public BdWaresSpecsSkuExt selectByPkWaresSpecsSku(Integer pkWaresSpecsSku) { return baseMapper.selectByPkWaresSpecsSku(pkWaresSpecsSku); diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml index 5539ef0b..0150dc7b 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml @@ -75,29 +75,6 @@ ap.modified_time = sysdate - - - merge into ac_pick ap - using ( - select pk_id,pk_member,sum(used_quantity) used_quantity from ( - - select - #{item.pkId} PK_ID, - #{item.pkMember} PK_MEMBER, - #{item.usedQuantity} used_quantity - from dual - ) - group by pk_id,pk_member - ) tmp - on (tmp.PK_ID = ap.PK_ID) - WHEN MATCHED THEN - update - set ap.USABLE_QUANTITY = ap.USABLE_QUANTITY - tmp.used_quantity, - ap.USED_QUANTITY = ap.USED_QUANTITY + tmp.used_quantity, - ap.pk_modified = tmp.pk_member, - ap.modified_time = sysdate - - update AC_PICK ap @@ -110,26 +87,6 @@ and ap.USABLE_QUANTITY - #{quantity} >= 0 - - - update ac_pick ap - set ap.modified_time = sysdate, - ap.pk_modified = #{pkModified}, - ap.usable_quantity = ap.usable_quantity + #{quantity}, - ap.used_quantity = ap.used_quantity - #{quantity} - where ap.del_flag = 0 - and ap.pk_member = #{pkMember} - and ap.pick_type = #{pickType} - - and ap.pk_base_config = #{pkBaseConfig} - - - and ap.pk_data_id = #{pkDataId} - - and ap.used_quantity - #{quantity} >= 0 - - - update ac_pick ap @@ -148,22 +105,6 @@ and ap.usable_quantity - #{quantity} >= 0 - - - update AC_PICK ap - set ap.USABLE_QUANTITY = ap.USABLE_QUANTITY + #{acPick.usableQuantity}, - ap.pk_modified = #{acPick.pkModified}, - ap.modified_time = sysdate - where ap.del_flag = 0 - and ap.PK_ID = #{acPick.pkId} - and ap.RECEIVE_TIME = #{acPick.receiveTime} - - and ap.IS_FREE_MAIL = #{acPick.isFreeMail} - - and ap.PK_POSTAGE = #{acPick.pkPostage} - and ap.USABLE_QUANTITY + #{acPick.usableQuantity} > 0 - - update AC_PICK ap @@ -335,52 +276,6 @@ and ap.pick_type in (1, 17) and ap.usable_quantity > 0 and (ap.receive_time is null or to_char(ap.receive_time, 'yyyy-mm-dd hh24:mi:ss') >= to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')) - - union all - select ap.pk_id, - ap.pick_type, - case - when ap.pick_cover is not null then - ap.pick_cover - else - (select bp.cover from bd_product bp where bp.pk_id = ap.pk_data_id) - end pick_cover, - ap.usable_quantity, - ap.receive_time, - 0 pick_flag, - 1 IS_WHOLE, - ap.base_quantity, - ap.creation_time - from AC_PICK ap - where ap.del_flag = 0 - and ap.pk_country = #{pkCountry} - and ap.pk_member = #{pkMember} - and ap.pick_type in (5, 7) - and ap.usable_quantity > 0 - and (ap.receive_time is null or to_char(ap.receive_time, 'yyyy-mm-dd') >= to_char(sysdate, 'yyyy-mm-dd')) - - union all - select ap.pk_id, - ap.pick_type, - case - when ap.pick_cover is not null then - ap.pick_cover - else - (select bp.cover from bd_product bp where bp.pk_id = ap.pk_data_id) - end pick_cover, - ap.usable_quantity, - ap.receive_time, - 1 pick_flag, - 0 IS_WHOLE, - ap.base_quantity, - ap.creation_time - from AC_PICK ap - where ap.del_flag = 0 - and ap.pk_country = #{pkCountry} - and ap.pk_member = #{pkMember} - and ap.pick_type = 8 - and ap.usable_quantity > 0 - and (ap.receive_time is null or to_char(ap.receive_time, 'yyyy-mm-dd') >= to_char(sysdate, 'yyyy-mm-dd')) union all select ap.pk_id, @@ -406,18 +301,6 @@ order by creation_time - - - update AC_PICK ap - set ap.usable_quantity = nvl(ap.usable_quantity, 0) + #{usableQuantity}, - ap.MODIFIED_TIME = sysdate - where ap.del_flag = 0 - and ap.pick_type = 7 - and ap.pk_base_config = 0 - and ap.pk_data_id = #{pkProduct} - and ap.pk_member = #{pkMember} - - update ac_pick ap diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMemberLogMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMemberLogMapper.xml index 5cb691ae..ce815864 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMemberLogMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMemberLogMapper.xml @@ -14,6 +14,7 @@ + delete from AC_PICK_MEMBER_LOG where pk_id in @@ -78,46 +79,4 @@ #{source}) - - - - merge into AC_PICK_MEMBER_LOG apml - using ( - - select ap.pk_id PK_PICK, - ap.pk_member pk_member, - #{item.orderCode} PICK_ORDER, - #{item.usedQuantity} used_quantity, - ap.pk_country pk_country - from ac_pick ap - where ap.pick_type = #{item.pickType} - and ap.pk_base_config = #{item.pkBaseConfig} - and ap.pk_data_id = #{item.pkDataId} - and ap.pk_member = #{item.pkMember} - - ) tmp - on (0 = 1) - WHEN NOT MATCHED THEN - insert - (PK_ID, - PK_MEMBER, - PK_PICK, - PICK_QUANTITY, - PICK_TIME, - PICK_ORDER, - PK_COUNTRY, - DEL_FLAG, - SOURCE) - values - (ac_pick_member_log_seq.nextval, - tmp.pk_member, - tmp.pk_pick, - tmp.used_quantity, - sysdate, - tmp.pick_order, - tmp.pk_country, - 0, - #{source}) - - diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductMapper.xml index afd6b628..fd63397d 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/product/BdProductMapper.xml @@ -166,19 +166,6 @@ order by pe.SORT desc - -