From 14cb2bc9e677e1106417695c9fccd708723e6f00 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 25 Jun 2025 16:21:37 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=8E=BB=E6=8E=89=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E4=B8=AD=E5=85=B3=E4=BA=8E=E5=A5=96=E8=A1=94=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../achieve/mapper/CuMemberRangeMapper.java | 103 +---- .../mapper/CuMemberRetailRangeMapper.java | 15 - .../achieve/mapper/CuMemberTreeMapper.java | 48 --- .../service/ICuMemberRangeService.java | 114 +----- .../service/ICuMemberRetailRangeService.java | 19 - .../achieve/service/ICuMemberTreeService.java | 42 -- .../impl/CuMemberRangeServiceImpl.java | 78 +--- .../impl/CuMemberRetailRangeServiceImpl.java | 43 --- .../service/impl/CuMemberTreeServiceImpl.java | 33 -- .../hzs/bonus/base/mapper/CuMemberMapper.java | 15 - .../bonus/base/service/ICuMemberService.java | 17 - .../service/impl/CuMemberServiceImpl.java | 16 - .../service/impl/BonusSettleRangeHandle.java | 2 +- .../service/ICuMemberAwardsService.java | 33 -- .../impl/CuMemberAwardsServiceImpl.java | 284 -------------- .../bonus/achieve/CuMemberRangeMapper.xml | 363 ++++++++---------- .../achieve/CuMemberRetailRangeMapper.xml | 70 ---- .../bonus/achieve/CuMemberTreeMapper.xml | 137 ------- .../mapper/bonus/base/CuMemberMapper.xml | 50 --- .../bonus/bonus/CuMemberBonusMapper.xml | 20 +- 20 files changed, 192 insertions(+), 1310 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRangeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRangeMapper.java index c1a6b1f7..21a700b3 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRangeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRangeMapper.java @@ -3,131 +3,44 @@ package com.hzs.bonus.achieve.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.CuMemberRange; import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt; -import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; -import java.util.Map; /** - *

- * Mapper 接口 - *

- * - * @author hzs - * @since 2024-10-15 + * Mapper 接口 */ public interface CuMemberRangeMapper extends BaseMapper { /* - * @description: 当天的数据更新为0 - * @author: sui q - * @date: 2024/10/18 11:12 - * @param: null null - **/ - void mergeMemberRangeInit(@Param("rangeTableName") String rangeTableName, @Param("isSameMonth") Integer isSameMonth); - - /* - * @description: 免考的会员修改为考核通过 - * @author: sui q - * @date: 2024/10/21 14:30 - * @param: null null - **/ - void updateMemberRangeByPurchase(@Param("rangeTableName") String rangeTableName); - - /* - * @description: 将昨天的业绩信息迁移到今天 - * @author: sui q - * @date: 2024/10/18 11:09 - * @param: null null - **/ - void mergeMemberRangeByYesterday(@Param("rangeTableName") String rangeTableName, @Param("yesterdayRangeTableName") String yesterdayRangeTableName, - @Param("isSameMonth") Integer isSameMonth); - - /* - * @description: 更新极差秒接表,用昨天的结算表 - * @author: sui q - * @date: 2024/10/22 14:23 - * @param: null null - **/ - void mergeMemberSecondRangeByRange(@Param("rangeTableName") String rangeTableName, @Param("secondRangeTableName") String secondRangeTableName, - @Param("pkMember") Long pkMember); - - /* - * @description: 根据会员查询会员上的所有网体 - * @author: sui q - * @date: 2024/10/15 15:21 - * @param: null null - **/ - List queryCuMemberRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List saOrderExtList); - - /* - * @description: 根据会员查询会员上的所有网体, 按照pkParent作为key - * @author: sui q - * @date: 2024/10/15 15:21 - * @param: null null - **/ - List queryCuMemberSecondRangeParent(@Param("rangeTableName") String rangeTableName, @Param("secondTableName") String tableName, @Param("pkMember") Long pkMember); - - /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @author: sui q - * @date: 2024/10/16 14:06 - * @param: null null + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 **/ List queryCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("pkParent") Long pkParent, @Param("orderDate") Date orderDate); /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @author: sui q - * @date: 2024/10/16 14:06 - * @param: null null + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 **/ - List querySecondCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("secondTableName") String secondTableName, @Param("pkParent") Long pkParent); + List querySecondCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("secondTableName") String secondTableName, @Param("pkParent") Long pkParent); /* - * @description: 批量更新网体 - * @author: sui q - * @date: 2024/10/16 15:10 - * @param: null null + * 批量更新网体 **/ void mergeCuMemberRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList); /* - * @description: 批量更新网体 - * @author: sui q - * @date: 2024/10/16 15:10 - * @param: null null + * 批量更新网体 **/ void mergeSecondCuMemberRangeExt(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList); - /** - * 更新会员树的累计业绩 - * - * @param secondTableName 结算日期 - * @param cuMemberRangeExtList 树 - * @return: void - * @Author: sui q - * @Date: 2022/12/9 16:57 - */ - void mergeCuMemberSecondRange(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList); - /* - * @description: 验证血缘部门 有多少个满足等级 - * @author: sui q - * @date: 2024/10/16 16:02 - * @param: null null + * 验证血缘部门 有多少个满足等级 **/ Integer validateCuMemberPlaceAwards(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList, @Param("pkRangeAwards") Integer pkRangeAwards, @Param("orderDate") Date orderDate); /* - * @description: 验证血缘部门 有多少个满足等级 - * @author: sui q - * @date: 2024/10/16 16:02 - * @param: null null + * 验证血缘部门 有多少个满足等级 **/ Integer validateSecondCuMemberPlaceAwards(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList, @Param("pkRangeAwards") Integer pkRangeAwards); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java index f3b989c6..53dcfffd 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java @@ -86,11 +86,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper queryCuMemberRetailRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List saOrderExtList); - /** - * 根据会员查询会员上的所有网体 - */ - List queryCuMemberSpeRetailRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List saOrderExtList); - /** * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 */ @@ -108,16 +103,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper queryCuMemberSecondRange(@Param("rangeTableName") String rangeTableName, @Param("secondTableName") String secondTableName, @Param("pkMember") Long pkMember); - - /** - * 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表,查询自己和伞下 - */ - List queryCuMemberSecondRangeYes(@Param("rangeTableName") String rangeTableName, @Param("pkMember") Long pkMember); - /** * 秒结:推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index b648268d..9735f073 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java @@ -99,23 +99,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ Integer queryExistOrderTableCount(String tableName); - /** - * 查询出符合下一等级足够业绩的会员 - * - * @param settleTableName 结算表 - */ - List queryCuMemberSettleEnoughAwardAchieve(String settleTableName); - - /* - * 回退会员奖衔 - **/ - void updateBackCuMemberSettleAward(@Param("settleTableName") String settleTableName, @Param("period") Integer period); - - /* - * 回退会员奖衔 - **/ - void updateBackCuMemberSettleRangeAward(@Param("rangeTableName") String rangeTableName, @Param("period") Integer period); - /* * 回退会员奖衔 **/ @@ -161,30 +144,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ List batchQueryMemberSettleParentByMemberPk(@Param("settleTableName") String settleTableName, @Param("memberPkList") List serviceMemberSet); - /** - * 查询会员结算表,查询出结算表中会员伞下左右区满足等级 - * - * @param settleTableName 结算表 - * @param awardsValue 验证等级对应的值 - * @param placeDept 部门 - * @param pkMember 会员 - */ - Integer queryCuMemberSettlePlaceUnderUmbrella(@Param("settleTableName") String settleTableName, - @Param("awardsValue") Integer awardsValue, - @Param("placeDept") Integer placeDept, - @Param("pkMember") Long pkMember); - - /** - * 查询会员结算表,查询出结算表中会员血缘关系满足等级 - * - * @param settleTableName 结算表 - * @param pkMember 会员 - */ - Integer queryCuMemberSettleBloodUnderUmbrella(@Param("settleTableName") String settleTableName, - @Param("awardsValue") Integer awardsValue, - @Param("placeDept") Integer placeDept, - @Param("pkMember") Long pkMember); - /** * 批量根据订单信息查询会员结算表中的数据 * @@ -212,13 +171,6 @@ public interface CuMemberTreeMapper extends BaseMapper { List batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName, @Param("pkMemberList") List pkMemberList); - /** - * 更新会员网体奖衔数据,更新月表、结算表 - * - * @param updateTableName 更新表名 - */ - Integer updateCuMemberSettleByPeriod(@Param("updateTableName") String updateTableName, @Param("period") Integer period); - /** * 更新会员树的累计业绩 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRangeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRangeService.java index e846ec0b..78989a54 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRangeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRangeService.java @@ -3,123 +3,43 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.CuMemberRange; import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt; -import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import java.util.Date; import java.util.List; -import java.util.Map; /** - *

* 服务类 - *

- * - * @author hzs - * @since 2024-10-15 */ public interface ICuMemberRangeService extends IService { - /* - * @description: 将昨天的业绩信息迁移到今天 - * @author: sui q - * @date: 2024/10/18 11:09 - * @param: null null - **/ - void mergeMemberRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth); - - /* - * @description: 更新极差秒接表,用昨天的结算表 - * @author: sui q - * @date: 2024/10/22 14:23 - * @param: null null - **/ - void mergeMemberSecondRangeByRange(String rangeTableName, String secondRangeTableName, Long pkMember); - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算日期 - * @param cuMemberTreeMap 树 - * @return: void - * @Author: sui q - * @Date: 2022/12/9 16:57 + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 */ - void updateCuMemberRange(String settleTableName, Map cuMemberTreeMap); - - /** - * 更新会员树的累计业绩 - * - * @param secondTableName 结算日期 - * @param cuMemberTreeMap 树 - * @return: void - * @Author: sui q - * @Date: 2022/12/9 16:57 - */ - void updateCuMemberSecondRange(String secondTableName, Map cuMemberTreeMap); - - /* - * @description: 根据会员查询会员上的所有网体, 按照pkParent作为key - * @author: sui q - * @date: 2024/10/15 15:21 - * @param: null null - **/ - Map> queryCuMemberRangeParent(String tableName, List saOrderExtList); - - - /* - * @description: 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表 - * @author: sui q - * @date: 2024/10/15 15:21 - * @param: null null - **/ - Map> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember); - - /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @author: sui q - * @date: 2024/10/16 14:06 - * @param: null null - **/ List queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate); - /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @author: sui q - * @date: 2024/10/16 14:06 - * @param: null null - **/ + /** + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 + */ List querySecondCuMemberRangeExtByParent(String tableName, String secondTableName, Long pkParent); - /* - * @description: 批量更新网体 - * @author: sui q - * @date: 2024/10/16 15:10 - * @param: null null - **/ + /** + * 批量更新网体 + */ void mergeCuMemberRangeExt(String rangeTableName, List cuMemberRangeExtList); - /* - * @description: 批量更新网体 - * @author: sui q - * @date: 2024/10/16 15:10 - * @param: null null - **/ + /** + * 批量更新网体 + */ void mergeSecondCuMemberRangeExt(String secondTableName, List cuMemberRangeExtList); - /* - * @description: 验证血缘部门 有多少个满足等级 - * @author: sui q - * @date: 2024/10/16 16:02 - * @param: null null - **/ + /** + * 验证血缘部门 有多少个满足等级 + */ Integer validateCuMemberPlaceAwards(String rangeTableName, List cuMemberRangeExtList, Integer pkRangeAwards, Date orderDate); - /* - * @description: 验证血缘部门 有多少个满足等级 - * @author: sui q - * @date: 2024/10/16 16:02 - * @param: null null - **/ + /** + * 验证血缘部门 有多少个满足等级 + */ Integer validateSecondCuMemberPlaceAwards(String secondTableName, List cuMemberRangeExtList, Integer pkRangeAwards); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java index 4d78554f..b8182a78 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailRangeService.java @@ -3,7 +3,6 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.CuMemberRetailRange; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; -import com.hzs.common.domain.member.bonus.CuMemberSpeRetail; import com.hzs.common.domain.sale.ext.SaOrderExt; import java.math.BigDecimal; @@ -27,11 +26,6 @@ public interface ICuMemberRetailRangeService extends IService queryCuMemberRetailRangeParent(String tableName, List saOrderExtList); - /** - * 根据会员查询会员上的所有网体, 按照pkParent作为key - */ - List queryCuMemberSpeRetailRangeParent(String tableName, List memberSpeRetailList); - /** * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 */ @@ -47,11 +41,6 @@ public interface ICuMemberRetailRangeService extends IService queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember); - /** - * 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表,查询自己和伞下 - */ - List queryCuMemberSecondRange(String rangeTableName, String secondTableName, Long pkMember); - /** * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 */ @@ -65,14 +54,6 @@ public interface ICuMemberRetailRangeService extends IService cuMemberTreeMap); - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算日期 - * @param cuMemberRetailRangeExtList 树 - */ - void updateCuMemberRetailRange(String settleTableName, List cuMemberRetailRangeExtList); - /** * 更新会员树的累计业绩 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java index 2592684d..a99f1feb 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java @@ -52,23 +52,6 @@ public interface ICuMemberTreeService extends IService { */ void createCuMemberTableSequence(String tableName, String tableNameSeq); - /** - * 查询出符合下一等级足够业绩的会员 - * - * @param settleTableName 结算表 - */ - List queryCuMemberSettleEnoughAwardAchieve(String settleTableName); - - /* - * 回退会员奖衔 - **/ - void updateBackCuMemberSettleAward(String settleTableName, Integer period); - - /* - * 回退会员奖衔 - **/ - void updateBackCuMemberSettleRangeAward(String rangeTableName, Integer period); - /** * 回退会员奖衔 */ @@ -84,31 +67,6 @@ public interface ICuMemberTreeService extends IService { */ void updateCuMemberRetailRangeInitAward(String rangeTableName); - /** - * 查询会员结算表,查询出结算表中会员伞下左右区满足等级 - * - * @param settleTableName 结算表 - * @param placeDept 部门 - * @param awardsValue 奖衔对应的值 - * @param pkMember 会员 - */ - Boolean queryCuMemberSettlePlaceUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember); - - /** - * 查询会员结算表,查询出结算表中会员血缘关系满足等级 - * - * @param settleTableName 结算表 - * @param pkMember 会员 - */ - Boolean queryCuMemberSettleBloodUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember); - - /** - * 更新会员网体奖衔数据,更新月表、结算表 - * - * @param periodList 期间 - */ - void updateCuMemberSettleByPeriod(List periodList); - /** * 根据订单,查询出网体中记录的会员数据,推荐人、安置人 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java index 28b20ca2..4490f801 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java @@ -3,25 +3,15 @@ package com.hzs.bonus.achieve.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.mapper.CuMemberRangeMapper; import com.hzs.bonus.achieve.service.ICuMemberRangeService; -import com.hzs.common.core.constant.MagicNumberConstants; -import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.domain.member.achieve.CuMemberRange; import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt; -import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; /** - *

- * 服务实现类 - *

- * - * @author hzs - * @since 2024-10-15 + * 服务实现类 */ @Service public class CuMemberRangeServiceImpl extends ServiceImpl implements ICuMemberRangeService { @@ -29,71 +19,6 @@ public class CuMemberRangeServiceImpl extends ServiceImpl cuMemberTreeMap) { - List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); - treeList.forEach(list -> baseMapper.mergeCuMemberRangeExt(settleTableName, list)); - } - - @Override - public void updateCuMemberSecondRange(String secondTableName, Map cuMemberTreeMap) { - List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); - treeList.forEach(list -> baseMapper.mergeCuMemberSecondRange(secondTableName, list)); - } - - private List> setUpdCuMemberTreeLists(Map cuMemberTreeMap) { - List cuMemberTreeList = new ArrayList<>(); - cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value)); - return cuMemberBonusSettle.handleCutList(cuMemberTreeList); - } - - @Override - public Map> queryCuMemberRangeParent(String tableName, List saOrderExtList) { - List cuMemberRangeExtList = new ArrayList<>(); - List> cutOrderList = cuMemberBonusSettle.handleCutList(saOrderExtList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - cutOrderList.forEach(orderList -> - cuMemberRangeExtList.addAll(baseMapper.queryCuMemberRangeParent(tableName, orderList))); - return packageMemberRangeMap(cuMemberRangeExtList); - } - - private Map> packageMemberRangeMap(List cuMemberRangeExtList) { - Map> memberRangeMap = new HashMap<>(); - for (CuMemberRangeExt cuMemberRangeExt : cuMemberRangeExtList) { - if(memberRangeMap.containsKey(cuMemberRangeExt.getPkParent())){ - memberRangeMap.get(cuMemberRangeExt.getPkParent()).add(cuMemberRangeExt); - }else{ - List memberRangeExtList = new ArrayList<>(); - memberRangeExtList.add(cuMemberRangeExt); - memberRangeMap.put(cuMemberRangeExt.getPkParent(), memberRangeExtList); - } - } - return memberRangeMap; - } - - @Override - public Map> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember) { - List cuMemberRangeExtList = baseMapper.queryCuMemberSecondRangeParent(rangeTableName, secondTableName, pkMember); - return packageMemberRangeMap(cuMemberRangeExtList); - } - @Override public List queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate) { return baseMapper.queryCuMemberRangeExtByParent(tableName, pkParent, orderDate); @@ -126,4 +51,5 @@ public class CuMemberRangeServiceImpl extends ServiceImpl cuMemberRangeExtList, Integer pkRangeAwards) { return baseMapper.validateSecondCuMemberPlaceAwards(secondTableName, cuMemberRangeExtList, pkRangeAwards); } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java index f50b4dae..937ece59 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java @@ -7,8 +7,6 @@ import com.hzs.bonus.base.service.ICuMemberService; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.domain.member.achieve.CuMemberRetailRange; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; -import com.hzs.common.domain.member.bonus.CuMemberSpeRetail; -import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.sale.ext.SaOrderExt; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,8 +22,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl queryCuMemberSpeRetailRangeParent(String tableName, List memberSpeRetailList) { - List memberRetailRangeExtList = new ArrayList<>(); - List pkMemberList = new ArrayList<>(); - for (CuMemberSpeRetail cuMemberSpeRetail : memberSpeRetailList) { - CuMemberExt cuMemberExt = iCuMemberService.getMemberByCode(cuMemberSpeRetail.getMemberCode()); - if (cuMemberExt != null) { - pkMemberList.add(cuMemberExt.getPkId()); - } - } - List> cutOrderList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - cutOrderList.forEach(orderList -> - memberRetailRangeExtList.addAll(baseMapper.queryCuMemberSpeRetailRangeParent(tableName, orderList))); - return memberRetailRangeExtList; - } - @Override public List queryCuMemberRetailRangeExtByParent(String tableName, Long pkParent) { return baseMapper.queryCuMemberRetailRangeExtByParent(tableName, pkParent); @@ -90,22 +70,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl queryCuMemberSecondRange(String rangeTableName, String secondTableName, Long pkMember) { - List cuMemberRetailRangeExtList = baseMapper.queryCuMemberSecondRange(rangeTableName, secondTableName, pkMember); - Map retailRangeExtMap = new HashMap<>(); - for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) { - retailRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); - } - List yesMemberRetailRangeExtList = baseMapper.queryCuMemberSecondRangeYes(rangeTableName, pkMember); - for (CuMemberRetailRangeExt cuMemberRetailRangeExt : yesMemberRetailRangeExtList) { - if (!retailRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { - cuMemberRetailRangeExtList.add(cuMemberRetailRangeExt); - } - } - return cuMemberRetailRangeExtList; - } - @Override public List queryCuMemberSecondRangeExtByParent(String rangeTableName, String secondTableName, Long pkMember) { return baseMapper.queryCuMemberSecondRangeExtByParent(rangeTableName, secondTableName, pkMember); @@ -117,13 +81,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl baseMapper.mergeCuMemberRetailRangeExt(settleTableName, list)); } - @Override - public void updateCuMemberRetailRange(String settleTableName, List cuMemberRetailRangeExtList) { - List> cutOrderList = cuMemberBonusSettle.handleCutList(cuMemberRetailRangeExtList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - cutOrderList.forEach(orderList -> - baseMapper.mergeCuMemberRetailRangeExt(settleTableName, orderList)); - } - @Override public void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period) { baseMapper.mergeCuMemberRetailRangeBySpecial(settleTableName, period); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index f09a5fb3..b6ae175f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -127,21 +127,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryCuMemberSettleEnoughAwardAchieve(String settleTableName) { - return baseMapper.queryCuMemberSettleEnoughAwardAchieve(settleTableName); - } - - @Override - public void updateBackCuMemberSettleAward(String settleTableName, Integer period) { - baseMapper.updateBackCuMemberSettleAward(settleTableName, period); - } - - @Override - public void updateBackCuMemberSettleRangeAward(String rangeTableName, Integer period) { - baseMapper.updateBackCuMemberSettleRangeAward(rangeTableName, period); - } - @Override public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) { baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue()); @@ -160,24 +145,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl 0; - } - - @Override - public Boolean queryCuMemberSettleBloodUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember) { - return baseMapper.queryCuMemberSettleBloodUnderUmbrella(settleTableName, awardsValue, placeDept, pkMember) > 0; - } - - @Override - public void updateCuMemberSettleByPeriod(List periodList) { - periodList.forEach(period -> { - String updateTableName = TableNameConstants.CU_MEMBER_SETTLE + period; - baseMapper.updateCuMemberSettleByPeriod(updateTableName, period); - }); - } - @Override public List batchQueryMemberSettleBySaOrder(String settleTableName, List saOrderExtList) { // 查询出推荐人 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java index 1800f6cf..12831c60 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java @@ -24,11 +24,6 @@ public interface CuMemberMapper extends BaseMapper { */ CuMemberExt queryLoginMember(@Param("memberCode") String memberCode, @Param("pkMember") Long pkMember); - /** - * 更新会员奖衔根据临时表 - */ - Integer updateCuMemberByPeriod(Integer period); - /** * 更新会员奖衔根据临时表 */ @@ -65,16 +60,6 @@ public interface CuMemberMapper extends BaseMapper { */ Integer updateCuMemberGradeByList(@Param("cuMemberGradeList") List cuMemberGradeList, @Param("period") Integer period); - /** - * 回退会员奖衔 - */ - void updateBackCuMemberAward(Integer period); - - /** - * 更新会员奖衔根据临时表 - */ - void updateBackCuMemberRangeAward(@Param("period") Integer period); - /** * 更新会员奖衔根据临时表 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java index e8e284eb..ce013ad8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java @@ -31,13 +31,6 @@ public interface ICuMemberService extends IService { */ CuMember getMember(String memberCode); - /** - * 更新会员奖衔根据临时表 - * - * @param enoughAwardsMember 修改奖衔的会员 - */ - void updateCuMemberByPeriod(List enoughAwardsMember, Integer period); - /** * 更新会员奖衔根据临时表 * @@ -81,16 +74,6 @@ public interface ICuMemberService extends IService { */ void updateCuMemberGradeByList(List cuMemberGradeList, Integer period); - /** - * 更新会员奖衔根据临时表 - */ - void updateBackCuMemberAward(List cuMemberAwards, Integer period); - - /** - * 更新会员奖衔根据临时表 - */ - void updateBackCuMemberRangeAward(List cuMemberAwards, Integer period); - /** * 更新会员奖衔根据临时表 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java index 6cff9a51..5a55b590 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java @@ -8,7 +8,6 @@ import com.hzs.common.domain.member.base.*; import com.hzs.common.domain.member.detail.CuMemberAwards; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.ext.CuMemberExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.bonus.base.mapper.CuMemberMapper; import org.springframework.stereotype.Service; @@ -33,11 +32,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.queryLoginMember(memberCode, null); } - @Override - public void updateCuMemberByPeriod(List enoughAwardsMember, Integer period) { - baseMapper.updateCuMemberByPeriod(period); - } - @Override public void updateCuMemberRetailRangeByPeriod(List cuMemberAwardsList, Integer period) { baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue()); @@ -76,16 +70,6 @@ public class CuMemberServiceImpl extends ServiceImpl i baseMapper.updateCuMemberGradeByList(cuMemberGradeList, period); } - @Override - public void updateBackCuMemberAward(List cuMemberAwards, Integer period) { - baseMapper.updateBackCuMemberAward(period); - } - - @Override - public void updateBackCuMemberRangeAward(List cuMemberAwards, Integer period) { - baseMapper.updateBackCuMemberRangeAward(period); - } - @Override public void updateBackCuMemberRetailRangeAward(Integer period) { baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue()); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 7d752c7d..b52549bd 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -1889,7 +1889,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 当月总pv,用于计算月度分红(福利平均、福利加权) for (Integer systemType : orderMap.keySet()) { List saOrders = orderMap.get(systemType); - // 月所有订单业绩(注册、升级、复购、重消) + // 月所有订单业绩(注册、升级、复购) BigDecimal totalMonthConsumePv = BigDecimal.ZERO; // new 两个月奖 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java index 60d93d98..630ffff6 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java @@ -3,34 +3,14 @@ package com.hzs.bonus.detail.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.detail.CuMemberAwards; -import com.hzs.common.domain.system.config.BdAwards; -import java.util.Date; import java.util.List; -import java.util.Map; /** * 会员信息-奖衔升级记录 服务类 */ public interface ICuMemberAwardsService extends IService { - /** - * 重新计算会员的奖衔,根据累计结束后的业绩 - * - * @param settleDate 结算日 - * @param countryAwardsMap 国家奖衔配置 - * @param settleTableName 结算表 - */ - void calculateCuMemberAwards(String settleDate, Map countryAwardsMap, String settleTableName); - - /** - * 回退极差奖衔,每日重新结算,先把奖衔回退到前一天 - * - * @param period 结算期间 - * @param rangeTableName 结算表 - */ - void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName, Integer systemType); - /** * 回退极差奖衔,每日重新结算,先把奖衔回退到前一天 * @@ -61,17 +41,4 @@ public interface ICuMemberAwardsService extends IService { */ void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period, Integer isToday); - /** - * 删除奖衔升级记录 - * - * @param pkOrder 订单 - * @param pkApprove 审核人 - * @param currentDateTime 当前时间 - */ - void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime); - - /** - * 根据结算表更新奖衔 - */ - void updateCuMemberAwardsExamine(Date currentDate, Integer period); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java index 6d768078..e371188e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java @@ -35,41 +35,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl countryAwardsMap, String settleTableName) { - // 查询结算日当天奖衔发生过变动的会员,本期 - Date settleDate = DateUtils.parseStringToDate(setDate); - Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId(); - //删除当天奖衔升级记录,自动升级的 - // 更新奖衔,回退奖衔 - List cuMemberAwards = queryCuMemberAwardsByPeriod(period, null); - iCuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period); - iCuMemberService.updateBackCuMemberAward(cuMemberAwards, period); - // 回退业绩表奖衔 - baseMapper.deleteCuMemberAwards(period); - while (true) { - List cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName); - if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) { - break; - } - } - } - - @Override - public void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName, Integer systemType) { - // 更新奖衔,回退奖衔 - List cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType); - iCuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period); - iCuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period); - // 回退业绩表奖衔 - baseMapper.deleteCuMemberAwards(period); - } - @Override public void calculateCuMemberRetailRangeAwardsInit(String settleDate, Integer period, String rangeTableName) { if (settleDate.endsWith("01")) { @@ -118,175 +85,6 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl countryAwardsMap, String settleTableName, Date settleDate, Integer period, List cuMemberSettleExtList) { - // 当天奖衔发生过变动的人, 只要发生过变动,就要进行更新 降奖衔或者不变 - // 更新奖衔,更新会员表,更新奖衔变动记录表 - // 只满足业绩的 - List cuMemberAwardsList = new ArrayList<>(); - List enoughAwardsMemberList = new ArrayList<>(); - if (cuMemberSettleExtList.size() > 0) { - List placeAwardsMemberList = new ArrayList<>(); - List bloodAwardsMemberList = new ArrayList<>(); - // 用于记录原来的奖衔 - Map originalCuMemberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberSettleExtList.size())); - cuMemberSettleExtList.forEach(cuMemberSettleExt -> { - BdAwards bdAwards = getBdAwards(countryAwardsMap, originalCuMemberSettleMap, cuMemberSettleExt); - // 验证关系 - if (null == bdAwards.getRelationType()) { - enoughAwardsMemberList.add(cuMemberSettleExt); - } else if (ERelationType.BLOOD_KINSHIP_CHECK.getValue() == bdAwards.getRelationType()) { - bloodAwardsMemberList.add(cuMemberSettleExt); - } else if (ERelationType.PLACE_CHECK.getValue() == bdAwards.getRelationType()) { - placeAwardsMemberList.add(cuMemberSettleExt); - } else { - enoughAwardsMemberList.add(cuMemberSettleExt); - } - }); - - List memberAwardsList = updateAwardsRecord(enoughAwardsMemberList, originalCuMemberSettleMap, period); - if (memberAwardsList != null && memberAwardsList.size() > 0) { - cuMemberAwardsList.addAll(memberAwardsList); - } - // 需要验证安置的 - if (placeAwardsMemberList.size() > 0) { - List updateAwardsMemberList = new ArrayList<>(); - placeAwardsMemberList.forEach(cuMemberSettleExt -> { - BdAwards bdAwards = getBdAwards(countryAwardsMap, originalCuMemberSettleMap, cuMemberSettleExt); - // 验证安置 验证左右区是否存在满足等级的 考核 - // 先验证左区 - if (validateCuMemberPlaceRelation(settleTableName, bdAwards, cuMemberSettleExt.getPkMember())) { - updateAwardsMemberList.add(cuMemberSettleExt); - } - }); - List awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period); - if (updateAwardsMemberList.size() > 0) { - enoughAwardsMemberList.addAll(updateAwardsMemberList); - } - if (awardsList != null && awardsList.size() > 0) { - cuMemberAwardsList.addAll(awardsList); - } - } - // 需要验证血缘的 - if (bloodAwardsMemberList.size() > 0) { - List updateAwardsMemberList = new ArrayList<>(); - bloodAwardsMemberList.forEach(cuMemberSettleExt -> { - BdAwards bdAwards = getBdAwards(countryAwardsMap, originalCuMemberSettleMap, cuMemberSettleExt); - // 验证血缘 - // 1 先验证安置,验证左右区是否存在满足等级的 考核 - // 2 在验证血缘,验证满足等级的会员是否在他的血缘线上 - if (validateBloodRelation(settleTableName, cuMemberSettleExt, bdAwards)) { - updateAwardsMemberList.add(cuMemberSettleExt); - } - }); - List awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period); - if (updateAwardsMemberList.size() > 0) { - enoughAwardsMemberList.addAll(updateAwardsMemberList); - } - if (awardsList != null && awardsList.size() > 0) { - cuMemberAwardsList.addAll(awardsList); - } - } - } - if (cuMemberAwardsList.size() > 0) { - // 将变动值插入临时表中 - // 更新会员表 - iCuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period); - // 更新结算网体表(月表、日表) - // 根据结算日期获得所有需要更新的周期 - updateMemberAwardPeriod(settleDate); - return Boolean.TRUE; - } else { - iCuMemberService.updateCuMemberByPeriod(null, period); - updateMemberAwardPeriod(settleDate); - return Boolean.FALSE; - } - } - - private void updateMemberAwardPeriod(Date settleDate) { - Date currentDate = DateUtils.currentDate(); - List periodList = new ArrayList<>(); - while (DateUtils.compareDateBefore(settleDate, currentDate)) { - String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate); - periodList.add(iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId()); - settleDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate); - } - iCuMemberTreeService.updateCuMemberSettleByPeriod(periodList); - } - - @Override - public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) { - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue()); - updateWrapper.set(CuMemberAwards::getPkModified, pkApprove); - updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime); - updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder); - update(updateWrapper); - } - - @Override - public void updateCuMemberAwardsExamine(Date currentDate, Integer period) { - String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate); - Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId(); - String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate); - baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod); - } - - private BdAwards getBdAwards(Map countryAwardsMap, Map originalCuMemberSettleMap, CuMemberSettleExt cuMemberSettleExt) { - originalCuMemberSettleMap.put(cuMemberSettleExt.getPkMember(), cuMemberSettleExt); - String key = cuMemberSettleExt.getPkSettleCountry().toString() + cuMemberSettleExt.getPkAwards().toString(); - return countryAwardsMap.get(key); - } - - /** - * 更新奖衔记录 - * - * @param enoughAwardsMemberList 满足业绩 - * @param originalCuMemberSettleMap 原来的map - * @param period 期间 - */ - private List updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap, - Integer period) { - if (enoughAwardsMemberList.size() == 0) { - return null; - } - // 更新奖衔记录变动 - // 增加奖衔记录表 - // 更新升奖衔的会员,插入升衔记录 - return upgradeCuMemberAwards(enoughAwardsMemberList, originalCuMemberSettleMap, period); - - } - - /** - * 插入升级记录 - * - * @param enoughAwardsMemberList 足够升级的 - * @param originalCuMemberSettleMap 记录会员原等级的map - * @param period 期间 - */ - private List upgradeCuMemberAwards(List enoughAwardsMemberList, Map originalCuMemberSettleMap, - Integer period) { - List cuMemberAwardsList = new ArrayList<>(); - if (enoughAwardsMemberList.size() > 0) { - // 记录要入库的,为了验证是否首次晋升 - enoughAwardsMemberList.forEach(enoughAwardsMember -> getCuMemberAwards(originalCuMemberSettleMap, period, cuMemberAwardsList, enoughAwardsMember)); - // 验证满足的这群人是否是首次晋升,查询出值的不是首次晋升 - List originalCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(cuMemberAwardsList); - // 是首次晋升的数据 - Map cuMemberAwardsMap = new HashMap<>(ComputeUtil.mapInitCapacity(originalCuMemberAwardsList.size())); - originalCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards)); - cuMemberAwardsList.forEach(cuMemberAwards -> { - CuMemberAwards memberAwards = cuMemberAwardsMap.get(cuMemberAwards.getPkMember()); - // 没有奖衔升级记录或者奖衔升级记录是会员的 算首次晋升 - if (memberAwards == null) { - cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue()); - } - }); - // 插入记录 - baseMapper.saveBatchCuMemberAwards(cuMemberAwardsList); - } - return cuMemberAwardsList; - } - private void getCuMemberAwards(Map originalCuMemberSettleMap, Integer period, List cuMemberAwardsList, CuMemberSettleExt enoughAwardsMember) { CuMemberAwards cuMemberAwards = CuMemberAwards.builder() .pkMember(enoughAwardsMember.getPkMember()) @@ -303,86 +101,4 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl changeAwardsList, Integer period, List cuMemberAwardsList) { - // 验证是否有降奖衔的,降奖衔的也要更新 - if (changeAwardsList.size() > 0) { - // 更新奖衔表,将奖衔升级记录修改为删除状态 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(CuMemberAwards::getPeriod, period); - baseMapper.updateBatchCuMemberAwards(changeAwardsList, period); - // 根据 changeAwardsList 查找到这群人的历史奖衔升级记录 - List hisCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(changeAwardsList); - Map cuMemberAwardsMap = new HashMap<>(); - hisCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards)); - // 用于更新网体,将原有奖衔还原 - changeAwardsList.forEach(cuMemberAwards -> { - if (cuMemberAwardsMap.containsKey(cuMemberAwards.getPkMember())) { - // 原有奖衔 - cuMemberAwards.setNewLevel(cuMemberAwardsMap.get(cuMemberAwards.getPkMember()).getNewLevel()); - } else { - // 没有值的变为会员 - cuMemberAwards.setNewLevel(EAwards.MEMBER.getValue()); - } - }); - cuMemberAwardsList.addAll(changeAwardsList); - } - } - - /** - * 查询某一期变动的奖衔 - * - * @param period 奖金期 - */ - private List queryCuMemberAwardsByPeriod(Integer period, Integer systemType) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(CuMemberAwards::getPeriod, period); - if (systemType != null) { - queryWrapper.eq(CuMemberAwards::getSystemType, systemType); - } - queryWrapper.eq(CuMemberAwards::getUpType, EUpgradeType.AUTO_UPGRADE.getValue()); - return baseMapper.selectList(queryWrapper); - } - - /** - * 验证血缘关系 - * - * @param settleTableName 结算表 - * @param cuMemberSettleExt 会员结算表 - * @param bdAwards 等级 - */ - private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) { - // 左区满足,且满足血缘 - if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) && - iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) { - // 验证血缘,左区存在血缘关系的 - // 右区满足,且满足血缘 - // 进行验证血缘验证 - return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) && - iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()); - } - return false; - } - - /** - * 验证左右区安置关系 - * - * @param settleTableName 结算表 - * @param bdAwards 等级 - * @param pkMember 会员 - */ - private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) { - // 验证左区 - if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) { - // 在验证右区 - return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember); - } - return false; - } } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRangeMapper.xml index f46f946b..a29fd857 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRangeMapper.xml @@ -4,167 +4,100 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + merge into ${rangeTableName} a using ( - select pk_member,min(consume_status) consume_status,max(pk_range_awards) pk_range_awards, - max(pk_awards) pk_awards,max(consume_pv) consume_pv, - max(month_pv) month_pv,max(new_pv) new_pv,max(new_team_pv) new_team_pv,max(effective_num) effective_num, - max(buy_effective_num) buy_effective_num,max(first_agent) first_agent,max(second_agent) second_agent, - max(team_consume_pv) team_consume_pv,max(team_month_pv) team_month_pv,max(small_area_pv) small_area_pv, - max(team_consume_amount) team_consume_amount,max(team_month_amount) team_month_amount, - max(assess_status) assess_status,max(dept_new_team_pv) dept_new_team_pv, - max(dept_team_consume_amount) dept_team_consume_amount,max(dept_team_consume_pv) dept_team_consume_pv, - max(dept_team_month_amount) dept_team_month_amount,max(dept_team_month_pv) dept_team_month_pv from( - - select #{item.pkMember} pk_member,#{item.pkRangeAwards} pk_range_awards,#{item.pkAwards} pk_awards, - #{item.consumeStatus} consume_status,#{item.consumePv} consume_pv,#{item.monthPv} month_pv, - #{item.newPv} new_pv,#{item.newTeamPv} new_team_pv,#{item.effectiveNum} effective_num, - #{item.buyEffectiveNum} buy_effective_num,#{item.firstAgent} first_agent,#{item.secondAgent} second_agent, - #{item.teamConsumeAmount} team_consume_amount,#{item.teamMonthAmount} team_month_amount, - #{item.deptNewTeamPv} dept_new_team_pv,#{item.deptTeamConsumeAmount} dept_team_consume_amount, - #{item.deptTeamConsumePv} dept_team_consume_pv,#{item.deptTeamMonthAmount} dept_team_month_amount, - #{item.deptTeamMonthPv} dept_team_month_pv, - #{item.teamConsumePv} team_consume_pv,#{item.teamMonthPv} team_month_pv,#{item.smallAreaPv} small_area_pv, - #{item.assessStatus} assess_status from dual - ) - group by pk_member - ) b - on (a.pk_member=b.pk_member) - when matched then - update set a.pk_range_awards=b.pk_range_awards,a.pk_awards=b.pk_awards, - a.consume_status=b.consume_status,a.consume_pv=b.consume_pv, - a.month_pv=b.month_pv,a.effective_num=b.effective_num, - a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv,a.buy_effective_num=b.buy_effective_num, - a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.team_consume_amount=b.team_consume_amount, - a.team_month_amount=b.team_month_amount,a.dept_new_team_pv=b.dept_new_team_pv, - a.dept_team_consume_amount=b.dept_team_consume_amount, - a.dept_team_consume_pv=b.dept_team_consume_pv,a.dept_team_month_amount=b.dept_team_month_amount, - a.dept_team_month_pv=b.dept_team_month_pv, - a.team_consume_pv=b.team_consume_pv,a.team_month_pv=b.team_month_pv, - a.small_area_pv=b.small_area_pv,a.assess_status=b.assess_status - - - merge into ${rangeTableName} a - using( - select pk_member,consume_status,consume_pv,month_pv,effective_num,dept_team_consume_amount, - buy_effective_num,first_agent,second_agent,recommend_num,team_consume_amount,dept_team_consume_pv, - dept_team_month_amount,dept_team_month_pv, - team_consume_pv,team_month_amount,team_month_pv,small_area_pv,assess_status from ${yesterdayRangeTableName} - ) b - on (a.pk_member=b.pk_member) - when matched then - update set a.consume_status=b.consume_status,a.consume_pv=b.consume_pv, - a.effective_num=b.effective_num,a.buy_effective_num=b.buy_effective_num, - a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.recommend_num=b.recommend_num, - a.team_consume_amount=b.team_consume_amount,a.team_consume_pv=b.team_consume_pv,a.small_area_pv=b.small_area_pv, - a.dept_team_consume_amount=b.dept_team_consume_amount,a.dept_team_consume_pv=b.dept_team_consume_pv - - ,a.dept_team_month_amount=b.dept_team_month_amount,a.dept_team_month_pv=b.dept_team_month_pv, - a.team_month_amount=b.team_month_amount,a.team_month_pv=b.team_month_pv,a.month_pv=b.month_pv, - a.assess_status=b.assess_status - - - - update ${rangeTableName} set consume_pv=0,month_pv=0,new_pv=0,new_team_pv=0,dept_new_team_pv=0, - effective_num=0,buy_effective_num=0,first_agent=0,second_agent=0,recommend_num=0, - team_num=0,team_consume_amount=0,team_month_amount=0,dept_team_consume_amount=0, - dept_team_consume_pv=0,dept_team_month_amount=0,dept_team_month_pv=0, - team_consume_pv=0,team_month_pv=0,small_area_pv=0,consume_status=1 - - ,assess_status=2 - - - - update ${rangeTableName} set assess_status=0 where purchase_status=0 - - - merge into ${secondRangeTableName} a - using ( - select a.pk_id pk_member,a.pk_parent,a.pk_range_awards,nvl(b.assess_status,3) assess_status, - nvl(b.consume_status,1) consume_status, - nvl(b.month_member,0) month_member from (select * from cu_member - where del_flag = 0 - start with pk_id = #{pkMember} - connect by pk_id = prior pk_parent) a - left join ${rangeTableName} b - on a.pk_id=b.pk_member - ) b - on (a.pk_member=b.pk_member) - when not matched then - insert (pk_member,pk_parent,pk_range_awards,assess_status,month_member,consume_status) - values(b.pk_member,b.pk_parent,b.pk_range_awards,b.assess_status,b.month_member,b.consume_status) - - - merge into ${secondTableName} a - using ( + select pk_member,min(consume_status) consume_status,max(pk_range_awards) pk_range_awards, + max(pk_awards) pk_awards,max(consume_pv) consume_pv, + max(month_pv) month_pv,max(new_pv) new_pv,max(new_team_pv) new_team_pv,max(effective_num) effective_num, + max(buy_effective_num) buy_effective_num,max(first_agent) first_agent,max(second_agent) second_agent, + max(team_consume_pv) team_consume_pv,max(team_month_pv) team_month_pv,max(small_area_pv) small_area_pv, + max(team_consume_amount) team_consume_amount,max(team_month_amount) team_month_amount, + max(assess_status) assess_status,max(dept_new_team_pv) dept_new_team_pv, + max(dept_team_consume_amount) dept_team_consume_amount,max(dept_team_consume_pv) dept_team_consume_pv, + max(dept_team_month_amount) dept_team_month_amount,max(dept_team_month_pv) dept_team_month_pv from( - select #{item.pkMember} pk_member,#{item.pkRangeAwards} pk_range_awards,#{item.consumeStatus} consume_status, - #{item.newPv} new_pv,#{item.newEffectiveNum} new_effective_num,#{item.newTeamPv} new_team_pv, - #{item.assessStatus} assess_status,#{item.buyEffectiveNum} buy_effective_num, - #{item.firstAgent} first_agent,#{item.secondAgent} second_agent, - #{item.deptNewTeamPv} dept_new_team_pv from dual - + select #{item.pkMember} pk_member,#{item.pkRangeAwards} pk_range_awards,#{item.pkAwards} pk_awards, + #{item.consumeStatus} consume_status,#{item.consumePv} consume_pv,#{item.monthPv} month_pv, + #{item.newPv} new_pv,#{item.newTeamPv} new_team_pv,#{item.effectiveNum} effective_num, + #{item.buyEffectiveNum} buy_effective_num,#{item.firstAgent} first_agent,#{item.secondAgent} second_agent, + #{item.teamConsumeAmount} team_consume_amount,#{item.teamMonthAmount} team_month_amount, + #{item.deptNewTeamPv} dept_new_team_pv,#{item.deptTeamConsumeAmount} dept_team_consume_amount, + #{item.deptTeamConsumePv} dept_team_consume_pv,#{item.deptTeamMonthAmount} dept_team_month_amount, + #{item.deptTeamMonthPv} dept_team_month_pv, + #{item.teamConsumePv} team_consume_pv,#{item.teamMonthPv} team_month_pv,#{item.smallAreaPv} small_area_pv, + #{item.assessStatus} assess_status from dual + ) + group by pk_member ) b on (a.pk_member=b.pk_member) when matched then - update set a.pk_range_awards=b.pk_range_awards,a.new_pv=b.new_pv,a.new_effective_num=b.new_effective_num, - a.new_team_pv=b.new_team_pv,a.assess_status=b.assess_status,a.buy_effective_num=b.buy_effective_num, - a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.dept_new_team_pv=b.dept_new_team_pv, - a.consume_status=b.consume_status + update set a.pk_range_awards=b.pk_range_awards,a.pk_awards=b.pk_awards, + a.consume_status=b.consume_status,a.consume_pv=b.consume_pv, + a.month_pv=b.month_pv,a.effective_num=b.effective_num, + a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv,a.buy_effective_num=b.buy_effective_num, + a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.team_consume_amount=b.team_consume_amount, + a.team_month_amount=b.team_month_amount,a.dept_new_team_pv=b.dept_new_team_pv, + a.dept_team_consume_amount=b.dept_team_consume_amount, + a.dept_team_consume_pv=b.dept_team_consume_pv,a.dept_team_month_amount=b.dept_team_month_amount, + a.dept_team_month_pv=b.dept_team_month_pv, + a.team_consume_pv=b.team_consume_pv,a.team_month_pv=b.team_month_pv, + a.small_area_pv=b.small_area_pv,a.assess_status=b.assess_status + merge into ${secondTableName} a using ( @@ -181,35 +114,47 @@ when matched then update set a.pk_range_awards=b.pk_range_awards,a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv - + + - + + - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 73056fb2..d9bb606b 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -325,20 +325,6 @@ ) - - merge into ${updateTableName} a - using ( - select pk_member, max(new_level) pk_awards - from cu_member_awards - where period = #{period} - and del_flag = 0 - group by pk_member) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.pk_awards = b.pk_awards - - insert into ${settleTableName} (pk_member, pk_parent, member_code, member_name, customer_type, phone, pk_grade, pk_awards, account_status, pay_status, category, @@ -388,41 +374,6 @@ - - merge into ${settleTableName} a - using (select pk_member, max(old_level) old_level - from cu_member_awards - where period = #{period} - and del_flag = 0 - group by pk_member) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.pk_awards = b.old_level - - - - merge into ${rangeTableName} a - using ( - select pk_member, old_level, ba.pk_awards - from ( - select pk_member, max(old_level) old_level - from cu_member_awards - where period = #{period} - and up_type = 1 - and system_type = 1 - and del_flag = 0 - group by pk_member) ca - inner join bd_range_awards ba - on ca.old_level = ba.pk_id - where ba.del_flag = 0 - ) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.pk_awards = b.pk_awards,a.pk_range_awards = b.old_level - - merge into ${rangeTableName} a using ( @@ -609,94 +560,6 @@ from ${tableName} - - - - - - - - merge into cu_member a - using (select pk_member, max(old_level) old_level - from cu_member_awards - where period = #{period} - and del_flag = 0 - group by pk_member) b - on (a.pk_id = b.pk_member) - when matched then - update set - a.pk_awards = b.old_level, - a.modified_time = sysdate - - - - merge into cu_member a - using (select pk_member, old_level, ba.pk_awards - from ( - select pk_member, max(old_level) old_level - from cu_member_awards - where period = #{period} - and up_type = 1 - and del_flag = 0 - group by pk_member) ca - inner join bd_range_awards ba - on ca.old_level = ba.pk_id - where ba.del_flag = 0) b - on (a.pk_id = b.pk_member) - when matched then - update set - a.pk_awards = b.pk_awards,a.pk_range_awards = b.old_level, - a.modified_time = sysdate - - merge into cu_member a using (select pk_member, max(old_level) pk_awards diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml index 7e7d4242..bc60ea2d 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml @@ -151,22 +151,26 @@ ) )b on (cb.pk_member=b.pk_member and cb.period=b.period) WHEN NOT MATCHED THEN - insert(pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping, + insert ( + pk_id, pk_member, period, pk_rate, direct_income,expand_income,expand_no_capping, expand_capping,coach_income,share_income,service_income,back_points,service_spend, pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal, repur_coupon,repur_coupon_share,repur_coupon_subtotal, store_income, real_income_total, - pk_country,pk_creator,grant_status,income_status,retail_range_income,retail_same_level_income, - retail_area_income,retail_benefit_range_income,retail_benefit_avg_income,retail_benefit_income, - retail_real_subtotal) - values(b.pk_id,b.pk_member,b.period,b.pk_rate,b.direct_income,b.expand_income,b.expand_no_capping, + pk_country, pk_creator, grant_status, income_status, + retail_range_income, retail_same_level_income, + retail_area_income, retail_benefit_range_income, retail_month_repurchase_income, + retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal) + values ( + b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income,b.expand_income,b.expand_no_capping, b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points,b.service_spend, b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal, b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal, b.store_income, b.real_income_total, - b.pk_country,b.pk_creator,b.grant_status,b.income_status,b.retail_range_income,b.retail_same_level_income, - b.retail_area_income,b.retail_benefit_range_income,b.retail_benefit_avg_income,b.retail_benefit_income, - b.retail_real_subtotal) + b.pk_country, b.pk_creator, b.grant_status, b.income_status, + b.retail_range_income, b.retail_same_level_income, + b.retail_area_income, b.retail_benefit_range_income, retail_month_repurchase_income, + b.retail_benefit_avg_income, b.retail_benefit_income, b.retail_real_subtotal)