From 4ffedd673468f36429d8b3c4a2aad87c155b3b09 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 23 Jul 2025 15:42:36 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E8=A7=81=E7=82=B9=E5=A5=96=E5=A4=8D?= =?UTF-8?q?=E8=B4=AD=E8=80=83=E6=A0=B8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/CuMemberSettleController.java | 31 +- .../achieve/mapper/CuMemberRangeMapper.java | 30 +- .../achieve/mapper/CuMemberTreeMapper.java | 9 + .../service/ICuMemberRangeService.java | 27 +- .../achieve/service/ICuMemberTreeService.java | 9 +- .../impl/CuMemberRangeServiceImpl.java | 3 - .../service/impl/CuMemberTreeServiceImpl.java | 14 +- .../bonus/mapper/BdWaresBonusMapper.java | 9 - .../bonus/bonus/param/BdWaresBonusParam.java | 7 +- .../bonus/service/IBdWaresBonusService.java | 9 - .../bonus/service/IBonusSettleService.java | 7 +- .../service/impl/BdWaresBonusServiceImpl.java | 9 - .../impl/BonusSettleFirstPurchaseHandle.java | 65 -- .../service/impl/BonusSettleRangeHandle.java | 690 ------------------ .../service/impl/BonusSettleServiceImpl.java | 138 +--- .../detail/mapper/CuMemberAssessMapper.java | 64 +- .../service/ICuMemberAssessService.java | 82 +-- .../impl/CuMemberAssessServiceImpl.java | 148 ++-- .../member/achieve/CuMemberTreeMapper.xml | 25 +- .../member/bonus/BdWaresBonusMapper.xml | 35 - .../member/detail/CuMemberAssessMapper.xml | 452 +++++++----- .../api/ApiCuMemberAssessController.java | 13 +- .../service/ICuMemberAssessDetailService.java | 35 +- .../impl/CuMemberAssessDetailServiceImpl.java | 7 +- .../enums/controller/EnumsController.java | 6 +- .../enums/controller/EnumsInitController.java | 16 - .../core/constant/EnumsPrefixConstants.java | 18 - .../core/constant/TableNameConstants.java | 12 +- .../com/hzs/common/core/enums/EAlgebra.java | 36 +- .../com/hzs/common/core/enums/EAreaType.java | 13 +- .../hzs/common/core/enums/EAssessStatus.java | 6 +- .../common/core/enums/EAssessmentType.java | 16 +- .../common/core/enums/EBonusIncomeStatus.java | 2 +- .../hzs/common/core/enums/EBonusItems.java | 1 - .../domain/member/achieve/CuMemberRange.java | 8 - .../member/achieve/ext/CuMemberRangeExt.java | 9 +- .../domain/member/detail/CuMemberAssess.java | 14 +- .../common/domain/system/config/BdGrade.java | 6 + .../system/config/BdRepoDirectPush.java | 5 - 39 files changed, 564 insertions(+), 1522 deletions(-) delete mode 100644 bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java index d8fcc7a7..c93e36a8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java @@ -6,7 +6,6 @@ import com.hzs.bonus.achieve.service.ICuMemberMonthAchieveService; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.bonus.service.IBonusGrantService; -import com.hzs.bonus.bonus.service.IBonusSettleService; import com.hzs.bonus.bonus.service.ICuMemberBonusService; import com.hzs.bonus.bonus.vo.MemberSettlePeriodVO; import com.hzs.common.core.annotation.AccessPermissions; @@ -16,7 +15,6 @@ import com.hzs.common.core.enums.EOperationBusiness; import com.hzs.common.core.enums.EOperationMethod; import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; @@ -31,13 +29,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -/** - * @Description: - * @Author: sui q - * @Time: 2022/11/2 16:21 - * @Classname: CuMemberSettleController - * @PackageName: com.hzs.member.achieve.controller - */ @RestController @RequestMapping("/manage/settle") public class CuMemberSettleController extends BaseController { @@ -45,8 +36,6 @@ public class CuMemberSettleController extends BaseController { @Autowired private ICuMemberBonusService cuMemberBonusService; @Autowired - private IBonusSettleService bonusSettleService; - @Autowired private ICuMemberTreeService cuMemberTreeService; @Autowired private ICuMemberSettlePeriodService cuMemberSettlePeriodService; @@ -184,21 +173,6 @@ public class CuMemberSettleController extends BaseController { return AjaxResult.success(); } - /** - * 秒接结算业绩,仅用于测试 - * - * @return AjaxResult - */ - @GetMapping("/settle-second-bonus") - public AjaxResult settleSecondBonus(String orderCode) { - if (StringUtils.isEmpty(orderCode)) { - return AjaxResult.error(); - } -// bonusSettleService.calculateCumberBonusBySecond(orderCode); - bonusSettleService.calculateCuMemberRangAwardsBySaOrder(orderCode); - return AjaxResult.success(); - } - /** * 秒接结算业绩,仅用于测试 * @@ -223,10 +197,7 @@ public class CuMemberSettleController extends BaseController { } /* - * @description: 查询奖金计算期数列表 - * @author: sui q - * @date: 2023/4/26 17:10 - * @param: null null + * 查询奖金计算期数列表 **/ @AccessPermissions("bonusCount") @Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.SELECT) 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 5d2be752..c530776d 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 @@ -8,51 +8,41 @@ import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; -/** - * - */ public interface CuMemberRangeMapper extends BaseMapper { /* - * @description: 更新极差秒接表,用昨天的结算表 - * @param: null null + * 更新极差秒接表,用昨天的结算表 **/ void mergeMemberSecondRangeByRange(@Param("rangeTableName") String rangeTableName, @Param("secondRangeTableName") String secondRangeTableName, @Param("pkMember") Long pkMember); /* - * @description: 根据会员查询会员上的所有网体 - * @param: null null + * 根据会员查询会员上的所有网体 **/ List queryCuMemberRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List saOrderExtList); /* - * @description: 根据会员查询会员上的所有网体, 按照pkParent作为key - * @param: null null + * 根据会员查询会员上的所有网体, 按照pkParent作为key **/ List queryCuMemberSecondRangeParent(@Param("rangeTableName") String rangeTableName, @Param("secondTableName") String tableName, @Param("pkMember") Long pkMember); /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @param: null null + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 **/ List queryCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("pkParent") Long pkParent, @Param("orderDate") Date orderDate); /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @param: null null + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 **/ List querySecondCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("secondTableName") String secondTableName, @Param("pkParent") Long pkParent); /* - * @description: 批量更新网体 - * @param: null null + * 批量更新网体 **/ void mergeCuMemberRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList); /* - * @description: 批量更新网体 - * @param: null null + * 批量更新网体 **/ void mergeSecondCuMemberRangeExt(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList); @@ -66,15 +56,13 @@ public interface CuMemberRangeMapper extends BaseMapper { void mergeCuMemberSecondRange(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList); /* - * @description: 验证血缘部门 有多少个满足等级 - * @param: null null + * 验证血缘部门 有多少个满足等级 **/ Integer validateCuMemberPlaceAwards(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List cuMemberRangeExtList, @Param("pkRangeAwards") Integer pkRangeAwards, @Param("orderDate") Date orderDate); /* - * @description: 验证血缘部门 有多少个满足等级 - * @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/CuMemberTreeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index 390a8bb7..89020f32 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 @@ -352,4 +352,13 @@ public interface CuMemberTreeMapper extends BaseMapper { @Param("settleTableNameMonthLast") String settleTableNameMonthLast, @Param("pkMemberList") List pkMemberList); + /** + * 更新日结复购考核 + * + * @param settleTableName + * @param assessTableName + * @return + */ + int updateCuMemberSettlePointAssess(@Param("settleTableName") String settleTableName, @Param("assessTableName") String assessTableName); + } 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 b99db383..e41531b1 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 @@ -15,8 +15,7 @@ import java.util.Map; public interface ICuMemberRangeService extends IService { /* - * @description: 更新极差秒接表,用昨天的结算表 - * @param: null null + * 更新极差秒接表,用昨天的结算表 **/ void mergeMemberSecondRangeByRange(String rangeTableName, String secondRangeTableName, Long pkMember); @@ -30,50 +29,42 @@ public interface ICuMemberRangeService extends IService { void updateCuMemberSecondRange(String secondTableName, Map cuMemberTreeMap); /* - * @description: 根据会员查询会员上的所有网体, 按照pkParent作为key - * @param: null null + * 根据会员查询会员上的所有网体, 按照pkParent作为key **/ Map> queryCuMemberRangeParent(String tableName, List saOrderExtList); /* - * @description: 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表 - * @param: null null + * 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表 **/ Map> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember); /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @param: null null + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 **/ List queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate); /* - * @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 - * @param: null null + * 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体 **/ List querySecondCuMemberRangeExtByParent(String tableName, String secondTableName, Long pkParent); /* - * @description: 批量更新网体 - * @param: null null + * 批量更新网体 **/ void mergeCuMemberRangeExt(String rangeTableName, List cuMemberRangeExtList); /* - * @description: 批量更新网体 - * @param: null null + * 批量更新网体 **/ void mergeSecondCuMemberRangeExt(String secondTableName, List cuMemberRangeExtList); /* - * @description: 验证血缘部门 有多少个满足等级 - * @param: null null + * 验证血缘部门 有多少个满足等级 **/ Integer validateCuMemberPlaceAwards(String rangeTableName, List cuMemberRangeExtList, Integer pkRangeAwards, Date orderDate); /* - * @description: 验证血缘部门 有多少个满足等级 - * @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/ICuMemberTreeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java index 67b1c2ee..75407768 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 @@ -91,7 +91,6 @@ public interface ICuMemberTreeService extends IService { * 判断是否存在临时表 * * @param tableName 表名 - * @Description: * @return: void */ Integer queryExistOracleTable(String tableName); @@ -359,4 +358,12 @@ public interface ICuMemberTreeService extends IService { */ List listUpgradeAwards(String settleTableName, Integer awardsValue); + /** + * 更新日结复购考核 + * + * @param settleTableName + * @param assessTableName + */ + void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName); + } 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 d6ea1230..5e4706a3 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 @@ -12,9 +12,6 @@ import org.springframework.stereotype.Service; import java.util.*; -/** - * - */ @Service public class CuMemberRangeServiceImpl extends ServiceImpl implements ICuMemberRangeService { 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 ffd2d2dc..555a0e10 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 @@ -61,12 +61,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl { - /* - * 查询特殊品奖金配置 - **/ - List querySpecialWaresBonus(BdWaresBonusParam waresBonusParam); - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BdWaresBonusParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BdWaresBonusParam.java index a5d76aaf..7602faaf 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BdWaresBonusParam.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BdWaresBonusParam.java @@ -7,12 +7,7 @@ import java.math.BigDecimal; import java.util.List; /** - * @description: 商品奖金配置表 - * @author: sui q - * @time: 2024/11/7 09:46 - * @classname: BdWaresBonusParam - * @package_name: com.hzs.bonus.bonus.param - * version 1.0.0 + * 商品奖金配置表 */ @Data public class BdWaresBonusParam implements Serializable { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusService.java index 5f107f95..08bc0518 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBdWaresBonusService.java @@ -1,20 +1,11 @@ package com.hzs.bonus.bonus.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.bonus.bonus.param.BdWaresBonusParam; import com.hzs.common.domain.member.bonus.BdWaresBonus; -import com.hzs.common.domain.member.ext.BdWaresBonusExt; - -import java.util.List; /** * 特殊商品分配奖金 服务类 */ public interface IBdWaresBonusService extends IService { - /* - * 查询特殊品奖金配置 - **/ - List querySpecialWaresBonus(BdWaresBonusParam waresBonusParam); - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java index 8b8f1c1a..67a3af60 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java @@ -26,12 +26,7 @@ public interface IBonusSettleService { void calculateCuMemberBonus(String date, List saOrderExtList); /* - * @description: 根据订单实时计算奖衔 - **/ - void calculateCuMemberRangAwardsBySaOrder(String orderCode); - - /* - * @description: 4-n配置修改后,重算首购奖金 + * 4-n配置修改后,重算首购奖金 **/ void repeatCuMemberBonusByExpand(String settleDate, List saOrderExtList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusServiceImpl.java index 0c03cb53..fc6151d8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BdWaresBonusServiceImpl.java @@ -2,23 +2,14 @@ package com.hzs.bonus.bonus.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.bonus.mapper.BdWaresBonusMapper; -import com.hzs.bonus.bonus.param.BdWaresBonusParam; import com.hzs.bonus.bonus.service.IBdWaresBonusService; import com.hzs.common.domain.member.bonus.BdWaresBonus; -import com.hzs.common.domain.member.ext.BdWaresBonusExt; import org.springframework.stereotype.Service; -import java.util.List; - /** * 特殊商品分配奖金 服务实现类 */ @Service public class BdWaresBonusServiceImpl extends ServiceImpl implements IBdWaresBonusService { - @Override - public List querySpecialWaresBonus(BdWaresBonusParam waresBonusParam) { - return baseMapper.querySpecialWaresBonus(waresBonusParam); - } - } 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 6d96b645..823ace97 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 @@ -858,71 +858,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { return cuMemberBonusDetail; } - /** - * 计算报单服务费 - * 车奖 全球分红 有奖衔的会员,复购考核通过的,根据对应奖衔可拿代数配置拿下面代数的(推荐+拓展+领导+分红)奖金合计为基数的相应代数的比率(配置值) - * 跟领导奖一样的算法,不算启动卡 - * - * @param settleDateStr 结算日期 - * @param period 期间 - */ - List calculateShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, Map cuAwardsControlMap) { - List cuMemberBonusDetailList = new ArrayList<>(); - - Date settleDate = DateUtils.parseStringToDate(settleDateStr); - String currentFirstDate = DateUtils.currentMonthFirstDateStr(settleDate); - String beforeMonthLastDate = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, currentFirstDate); - // 查询上月最后一天 - Integer beforeMonthLastPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeMonthLastDate).getPkId(); - String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeMonthLastPeriod; - String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + beforeMonthLastPeriod; - // 查询上月第一天 - String beforeMonthFirstDate = DateUtils.beforeMonthFirstDateStr(settleDate); - Integer beforeMonthFirstPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeMonthFirstDate).getPkId(); - // 查询上月最后一天会员等级达到奖衔的会员 - Integer assessPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentFirstDate).getPkId(); - String assessTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(settleDateStr); - // 获取结算日期的第一天的日期 - // 查询复购考核结果 - List cuMemberSettleExtList = iCuMemberTreeService.queryMemberSettleByAwards(settleTableName, rangeTableName, beforeMonthFirstPeriod, beforeMonthLastPeriod); - if (CollectionUtil.isNotEmpty(cuMemberSettleExtList)) { - Map cuMemberAssessMap = iCuMemberAssessService.queryCuMemberAssessByMember(assessTableName, assessPeriod, EAssessmentType.REPURCHASE_ASSESS.getValue(), cuMemberSettleExtList); - for (CuMemberSettleExt targetMemberSettleExt : cuMemberSettleExtList) { - SaOrder saOrder = SaOrder.builder().pkId(0L).orderAchieve(BigDecimal.ZERO).build(); - saOrder.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrder, targetMemberSettleExt, cuMemberBonus); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIVIDEND_INCOME.getValue())); - // 获取计算比例,根据奖衔获取 - // 计算比例 - cuMemberBonusDetail.setCalAchieve(targetMemberSettleExt.getRealIncomeTotal()); - cuMemberBonusDetail.setCalValue(targetMemberSettleExt.getAbonusRatio()); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(targetMemberSettleExt.getRealIncomeTotal(), targetMemberSettleExt.getAbonusRatio())); - shareRemark(cuMemberBonusDetail, settleDateStr); - BdBonusDeduct bdBonusDeduct = bonusConfigDTO.getBonusDeductsMap().get(cuMemberBonusDetail.getPkBonusItems()); - cuMemberBonusDetail.setIncomeTax(BigDecimal.ZERO); - cuMemberBonusDetail.setRealIncome(ComputeUtil.computeSubtract(cuMemberBonusDetail.getPretaxIncome(), cuMemberBonusDetail.getIncomeTax())); - cuMemberBonusDetail.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); - cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); -// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus() -// && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { -// // 需要复购考核的 -// CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); -// if (cuMemberAssess == null) { -// cuMemberBonusDetail.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); -// } -// } - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setShareIncome(ComputeUtil.computeAdd(cuMemberBonus.getShareIncome(), cuMemberBonusDetail.getPretaxIncome())); - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - cuMemberBonusDetailList.add(cuMemberBonusDetail); - } - } - return cuMemberBonusDetailList; - } - void calculateCuMemberBloodAchieveByOrder(String settleTableName, Map cuMemberSettleExtMap, List firPurchaseOrderList, List repurchaseOrderList, List mallOrderList) { 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 deleted file mode 100644 index 8d18e59b..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ /dev/null @@ -1,690 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import com.hzs.bonus.achieve.service.ICuMemberRangeService; -import com.hzs.bonus.base.service.ICuMemberService; -import com.hzs.bonus.detail.service.ICuMemberAwardsService; -import com.hzs.common.core.constant.MagicNumberConstants; -import com.hzs.common.core.constant.TableNameConstants; -import com.hzs.common.core.enums.*; -import com.hzs.common.core.utils.ComputeUtil; -import com.hzs.common.domain.bonus.BdBonusDeduct; -import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt; -import com.hzs.common.domain.member.bonus.*; -import com.hzs.common.domain.member.detail.CuMemberAwards; -import com.hzs.common.domain.member.ext.BdWaresBonusExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.common.domain.sale.ext.SaOrderItemsExt; -import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.common.domain.system.config.BdRangeAwards; -import com.hzs.system.config.dto.BonusConfigDTO; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.util.*; - -/** - * 计算乐享极差收益 - */ -@Component -public class BonusSettleRangeHandle extends BonusSettleHandle { - - @Autowired - private ICuMemberRangeService iCuMemberRangeService; - @Autowired - private ICuMemberAwardsService iCuMemberAwardsService; - @Autowired - private ICuMemberService iCuMemberService; - - /** - * 实时计算当月奖衔 - */ - Map calculateCuMemberRangeAwardsByDay(SaOrderExt saOrderExt, List rangeAwardsList, String secondRangeTableName, int beforePeriod, int currentPeriod) { - String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + beforePeriod; - iCuMemberRangeService.mergeMemberSecondRangeByRange(rangeTableName, secondRangeTableName, saOrderExt.getPkMember()); - // 极差奖衔封装为2个treeMap - Map consumeRangeAwardsMap = new TreeMap<>(); - Map bloodRangeAwardsMap = new TreeMap<>(); - packageRangeAwardsByType(rangeAwardsList, consumeRangeAwardsMap, bloodRangeAwardsMap); - // 按照血缘,查询该会员所有伞上会员 - Map> parentRangeExtMap = iCuMemberRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember()); - Map memberRangeExtMap = getMemberSettle(parentRangeExtMap); - // 计算奖衔 - // 先算团队奖衔,计算完奖金后在计算消费奖衔,计算完奖衔计算奖金 - // 计算自消费奖衔 - CuMemberRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - CuMemberRangeExt targetMemberRangeExt = memberRangeExtMap.get(sourceMemberRangeExt.getPkParent()); - // 个人累计消费pv - sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - sourceMemberRangeExt.setNewPv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewPv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - // 个人月消费pv,当月会员且当月有消费,推荐有效数量+1 - if (sourceMemberRangeExt.getMonthMember() == EYesNo.YES.getIntValue() && ComputeUtil.compareEqual(sourceMemberRangeExt.getMonthPv(), BigDecimal.ZERO)) { - targetMemberRangeExt.setEffectiveNum(targetMemberRangeExt.getEffectiveNum() + 1); - targetMemberRangeExt.setNewEffectiveNum(targetMemberRangeExt.getNewEffectiveNum() + 1); - } - sourceMemberRangeExt.setMonthPv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthPv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - // 奖衔升级记录 - List cuMemberAwardsList = new ArrayList<>(); - // 消费奖衔 - cuMemberAwardsList.addAll(calculateConsumeRangeAwards(currentPeriod, parentRangeExtMap, memberRangeExtMap, rangeTableName, sourceMemberRangeExt, saOrderExt, consumeRangeAwardsMap)); - // 团队奖衔 - cuMemberAwardsList.addAll(calculateBloodRangeAwards(currentPeriod, parentRangeExtMap, memberRangeExtMap, rangeTableName, saOrderExt, bloodRangeAwardsMap, sourceMemberRangeExt.getPkParent(), secondRangeTableName)); - if (cuMemberAwardsList.size() > 0) { - iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList); - // 更新会员表,更新奖衔 - iCuMemberService.updateCuMemberRangeByPeriod(cuMemberAwardsList, currentPeriod); - } - return memberRangeExtMap; - } - - void calculateRangeEvBonus(Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, Integer period, Map memberRangeExtMap, List cuMemberBonusPushList, List bdWaresBonusExtList, SaOrderExt saOrderExt) { - CuMemberRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - if (ComputeUtil.compareValue(saOrderExt.getOrderAssAchieve(), BigDecimal.valueOf(15.625))) { - // 1= 自己购买了11单 2= 上3代拿 100 200 300 上3代各拿100 上11代各拿1100 - int specialWaresState = 0; - BdWaresBonusExt calWaresBonusExt = null; - for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) { - boolean flag = Boolean.FALSE; - if (bdWaresBonusExtList != null && bdWaresBonusExtList.size() > 0) { - for (BdWaresBonusExt bdWaresBonusExt : bdWaresBonusExtList) { - if (bdWaresBonusExt.getPkWares().equals(saOrderItemsExt.getPkWares())) { - specialWaresState = 2; - flag = Boolean.TRUE; - calWaresBonusExt = bdWaresBonusExt; - break; - } - } - } - if (flag) { - break; - } - } - if (specialWaresState > 0) { - sourceMemberRangeExt.setBuyEffectiveNum(sourceMemberRangeExt.getBuyEffectiveNum() + calWaresBonusExt.getTotalAlgebra()); - int algebra = 0; - for (BdWaresBonusItems bdWaresBonusItems : calWaresBonusExt.getBdWaresBonusItemsList()) { - CuMemberBonusPush cuMemberBonusPush = calculatePushBonusOne(sourceMemberRangeExt, memberRangeExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, - bdWaresBonusItems.getAlgebra() - algebra, bdWaresBonusItems.getAssAchieve(), cuMemberBonusPushList); - if (cuMemberBonusPush != null) { - sourceMemberRangeExt = memberRangeExtMap.get(cuMemberBonusPush.getPkBonus()); - algebra = bdWaresBonusItems.getAlgebra(); - } - } - } else { - sourceMemberRangeExt.setBuyEffectiveNum(sourceMemberRangeExt.getBuyEffectiveNum() + 1); - calculatePushBonusOne(sourceMemberRangeExt, memberRangeExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, - sourceMemberRangeExt.getBuyEffectiveNum(), saOrderExt.getOrderAssAchieve(), cuMemberBonusPushList); - } - } - } - - - private void packageRangeAwardsByType(List rangeAwardsList, Map consumeRangeAwardsMap, Map bloodRangeAwardsMap) { - for (BdRangeAwards bdRangeAwards : rangeAwardsList) { - if (ComputeUtil.compareValue(bdRangeAwards.getConsumePv())) { - consumeRangeAwardsMap.put(bdRangeAwards.getAwardsValue(), bdRangeAwards); - } - if (ComputeUtil.compareValue(bdRangeAwards.getTeamConsumeCheck())) { - bloodRangeAwardsMap.put(bdRangeAwards.getAwardsValue(), bdRangeAwards); - } - } - } - - /* - * 先计算奖衔,奖衔计算分为2种,先计算自己消费足够的,S1-S3,S4以上的另一种方式,自消费的只有购买人,其他的都是根据业绩,注意,有人可以直接是S4 - * 先验证团队业绩,小区业绩,验证小市场需要从上往下走 s1只能通过自消费,除了购买人其他人丛S2开始升级 - * 计算个人消费奖项 - **/ - public List calculateConsumeRangeAwards(Integer period, Map> parentRangeExtMap, Map memberRangeExtMap, String rangeTableName, - CuMemberRangeExt sourceMemberRangeExt, SaOrderExt saOrderExt, - Map consumeRangeAwardsMap) { - int rangeAwardsValue = 2; - List cuMemberAwardsList = new ArrayList<>(); - while (consumeRangeAwardsMap.containsKey(sourceMemberRangeExt.getRangeAwardsValue() + rangeAwardsValue)) { - // 验证pv是否满足 - BdRangeAwards bdRangeAwards = consumeRangeAwardsMap.get(sourceMemberRangeExt.getRangeAwardsValue() + rangeAwardsValue); - if (ComputeUtil.compareValue(sourceMemberRangeExt.getTeamConsumePv(), bdRangeAwards.getTeamConsumeCheck()) && - ComputeUtil.compareValue(sourceMemberRangeExt.getConsumePv(), bdRangeAwards.getConsumePv())) { - // 去结算表种查询该会员下所有会员,会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区、直推必有一种 - // 如果需要验证小区 - if (ComputeUtil.compareValue(bdRangeAwards.getCommunityCheck())) { - List cuMemberRangeExtList = iCuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, sourceMemberRangeExt.getPkMember(), saOrderExt.getPayTime()); - // 需要验证团队业绩,小区业绩 - if (calculateAwards(parentRangeExtMap, memberRangeExtMap, sourceMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, false)) { - break; - } - } - cuMemberAwardsList.add(getCuMemberAwards(sourceMemberRangeExt, period, saOrderExt, bdRangeAwards)); - sourceMemberRangeExt.setPkRangeAwards(bdRangeAwards.getPkId()); - sourceMemberRangeExt.setPkAwards(bdRangeAwards.getPkAwards()); - sourceMemberRangeExt.setRangeAwardsValue(bdRangeAwards.getAwardsValue()); - rangeAwardsValue += 2; - } else { - break; - } - } - // 当月有消费,修改为考核通过 - if (sourceMemberRangeExt.getMonthMember() == EYesNo.YES.getIntValue() && ComputeUtil.compareValue(sourceMemberRangeExt.getMonthPv())) { - sourceMemberRangeExt.setAssessStatus(EAssessStatus.EXAMINE_PASS.getValue()); - } - sourceMemberRangeExt.setConsumeStatus(EYesNo.YES.getIntValue()); - return cuMemberAwardsList; - } - - /* - * 计算团队极差奖衔 - **/ - public List calculateBloodRangeAwards(Integer period, Map> parentRangeExtMap, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, - Map bloodRangeAwardsMap, long pkParent, String secondRangeTableName) { - // 计算血缘奖衔,一级一级升级,分为2段,s2、s3 一级,s3以上一级,先验证团队总业绩, - // 小市场先验证目前小市场加新增是否满足,满足计算,不满足不计算,不满足小市场先累计,算小市场,每天最终计算完毕重新计算S1以上小市场 - List cuMemberAwardsList = new ArrayList<>(); - CuMemberRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - while (true) { - CuMemberRangeExt targetMemberRangeExt = memberRangeExtMap.get(pkParent); - if (targetMemberRangeExt == null) { - break; - } - // 无效会员不累计业绩,当月会员有消费,上月会员考核通过 - if (EYesNo.YES.getIntValue() == targetMemberRangeExt.getConsumeStatus()) { - targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), saOrderExt.getOrderAmount())); - targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), saOrderExt.getOrderAmount())); - targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - targetMemberRangeExt.setNewTeamPv(ComputeUtil.computeAdd(targetMemberRangeExt.getNewTeamPv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - - sourceMemberRangeExt.setDeptTeamConsumeAmount(ComputeUtil.computeAdd(sourceMemberRangeExt.getDeptTeamConsumeAmount(), saOrderExt.getOrderAmount())); - sourceMemberRangeExt.setDeptTeamConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getDeptTeamConsumePv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - sourceMemberRangeExt.setDeptTeamMonthAmount(ComputeUtil.computeAdd(sourceMemberRangeExt.getDeptTeamMonthAmount(), saOrderExt.getOrderAmount())); - sourceMemberRangeExt.setDeptTeamMonthPv(ComputeUtil.computeAdd(sourceMemberRangeExt.getDeptTeamMonthPv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - sourceMemberRangeExt.setDeptNewTeamPv(ComputeUtil.computeAdd(sourceMemberRangeExt.getDeptNewTeamPv(), ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve()))); - } - if (targetMemberRangeExt.getAssessStatus() == EAssessStatus.EXAMINE_PASS.getValue()) { - int rangeAwardsValue = 2; - while (bloodRangeAwardsMap.containsKey(targetMemberRangeExt.getRangeAwardsValue() + rangeAwardsValue)) { - // 验证pv是否满足 - BdRangeAwards bdRangeAwards = bloodRangeAwardsMap.get(targetMemberRangeExt.getRangeAwardsValue() + rangeAwardsValue); - if (ComputeUtil.compareValue(targetMemberRangeExt.getTeamConsumePv(), bdRangeAwards.getTeamConsumeCheck())) { - // 去结算表种查询该会员下所有会员,会员团队业绩+消费业绩是业绩 计算小区业绩 团队业绩-小区业绩 验证小区、直推必有一种 - List cuMemberRangeExtList; - if (secondRangeTableName != null) { - cuMemberRangeExtList = iCuMemberRangeService.querySecondCuMemberRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); - } else { - cuMemberRangeExtList = iCuMemberRangeService.queryCuMemberRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember(), saOrderExt.getPayTime()); - } - if (cuMemberRangeExtList.size() > 0) { - if (calculateAwards(parentRangeExtMap, memberRangeExtMap, targetMemberRangeExt, bdRangeAwards, cuMemberRangeExtList, true)) { - break; - } - // 验证血缘部门,需要有几个部门大于考核等级,数据库验证一次, - // 当日的实时奖衔,这个位置直接在会员表中计算就可以 - if (bdRangeAwards.getPlaceNum() > 0) { - if (secondRangeTableName != null) { - iCuMemberRangeService.mergeSecondCuMemberRangeExt(secondRangeTableName, parentRangeExtMap.get(targetMemberRangeExt.getPkMember())); - // 验证 - Integer placeNum = iCuMemberRangeService.validateSecondCuMemberPlaceAwards(secondRangeTableName, cuMemberRangeExtList, bdRangeAwards.getCheckAwards()); - if (bdRangeAwards.getPlaceNum() > placeNum) { - break; - } - } else { - // 更新网体,更新伞下 - iCuMemberRangeService.mergeCuMemberRangeExt(rangeTableName, parentRangeExtMap.get(targetMemberRangeExt.getPkMember())); - // 验证 - Integer placeNum = iCuMemberRangeService.validateCuMemberPlaceAwards(rangeTableName, cuMemberRangeExtList, bdRangeAwards.getCheckAwards(), saOrderExt.getPayTime()); - if (bdRangeAwards.getPlaceNum() > placeNum) { - break; - } - } - } - } - cuMemberAwardsList.add(getCuMemberAwards(targetMemberRangeExt, period, saOrderExt, bdRangeAwards)); - targetMemberRangeExt.setPkRangeAwards(bdRangeAwards.getPkId()); - targetMemberRangeExt.setPkAwards(bdRangeAwards.getPkAwards()); - targetMemberRangeExt.setRangeAwardsValue(bdRangeAwards.getAwardsValue()); - rangeAwardsValue += 2; - continue; - } - break; - } - } - pkParent = targetMemberRangeExt.getPkParent(); - sourceMemberRangeExt = targetMemberRangeExt; - } - return cuMemberAwardsList; - } - - /* - * 计算奖衔,验证小区业绩和推荐数量是否满足 - **/ - private boolean calculateAwards(Map> parentRangeExtMap, Map memberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BdRangeAwards bdRangeAwards, List cuMemberRangeExtList, Boolean isRecommend) { - BigDecimal bigAreaPv = BigDecimal.ZERO; - Integer recommendNum = 0; - for (CuMemberRangeExt cuMemberRangeExt : cuMemberRangeExtList) { - if (parentRangeExtMap.containsKey(cuMemberRangeExt.getPkParent())) { - parentRangeExtMap.get(cuMemberRangeExt.getPkParent()).add(cuMemberRangeExt); - } else { - List memberRangeExtList = new ArrayList<>(); - memberRangeExtList.add(cuMemberRangeExt); - parentRangeExtMap.put(cuMemberRangeExt.getPkParent(), memberRangeExtList); - } - if (memberRangeExtMap.containsKey(cuMemberRangeExt.getPkMember())) { - cuMemberRangeExt = memberRangeExtMap.get(cuMemberRangeExt.getPkMember()); - } - // 团队业绩+个人业绩 - BigDecimal validatePv = ComputeUtil.computeAdd(cuMemberRangeExt.getDeptTeamConsumePv(), cuMemberRangeExt.getConsumePv()); - if (ComputeUtil.compareValue(validatePv, bigAreaPv)) { - bigAreaPv = validatePv; - } - // 有效的,等级满足的算推荐数量、验证部门数量的 需要走语句 - if (cuMemberRangeExt.getAssessStatus() == EAssessStatus.EXAMINE_PASS.getValue() && bdRangeAwards.getCheckAwards() <= cuMemberRangeExt.getPkRangeAwards()) { - recommendNum += 1; - } - } - // 小区业绩 - BigDecimal communityCheck = ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), bigAreaPv); - // 验证小区,验证失败 - if (ComputeUtil.compareGreaterThan(bdRangeAwards.getCommunityCheck(), communityCheck)) { - return true; - } - // 验证推荐 - return isRecommend && bdRangeAwards.getRecommendNum() > recommendNum; - } - - /* - * 计算幸运奖,先计算有效代数,所有有效代数均分,比例10% - **/ - CuMemberBonusCoach calculateLuckPushBonus(Map memberRangeExtMap, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, - Integer period, SaOrderExt saOrderExt) { - CuMemberRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - long pkParent = sourceMemberRangeExt.getPkParent(); - // 计算代数 - while (true) { - CuMemberRangeExt targetMemberRangeExt = memberRangeExtMap.get(pkParent); - if (targetMemberRangeExt == null) { - break; - } - pkParent = targetMemberRangeExt.getPkParent(); - if (ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus()) { - continue; - } - // 验证推荐有效代数是否大于当前代数 - if (targetMemberRangeExt.getEffectiveNum() >= 1 && EAssessStatus.EXAMINE_PASS.getValue() == targetMemberRangeExt.getAssessStatus()) { - getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), - targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate()); - CuMemberBonusCoach cuMemberBonusCoach = getCuMemberBonusCoach(bonusConfigDTO, saOrderExt, 1, targetMemberRangeExt); - BigDecimal bonusRatio = BigDecimal.valueOf(10); - cuMemberBonusCoach.setCoachGeneration(1); - cuMemberBonusCoach.setCalValue(bonusRatio); - cuMemberBonusCoach.setPretaxIncome(ComputeUtil.computeBonusMultiply(cuMemberBonusCoach.getCalAchieve(), bonusRatio)); - CuMemberBonus cuMemberBonus = cuMemberBonusMap.get(cuMemberBonusCoach.getPkBonus()); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - coachRangeRemark(saOrderExt, cuMemberBonusCoach, sourceMemberRangeExt, targetMemberRangeExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus()) { - cuMemberBonus.setCloudDirectIncome(ComputeUtil.computeAdd(cuMemberBonus.getCloudDirectIncome(), cuMemberBonusCoach.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusCoach); - } - return cuMemberBonusCoach; - } - } - return null; - } - - /* - * 计算极差收益,根据极差收益计算平级收益 - **/ - List calculateRangeBonus(Map memberRangeExtMap, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, - Integer period, SaOrderExt saOrderExt, List rangeAwardsList, List cuMemberBonusDetailList) { - List memberBonusRangeList = new ArrayList<>(); - // 用等级计算,按照一级级算 - BigDecimal bonusRatio = BigDecimal.ZERO; - CuMemberRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - long pkParent = sourceMemberRangeExt.getPkParent(); - int i = 0; - boolean storeFlag = Boolean.TRUE; - // 计算极差 - while (true) { - CuMemberRangeExt targetMemberRangeExt = memberRangeExtMap.get(pkParent); - if (targetMemberRangeExt == null) { - break; - } - pkParent = targetMemberRangeExt.getPkParent(); - if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() || - ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || - EAssessStatus.EXAMINE_PASS.getValue() != targetMemberRangeExt.getAssessStatus()) { - continue; - } - // 计算店铺收益 - if (storeFlag && targetMemberRangeExt.getRangeStoreStatus() == 2) { - cuMemberBonusDetailList.add(calculateRangeStoreBonusOne(memberRangeExtMap, targetMemberRangeExt, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt)); - storeFlag = Boolean.FALSE; - } - for (int j = i; j < rangeAwardsList.size(); j++) { - BdRangeAwards bdRangeAwards = rangeAwardsList.get(j); - if (targetMemberRangeExt.getPkRangeAwards().equals(bdRangeAwards.getPkId())) { - bonusRatio = ComputeUtil.computeSubtract(bdRangeAwards.getRangeRatio(), bonusRatio); - if (ComputeUtil.compareValue(bonusRatio)) { - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), - targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate()); - int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.CLOUD_AGENT_FIRST_PURCHASE.getValue()); - CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); - cuMemberBonusRange.setCalValue(bonusRatio); - cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), bonusRatio)); - cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkRangeAwards()); - cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkRangeAwards()); - cuMemberBonusRange.setPkOrderItems(0L); - rangeRemark(saOrderExt, cuMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) { - cuMemberBonus.setCloudPurIncome(ComputeUtil.computeAdd(cuMemberBonus.getCloudPurIncome(), cuMemberBonusRange.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); - } - memberBonusRangeList.add(cuMemberBonusRange); - bonusRatio = bdRangeAwards.getRangeRatio(); - sourceMemberRangeExt = targetMemberRangeExt; - } - j++; - i = j; - break; - } - } - if (i >= rangeAwardsList.size()) { - break; - } - } - // 根据极差奖金计算平级奖金 - List memberOrdBonusRangeList = new ArrayList<>(); - for (CuMemberBonusRange cuMemberBonusRange : memberBonusRangeList) { - sourceMemberRangeExt = memberRangeExtMap.get(cuMemberBonusRange.getPkBonus()); - pkParent = sourceMemberRangeExt.getPkParent(); - // 拿2次平级 - int oriLevel = 0; - while (true) { - CuMemberRangeExt targetMemberRangeExt = memberRangeExtMap.get(pkParent); - if (targetMemberRangeExt == null) { - break; - } - pkParent = targetMemberRangeExt.getPkParent(); - if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() || - ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || - EAssessStatus.EXAMINE_PASS.getValue() != targetMemberRangeExt.getAssessStatus()) { - continue; - } - if (oriLevel < 2) { - if (targetMemberRangeExt.getPkRangeAwards().equals(sourceMemberRangeExt.getPkRangeAwards())) { - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), - targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate()); - int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.CLOUD_AGENT_REPURCHASE.getValue()); - CuMemberBonusRange oriMemberBonusRange = getCuMemberBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); - oriMemberBonusRange.setCalAchieve(cuMemberBonusRange.getPretaxIncome()); - oriMemberBonusRange.setCalValue(BigDecimal.valueOf(10)); - oriMemberBonusRange.setPretaxIncome(ComputeUtil.computeBonusMultiply(oriMemberBonusRange.getCalAchieve(), oriMemberBonusRange.getCalValue())); - oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkRangeAwards()); - oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkRangeAwards()); - oriMemberBonusRange.setPkOrderItems(0L); - oriRangeRemark(saOrderExt, oriMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, oriMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (EBonusIncomeStatus.NORMAL.getValue() == oriMemberBonusRange.getIncomeStatus()) { - cuMemberBonus.setCloudRepurIncome(ComputeUtil.computeAdd(cuMemberBonus.getCloudRepurIncome(), oriMemberBonusRange.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, oriMemberBonusRange); - } - memberOrdBonusRangeList.add(oriMemberBonusRange); - oriLevel++; - } - } else { - break; - } - } - } - if (memberOrdBonusRangeList.size() > 0) { - memberBonusRangeList.addAll(memberOrdBonusRangeList); - } - return memberBonusRangeList; - } - - /** - * 计算某条订单的推荐奖金 - */ - CuMemberBonusPush calculatePushBonusOne(CuMemberRangeExt sourceMemberRangeExt, Map cuMemberRangeExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, - SaOrderExt saOrderExt, int algebra, BigDecimal orderAssAchieve, List cuMemberBonusPushList) { - if (sourceMemberRangeExt == null) { - return null; - } - if (algebra >= 12) { - return null; - } - long pkParent = sourceMemberRangeExt.getPkParent(); - int i = 1; - while (true) { - CuMemberRangeExt targetMemberRangeExt = cuMemberRangeExtMap.get(pkParent); - if (targetMemberRangeExt == null) { - break; - } - pkParent = targetMemberRangeExt.getPkParent(); - if (i < algebra) { - i++; - continue; - } - // 死点没有奖金,自身没有购买没有奖金 - if (ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() || - targetMemberRangeExt.getBuyEffectiveNum() <= 0 || EAssessStatus.EXAMINE_PASS.getValue() != targetMemberRangeExt.getAssessStatus()) { - // 记录烧伤记录 - targetMemberRangeExt.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.HELP_EACH_INCOME.getValue())) { - continue; - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), - targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate()); - // 直推奖金明细 - int pkBonusItem = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.HELP_EACH_INCOME.getValue()); - CuMemberBonusPush cuMemberBonusPush = getCuMemberBonusPush(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItem); - cuMemberBonusPush.setCalType(ECalType.VALUE.getValue()); - // 前2代买的有特殊规则 - if (algebra == 1) { - // 第一代前三单需要自购一单,从第四单开始需要自动二单,需要验证是否买了第二单 - if (targetMemberRangeExt.getFirstAgent() >= 3 && targetMemberRangeExt.getBuyEffectiveNum() <= 1) { - continue; - } - targetMemberRangeExt.setFirstAgent(targetMemberRangeExt.getFirstAgent() + 1); - cuMemberBonusPush.setSecond(targetMemberRangeExt.getFirstAgent()); - } else if (algebra == 2) { - if (targetMemberRangeExt.getSecondAgent() < 3 && targetMemberRangeExt.getBuyEffectiveNum() <= 1) { - continue; - } else if (targetMemberRangeExt.getSecondAgent() >= 3 && targetMemberRangeExt.getBuyEffectiveNum() <= 2) { - continue; - } - targetMemberRangeExt.setSecondAgent(targetMemberRangeExt.getSecondAgent() + 1); - cuMemberBonusPush.setSecond(targetMemberRangeExt.getSecondAgent()); - } else { - if (targetMemberRangeExt.getBuyEffectiveNum() < algebra) { - continue; - } - cuMemberBonusPush.setSecond(-1); - } - cuMemberBonusPush.setRound(algebra); - cuMemberBonusPush.setCalAchieve(orderAssAchieve); - cuMemberBonusPush.setCalValue(BigDecimal.ONE); - cuMemberBonusPush.setPretaxIncome(orderAssAchieve); - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - recommendRangeRemark(saOrderExt, cuMemberBonusPush, cuMemberRangeExtMap, targetMemberRangeExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusPush.getIncomeStatus()) { - cuMemberBonus.setRepurPushIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurPushIncome(), cuMemberBonusPush.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusPush); - } - cuMemberBonusPushList.add(cuMemberBonusPush); - if (targetMemberRangeExt.getIncomeStatus() == EBonusIncomeStatus.NORMAL.getValue()) { - return cuMemberBonusPush; - } else { - cuMemberBonusPush.setSecond(-1); - } - } - return null; - } - - /** - * 计算服务中心奖 - */ - CuMemberBonusDetail calculateRangeStoreBonusOne(Map cuMemberRangeExtMap, CuMemberRangeExt targetMemberRangeExt, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, SaOrderExt saOrderExt) { - CuMemberRangeExt sourceMemberRangeExt = cuMemberRangeExtMap.get(saOrderExt.getPkMember()); - if (targetMemberRangeExt == null || ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() || - EAssessStatus.EXAMINE_PASS.getValue() != targetMemberRangeExt.getAssessStatus()) { - return null; - } - // 验证是否有奖金 - if (validatePkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.STORE_INCOME.getValue())) { - return null; - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), - targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate()); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, targetMemberRangeExt, cuMemberBonus); - BigDecimal serviceRadio = BigDecimal.valueOf(5); - // 计算比例 - cuMemberBonusDetail.setCalValue(serviceRadio); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.STORE_INCOME.getValue())); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(cuMemberBonusDetail.getCalAchieve(), serviceRadio)); - // 收益占比 - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - rangeServiceRemark(saOrderExt, cuMemberBonusDetail, sourceMemberRangeExt, targetMemberRangeExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setStoreIncome(ComputeUtil.computeAdd(cuMemberBonus.getStoreIncome(), cuMemberBonusDetail.getPretaxIncome())); - setCloudTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - return cuMemberBonusDetail; - } - - CuMemberBonusPush getCuMemberBonusPush(SaOrderExt saOrderExt, CuMemberRangeExt cuMemberRangeExt, CuMemberBonus cuMemberBonus, Integer pkBonusItems) { - CuMemberBonusPush cuMemberBonusPush = CuMemberBonusPush.builder() - .pkOrder(saOrderExt.getPkId()) - .pkBonus(cuMemberBonus.getPkId()) - .pkBonusItems(pkBonusItems) - // 正常还是烧伤 - .incomeStatus(cuMemberRangeExt.getIncomeStatus()) - .calType(ECalType.RATIO.getValue()) - .pretaxIncome(BigDecimal.ZERO) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .round(-1) - .second(-1) - .build(); - cuMemberBonusPush.setPkCountry(cuMemberRangeExt.getPkSettleCountry()); - cuMemberBonusPush.setPkCreator(MagicNumberConstants.PK_ADMIN); - return cuMemberBonusPush; - } - - protected CuMemberBonusCoach getCuMemberBonusCoach(BonusConfigDTO bonusConfigDTO, SaOrderExt saOrderExt, - int i, CuMemberRangeExt targetMemberRangeExt) { - CuMemberBonusCoach cuMemberBonusCoach = CuMemberBonusCoach.builder() - .pkBonus(targetMemberRangeExt.getPkMember()) - .pkOrder(saOrderExt.getPkId()) - .pkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.CLOUD_AGENT_DIRECT_PUSH.getValue())) - .calType(ECalType.RATIO.getValue()) - .incomeStatus(targetMemberRangeExt.getIncomeStatus()) - .calAchieve(saOrderExt.getOrderAchieve()) - .currentGeneration(i) - // 计算比例 - .calValue(BigDecimal.ZERO) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .pretaxIncome(BigDecimal.ZERO) - .coachNoCapping(BigDecimal.ZERO) - .coachCapping(BigDecimal.ZERO) - .coachNormalHalf(BigDecimal.ZERO) - .coachNormalReal(BigDecimal.ZERO) - .build(); - cuMemberBonusCoach.setPkCountry(targetMemberRangeExt.getPkSettleCountry()); - cuMemberBonusCoach.setPkCreator(MagicNumberConstants.PK_ADMIN); - return cuMemberBonusCoach; - } - - private CuMemberBonusRange getCuMemberBonusRange(SaOrderExt saOrderExt, CuMemberRangeExt targetMemberRangeExt, - CuMemberBonus cuMemberBonus, Integer pkBonusItems) { - CuMemberBonusRange cuMemberBonusRange = CuMemberBonusRange.builder() - .pkOrder(saOrderExt.getPkId()) - .pkBonus(cuMemberBonus.getPkId()) - .pkBonusItems(pkBonusItems) - // 正常还是烧伤 - .incomeStatus(targetMemberRangeExt.getIncomeStatus()) - .calType(ECalType.VALUE.getValue()) - .calAchieve(saOrderExt.getOrderAchieve()) - .calValue(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .build(); - cuMemberBonusRange.setPkCountry(targetMemberRangeExt.getPkSettleCountry()); - cuMemberBonusRange.setPkCreator(MagicNumberConstants.PK_ADMIN); - return cuMemberBonusRange; - } - - /** - * @param memberRangeMap 查询出来的结算数据 - * 记录需要修改的会员结算表数据, 安置的 - */ - private Map getMemberSettle(Map> memberRangeMap) { - Map memberRangeExtMap = new HashMap<>(); - memberRangeMap.forEach((key, memberRangeExtList) -> { - memberRangeExtList.forEach(cuMemberSettleExt -> { - if (!memberRangeExtMap.containsKey(cuMemberSettleExt.getPkMember())) { - memberRangeExtMap.put(cuMemberSettleExt.getPkMember(), cuMemberSettleExt); - } else { - CuMemberRangeExt cuMemberRangeExt = memberRangeExtMap.get(cuMemberSettleExt.getPkMember()); - if (cuMemberRangeExt.getNewTeamPv() == null) { - cuMemberRangeExt.setNewTeamPv(BigDecimal.ZERO); - } - } - }); - }); - return memberRangeExtMap; - } - - private CuMemberAwards getCuMemberAwards(CuMemberRangeExt sourceRangeExt, Integer period, SaOrderExt saOrderExt, BdRangeAwards bdRangeAwards) { - CuMemberAwards cuMemberAwards = CuMemberAwards.builder() - .pkMember(sourceRangeExt.getPkMember()) - .period(period) - .upType(EUpgradeType.AUTO_UPGRADE.getValue()) - // 原等级 - .oldLevel(sourceRangeExt.getPkRangeAwards()) - .newLevel(bdRangeAwards.getPkId()) - // 默认不免考 - .purchaseStatus(EYesNo.NO.getIntValue()) - .pkOrder(saOrderExt.getPkId()) - .build(); - cuMemberAwards.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuMemberAwards.setPkCountry(saOrderExt.getPkCountry()); - cuMemberAwards.setCreationTime(saOrderExt.getPayTime()); - return cuMemberAwards; - } - - /** - * @param saOrderExt 订单 - * @param targetMemberRangeExt 奖金网体 - * @param cuMemberBonus 奖金主表 - * 奖金明细 报单服务费、分红、云代首购、云代复购、海豆收益 - * @return: CuMemberBonusDetail - */ - private CuMemberBonusDetail getCuMemberBonusDetail(SaOrder saOrderExt, CuMemberRangeExt targetMemberRangeExt, CuMemberBonus cuMemberBonus) { - CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder() - .pkOrder(saOrderExt.getPkId()) - .calType(ECalType.RATIO.getValue()) - .incomeStatus(targetMemberRangeExt.getIncomeStatus()) - .calAchieve(ComputeUtil.computeAdd(saOrderExt.getOrderAchieve(), saOrderExt.getOrderAssAchieve())) - .pkBonus(cuMemberBonus.getPkId()) - .pretaxIncome(BigDecimal.ZERO) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .build(); - cuMemberBonusDetail.setPkCountry(targetMemberRangeExt.getPkSettleCountry()); - cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); - return cuMemberBonusDetail; - } -} 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 a33bb7f7..1ba54893 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 @@ -5,24 +5,22 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.hzs.bonus.achieve.param.MemberAchieveParam; import com.hzs.bonus.achieve.service.ICuMemberAchieveService; -import com.hzs.bonus.achieve.service.ICuMemberRangeService; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.base.service.ICuAwardsControlService; 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.service.*; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; import com.hzs.bonus.bonus.vo.MemberBonusDetailCalVO; +import com.hzs.bonus.detail.service.ICuMemberAssessService; import com.hzs.bonus.detail.service.ICuMemberAwardsService; import com.hzs.bonus.risk.service.ICuMemberRiskControlService; import com.hzs.bonus.swing.service.ICuMemberSwingNetLogService; import com.hzs.common.core.config.BdConfig; import com.hzs.common.core.constant.BonusFieldConstants; import com.hzs.common.core.constant.CountryConstants; -import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.TableNameConstants; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; @@ -31,12 +29,10 @@ import com.hzs.common.core.utils.reflect.ReflectUtils; import com.hzs.common.domain.bonus.risk.CuMemberRiskControl; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; -import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt; import com.hzs.common.domain.member.base.CuAwardsControl; import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.bonus.*; import com.hzs.common.domain.member.detail.CuMemberAchieveLog; -import com.hzs.common.domain.member.ext.BdWaresBonusExt; import com.hzs.common.domain.member.ext.CuBonusExpandExt; import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.ext.CuMemberSettleExt; @@ -45,7 +41,6 @@ import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt; import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdGrade; -import com.hzs.common.domain.system.config.BdRangeAwards; import com.hzs.member.base.IMemberServiceApi; import com.hzs.sale.order.ISaOrderServiceApi; import com.hzs.system.base.ISystemConfigServiceApi; @@ -107,8 +102,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private ICuMemberRepeatBonusService iCuMemberRepeatBonusService; @Autowired - private IBdWaresBonusService iBdWaresBonusService; - @Autowired private ICuBonusExpandService iCuBonusExpandService; @Autowired private ICuMemberBonusService iCuMemberBonusService; @@ -123,16 +116,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private ICuMemberBonusRangeService iCuMemberBonusRangeService; @Autowired - private ICuMemberRangeService iCuMemberRangeService; - @Autowired private ICuMemberRiskControlService iCuMemberRiskControlService; @Autowired private ICuMemberBonusDelayService iCuMemberBonusDelayService; @Autowired private ICuMemberBonusDelayDetailService iCuMemberBonusDelayDetailService; @Autowired - private BonusSettleRangeHandle bonusSettleRangeHandle; - @Autowired private BonusSettleFirstPurchaseHandle bonusSettleFirstPurchaseHandle; @Autowired private BonusSettlePurchaseHandle bonusSettlePurchaseHandle; @@ -142,6 +131,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { private BonusSettleRepCouponsHandle bonusSettleRepCouponsHandle; @Autowired private BonusSettleMallHandle bonusSettleMallHandle; + @Autowired + private ICuMemberAssessService iCuMemberAssessService; // 新拓展处理时间 private final String newExpandDate = "2025-06-01"; @@ -400,26 +391,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { iCuMemberTreeService.updateCuMemberSecondPlaceParent(secondTableName, settleTableName, yesSettleTableName, saOrderExt.getPkMember(), memberList, EYesNo.YES.getIntValue()); } - /** - * 保存会员奖金 - * - * @param cuMemberBonusMap 奖金map - * @return: CuMemberBonus 奖金 - */ - protected void saveCuMemberBonus(int period, String settleDate, Map cuMemberBonusMap) { - // 保存奖金 - List cuMemberBonusList = setCuMemberBonusSeq(settleDate, cuMemberBonusMap); - // 插入奖金主表 - iCuMemberBonusService.insertOrUpdateCuMemberBonus(cuMemberBonusList); - List cuMemberBonuses = iCuMemberBonusService.queryCuMemberBonus(period, cuMemberBonusList); - cuMemberBonuses.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus)); - } - /** * 每日计算会员奖金,最终的奖金 */ - @Override @Transactional(rollbackFor = Exception.class) + @Override public void calculateCuMemberBonus(String settleDate, List saOrderExtList) { try { // 今天期间 @@ -427,8 +403,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 会员结算日表(cu_member_settle) + 期间 String currentSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; - // 昨日期间 String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); + // 昨日期间 Integer yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); // 查询日期-1的网体数据,从日历史表中获得 @@ -437,6 +413,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 将结算日昨日业绩数据 迁移到 网体业绩历史记录结算表(cu_member_settle) iCuMemberTreeService.initCuMemberTreeTable(yesterdayTableName, currentSettleTableName); + // 处理复购考核数据(见点收益) -- 新会员当月、次月免考,本月从复购订单下单时间开始 + iCuMemberAssessService.initMemberAssess(settleDate, currentSettleTableName); + // 国家奖衔map Map awardsMap = iAwardsServiceApi.getAwards().getData(); // 等级map @@ -555,18 +534,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // calculateShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap, cuAwardsControlMap); // } -// // 计算店铺奖金 -// if (settleDate.endsWith("10")) { -// calculateStoreOrder(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); -// } -// // 计算实际分红奖金 -// if (settleDate.endsWith("10")) { -// calculateShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); -// } -// // 计算全球积分、车奖积分 -// // 环球积分和车奖积分的规则。有荣衔,复购考核通过的10代不压缩,以推荐+拓展+领导+分红为合计基数,获取对应比例,比例根据参数配置 -// calculateGlobalCarBonus(cuMemberSettleExtMap, currentSettleTableName, settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); - // 保存当日计算的奖金等 insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO); // 处理血缘业绩,统计伞下直推 @@ -587,8 +554,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 迁移网体数据到月表(会员网体月表、会员业绩月表) iCuMemberTreeService.insertCuMemberTreeBySettleDate(settleDate, currentSettleTableName, period); - // 计算完当日奖金后,根据业绩计算下月奖衔 + // 计算完当日奖金后,处理下月表初始化 Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); + // 结算日期的后一天 String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate); if (afterDate.endsWith("01")) { // new 不是月奖衔,每月初不更新(月度级差奖衔需要去掉) @@ -601,9 +569,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // iCuMemberTreeService.updateCuMemberAwardsBySettle(currentSettleTableName, rangeTableName, startPeriod, period); // 结算每月月末那一天,都是先删除,在新增,重新考核 - iCuMemberTreeService.initCuMemberAssessData(settleDate); +// iCuMemberTreeService.initCuMemberAssessData(settleDate); // 更新奖衔考核结果 - iCuMemberAwardsService.updateCuMemberAwardsExamine(currentDate, period); +// iCuMemberAwardsService.updateCuMemberAwardsExamine(currentDate, period); // 生成月表(cu_member_month) String monthTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(afterDate); @@ -624,59 +592,19 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } } - @Override - @Transactional(rollbackFor = Exception.class) - public void calculateCuMemberRangAwardsBySaOrder(String orderCode) { - Map cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); - SaOrderExt saOrderExt = iSaOrderServiceApi.querySaOrderByDay(DateUtils.currentDate(), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData(); - if (saOrderExt != null) { - // 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从cu_member中获取网体,从昨日结算表中获取累计、结余数据 - String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrderExt.getPayTime()); - String beforeDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, saOrderExt.getPayTime())); - int currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); - int beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); - List rangeAwardsList = iAwardsServiceApi.queryRangeAwards().getData(); - String secondRangeTableName = TableNameConstants.CU_MEMBER_RANGE_S + currentPeriod; - Map memberRangeExtMap = bonusSettleRangeHandle.calculateCuMemberRangeAwardsByDay(saOrderExt, rangeAwardsList, secondRangeTableName, beforePeriod, currentPeriod); - List cuMemberBonusDetailList = new ArrayList<>(); - List cuMemberBonusPushList = new ArrayList<>(); - List cuMemberBonusCoachList = new ArrayList<>(); - // 计算奖金,幸运收益、极差收益、平级收益 - CuMemberBonusCoach cuMemberBonusCoach = bonusSettleRangeHandle.calculateLuckPushBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, currentPeriod, saOrderExt); - if (cuMemberBonusCoach != null) { - cuMemberBonusCoachList.add(cuMemberBonusCoach); - } - List cuMemberBonusRangeList = new ArrayList<>(bonusSettleRangeHandle.calculateRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, currentPeriod, saOrderExt, rangeAwardsList, cuMemberBonusDetailList)); - List bdWaresBonusExtList = iBdWaresBonusService.querySpecialWaresBonus(new BdWaresBonusParam()); - bonusSettleRangeHandle.calculateRangeEvBonus(cuMemberBonusMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusPushList, bdWaresBonusExtList, saOrderExt); - saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap); - if (cuMemberBonusPushList.size() > 0) { - for (CuMemberBonusPush cuMemberBonusPush : cuMemberBonusPushList) { - cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId()); - iCuMemberBonusPushService.insertCuMemberBonusPush(cuMemberBonusPush); - } - } - Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(currentPeriod); - if (cuMemberBonusCoachList.size() > 0) { - cuMemberBonusCoachList.forEach(cuMemberBonusCoach1 -> - cuMemberBonusCoach1.setPkBonus(cuMemberBonusMap.get(cuMemberBonusCoach1.getPkBonus()).getPkId())); - iCuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet); - } - if (cuMemberBonusRangeList.size() > 0) { - cuMemberBonusRangeList.forEach(cuMemberBonusRange -> - cuMemberBonusRange.setPkBonus(cuMemberBonusMap.get(cuMemberBonusRange.getPkBonus()).getPkId())); - iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); - } - if (cuMemberBonusDetailList.size() > 0) { - cuMemberBonusDetailList.forEach(bonusDetail -> - bonusDetail.setPkBonus(cuMemberBonusMap.get(bonusDetail.getPkBonus()).getPkId())); - iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); - } - if (memberRangeExtMap.size() > 0) { - iCuMemberRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap); - } - } + /** + * 保存会员奖金 + * + * @param cuMemberBonusMap 奖金map + * @return: CuMemberBonus 奖金 + */ + protected void saveCuMemberBonus(int period, String settleDate, Map cuMemberBonusMap) { + // 保存奖金 + List cuMemberBonusList = setCuMemberBonusSeq(settleDate, cuMemberBonusMap); + // 插入奖金主表 + iCuMemberBonusService.insertOrUpdateCuMemberBonus(cuMemberBonusList); + List cuMemberBonuses = iCuMemberBonusService.queryCuMemberBonus(period, cuMemberBonusList); + cuMemberBonuses.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus)); } @Override @@ -829,6 +757,14 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } } + private Map getWeekMemberBonusMap(String settleDate, Integer period) { + // 根据结算日期获取周期的期间,用于海外 + String recentlyMonday = DateUtils.getRecentlyTuesday(settleDate); + CuMemberSettlePeriod startMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(recentlyMonday); + // 查询封顶周期是周的国家的所有人的拓展收益、复购拓展收益 + return iCuMemberBonusService.queryWeekMemberBonus(startMemberSettlePeriod.getPkId(), period); + } + /** * 根据不同的订单类型计算奖金 * @@ -911,14 +847,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { }); } - private Map getWeekMemberBonusMap(String settleDate, Integer period) { - // 根据结算日期获取周期的期间,用于海外 - String recentlyMonday = DateUtils.getRecentlyTuesday(settleDate); - CuMemberSettlePeriod startMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(recentlyMonday); - // 查询封顶周期是周的国家的所有人的拓展收益、复购拓展收益 - return iCuMemberBonusService.queryWeekMemberBonus(startMemberSettlePeriod.getPkId(), period); - } - private Map getCuAwardsControlMap() { // 查询真实奖衔控制 List cuAwardsControls = iCuAwardsControlService.queryAllCuAwardsControl(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java index 8bf7aa3f..37423210 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java @@ -11,17 +11,13 @@ import java.util.List; /** * 会员信息-会员考核记录 Mapper 接口 - * - * @author hzs - * @since 2022-08-31 */ public interface CuMemberAssessMapper extends BaseMapper { /** - * 创建每年的会员考核表 + * 创建会员考核表 * * @param tableName 表名 - * @return: void */ void createCuMemberAssessTable(String tableName); @@ -29,13 +25,11 @@ public interface CuMemberAssessMapper extends BaseMapper { * 创建会员网体推荐人索引 * * @param tableName 日期 - * @return: void */ void createCuMemberTableUniqueIndex(String tableName); /* - * @description: 清空表数据 - * @param: null null + * 清空表数据 **/ void deleteCuMemberAssessByPeriod(@Param("tableName") String tableName, @Param("period") Integer period); @@ -46,7 +40,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param sourceTableName 来源表,用哪个表进行更新 * @param period 期间 * @param month 考核月份 - * @return: Integer */ Integer insertRepCuMemberAssess(@Param("tableName") String tableName, @Param("sourceTableName") String sourceTableName, @Param("period") Integer period, @Param("month") String month); @@ -58,7 +51,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param sourceTableName 来源表,用哪个表进行更新 * @param period 期间 * @param month 考核月份 - * @return: Integer */ Integer insertRepCuMemberRangeAssess(@Param("tableName") String tableName, @Param("sourceTableName") String sourceTableName, @Param("period") Integer period, @Param("month") String month); @@ -71,7 +63,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param sourcePeriod 来源结算期 * @param period 结算结算期间 * @param assessType 考核类型 0=复购考核 1=分红考核 - * @return: Integer */ Integer updateAssessPeriodBeginByBeforeMonth(@Param("beforeTableName") String beforeTableName, @Param("tableName") String tableName, @Param("sourcePeriod") Integer sourcePeriod, @@ -86,7 +77,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param startDate 开始时间 * @param endDate 结束时间 * @param orderTypeList 订单类型 - * @return: Integer */ Integer updateAssessPeriodAddBySaOrder(@Param("tableName") String tableName, @Param("period") Integer period, @Param("assessType") Integer assessType, @Param("startDate") Date startDate, @@ -99,7 +89,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * * @param tableName 表名 * @param period 期间 - * @return: Integer */ Integer updateAssessPeriodExemptBalanceByUsed(@Param("tableName") String tableName, @Param("period") Integer period); @@ -111,7 +100,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param period 期间 * @param startDate 开始日期 * @param endDate 结束日期 - * @return: Integer */ Integer updateAssessCuMemberToRepExempt(@Param("tableName") String tableName, @Param("settleTableName") String settleTableName, @Param("period") Integer period, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @@ -123,7 +111,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param settleTableName 每日结算表 * @param startDate 开始日期 * @param endDate 结束日期 - * @return: Integer */ Integer updateCuMemberSettleToRepExempt(@Param("settleTableName") String settleTableName, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("startPeriod") Integer startPeriod, @@ -136,7 +123,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param settleTableName 每日结算表 * @param period 期间 * @param saOrderList 根据撤单数据过来的订单 - * @return: List */ List queryAssessPeriodByRevokeOrder(@Param("tableName") String tableName, @Param("settleTableName") String settleTableName, @Param("period") Integer period, @Param("saOrderList") List saOrderList); @@ -148,7 +134,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * @param period 期间 * @param assessType 考核类型 * @param cuMemberSettleExtList 会员列表 - * @return: List */ List queryCuMemberAssessByMember(@Param("tableName") String tableName, @Param("period") Integer period, @Param("assessType") Integer assessType, @@ -159,7 +144,6 @@ public interface CuMemberAssessMapper extends BaseMapper { * * @param tableName 表名 * @param period 期间 - * @return: List */ List queryCuMemberShareAssess(@Param("tableName") String tableName, @Param("period") Integer period); @@ -170,15 +154,11 @@ public interface CuMemberAssessMapper extends BaseMapper { * * @param tableName 表名 * @param period 期间 - * @return: Integer */ Integer updateAssessPeriodCheckBalanceByUsed(@Param("tableName") String tableName, @Param("period") Integer period); /** * 会员-考核明细列表 - * - * @param: [cuMemberAssessVO] 查询条件 - * @return: java.util.List **/ List selectAssessList(@Param("tableName") String tableName, @Param("pkMember") Long pkMember, @@ -194,9 +174,7 @@ public interface CuMemberAssessMapper extends BaseMapper { ); /** - * @description: 查询会员月度考核 - * @param: [tableName, cuMemberAssessVO] - * @return: java.util.List + * 查询会员月度考核 **/ List getMemberAssessMonthList(@Param("tableName") String tableName, @Param("pkMember") Long pkMember, @@ -207,23 +185,43 @@ public interface CuMemberAssessMapper extends BaseMapper { /** - * @description: 查询会员订单考核积分 - * @param: [cuMemberAssessVO] - * @return: java.util.List + * 查询会员订单考核积分 **/ CuMemberAssessVO getOrderAssessList(CuMemberAssessVO cuMemberAssessVO); /** - * @description: 根据考核类型查询会员订单信息 - * @param: [cuMemberAssessVO] - * @return: java.util.List + * 根据考核类型查询会员订单信息 **/ List getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO); /* - * @description: 查询满足分红考核的人数,达标人数 - * @param: null null + * 查询满足分红考核的人数,达标人数 **/ List queryCuMemberAssTotal(@Param("settleTable") String settleTable, @Param("period") Integer period, @Param("pkCountry") Integer pkCountry); + + /** + * 创建免考会员数据 + * + * @param accessTableName + * @param startDate + * @param endDate + * @return + */ + int createPassMemberAssess(@Param("accessTableName") String accessTableName, + @Param("startDate") Date startDate, + @Param("endDate") Date endDate); + + /** + * 处理考试通过会员 + * + * @param accessTableName + * @param startDate + * @param endDate + * @return + */ + int updatePassMemberAssess(@Param("accessTableName") String accessTableName, + @Param("startDate") Date startDate, + @Param("endDate") Date endDate); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAssessService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAssessService.java index 1326ffe1..5884026c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAssessService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAssessService.java @@ -10,12 +10,7 @@ import java.util.List; import java.util.Map; /** - *

* 会员信息-会员考核记录 服务类 - *

- * - * @author hzs - * @since 2022-08-31 */ public interface ICuMemberAssessService extends IService { @@ -24,19 +19,18 @@ public interface ICuMemberAssessService extends IService { * * @param settleDate 结算日期 * @param period 结算期间 - * @return: void - * @Author: sui q - * @Date: 2022/11/7 13:45 */ void initCuMemberAssessData(String settleDate, int period); + /** + * 创建考核月表 + * + * @param date + */ + void createCuMemberAssessMonth(String date); /** * 复购考核每月第一考核调用此方法 - * - * @return: void - * @Author: sui q - * @Date: 2022/11/8 11:43 */ void calculationCuMemberAssess(Date currentDate); @@ -44,9 +38,6 @@ public interface ICuMemberAssessService extends IService { * 重算考核 奖金用、每天的重算复购考核用(复购考核、分红考核),只重算免考的 * * @param currentDate 哪一天进行重新复购考核,拿昨天的值跟现在的值对比 - * @return: void - * @Author: sui q - * @Date: 2022/11/7 11:19 */ void retryCalculationAssess(Date currentDate, Boolean flag); @@ -57,71 +48,50 @@ public interface ICuMemberAssessService extends IService { * @param period 期间 * @param assessType 考核类型 * @param cuMemberSettleExtList 会员列表 - * @return: Map 会员作为键 - * @Author: sui q - * @Date: 2022/11/16 19:13 */ Map queryCuMemberAssessByMember(String assessTableName, Integer period, Integer assessType, List cuMemberSettleExtList); /** * 查询会员分红考核结果,只查询出免考或者考核通过的,用于分红 + * * @param tableName 表名 - * @param period 期间 - * @return: List - * @Author: sui q - * @Date: 2022/11/16 19:13 + * @param period 期间 */ List queryCuMemberShareAssess(String tableName, Integer period); /** - * @description: 会员-考核明细列表 - * @author: zhang jing - * @date: 2023/1/23 10:17 - * @param: [cuMemberAssessVO] - * @return: java.util.List + * 会员-考核明细列表 **/ - List selectAssessList(CuMemberAssessVO cuMemberAssessVO,List orderTypeList); + List selectAssessList(CuMemberAssessVO cuMemberAssessVO, List orderTypeList); /** - * @description: 查询会员月度考核(查询列表用) - * @author: zhang jing - * @date: 2023/3/14 14:46 - * @param: [cuMemberAssessVO] - * @return: java.util.List + * 查询会员月度考核(查询列表用) **/ List getMemberAssessMonthList(CuMemberAssessVO cuMemberAssessVO); + /** - * @description: 查询会员月度考核(查询积分用) - * @author: zhang jing - * @date: 2023/3/14 14:46 - * @param: [cuMemberAssessVO] - * @return: java.util.List + * 查询会员月度考核(查询积分用) **/ List getMemberAssessMonth(CuMemberAssessVO cuMemberAssessVO); /** - * @description: 查询会员订单考核积分 - * @author: zhang jing - * @date: 2023/3/14 17:52 - * @param: [cuMemberAssessVO] - * @return: java.util.List + * 查询会员订单考核积分 **/ CuMemberAssessVO getOrderAssessList(CuMemberAssessVO cuMemberAssessVO); - /** - * @description: - * @author: zhang jing - * @date: 2023/4/23 19:44 - * @param: [cuMemberAssessVO] - * @return: java.util.List - **/ List getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO); - /* - * @description: 查询满足分红考核的人数,达标人数 - * @author: sui q - * @date: 2023/7/3 16:51 - * @param: null null - **/ + /** + * 查询满足分红考核的人数,达标人数 + */ List queryCuMemberAssTotal(String startDate, Integer pkCountry); + + /** + * 初始化会员考核数据 + * + * @param settleDate + * @param currentSettleTableName + */ + void initMemberAssess(String settleDate, String currentSettleTableName); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java index 0dcb747d..54dd0fcd 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java @@ -14,61 +14,32 @@ import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; import com.hzs.common.domain.member.detail.CuMemberAssess; -import com.hzs.common.domain.member.detail.CuMemberAssessDetail; -import com.hzs.common.domain.member.ext.CuMemberAssessExt; import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.common.domain.system.config.BdAwards; import com.hzs.bonus.detail.mapper.CuMemberAssessMapper; import com.hzs.bonus.detail.vo.CuMemberAssessVO; -import com.hzs.sale.order.ISaOrderServiceApi; -import com.hzs.system.config.IAwardsServiceApi; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.math.BigDecimal; import java.time.temporal.ChronoUnit; import java.util.*; /** * 会员信息-会员考核记录 服务实现类 - * - * @author hzs - * @since 2022-08-31 */ @Service public class CuMemberAssessServiceImpl extends ServiceImpl implements ICuMemberAssessService { - private ICuMemberTreeService cuMemberTreeService; - - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - - private ICuMemberAssessDetailService cuMemberAssessDetailService; + @Autowired + private ICuMemberTreeService iCuMemberTreeService; + @Autowired + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; + @Autowired + private ICuMemberAssessDetailService iCuMemberAssessDetailService; @Autowired private CuMemberBonusSettle cuMemberBonusSettle; - @DubboReference - ISaOrderServiceApi saOrderServiceApi; - @DubboReference - IAwardsServiceApi awardsServiceApi; - - @Autowired - public void setCuMemberAssessDetailService(ICuMemberAssessDetailService cuMemberAssessDetailService) { - this.cuMemberAssessDetailService = cuMemberAssessDetailService; - } - - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { - this.cuMemberTreeService = cuMemberTreeService; - } @Override @Transactional(rollbackFor = Exception.class) @@ -85,19 +56,19 @@ public class CuMemberAssessServiceImpl extends ServiceImpl **/ @@ -185,7 +167,8 @@ public class CuMemberAssessServiceImpl extends ServiceImpl **/ @@ -208,7 +191,8 @@ public class CuMemberAssessServiceImpl extends ServiceImpl **/ @@ -223,17 +207,17 @@ public class CuMemberAssessServiceImpl extends ServiceImpl oldCuMemberAssessList = baseMapper.queryExemptAssessCuMember(tableName, monthFirstPeriod); //// b)查询前一天的会员免考记录,查询结算日会员免考记录 -// List oldCuMemberSettleExtList = cuMemberTreeService.queryExemptCuMemberSettle(beforeTableName); +// List oldCuMemberSettleExtList = iCuMemberTreeService.queryExemptCuMemberSettle(beforeTableName); //// c)比较会员2天免考发生的状态,只需要计算变化的值,去掉没有发生变化的值 // List newCuMemberSettleExtList = new ArrayList<>(); // if (oldCuMemberAssessList.size() > 0 && oldCuMemberSettleExtList != null && oldCuMemberSettleExtList.size() > 0) { @@ -308,7 +292,7 @@ public class CuMemberAssessServiceImpl extends ServiceImpl 0) { // // 处理考核数据 // // 记录流水,新增或修改 -// cuMemberAssessDetailService.insertCuMemberAssessDetailByPeriod(tableName, monthFirstPeriod, newCuMemberSettleExtList); +// iCuMemberAssessDetailService.insertCuMemberAssessDetailByPeriod(tableName, monthFirstPeriod, newCuMemberSettleExtList); // List> cutCuMemberSettleExtList = cuMemberBonusSettle.handleCutList(newCuMemberSettleExtList); // cutCuMemberSettleExtList.forEach(assessExtList -> // baseMapper.updateAssessPeriodCheckBalanceByTmp(tableName, monthFirstPeriod, assessExtList)); @@ -319,12 +303,12 @@ public class CuMemberAssessServiceImpl extends ServiceImpl + * 查询会员订单考核积分 **/ @Override public CuMemberAssessVO getOrderAssessList(CuMemberAssessVO cuMemberAssessVO) { @@ -407,11 +387,7 @@ public class CuMemberAssessServiceImpl extends ServiceImpl + * 根据考核类型查询会员订单信息 **/ @Override public List getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO) { @@ -420,8 +396,32 @@ public class CuMemberAssessServiceImpl extends ServiceImpl queryCuMemberAssTotal(String startDate, Integer pkCountry) { - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDate).getPkId(); + int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDate).getPkId(); String tableTable = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(startDate); return baseMapper.queryCuMemberAssTotal(tableTable, period, pkCountry); } + + @Override + public void initMemberAssess(String settleDate, String currentSettleTableName) { + // 本月考核表 + String assessTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getMonth(settleDate); + // 当月时间 + Date monthDate = DateUtils.parseDateOne(settleDate, DateUtils.YYYY_MM_DD); + // 上月第一天 + Date startDate = DateUtils.getFirstDayOfMonth(DateUtils.addMonths(monthDate, -1)); + // 当月最后一天 + Date endDate = DateUtils.getLastDayOfMonth(monthDate); + // 上月新会员本月免考 + baseMapper.createPassMemberAssess(assessTableName, startDate, endDate); + + // 会员复购订单首月免考 + // 当月第一天 + startDate = DateUtils.getFirstDayOfMonth(monthDate); + // 当月会员复购考试 + baseMapper.updatePassMemberAssess(assessTableName, startDate, endDate); + + // 更新日结表会员免考信息 + iCuMemberTreeService.updateCuMemberSettlePointAssess(currentSettleTableName, assessTableName); + } + } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml index d310688b..f1d91685 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml @@ -386,7 +386,8 @@ - create index ${tableName}_parent + create index + ${tableName}_parent on ${tableName} ( pk_parent @@ -394,7 +395,8 @@ - create index ${tableName}_place + create index + ${tableName}_place on ${tableName} ( pk_place_parent, @@ -403,7 +405,8 @@ - create unique index ${tableName}_PK_M + create unique index + ${tableName}_PK_M on ${tableName} ( PK_MEMBER, @@ -412,7 +415,8 @@ - create unique index ${tableName}_PK_M + create unique index + ${tableName}_PK_M on ${tableName} ( PK_MEMBER @@ -1263,4 +1267,17 @@ on cms.pk_member = t.pk_member + + + merge into #{settleTableName} cms + using (select cma.pk_member + from #{assessTableName} cma + where cma.del_flag = 0 + and cma.assess_type = 0 + and cma.assess_status in (1, 2)) tmp + on (tmp.pk_member = cms.pk_member) + when matched then + update set cms.purchase_status = 0 + + diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/BdWaresBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/BdWaresBonusMapper.xml index 1c62f6ce..28b93715 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/BdWaresBonusMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/member/bonus/BdWaresBonusMapper.xml @@ -2,39 +2,4 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml index aa670978..56760f43 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml @@ -4,116 +4,141 @@ - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + - pk_id NUMBER(20) primary key, - pk_member NUMBER(20) not null, - period NUMBER(6) not null, - settle_month VARCHAR2(12) not null, - assess_type NUMBER(2) not null, - pk_awards NUMBER(6) not null, - assess_target NUMBER(17,6) default 0 not null, - is_examine NUMBER(1) default 1 not null, - assess_status NUMBER(2) not null, - month_balance NUMBER(17,6) default 0 not null, - month_add NUMBER(17,6) default 0 not null, - cur_month_add number(17,6) default 0 not null, - month_used NUMBER(17,6) default 0 not null, - month_surplus NUMBER(17,6) default 0 not null, - del_flag NUMBER(1) default 0 not null, - pk_country NUMBER(4) not null, - pk_creator NUMBER(20) not null, - creation_time DATE default sysdate not null, - modified_time DATE, - pk_modified NUMBER(20) + pk_member NUMBER(20) not null, + period NUMBER(6) default 0 not null, + settle_month VARCHAR2(10), + assess_type NUMBER(2) not null, + pk_awards NUMBER(6) default 1 not null, + assess_target NUMBER(17,6) default 0 not null, + is_examine NUMBER(1) default 1 not null, + assess_status NUMBER(2) not null, + month_balance NUMBER(17,6) default 0 not null, + month_add NUMBER(17,6) default 0 not null, + cur_month_add NUMBER(17,6) default 0 not null, + month_used NUMBER(17,6) default 0 not null, + month_surplus NUMBER(17,6) default 0 not null, + del_flag NUMBER(1) default 0 not null, + creation_time DATE default sysdate not null, + modified_time DATE, + pk_country NUMBER(4) default 1 not null, + pk_creator NUMBER(20) not null, + pk_modified NUMBER(20), + start_date DATE, + end_date DATE + + create table ${tableName} + ( + + ) + + + + create index + ${tableName}_MEMBER + on ${tableName} + ( + PK_MEMBER, + ASSESS_TYPE + ) + + merge into ${tableName} a - using( - select pk_member,#{period} period,#{month} settle_month,0 assess_type,pk_awards,nvl(b.purchase_check,0) ASSESS_TARGET, - 1 IS_EXAMINE,2 assess_status,ct.pk_settle_country PK_COUNTRY,1 pk_creator - from ${sourceTableName} ct - left join bd_awards b - on ct.pk_awards=b.pk_id - where category=0 + using ( + select pk_member, + #{period} period, + #{month} settle_month, + 0 assess_type, + pk_awards, + nvl(b.purchase_check, 0) ASSESS_TARGET, + 1 IS_EXAMINE, + 2 assess_status, + ct.pk_settle_country PK_COUNTRY, + 1 pk_creator + from ${sourceTableName} ct + left join bd_awards b + on ct.pk_awards = b.pk_id + where category = 0 ) b - on (a.pk_member=b.pk_member and a.period=b.period and a.assess_type=b.assess_type) - WHEN MATCHED THEN - update set a.SETTLE_MONTH=b.SETTLE_MONTH,a.PK_AWARDS=b.PK_AWARDS,a.ASSESS_TARGET=b.ASSESS_TARGET, - a.IS_EXAMINE=b.IS_EXAMINE,a.ASSESS_STATUS=b.ASSESS_STATUS - when not matched then - insert (PK_MEMBER,period,SETTLE_MONTH,ASSESS_TYPE,PK_AWARDS,ASSESS_TARGET, - IS_EXAMINE,ASSESS_STATUS,PK_COUNTRY,PK_CREATOR) - values(b.PK_MEMBER,b.period,b.SETTLE_MONTH,b.ASSESS_TYPE,b.PK_AWARDS,b.ASSESS_TARGET, - b.IS_EXAMINE,b.ASSESS_STATUS,b.PK_COUNTRY,b.PK_CREATOR) + on (a.pk_member = b.pk_member and a.period = b.period and a.assess_type = b.assess_type) + WHEN MATCHED THEN + update set a.SETTLE_MONTH = b.SETTLE_MONTH,a.PK_AWARDS = b.PK_AWARDS,a.ASSESS_TARGET = b.ASSESS_TARGET, + a.IS_EXAMINE = b.IS_EXAMINE,a.ASSESS_STATUS = b.ASSESS_STATUS + when not matched then + insert (PK_MEMBER, period, SETTLE_MONTH, ASSESS_TYPE, PK_AWARDS, ASSESS_TARGET, + IS_EXAMINE, ASSESS_STATUS, PK_COUNTRY, PK_CREATOR) + values (b.PK_MEMBER, b.period, b.SETTLE_MONTH, b.ASSESS_TYPE, b.PK_AWARDS, b.ASSESS_TARGET, + b.IS_EXAMINE, b.ASSESS_STATUS, b.PK_COUNTRY, b.PK_CREATOR) merge into ${tableName} a - using( - select pk_member,#{period} period,#{month} settle_month,0 assess_type,pk_range_awards pk_awards,nvl(b.purchase_check,0) ASSESS_TARGET, - 1 IS_EXAMINE,2 assess_status,ct.pk_settle_country PK_COUNTRY,1 pk_creator + using ( + select pk_member, + #{period} period, + #{month} settle_month, + 0 assess_type, + pk_range_awards pk_awards, + nvl(b.purchase_check, 0) ASSESS_TARGET, + 1 IS_EXAMINE, + 2 assess_status, + ct.pk_settle_country PK_COUNTRY, + 1 pk_creator from ${sourceTableName} ct left join bd_range_awards b - on ct.pk_range_awards=b.pk_id - where category=0 + on ct.pk_range_awards = b.pk_id + where category = 0 ) b - on (a.pk_member=b.pk_member and a.period=b.period and a.assess_type=b.assess_type) + on (a.pk_member = b.pk_member and a.period = b.period and a.assess_type = b.assess_type) WHEN MATCHED THEN - update set a.SETTLE_MONTH=b.SETTLE_MONTH,a.PK_AWARDS=b.PK_AWARDS,a.ASSESS_TARGET=b.ASSESS_TARGET, - a.IS_EXAMINE=b.IS_EXAMINE,a.ASSESS_STATUS=b.ASSESS_STATUS + update set a.SETTLE_MONTH = b.SETTLE_MONTH,a.PK_AWARDS = b.PK_AWARDS,a.ASSESS_TARGET = b.ASSESS_TARGET, + a.IS_EXAMINE = b.IS_EXAMINE,a.ASSESS_STATUS = b.ASSESS_STATUS when not matched then - insert (PK_MEMBER,period,SETTLE_MONTH,ASSESS_TYPE,PK_AWARDS,ASSESS_TARGET, - IS_EXAMINE,ASSESS_STATUS,PK_COUNTRY,PK_CREATOR) - values(b.PK_MEMBER,b.period,b.SETTLE_MONTH,b.ASSESS_TYPE,b.PK_AWARDS,b.ASSESS_TARGET, - b.IS_EXAMINE,b.ASSESS_STATUS,b.PK_COUNTRY,b.PK_CREATOR) + insert (PK_MEMBER, period, SETTLE_MONTH, ASSESS_TYPE, PK_AWARDS, ASSESS_TARGET, + IS_EXAMINE, ASSESS_STATUS, PK_COUNTRY, PK_CREATOR) + values (b.PK_MEMBER, b.period, b.SETTLE_MONTH, b.ASSESS_TYPE, b.PK_AWARDS, b.ASSESS_TARGET, + b.IS_EXAMINE, b.ASSESS_STATUS, b.PK_COUNTRY, b.PK_CREATOR) - - create table ${tableName} - ( - - ) - - - - create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER,period, assess_type) - - merge into ${tableName} a - using (select pk_member,assess_type,month_surplus from ${beforeTableName} cs - inner join cu_member cm - on cs.pk_member=cm.pk_id and cm.del_flag=0 - where period = #{sourcePeriod} and assess_type = #{assessType} and cm.system_type=0) b - on (a.pk_member = b.pk_member and a.assess_type = b.assess_type) - when matched then - update set a.month_balance = b.month_surplus where a.del_flag= 0 and a.period= #{period} + using (select pk_member, assess_type, month_surplus + from ${beforeTableName} cs + inner join cu_member cm + on cs.pk_member = cm.pk_id and cm.del_flag = 0 + where period = #{sourcePeriod} + and assess_type = #{assessType} + and cm.system_type = 0) b + on (a.pk_member = b.pk_member and a.assess_type = b.assess_type) + when matched then + update set a.month_balance = b.month_surplus where a.del_flag= 0 and a.period= #{period} merge into ${tableName} a @@ -124,12 +149,12 @@ #{item} and pay_time >= #{startDate, jdbcType=DATE} and pay_time < #{endDate, jdbcType=DATE} - + ) group by pk_member ) b @@ -139,54 +164,75 @@ - update ${tableName} set month_surplus = month_balance+month_add - where del_flag= 0 and period = #{period} + update ${tableName} + set month_surplus = month_balance + month_add + where del_flag = 0 + and period = #{period} - update ${tableName} set assess_status = 0, month_used = assess_target, month_surplus = month_balance+month_add-assess_target - where del_flag= 0 and assess_status=2 and period = #{period} and assess_target <= month_balance+month_add + update ${tableName} + set assess_status = 0, + month_used = assess_target, + month_surplus = month_balance + month_add - assess_target + where del_flag = 0 + and assess_status = 2 + and period = #{period} + and assess_target <= month_balance + month_add merge into ${tableName} a - using ( - select distinct pk_member,#{period} period,0 assess_type from( - select pk_id pk_member from cu_member where del_flag =0 and category =0 - and pay_status = 1 - and pay_time >= #{startDate, jdbcType=DATE} and pay_time < #{endDate, jdbcType=DATE} - union - select pk_member from cu_member_awards - where del_flag=0 and purchase_status= 0 and - period >= #{startPeriod} and period < #{endPeriod} - union - select pk_member from ${settleTableName} ct - inner join bd_awards ba - on ct.pk_awards = ba.pk_id - where ct.purchase_status=0 and ba.purchase_check >0) - ) b - on (a.pk_member = b.pk_member and a.period=b.period and a.assess_type=b.assess_type) - when matched then - update set a.is_examine=0 + using ( + select distinct pk_member, #{period} period, 0 assess_type + from ( + select pk_id pk_member + from cu_member + where del_flag = 0 + and category = 0 + and pay_status = 1 + and pay_time >= #{startDate, jdbcType=DATE} + and pay_time < #{endDate, jdbcType=DATE} + union + select pk_member + from cu_member_awards + where del_flag = 0 + and purchase_status = 0 + and period >= #{startPeriod} + and period < #{endPeriod} + union + select pk_member + from ${settleTableName} ct + inner join bd_awards ba + on ct.pk_awards = ba.pk_id + where ct.purchase_status = 0 + and ba.purchase_check > 0) + ) b + on (a.pk_member = b.pk_member and a.period = b.period and a.assess_type = b.assess_type) + when matched then + update set a.is_examine = 0 merge into ${settleTableName} a - using ( select distinct pk_id pk_member from cu_member where del_flag =0 and category =0 - and pay_status = 1 - and pay_time >= #{startDate, jdbcType=DATE} and pay_time < #{endDate, jdbcType=DATE} - - ) b - on (a.pk_member = b.pk_member) - when matched then - update set a.purchase_status=0 + using ( select distinct pk_id pk_member from cu_member where del_flag =0 and category =0 + and pay_status = 1 + and pay_time >= #{startDate, jdbcType=DATE} and pay_time < #{endDate, jdbcType=DATE} + + ) b + on (a.pk_member = b.pk_member) + when matched then + update set a.purchase_status=0 - delete from ${tableName} where period = #{period} and del_flag=0 + delete + from ${tableName} + where period = #{period} + and del_flag = 0 @@ -226,7 +281,7 @@ - + + + - + + + + merge into #{accessTableName} cma + using ( + select cm.pk_id + from cu_member cm + where cm.del_flag = 0 + and cm.pay_status = 1 + and cm.pay_time >= #{startDate} + and #{endDate} >= cm.pay_time + ) tmp + on (cma.pk_member = tmp.pk_id and assess_type = 0 and cma.del_flag = 0) + when not matched then + insert + (pk_member, + assess_type, + is_examine, + assess_status, + pk_creator, + start_date, + end_date) + values (tmp.pk_id, + 0, + 0, + 1, + tmp.pk_id, + #{startDate}, + #{endDate}) + + + + + merge into #{accessTableName} cma + using (select tmp.pk_member, tmp.pay_time + from (select so.pk_member, min(so.pay_time) pay_time + from sa_order so + where so.del_flag = 0 + and so.order_type = 3 + and so.order_status = 1 + and so.order_achieve > 0 + and so.pay_time >= #{startDate} + and #{endDate} >= so.pay_time + group by so.pk_member) tmp + left join #{accessTableName} cma + on cma.pk_member = tmp.pk_member + and cma.assess_type = 0 + and cma.del_flag = 0 + where cma.start_date is null + or tmp.pay_time > cma.start_date) tmp + on (cma.pk_member = tmp.pk_member and assess_type = 0 and cma.del_flag = 0 and cma.is_examine = 1) + when matched then + update set cma.start_date = tmp.pay_time + when not matched then + insert + (pk_member, + assess_type, + is_examine, + assess_status, + pk_creator, + start_date, + end_date) + values (tmp.pk_member, 0, 1, 0, tmp.pk_member, tmp.pay_time, #{endDate}) + + diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/controller/api/ApiCuMemberAssessController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/controller/api/ApiCuMemberAssessController.java index 72cb5de2..3d7ef029 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/controller/api/ApiCuMemberAssessController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/controller/api/ApiCuMemberAssessController.java @@ -28,13 +28,6 @@ import java.util.Date; import java.util.List; import java.util.Optional; -/** - * @Description: - * @Author: zhangjing - * @Time: 2022/11/8 13:50 - * @Classname: CuMemberAssessController - * @PackageName: com.hzs.member.detail.controller.manage - */ @RestController @RequestMapping("/api/assess") public class ApiCuMemberAssessController extends BaseController { @@ -209,11 +202,7 @@ public class ApiCuMemberAssessController extends BaseController { /** - * @description: 查询考核积分 - * @author: zhang jing - * @date: 2023/3/14 17:14 - * @param: [cuMemberAssessVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询考核积分 **/ @GetMapping("/assAchieve") public AjaxResult assAchieve(CuMemberAssessVO cuMemberAssessVO) { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java index 5448a2a3..4e6e22d7 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java @@ -9,56 +9,41 @@ import java.util.Date; import java.util.List; /** - *

* 考核业绩变化明细表 服务类 - *

- * - * @author hzs - * @since 2022-10-28 */ public interface ICuMemberAssessDetailService extends IService { /* - * @description: 根据期间删除会员考核记录 - * @author: sui q - * @date: 2023/5/25 10:52 - * @param: null null + * 根据期间删除会员考核记录 **/ void deleteCuMemberAssessDetailByPeriod(String tableName, Integer period); /* - * @description: 每月考试将订单插入会员考核明细 - * @author: sui q - * @date: 2023/5/25 11:36 - * @param: null null + * 每月考试将订单插入会员考核明细 **/ void insertCuMemberAssesDetailByOrder(String tableName, Integer period, Date startDate, Date endDate); /** * 插入考核记录 - * @param tableName 表名 - * @param period 期间 + * + * @param tableName 表名 + * @param period 期间 * @param newCuMemberSettleExtList 会员列表 - * @return: void - * @Author: sui q - * @Date: 2022/11/9 15:56 */ void insertCuMemberAssessDetailByPeriod(String tableName, Integer period, List newCuMemberSettleExtList); /** * 新增或修改会员考核明细表,根据期间,重算就是修改 + * * @param tableName 来源表 - * @param period 期间 - * @Author: sui q - * @Date: 2022/11/8 11:21 + * @param period 期间 */ void updateCuMemberAssessDetailByPeriod(String tableName, Integer period); /** - * 删除可能会发生变动的会员的考核明细 + * 删除可能会发生变动的会员的考核明细 + * * @param revokeDetailList 变动的记录 - * @Author: sui q - * @Date: 2022/11/9 15:31 - */ + */ void deleteCuMemberAssessDetailByList(List revokeDetailList); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java index 3bf9c225..d3af6bf1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java @@ -16,12 +16,7 @@ import java.util.Date; import java.util.List; /** - *

* 考核业绩变化明细表 服务实现类 - *

- * - * @author hzs - * @since 2022-10-28 */ @Service public class CuMemberAssessDetailServiceImpl extends ServiceImpl implements ICuMemberAssessDetailService { @@ -54,7 +49,7 @@ public class CuMemberAssessDetailServiceImpl extends ServiceImpl 0) { List> purchaseHandleCutList = cuMemberBonusSettle.handleCutList(purchaseMemberList); purchaseHandleCutList.forEach(cuMemberBonusSettleList -> - baseMapper.insertCuMemberAssessDetailByPeriod(tableName, period, cuMemberBonusSettleList, EAssessmentType.REPURCHASE_ASSESS.getValue()) ); + baseMapper.insertCuMemberAssessDetailByPeriod(tableName, period, cuMemberBonusSettleList, EAssessmentType.REPURCHASE_ASSESS.getValue())); } if (shareMemberList.size() > 0) { List> shareHandleCutList = cuMemberBonusSettle.handleCutList(shareMemberList); diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index aaec69f1..b4ba050e 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -119,7 +119,7 @@ public class EnumsController extends BaseController { public AjaxResult AssessmentType() { List enumEntityList = new ArrayList<>(); for (EAssessmentType value : EAssessmentType.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ASSESSMENT_TYPE)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } @@ -411,7 +411,7 @@ public class EnumsController extends BaseController { public AjaxResult algebra() { List enumEntityList = new ArrayList<>(); for (EAlgebra value : EAlgebra.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ALGEBRA)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } @@ -462,7 +462,7 @@ public class EnumsController extends BaseController { List enumEntityList = new ArrayList<>(); for (EAreaType value : EAreaType.values()) { if (value.getEnable() == EnableStatus.ENABLE.getValue()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EAREA_TYPE)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } } return AjaxResult.success(enumEntityList); diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java index c9567407..d9508d56 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java @@ -43,10 +43,6 @@ public class EnumsInitController { for (EUpgradeType value : EUpgradeType.values()) { initList.add(this.createData(value.getKey(), value.getLabel())); } - // 地区类型枚举 - for (EAreaType value : EAreaType.values()) { - initList.add(this.createData(value.getKey(), value.getLabel())); - } // 结算方式枚举 for (ESettleType value : ESettleType.values()) { initList.add(this.createData(value.getKey(), value.getLabel())); @@ -81,11 +77,6 @@ public class EnumsInitController { initList.add(this.createData(value.getKey(), value.getLabel())); } - // 代数枚举 - for (EAlgebra value : EAlgebra.values()) { - initList.add(this.createData(value.getKey(), value.getLabel())); - } - // 奖衔枚举枚举 for (EAwards value : EAwards.values()) { initList.add(this.createData(value.getKey(), value.getLabel())); @@ -318,13 +309,6 @@ public class EnumsInitController { initList.add(this.createData(value.getKey(), value.getLabel())); } - /** - * 考核类型 - */ - for (EAssessmentType value : EAssessmentType.values()) { - initList.add(this.createData(value.getKey(), value.getLabel())); - } - /** * 免考类型 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index 19bea914..e2bb80d0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -311,18 +311,11 @@ public class EnumsPrefixConstants { */ public static final String MEMBER_ASSESS_STATUS = "ENU_MEMBER_ASSESS_S_"; - /** * 订单类型枚举类 */ public static final String ORDER_TYPE = "ENU_ORDER_T_"; - /** - * 盘点类型 - */ - public static final String INVENTORY_TYPE = "ENU_INV_T_"; - - /** * 客商类型 */ @@ -430,11 +423,6 @@ public class EnumsPrefixConstants { * 性别 */ public static final String SEX = "ENU_SEX_U_"; - /** - * 代数 - */ - public static final String ALGEBRA = "ENU_ALGEBRA_A_"; - /** * 所属专区枚举类 @@ -730,11 +718,6 @@ public class EnumsPrefixConstants { * 区域类型 */ public static final String EREGION_TYPE = "ENU_EREGION_TYPE_"; - /** - * 地区类型 - */ - public static final String EAREA_TYPE = "ENU_EAREA_TYPE_"; - /** * 登录状态 @@ -758,7 +741,6 @@ public class EnumsPrefixConstants { */ public static final String NOTICE_TYPE = "ENU_NOTICE_TYPE_"; - /** * 公告功能类型 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/TableNameConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/TableNameConstants.java index 46c9b64a..2adb90f1 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/TableNameConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/TableNameConstants.java @@ -6,7 +6,6 @@ public class TableNameConstants { * 业绩表 */ public static final String CU_MEMBER_ACHIEVE = "cu_member_achieve"; - /** * 业绩表序列 */ @@ -16,7 +15,6 @@ public class TableNameConstants { * 会员网体记录 */ public static final String CU_MEMBER_TREE = "cu_member_tree"; - /** * 会员网体记录序列 */ @@ -36,22 +34,20 @@ public class TableNameConstants { * 会员结算秒结表 */ public static final String CU_MEMBER_SECOND = "cu_member_second"; - /** * 会员极差秒结表 */ public static final String CU_MEMBER_RANGE_S = "cu_member_second_s"; - /** - * 会员考核记录表 - */ - public static final String CU_MEMBER_ASSESS = "cu_member_assess"; - /** * 用于报表,月表数据 */ public static final String CU_MEMBER_MONTH = "cu_member_month"; + /** + * 会员考核记录表 + */ + public static final String CU_MEMBER_ASSESS = "cu_member_assess"; /** * 会员考核记录表序列 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAlgebra.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAlgebra.java index c5d0c543..3dc2072a 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAlgebra.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAlgebra.java @@ -1,13 +1,10 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; /** * 代数枚举(复购直推) - * - * @author: hzs */ @AllArgsConstructor @Getter @@ -16,45 +13,45 @@ public enum EAlgebra { /** * 一代 */ - ONE_ALGEBRA(1, "一代", 0, EnumsPrefixConstants.ALGEBRA + "1"), + ONE_ALGEBRA(1, "一代", 0), /** * 二代 */ - TWO_ALGEBRA(2, "二代", 0, EnumsPrefixConstants.ALGEBRA + "2"), + TWO_ALGEBRA(2, "二代", 0), /** * 三代 */ - THREE_ALGEBRA(3, "三代", 0, EnumsPrefixConstants.ALGEBRA + "3"), + THREE_ALGEBRA(3, "三代", 0), /** * 四代 */ - FOUR_ALGEBRA(4, "四代", 0, EnumsPrefixConstants.ALGEBRA + "4"), + FOUR_ALGEBRA(4, "四代", 0), /** * 五代 */ - FIVE_ALGEBRA(5, "五代", 0, EnumsPrefixConstants.ALGEBRA + "5"), + FIVE_ALGEBRA(5, "五代", 0), /** * 六代 */ - SIX_ALGEBRA(6, "六代", 0, EnumsPrefixConstants.ALGEBRA + "6"), + SIX_ALGEBRA(6, "六代", 0), /** * 七代 */ - SEVEN_ALGEBRA(7, "七代", 0, EnumsPrefixConstants.ALGEBRA + "7"), + SEVEN_ALGEBRA(7, "七代", 0), /** * 八代 */ - EIGHT_ALGEBRA(8, "八代", 0, EnumsPrefixConstants.ALGEBRA + "8"), + EIGHT_ALGEBRA(8, "八代", 0), /** * 九代 */ - NINE_ALGEBRA(9, "九代", 0, EnumsPrefixConstants.ALGEBRA + "9"), + NINE_ALGEBRA(9, "九代", 0), /** * 十代 */ - TEN_ALGEBRA(10, "十代", 0, EnumsPrefixConstants.ALGEBRA + "10"), + TEN_ALGEBRA(10, "十代", 0), ; @@ -70,18 +67,5 @@ public enum EAlgebra { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; - - public static String getALGEBRA(int value){ - for (EAlgebra ALGEBRA : EAlgebra.values()) { - if (ALGEBRA.getValue() == value){ - return ALGEBRA.getLabel(); - } - } - return null; - } } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAreaType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAreaType.java index ee384a5f..eac53645 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAreaType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAreaType.java @@ -1,6 +1,5 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; @@ -14,17 +13,17 @@ public enum EAreaType { /** * 1=州 */ - PROVINCE(1, "省", 0, EnumsPrefixConstants.EAREA_TYPE + "1"), + PROVINCE(1, "省", 0), /** * 2=国家 */ - CITY(2, "市", 0, EnumsPrefixConstants.EAREA_TYPE + "2"), + CITY(2, "市", 0), + /** * 3=区/县 */ - COUNTY(3, "区/县", 0, EnumsPrefixConstants.EAREA_TYPE + "3"), - + COUNTY(3, "区/县", 0), ; @@ -40,10 +39,6 @@ public enum EAreaType { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; /** diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessStatus.java index 20bc72d9..a806d2d9 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessStatus.java @@ -5,11 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * @Description: 考核状态 - * @Author: sui q - * @Time: 2022/11/9 13:33 - * @Classname: EAssessStatus - * @PackageName: com.hzs.common.core.enums + * 考核状态 */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java index 8cba68bc..94f4dae7 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java @@ -1,6 +1,5 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; @@ -10,18 +9,21 @@ import lombok.Getter; @AllArgsConstructor @Getter public enum EAssessmentType { + /** - * 0=复购考核 + * 0=复购考核(见点考核) */ - REPURCHASE_ASSESS(0, "复购考核", 0, EnumsPrefixConstants.ASSESSMENT_TYPE + 0), + REPURCHASE_ASSESS(0, "复购考核", 0), + /** * 1=分红考核 */ - SHARE_ASSESS(1, "分红考核", 0, EnumsPrefixConstants.ASSESSMENT_TYPE + 1), + SHARE_ASSESS(1, "分红考核", 0), + /** * 2=不考核 */ - NO_ASSESSMENT(2, "不考核", 0, EnumsPrefixConstants.ASSESSMENT_TYPE + 2), + NO_ASSESSMENT(2, "不考核", 0), ; @@ -37,9 +39,5 @@ public enum EAssessmentType { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java index 4c7e649e..76f4ea58 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java @@ -5,7 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * @Description: 奖金收益状态 奖金明细表(cu_member_bonus_XX) + * 奖金收益状态 奖金明细表(cu_member_bonus_XX) */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java index 247e4ee2..95fd673a 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java @@ -89,7 +89,6 @@ public enum EBonusItems { * 车奖积分 */ // CAR_BONUS_POINTS(19, "车奖积分", 0, EnumsPrefixConstants.BONUS_ITEMS + 19), - /** * 海粉收益 禁用 */ diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRange.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRange.java index e4f2ed57..9bccec98 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRange.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRange.java @@ -12,14 +12,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -/** - *

- * - *

- * - * @author hzs - * @since 2024-10-15 - */ @Data @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRangeExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRangeExt.java index b1da8111..13632f72 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRangeExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRangeExt.java @@ -4,15 +4,8 @@ import com.hzs.common.domain.member.achieve.CuMemberRange; import lombok.Data; import lombok.EqualsAndHashCode; -import java.math.BigDecimal; - /** - * @description: 极差扩展 - * @author: sui q - * @time: 2024/10/15 15:32 - * @classname: CuMemberRangeExt - * @package_name: com.hzs.common.domain.member.achieve.ext - * version 1.0.0 + * 极差扩展 */ @EqualsAndHashCode(callSuper = true) @Data diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java index 36e89178..b193f448 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java @@ -11,17 +11,11 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员信息-会员考核记录 - *

- * - * @author hzs - * @since 2022-08-31 */ @Data @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) -@KeySequence("CU_MEMBER_ASSESS_SEQ") @TableName("CU_MEMBER_ASSESS") @Builder @AllArgsConstructor @@ -30,12 +24,6 @@ public class CuMemberAssess extends BaseEntity { private static final long serialVersionUID = 1L; - /** - * 主键 - */ - @TableId("PK_ID") - private Long pkId; - /** * 会员编号 */ @@ -55,7 +43,7 @@ public class CuMemberAssess extends BaseEntity { private String settleMonth; /** - * 考核类型( 0=复购考核,1=分红考核) + * 考核类型 0=复购考核 1=分红考核 5=见点考核 */ @TableField("ASSESS_TYPE") private Integer assessType; diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java index 43ca5875..f9149f73 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java @@ -170,4 +170,10 @@ public class BdGrade extends BaseEntity { @TableField("BOX_SMALL_TOTAL") private Integer boxSmallTotal; + /** + * 见点代数 + */ + @TableField("ALGEBRA") + private Integer algebra; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRepoDirectPush.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRepoDirectPush.java index 60cd0306..d72aac15 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRepoDirectPush.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRepoDirectPush.java @@ -12,12 +12,7 @@ import lombok.experimental.Accessors; import java.math.BigDecimal; /** - *

* 复购直推配置 - *

- * - * @author zhangjing - * @since 2023-06-29 */ @Data @EqualsAndHashCode(callSuper = true)