From 7e20c1d0edfb4c081a6f7961593abe824657b3e9 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 10 Jun 2025 20:31:14 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E7=A7=92=E7=BB=93=E5=92=8C=E6=97=A5?= =?UTF-8?q?=E7=BB=93=E4=B8=AD=E7=9B=92=E6=95=B0=E3=80=81=E4=B8=9A=E7=BB=A9?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=A4=84=E7=90=86=EF=BC=9B=E7=AD=89=E7=BA=A7?= =?UTF-8?q?=E3=80=81=E5=A5=96=E8=A1=94=E8=AE=A1=E7=AE=97=E5=A4=84=E7=90=86?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/settle/IMemberSettleBonusApi.java | 8 - .../hzs/sale/order/ISaOrderServiceApi.java | 21 - .../system/config/IBonusItemsServiceApi.java | 8 - .../achieve/mapper/CuMemberAchieveMapper.java | 196 -- .../mapper/CuMemberRetailRangeMapper.java | 3 +- .../achieve/mapper/CuMemberTreeMapper.java | 410 +--- .../achieve/param/MemberParentCountParam.java | 39 - .../achieve/param/MonthAchieveParam.java | 42 - .../service/ICuMemberAchieveService.java | 91 - .../achieve/service/ICuMemberTreeService.java | 315 +-- .../impl/CuMemberAchieveServiceImpl.java | 90 - .../impl/CuMemberRetailRangeServiceImpl.java | 2 + .../service/impl/CuMemberTreeServiceImpl.java | 503 +---- .../hzs/bonus/base/mapper/CuMemberMapper.java | 4 +- .../bonus/base/service/ICuMemberService.java | 2 +- .../bonus/mapper/CuBonusExpandMapper.java | 42 +- .../provider/MemberSettleBonusProvider.java | 11 - .../bonus/service/IBonusSettleService.java | 7 - .../bonus/service/ICuBonusExpandService.java | 38 +- .../service/impl/BonusSettleRangeHandle.java | 178 +- .../service/impl/BonusSettleServiceImpl.java | 197 +- .../impl/CuBonusExpandServiceImpl.java | 29 +- .../impl/CuMemberBonusServiceImpl.java | 50 +- .../bonus/bonus/vo/BonusRecordDetailVO.java | 6 +- .../service/ICuMemberAssessService.java | 39 - .../impl/CuMemberAssessServiceImpl.java | 296 --- .../impl/CuMemberAwardsServiceImpl.java | 42 +- .../hzs/bonus/detail/vo/CuMemberAssessVO.java | 14 +- .../bonus/achieve/CuMemberAchieveMapper.xml | 695 +------ .../achieve/CuMemberRetailRangeMapper.xml | 78 +- .../bonus/achieve/CuMemberTreeMapper.xml | 1809 +++++------------ .../mapper/bonus/base/CuMemberMapper.xml | 14 +- .../bonus/detail/CuMemberAwardsMapper.xml | 1 + .../mapper/bonus/order/BonusOrderMapper.xml | 42 +- .../service/impl/RetailOrderServiceImpl.java | 2 +- .../hzs/sale/order/mapper/SaOrderMapper.java | 9 - .../provider/SaOrderServiceProvider.java | 72 - .../sale/order/service/ISaOrderService.java | 9 - .../service/impl/SaOrderServiceImpl.java | 10 +- .../mapper/sale/order/SaOrderMapper.xml | 62 - .../config/mapper/BdBonusItemsMapper.java | 6 - .../provider/BonusItemsServiceProvider.java | 5 - .../config/service/IBdBonusItemsService.java | 45 +- .../service/impl/BdBonusItemsServiceImpl.java | 80 +- .../core/constant/TableNameConstants.java | 4 +- .../hzs/common/core/enums/EAwardsType.java | 2 +- .../achieve/ext/CuMemberAchieveExt.java | 7 +- .../domain/member/bonus/CuBonusExpand.java | 9 +- .../domain/member/detail/CuMemberAwards.java | 2 +- .../domain/sale/ext/SaOrderItemsExt.java | 5 - .../domain/system/config/BdBonusItems.java | 9 +- 51 files changed, 818 insertions(+), 4842 deletions(-) delete mode 100644 bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MemberParentCountParam.java delete mode 100644 bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MonthAchieveParam.java diff --git a/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java b/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java index 55f99a4b..b028fd00 100644 --- a/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java +++ b/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java @@ -2,7 +2,6 @@ package com.hzs.bonus.settle; import com.hzs.common.core.domain.R; import com.hzs.common.domain.member.bonus.CuMemberRetail; -import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.order.SaOrder; import java.util.Date; @@ -12,13 +11,6 @@ import java.util.Date; */ public interface IMemberSettleBonusApi { - /** - * 根据秒结算会员奖金 - * - * @param orderCode 订单 - */ - R calculateCumberBonusBySecond(String orderCode); - /* * 定时任务每天自动计算奖金 **/ diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/ISaOrderServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/ISaOrderServiceApi.java index b7d1675a..42c68a4b 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/ISaOrderServiceApi.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/ISaOrderServiceApi.java @@ -19,14 +19,6 @@ import java.util.List; */ public interface ISaOrderServiceApi { - /** - * 查询时间范围内的所有订单,按照订单时间排序,只能用于奖金结算 - * - * @param startDate 开始日期 - * @param endDate 结束日期 - */ - R> querySaOrderByDay(Date startDate, Date endDate); - /** * 查询时间范围内的所有订单,按照订单时间排序,只能用于奖金结算 * @@ -48,11 +40,6 @@ public interface ISaOrderServiceApi { **/ R querySaOrderExtByPkId(Long pkId); - /* - * 查询订单编号 - **/ - R querySaOrderByDay(Date startDate, Date endDate, String orderCode); - /* * 根据发货单查询销售订单 **/ @@ -93,14 +80,6 @@ public interface ISaOrderServiceApi { */ R> queryOrderItemsListByOrderId(List pkOrderList, Integer pkCountry); - /** - * 根据订单编号查询订单 - * - * @param pkMember 会员主键 - * @param orderCode 订单编号 - */ - R querySaOrderByOrderCode(Long pkMember, String orderCode); - /** * 根据订单编号查询订单信息 * diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IBonusItemsServiceApi.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IBonusItemsServiceApi.java index 745bd7e2..a8dd52e8 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IBonusItemsServiceApi.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IBonusItemsServiceApi.java @@ -32,14 +32,6 @@ public interface IBonusItemsServiceApi { */ R queryBonusItems(Integer pkCountry, Integer pkBonusItems); - /** - * 查询奖金项 - * - * @param pkCountry 国家 - * @param bonusValue 奖金项 - */ - R queryBonusItemsByBonusValue(Integer pkCountry, Integer bonusValue); - /** * 查询国家的推荐奖金参数 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberAchieveMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberAchieveMapper.java index 16ed8d46..904618d1 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberAchieveMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberAchieveMapper.java @@ -3,21 +3,8 @@ package com.hzs.bonus.achieve.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.bonus.achieve.param.MemberAchieveParam; import com.hzs.common.domain.member.achieve.CuMemberAchieve; -import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; -import com.hzs.bonus.achieve.param.MonthAchieveParam; -import com.hzs.bonus.achieve.vo.CuMemberAwardsUnderVO; -import com.hzs.bonus.achieve.vo.CuMemberMonthAchieveContrastVO; -import com.hzs.bonus.achieve.vo.CuMemberNewAddAchieveVO; -import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import org.apache.ibatis.annotations.Param; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - /** * 会员业绩记录 Mapper 接口 */ @@ -42,40 +29,6 @@ public interface CuMemberAchieveMapper extends BaseMapper { **/ void mergeCuMemberMonth(@Param("date") String date, @Param("period") Integer period); - /* - * 查询每月月业绩,获得血缘业绩 首购复购 - **/ - List queryCuMemberMonthAchieveByMemberIdList(@Param("settleTableName") String settleTableName, @Param("memberSwingNetExtList") List memberSwingNetExtList); - - /** - * 将结算日表的值插入到结算月表中 - * - * @param targetTableName 目标表 网体月表 - * @param sourceTableName 来源表 结算日表 - * @param period 期间 - */ - void insertCuMemberAchieveBySettleDate(@Param("targetTableName") String targetTableName, - @Param("sourceTableName") String sourceTableName, @Param("period") Integer period); - - /** - * 将结算日表的值插入到结算月表中 - * - * @param targetTableName 目标表 网体月表 - * @param sourceTableName 来源表 结算日表 - * @param period 期间 - */ - void mergeCuMemberAchieveBySettleDate(@Param("targetTableName") String targetTableName, - @Param("sourceTableName") String sourceTableName, @Param("period") Integer period); - - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param sourceTable 来源表,记录10天跟月表一摸一样的滚动表数据 - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - */ - void updateCuMemberSettleAchieveByBeforeDay(@Param("sourceTable") String sourceTable, @Param("targetTable") String targetTable); - /** * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 * 根据昨天结算表数据更新今天结算表的业绩数据 @@ -85,159 +38,10 @@ public interface CuMemberAchieveMapper extends BaseMapper { */ void updateCuMemberExpandSettleAchieveByBeforeDay(@Param("sourceTable") String sourceTable, @Param("targetTable") String targetTable); - /* - * 更新为最初始的数据,新增的为0,历史的通过昨天进行更新 - **/ - void updateCuMemberSettleInitAchieve(String targetTable); - - /** - * 根据特殊业务更新业绩 - * - * @param targetTable 结算表 - * @param period 期间 - * @param pkId 主键 - */ - void updateCuMemberSettleAchieveBySpecialBus(@Param("targetTable") String targetTable, @Param("period") Integer period, - @Param("pkId") Long pkId); - - /* - * 注水到期更新业绩 - **/ - void mergeCuMemberSettleByAchieveLogByDate(@Param("targetTable") String targetTable, @Param("settleDate") Date settleDate); - - /* - * 根据到期日期更新业绩,到期后需要还原到实际累计金额 - **/ - void updateCuMemberSettleAchieveByDueDate(@Param("currentTableName") String currentTableName, @Param("yesTableName") String yesTableName, - @Param("currentDate") Date currentDate); - - - /** - * 根据每日日业绩开始更新会员业绩 新增业绩、累计业绩 - * - * @param memberAchieveParamList 会员业绩 - * @param tableName 更新的表,结算日的日表 - */ - Boolean updateCuMemberBackOldAchieveEveryDay(@Param("memberAchieveParamList") List memberAchieveParamList, - @Param("tableName") String tableName); - /* * 退单回退业绩 **/ void chargeBackSaOrder(@Param("targetTable") String targetTable, @Param("sourceTable") String sourceTable, @Param("period") Integer period, @Param("achieve") MemberAchieveParam memberAchieveParam); - /** - * 根据每日日业绩开始更新会员业绩 新增业绩、累计业绩 - * - * @param memberAchieveParamList 会员业绩 - * @param tableName 更新的表,结算日的日表 - */ - Boolean updateCuMemberBackAchieveEveryDay(@Param("memberAchieveParamList") List memberAchieveParamList, - @Param("tableName") String tableName); - - /** - * 重新结算会员网体业绩 - * - * @param currentSettleTableName 更新甩网业绩 - */ - void updateCuMemberNetAchieve(@Param("updMemberAchieveExtList") List updMemberAchieveExtList, @Param("tableName") String currentSettleTableName); - - /** - * 查询会员最新业绩 - * - * @param pkMember 会员主键 - * @param pkCountry 公司 - * @param tableName 结算表 - */ - CuMemberAchieve queryCuMemberAchieveByPkMember(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry, @Param("tableName") String tableName); - - /* - * 查询会员伞下血缘业绩 - **/ - BigDecimal queryCuMemberUnderBloodAchieveByPkMember(@Param("treeTable") String treeTable, @Param("achieveTable") String achieveTable, - @Param("pkMember") Long pkMember, @Param("period") Integer period); - - - /** - * 会员端新增业绩 - * - * @param cuMemberNewAddAchieveVO 端新增业绩 - * @return CuMemberNewAddAchieveVO - */ - List selectNewAddAchieve(CuMemberNewAddAchieveVO cuMemberNewAddAchieveVO); - - /** - * 根据用户ID查询奖衔 - * - * @param memberAwardsUnderVO 奖衔VO - * @return CuMemberAwardsUnderVO - */ - CuMemberAwardsUnderVO selectAwardsByPkMember(CuMemberAwardsUnderVO memberAwardsUnderVO); - - /** - * 根据用户ID查询奖衔伞下 - * - * @param memberAwardsUnderVO 奖衔VO - * @return List - */ - List selectUnderMemberAwards(CuMemberAwardsUnderVO memberAwardsUnderVO); - - - /** - * 月度新增业绩对比 - * - * @param memberMonthAchieveContrastVO 参数 - * @return CuMemberMonthAchieveContrastVO - */ - CuMemberMonthAchieveContrastVO selectNewAddAchieveContrast(CuMemberMonthAchieveContrastVO memberMonthAchieveContrastVO); - - /** - * 查询表名是否存在 - * - * @param tableName 表名 - * @return Integer - */ - Integer selectExistTable(String tableName); - - /** - * 查询推荐业绩 - * - * @param memberIds - * @param pkCountry - * @param achieveTable - * @return - */ - List selectByParent(@Param("memberIds") List memberIds, @Param("pkCountry") Integer pkCountry, @Param("achieveTable") String achieveTable); - - /* - * 更新会员的业绩 - **/ - void updateCuMemberAchieve(@Param("tableName") String tableName, @Param("period") Integer period); - - /* - * 查询月统计数据,按照月倒叙 - **/ - List queryMemberMonthAchieve(@Param("pkMember") Long pkMember, @Param("monthList") List monthList); - - /* - * 查询会员一代伞下 - **/ - List queryPkMemberMonthAchieve(@Param("month") String month, @Param("pkMember") Long pkMember); - - /* - * 查询月统计数据,查询明细 - **/ - List queryMemberMonthAchieveDetail(@Param("monthAchieveParam") MonthAchieveParam monthAchieveParam, - @Param("memberList") List memberList); - - /* - * 查询月统计数据,查询明细,安置伞下 - **/ - List queryPlaceParentMemberMonthAchieve(MonthAchieveParam monthAchieveParam); - - /* - * 查询月统计数据,查询明细,安置伞下 - **/ - List queryParentMemberMonthAchieve(MonthAchieveParam monthAchieveParam); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java index 3be4c1dd..5f2c1c57 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailRangeMapper.java @@ -22,7 +22,8 @@ public interface CuMemberRetailRangeMapper extends BaseMapper { */ void createCuMemberSettleTable(String tableName); - /* - * 创建会员网体极差结算表 - **/ - void createCuMemberRangeTable(String tableName); - /* * 创建会员网体复购极差结算表 **/ void createCuMemberRetailRangeTable(String tableName); - /** - * 创建会员网体结算秒结表(按照日记录,每天一条,记录30天的) - * - * @param tableName 日期 - */ - void createCuMemberSecondTable(String tableName); - - /* - * 创建极差秒结算表 - **/ - void createCuMemberRangeSecondTable(String tableName); - /* * 创建极差秒结算表 **/ void createCuMemberRetailRangeSecondTable(String tableName); - /** - * 删除会员结算表 - * - * @param tableName 表明 - */ - void dropCuMemberSettleTable(String tableName); - /** * 创建会员网体推荐人索引 * @@ -87,12 +58,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ void createCuMemberTableUniqueIndex(String tableName); - /* - * 根据历史数据查询settle表 - **/ - void insertCuMemberSettleByHis(@Param("settleTableName") String settleTableName, @Param("treeTableName") String treeTableName, - @Param("achieveTableName") String achieveTableName, @Param("period") Integer period); - /** * 创建表的序列 * @@ -108,30 +73,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ void createCuMemberTreeDayOnlyIndex(String tableName); - /** - * 将结算日表的值插入到结算月表中 - * - * @param sourceTableName 来源表 结算日表 - * @param targetTableName 目标表 网体月表 - * @param period 期间 - */ - void insertCuMemberTreeBySettleDate(@Param("targetTableName") String targetTableName, - @Param("sourceTableName") String sourceTableName, @Param("period") Integer period); - - /* - * 新增货修改会员数 - **/ - void mergeCuMemberTreeBySettleDate(@Param("targetTableName") String targetTableName, - @Param("sourceTableName") String sourceTableName, @Param("period") Integer period); - - /** - * 迁移月表数据,先删除 - * - * @param targetTableName 目标表 - * @param period 期间 - */ - void deleteCuMemberTreeByPeriod(@Param("targetTableName") String targetTableName, @Param("period") Integer period); - /** * 删除日表数据 * @@ -139,21 +80,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ void truncateCuMemberTreeTable(@Param("tableName") String tableName); - /** - * 将会员表数据插入结算日表中 - * - * @param settleTableName 结算表名 - */ - void insertCuMemberSettleByMember(String settleTableName); - - /** - * 将会员表数据插入结算日表中 - * - * @param settleTableName 结算表名 - */ - void insertCuMemberRangeByMember(@Param("settleTableName") String settleTableName, @Param("year") String year, - @Param("period") Integer period, @Param("firstDate") Date firstDate); - /** * 将会员表数据插入结算日表中 * @@ -168,45 +94,11 @@ public interface CuMemberTreeMapper extends BaseMapper { */ Integer queryExistOracleTable(String tableName); - /* - * 查询表数量 - **/ + /** + * 查询表数量 + */ Integer queryExistOrderTableCount(String tableName); - /** - * 根据会员编号查询会员历史业绩、网体记录,用于结算前7天-到前2天 - * - * @param pkMember 会员主键 - * @param period 期间 - * @param settleTableName 需要结算的表 - */ - List queryCuMemberTreeExt(@Param("pkMember") Long pkMember, @Param("period") Integer period, - @Param("settleTableName") String settleTableName); - - /** - * 根据注册撤单数据将会员网体历史记录表的会员修改为死点 - * - * @param saOrderExtList 撤单数据 - * @param settleTableName 结算表 - */ - void updateCuMemberTreeByCancelOrder(@Param("saOrderExtList") List saOrderExtList, @Param("settleTableName") String settleTableName); - - /** - * 根据升级撤单数据将会员网体历史记录表的会员修改等级 - * - * @param saOrderExtList 撤单数据 - * @param tomorrow 日期 - * @param settleTableName 结算表 - */ - void updateCuMemberTreeGradeByCancelOrder(@Param("saOrderExtList") List saOrderExtList, @Param("currentDate") Date tomorrow, @Param("settleTableName") String settleTableName); - - /** - * 查询历史会员网体信息,查询某一天免考的会员 - * - * @param tableName 结算表 - */ - List queryExemptCuMemberSettle(String tableName); - /** * 查询出符合下一等级足够业绩的会员 * @@ -236,14 +128,14 @@ public interface CuMemberTreeMapper extends BaseMapper { void updateCuMemberRetailRangeAwardByDate(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate, @Param("awardType") Integer awardType); - /* - * 回退会员奖衔 - **/ + /** + * 初始化期间奖衔 + */ void updateCuMemberRetailRangeInitAward(@Param("rangeTableName") String rangeTableName); - /* - * 更新奖衔,V5默认W1 - **/ + /** + * 初始化期间V5奖衔 + */ void updateCuMemberRetailRangeInitV5Award(@Param("rangeTableName") String rangeTableName); /** @@ -311,15 +203,6 @@ public interface CuMemberTreeMapper extends BaseMapper { List batchQueryCuMemberSettleParent(@Param("settleTableName") String settleTableName, @Param("pkMemberList") List pkMemberList); - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param pkMemberList 有量奖的会员列表 - */ - List batchQuerySpecialCuMemberSettleParent(@Param("settleTableName") String settleTableName, - @Param("pkMemberList") List pkMemberList); - /** * 批量根据量奖信息查询会员结算表中的父级血缘数据 * @@ -329,14 +212,6 @@ public interface CuMemberTreeMapper extends BaseMapper { List batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName, @Param("pkMemberList") List pkMemberList); - /** - * 更新会员网体奖衔数据,更新月表、结算表 - * - * @param updateTableName 更新表名 - * @param period 期 - */ - Integer updateCuMemberSettleMonthByPeriod(@Param("updateTableName") String updateTableName, @Param("period") Integer period); - /** * 更新会员网体奖衔数据,更新月表、结算表 * @@ -344,14 +219,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ Integer updateCuMemberSettleByPeriod(@Param("updateTableName") String updateTableName, @Param("period") Integer period); - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算表 - * @param cuMemberTreeList 树 - */ - void updateCuMemberSettle(@Param("settleTableName") String settleTableName, @Param("cuMemberTreeList") List cuMemberTreeList); - /** * 更新会员树的累计业绩 * @@ -360,263 +227,4 @@ public interface CuMemberTreeMapper extends BaseMapper { */ void updateCuMemberExpandSettle(@Param("settleTableName") String settleTableName, @Param("cuMemberTreeList") List cuMemberTreeList); - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算表 - * @param cuMemberTreeList 树 - */ - void updateCuMemberSecond(@Param("settleTableName") String settleTableName, @Param("cuMemberTreeList") List cuMemberTreeList); - - /** - * 根据会员编号更新会员安置伞上秒结数据,新增或修改 - * - * @param secondTableName 秒结表 - * @param settleTableName 结算表 - * @param pkMember 会员表 - * @param cuMemberTreeList 树 - * @param isPlace 是否安置关系 - */ - void updateCuMemberSecondPlaceParent(@Param("secondTableName") String secondTableName, @Param("settleTableName") String settleTableName, - @Param("pkMember") Long pkMember, @Param("cuMemberTreeList") List cuMemberTreeList, - @Param("isPlace") Integer isPlace); - - /** - * 根据会员编号查询会员伞上安置人秒结数据 - * - * @param secondTableName 秒接 - * @param pkMember 会员 - */ - List queryCuMemberSecondPlaceParent(@Param("secondTableName") String secondTableName, @Param("pkMember") Long pkMember); - - /** - * 根据会员编号查询会员伞上安置人秒结数据 - * - * @param secondTableName 秒接 - * @param pkMember 会员 - */ - List queryCuMemberSecondBloParent(@Param("secondTableName") String secondTableName, @Param("pkMember") Long pkMember); - - /** - * 根据会员编号查询会员伞上推荐人秒结数据 - * - * @param secondTableName 秒接 - * @param cuMemberTreeList 推荐人 - */ - List queryCuMemberSecondParent(@Param("secondTableName") String secondTableName, @Param("cuMemberTreeList") List cuMemberTreeList); - - /** - * 根据等级、奖衔满足晋升的情况 更新网体免考记录 - * - * @param settleTableName 结算表 - * @param startDate 开始日期 - * @param endDate 结束日期 - */ - Integer updateCuMemberSettleExemptByAward(@Param("settleTableName") String settleTableName, - @Param("startDate") Date startDate, @Param("endDate") Date endDate); - - /** - * 查询安置 - * - * @param tableName - * @param pkMember - * @return - */ - List queryCuMemberTreePlaceParentTable(@Param("tableName") String tableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List memberIdList, @Param("level") Integer level); - - /** - * 根据pkmember查询 - * - * @param tableName - * @param pkMember - * @return - */ - CuMemberSettleExt queryCuMemberTreeByPkMemberTable(@Param("tableName") String tableName, @Param("pkMember") Long pkMember); - - /** - * 查询推荐关系 - * - * @param settleTableName - * @param pkMember - * @return - */ - List queryCuMemberTreeParentTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("level") Integer level); - - /** - * 查询直推人数 - * - * @param settleTableName - * @param pkMember - * @return - */ - Long queryCuMemberTreeParentTableCount(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember); - - /** - * 查询历史安置上下级 - * - * @param settleTableName - * @param pkMember - * @return - */ - List queryCuMemberTreePlaceParentHistoryTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("memberIdList") List memberIdList, @Param("level") Integer level); - - /** - * 查询每一期汇总 - * - * @param settleTableName - * @return - */ - CensusSummaryVo queryCuMemberTreeParentSumTable(@Param("tableName") String settleTableName, @Param("censusSummaryParam") CensusSummaryParam censusSummaryParam); - - /* - * 查询历史网体的最末安置人,左右区一起查出来 - **/ - List queryCuMemberTreeLastPlaceParent(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember); - - /* - * 查询 - **/ - List queryCuMemberTree(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("pkPlaceParent") Long pkPlaceParent); - - /** - * 查询秒结表会员信息 - * - * @param pkMember - * @param settleTableName - * @return - */ - List selectByTreeMemberList(@Param("pkMember") Long pkMember, @Param("tableName") String settleTableName, @Param("level") Integer level); - - /** - * 查询会员真实业绩 - * - * @param pkMember - * @return - */ - CuMemberSettleExt getCuMemberRealPerformanceByMemberId(@Param("pkMember") Long pkMember, @Param("tableName") String tableName); - - /** - * 查询安置左右区人数 - * - * @param memberId 会员id - * @param placeDept - * @return - */ - Long queryPlaceParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept); - - /** - * 查询推荐大小区人数 - * - * @param memberId - * @param placeDept - * @return - */ - Long queryParentPeopleNumber(@Param("memberId") Long memberId, @Param("placeDept") Integer placeDept); - - /** - * 查询秒结表是否有值 - * - * @param settleTableName - * @return - */ - Long selectByselectByTreeMemberCount(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember); - - /** - * 查询伞下安置新增业绩 - * - * @param settleTableName - * @param pkMember - * @return - */ - List brollyBelowResettle(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember); - - /** - * 根据pkmember查询 关联parent - * - * @param settleTableName - * @param pkMember - * @return - */ - CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember); - - /** - * 查询会员直推人数 - * - * @param memberIds - * @return - */ - List queryByMemberParentCount(@Param("memberIds") List memberIds); - - /** - * 查询会员直推业绩 - * - * @param settleTableName - * @param memberIds - * @return - */ - List queryByMemberParentSumPv(@Param("tableName") String settleTableName, @Param("memberIds") List memberIds); - - /** - * 查询历史会员直推人数 - * - * @param memberIds - * @param settleTableName - * @return - */ - List queryByMemberParentAndMemberSettleCount(@Param("memberIds") List memberIds, @Param("settleTableName") String settleTableName); - - /** - * 查询会员历史直推业绩 - * - * @param settleTableName - * @param memberIds - * @return - */ - List queryByMemberParentSettleSumPv(@Param("tableName") String settleTableName, @Param("memberIds") List memberIds); - - /* - * 每月初初始化奖衔为会员 - **/ - void updateCuMemberAwardsInit(); - - /* - * 每月初初始化奖衔为会员 - **/ - void updateMemberRangeAwardsInit(); - - /* - * 每月初初始化奖衔为会员 - **/ - void updateCuMemberSettleAwardsInit(@Param("settleTableName") String settleTableName); - - /* - * 每月初初始化奖衔为会员 - **/ - void updateCuMemberRangeAwardsInit(@Param("rangeTableName") String rangeTableName); - - /* - * 根据结算表更新奖衔 - **/ - void updateCuMemberAwardsBySettle(@Param("startPeriod") Integer startPeriod, @Param("period") Integer period); - - /* - * 根据结算表更新奖衔 - **/ - void updateMemberRangeAwardsBySettle(@Param("startPeriod") Integer startPeriod, @Param("period") Integer period); - - /* - * 根据结算表更新奖衔 - **/ - void updateCuMemberSettleAwardsBySettle(@Param("settleTableName") String settleTableName, @Param("startPeriod") Integer startPeriod, @Param("period") Integer period); - - /* - * 根据结算表更新奖衔 - **/ - void updateCuMemberRangeAwardsBySettle(@Param("rangeTableName") String rangeTableName, @Param("startPeriod") Integer startPeriod, @Param("period") Integer period); - - /* - * 根据结算表更新奖衔 - **/ - void updateCuMemberMaxAwardsBySettle(); - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MemberParentCountParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MemberParentCountParam.java deleted file mode 100644 index 22e2400c..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MemberParentCountParam.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hzs.bonus.achieve.param;/** - * @Description: - * @Author: yuhui - * @Time: 2023/7/10 14:01 - * @Classname: MemberParentCountParam - * @PackageName: com.hzs.member.achieve.param - */ - -import lombok.Data; - -import java.math.BigDecimal; - -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.member.achieve.param - *@Author: yh - *@CreateTime: 2023-07-10 14:01 - *@Description: TODO - *@Version: 1.0 - */ -@Data -public class MemberParentCountParam { - - - /** - * 会员主键 - */ - private Long pkMember; - - /** - * 会员直推数量 - */ - private Long parentMemberCount; - - /** - * 会员直推pv - */ - private BigDecimal parentMemberSumPv; -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MonthAchieveParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MonthAchieveParam.java deleted file mode 100644 index 91db208d..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/param/MonthAchieveParam.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hzs.bonus.achieve.param; - -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * @description: 月度业绩 - * @author: sui q - * @time: 2023/8/29 17:37 - * @classname: MonthAchieveParam - * @package_name: com.hzs.member.achieve.param - * version 1.0.0 - */ -@Data -public class MonthAchieveParam implements Serializable { - - private String month; - - private String memberCode; - - private String memberName; - - private Long pkMember; - - private Integer placeDept; - - private Date startDate; - - private Date endDate; - - /** - * 等级 - */ - private Integer pk_grade; - - /** - * 真实奖衔 - */ - private Integer pk_awards; -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberAchieveService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberAchieveService.java index bd888cde..60e6cc1f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberAchieveService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberAchieveService.java @@ -2,17 +2,7 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.CuMemberAchieve; -import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.bonus.achieve.param.MemberAchieveParam; -import org.apache.ibatis.annotations.Param; - -import java.util.Date; -import java.util.List; -import java.util.Map; /** * 会员业绩记录 服务类 @@ -38,64 +28,6 @@ public interface ICuMemberAchieveService extends IService { **/ void mergeCuMemberMonth(Integer day, String date); - /** - * 将结算日表的值插入到结算月表中 - * - * @param targetTableName 目标表 网体月表 - * @param sourceTableName 来源表 结算日表 - * @param period 期间 - */ - void insertCuMemberAchieveBySettleDate(String targetTableName, String sourceTableName, Integer period); - - /** - * 将结算日表的值插入到结算月表中 - * - * @param targetTableName 目标表 网体月表 - * @param sourceTableName 来源表 结算日表 - * @param period 期间 - */ - void mergeCuMemberAchieveBySettleDate(String targetTableName, String sourceTableName, Integer period); - - /** - * 根据每日日业绩开始更新会员业绩 新增业绩、累计业绩 - * - * @param memberAchieveParamMap 修改的结算 - * @param tablaName 修改的结算期间表 - */ - void updateCuMemberAchieveEveryDay(Map memberAchieveParamMap, String tablaName); - - /** - * 重新结算会员网体业绩 - * - * @param currentSettleTableName 更新甩网业绩 - */ - void updateCuMemberNetAchieve(List updMemberAchieveExtList, String currentSettleTableName); - - /** - * 根据每日日业绩开始回退更新会员业绩 新增业绩、累计业绩 - * - * @param memberAchieveParamMap 修改的结算 - * @param tablaName 修改的结算期间表 - */ - void updateCuMemberBackOldAchieveEveryDay(Map memberAchieveParamMap, String tablaName); - - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - */ - void updateCuMemberSettleInitAchieve(String targetTable); - - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param sourceTable 来源表,记录10天跟月表一摸一样的滚动表数据 - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - */ - void updateCuMemberSettleAchieveByBeforeDay(String sourceTable, String targetTable); - /** * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 * 根据昨天结算表数据更新今天结算表的业绩数据 @@ -105,32 +37,9 @@ public interface ICuMemberAchieveService extends IService { */ void updateCuMemberExpandSettleAchieveByBeforeDay(String sourceTable, String targetTable); - /** - * 根据特殊业务更新业绩 - * - * @param targetTable 结算表 - * @param period 期间 - * @param pkId 主键 - */ - void updateCuMemberSettleAchieveBySpecialBus(String targetTable, Integer period, Long pkId); - - /* - * 注水到期更新业绩 - **/ - void mergeCuMemberSettleByAchieveLogByDate(String targetTable, Date settleDate); - - /* - * 根据到期日期更新业绩,到期后需要还原到实际累计金额 - **/ - void updateCuMemberSettleAchieveByDueDate(String currentTableName, String yesTableName, Date currentDate); - /* * 退单回退业绩 **/ Boolean chargeBackSaOrder(SaOrder saOrder); - /* - * 查询每月月业绩,获得血缘业绩 首购复购 - **/ - List queryCuMemberMonthAchieveByMemberIdList(String settleTableName, List memberSwingNetExtList); } 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 19775df5..2592684d 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 @@ -2,16 +2,8 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.CuMemberTree; -import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; -import com.hzs.common.domain.member.detail.CuMemberAwards; -import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.bonus.achieve.param.MemberAchieveParam; -import com.hzs.bonus.achieve.param.MemberParentCountParam; -import com.hzs.bonus.census.param.CensusSummaryParam; -import com.hzs.bonus.census.vo.CensusSummaryVo; -import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; @@ -30,26 +22,6 @@ public interface ICuMemberTreeService extends IService { */ void createCuMemberTree(String date); - /* - * 为计算4-n,增加碰次,增加表 - **/ - void createTouchCuMemberTree(String date); - - /** - * 每月初,初始化考核数据,根据月底网体数据,先进行奖金计算在进行考核,考核在计算奖金之后 - * - * @param settleDate 结算日期 - */ - void initCuMemberAssessData(String settleDate); - - /** - * 初始用来结算奖金的表, - * - * @param yesterdaySettleTableName 昨天的结算表 - * @param currentSettleTableName 结算日的结算表 - */ - void initCuMemberTreeTable(String yesterdaySettleTableName, String currentSettleTableName); - /** * 初始用来结算奖金的表,多次重算奖金,只更新结余 * @@ -58,38 +30,6 @@ public interface ICuMemberTreeService extends IService { */ void initCuMemberExpandTreeTable(String yesterdaySettleTableName, String currentSettleTableName); - /** - * 重新结算会员网体 - * - * @param currentSettleTableName 结算日的表名 - */ - void updateCuMemberSettle(Map cuMemberAchieveHashMap, String currentSettleTableName); - - /** - * 重新结算会员网体业绩 - * - * @param currentSettleTableName 更新甩网业绩 - */ - void updateCuMemberNetAchieve(List updMemberAchieveExtList, String currentSettleTableName); - - /** - * 重新结算会员网体 - * - * @param currentSettleTableName 结算日的表名 - */ - void updateCuMemberBackSettle(Map cuMemberAchieveHashMap, String currentSettleTableName); - - /** - * 更新会员网体,将会员网体改为死点,检查网体是否有问题 - * - * @param revokeRegSaOrderList 注册撤销订单 - * @param revokeUpdSaOrderList 升级撤销订单 - * @param settleDate 计算日期 - * @param settleTableName 结算表名 - */ - void updateCuMemberTreeByCancelOrder(List revokeRegSaOrderList, List revokeUpdSaOrderList, - String settleDate, String settleTableName); - /** * 判断是否存在临时表 * @@ -112,22 +52,6 @@ public interface ICuMemberTreeService extends IService { */ void createCuMemberTableSequence(String tableName, String tableNameSeq); - /** - * 将结算日表的值插入到结算月表中 - * - * @param settleDate 结算日期 - * @param settleTableName 结算日表 - * @param period 期间 - */ - void insertCuMemberTreeBySettleDate(String settleDate, String settleTableName, Integer period); - - /** - * 查询历史会员网体信息,查询某一天免考的会员 - * - * @param tableName 结算表 - */ - List queryExemptCuMemberSettle(String tableName); - /** * 查询出符合下一等级足够业绩的会员 * @@ -145,9 +69,9 @@ public interface ICuMemberTreeService extends IService { **/ void updateBackCuMemberSettleRangeAward(String rangeTableName, Integer period); - /* - * 回退会员奖衔 - **/ + /** + * 回退会员奖衔 + */ void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period); /* @@ -155,9 +79,9 @@ public interface ICuMemberTreeService extends IService { **/ void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate); - /* - * 回退会员奖衔 - **/ + /** + * 初始化期间奖衔 + */ void updateCuMemberRetailRangeInitAward(String rangeTableName); /** @@ -185,15 +109,6 @@ public interface ICuMemberTreeService extends IService { */ void updateCuMemberSettleByPeriod(List periodList); - /** - * 根据等级、奖衔满足晋升的情况 更新网体免考记录 - * - * @param settleTableName 结算表 - * @param startDate 开始日期 - * @param endDate 结束日期 - */ - Boolean updateCuMemberSettleExemptByAward(String settleTableName, Date startDate, Date endDate); - /** * 根据订单,查询出网体中记录的会员数据,推荐人、安置人 * @@ -239,14 +154,6 @@ public interface ICuMemberTreeService extends IService { */ List batchQueryCuMemberSettleParent(String settleTableName, Set expandMemberSet); - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param expandMemberSet 有量奖的会员 - */ - List batchQuerySpecialCuMemberSettleParent(String settleTableName, Set expandMemberSet); - /** * 批量根据量奖信息查询会员结算表中的父级血缘数据 * @@ -255,14 +162,6 @@ public interface ICuMemberTreeService extends IService { */ List batchQueryCuMemberSettleParentForSpecial(String settleTableName, Set expandMemberSet); - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算日期 - * @param cuMemberTreeMap 树 - */ - void updateCuMemberSettle(String settleTableName, Map cuMemberTreeMap); - /** * 更新会员树的累计业绩 * @@ -271,199 +170,6 @@ public interface ICuMemberTreeService extends IService { */ void updateCuMemberExpandSettle(String settleTableName, Map cuMemberTreeMap); - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算日期 - * @param cuMemberTreeMap 树 - */ - void updateCuMemberSecond(String settleTableName, Map cuMemberTreeMap); - - /** - * 根据会员编号更新会员伞上秒结数据,新增或修改 - * - * @param secondTableName 秒结表 - * @param settleTableName 结算表 - * @param pkMember 会员表 - * @param cuMemberTreeList 树 - * @param isPlace 是否安置 - */ - void updateCuMemberSecondPlaceParent(String secondTableName, String settleTableName, String yesSettleTableName, - Long pkMember, List cuMemberTreeList, Integer isPlace); - - - /** - * 根据会员编号查询会员伞上安置秒结数据 - * - * @param secondTableName 秒接 - * @param pkMember 会员 - */ - List queryCuMemberSecondPlaceParent(String secondTableName, Long pkMember); - - /** - * 根据会员编号查询会员伞上安置人秒结数据 - * - * @param secondTableName 秒接 - * @param pkMember 会员 - */ - List queryCuMemberSecondBloParent(String secondTableName, Long pkMember); - - /** - * 根据会员编号查询会员伞上血缘秒结数据 - * - * @param secondTableName 秒接 - * @param cuMemberTreeList 推荐人 - */ - List queryCuMemberSecondParent(@Param("secondTableName") String secondTableName, @Param("cuMemberTreeList") List cuMemberTreeList); - - /** - * 查询安置上下级 - * - * @param settleTableName - * @param pkMember - * @return - */ - List queryCuMemberTreePlaceParentTable(String settleTableName, Long pkMember, List memberIdList, Integer level); - - /** - * 根据pkmember查询 - * - * @param settleTableName - * @param pkMember - * @return - */ - CuMemberSettleExt queryCuMemberTreeByPkMemberTable(String settleTableName, Long pkMember); - - /** - * 查询推荐关系 - * - * @param settleTableName - * @param pkMember - * @return - */ - List queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level); - - /** - * 查询直推人数 - * - * @param settleTableName - * @param pkMember - * @return - */ - Long queryCuMemberTreeParentTableCount(String settleTableName, Long pkMember); - - /** - * 查询历史安置上下级 - * - * @param settleTableName - * @param pkMember - * @return - */ - List queryCuMemberTreePlaceParentHistoryTable(String settleTableName, Long pkMember, List memberIdList, Integer level); - - /** - * 查询每一期汇总 - **/ - CensusSummaryVo queryCuMemberTreeParentSumTable(String settleTableName, CensusSummaryParam censusSummaryParam); - - /* - * 查询历史网体的最末安置人,左右区一起查出来 - **/ - List queryCuMemberTreeLastPlaceParent(String settleTableName, Long pkMember); - - /* - * 查询 - **/ - List queryCuMemberTree(String settleTableName, Long pkMember, Long pkPlaceParent); - - /** - * 查询秒结表会员信息 - * - * @param pkMember - * @param settleTableName - * @param level - * @return - */ - List selectByTreeMemberList(Long pkMember, String settleTableName, Integer level); - - /** - * 查询会员真实业绩 - * - * @param pkMember - * @return - */ - CuMemberSettleExt getCuMemberRealPerformanceByMemberId(Long pkMember, String tableName); - - /** - * 查询会员安置左右区 - * - * @param userId - * @param settleTableName - * @return - */ - Long queryLeftPeopleNumber(Long userId, String settleTableName); - - /** - * 查询安置左右区人数 - * - * @param memberId 会员id - * @param placeDept - * @return - */ - Long queryPlaceParentPeopleNumber(Long memberId, Integer placeDept); - - /** - * 查询推荐大小区人数 - * - * @param memberId - * @param placeDept - * @return - */ - Long queryParentPeopleNumber(Long memberId, Integer placeDept); - - /** - * 查询秒结表是否有值 - * - * @param settleTableName - * @return - */ - Long selectByselectByTreeMemberCount(String settleTableName, Long pkMember); - - /** - * 查询伞下安置新增业绩 - * - * @param settleTableName - * @param pkMember - * @return - */ - List brollyBelowResettle(String settleTableName, Long pkMember); - - /** - * 根据pkmember查询 关联parent - * - * @param settleTableName - * @param pkMember - * @return - */ - CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember); - - /** - * 查询会员直推业绩 - * - * @param settleTableName - * @param memberIds - * @return - */ - List queryByMemberParentSumPv(String settleTableName, List memberIds); - - /** - * 迁移月表数据,先删除 - * - * @param targetTableName 目标表 - * @param period 期间 - */ - void deleteCuMemberTreeByPeriod(String targetTableName, Integer period); - /** * 删除日表数据 * @@ -492,13 +198,4 @@ public interface ICuMemberTreeService extends IService { */ void createCuMemberTreePlaceIndex(String tableName); - /** - * 查询会员历史直推业绩 - * - * @param settleTableName - * @param memberIds - * @return - */ - List queryByMemberParentSettleSumPv(@Param("settleTableName") String settleTableName, @Param("memberIds") List memberIds); - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java index 8b10cdb3..71603e1d 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -9,9 +9,6 @@ import com.hzs.common.core.enums.EOrderType; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.member.achieve.CuMemberAchieve; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; -import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt; import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.service.ITransactionCommonService; import com.hzs.bonus.achieve.mapper.CuMemberAchieveMapper; @@ -33,21 +30,13 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl memberAchieveParamMap, String tablaName) { - if (memberAchieveParamMap.size() == 0) { - return; - } - List memberAchieveParamList = new ArrayList<>(); - memberAchieveParamMap.forEach((key, memberAchieveParam) -> - memberAchieveParamList.add(memberAchieveParam)); - List> listList = cuMemberBonusSettle.handleCutList(memberAchieveParamList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> { - baseMapper.updateCuMemberBackAchieveEveryDay(list, tablaName); - }); - } - - @Override - public void updateCuMemberNetAchieve(List updMemberAchieveExtList, String currentSettleTableName) { - baseMapper.updateCuMemberNetAchieve(updMemberAchieveExtList, currentSettleTableName); - } - - @Override - public void updateCuMemberBackOldAchieveEveryDay(Map memberAchieveParamMap, String tablaName) { - if (memberAchieveParamMap.size() == 0) { - return; - } - List memberAchieveParamList = new ArrayList<>(); - memberAchieveParamMap.forEach((key, memberAchieveParam) -> - memberAchieveParamList.add(memberAchieveParam)); - List> listList = cuMemberBonusSettle.handleCutList(memberAchieveParamList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> { - baseMapper.updateCuMemberBackOldAchieveEveryDay(list, tablaName); - }); - } - - @Override - public List queryCuMemberMonthAchieveByMemberIdList(String settleTableName, List memberSwingNetExtList) { - return baseMapper.queryCuMemberMonthAchieveByMemberIdList(settleTableName, memberSwingNetExtList); - } - @Override public Boolean chargeBackSaOrder(SaOrder saOrder) { // 根据支付时间查询期间 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java index 72f1214c..fa66d6e9 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailRangeServiceImpl.java @@ -29,8 +29,10 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl implements ICuMemberTreeService { - @Autowired - private ICuMemberTreeService memberTreeService; - private ICuMemberAchieveService cuMemberAchieveService; private CuMemberBonusSettle cuMemberBonusSettle; private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - private ICuMemberAssessService cuMemberAssessService; - @Autowired private ICuBonusExpandService bonusExpandService; - @Autowired - public void setCuMemberAssessService(ICuMemberAssessService cuMemberAssessService) { - this.cuMemberAssessService = cuMemberAssessService; - } - @Autowired public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; @@ -88,33 +67,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl 0) { -// baseMapper.dropCuMemberSettleTable(beforeSettleTableName); -// } -// } -// String beforeSecondTableName = TableNameConstants.CU_MEMBER_SECOND + beforePeriod; -// number = baseMapper.queryExistOracleTable(beforeSecondTableName); -// if (number != null && number > 0) { -// baseMapper.dropCuMemberSettleTable(beforeSecondTableName); -// } BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(date)).build(); bonusExpandService.firstSaveCuBonusExpand(bonusExpandParam); } - @Override - public void createTouchCuMemberTree(String date) { - // 创建日表记录表 - String settleTableName = createSettleTable(date); - Integer number = baseMapper.queryExistOrderTableCount(settleTableName); - if (number == null || number <= 0) { - // 初始化日表数据,将cu_member数据插入到最新的日表记录表 - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); - String treeTableName = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(date); - String achieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(date); - baseMapper.insertCuMemberSettleByHis(settleTableName, treeTableName, achieveTableName, period); - } - } - - private String createSettleTable(String date) { - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); - String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; - Integer number = baseMapper.queryExistOracleTable(settleTableName); -// if(number != null && number >0){ -// baseMapper.dropCuMemberSettleTable(settleTableName); -// } - if (number == null || number <= 0) { - baseMapper.createCuMemberSettleTable(settleTableName); - baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName); - baseMapper.createCuMemberTreeParentIndex(settleTableName); - baseMapper.createCuMemberTreePlaceIndex(settleTableName); - } - BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(date)).build(); - bonusExpandService.firstSaveCuBonusExpand(bonusExpandParam); - return settleTableName; - } - - @Override - public void initCuMemberAssessData(String settleDate) { - // 创建日表记录表 - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); - // 创建月表考核记录表 - cuMemberAssessService.initCuMemberAssessData(settleDate, period); - } - private String createMonthTreeTableName(String date) { Integer number; String monthTableName = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(date); @@ -230,59 +114,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl cuMemberAchieveHashMap, String currentSettleTableName) { - cuMemberAchieveService.updateCuMemberAchieveEveryDay(cuMemberAchieveHashMap, currentSettleTableName); - } - - @Override - public void updateCuMemberNetAchieve(List updMemberAchieveExtList, String currentSettleTableName) { - cuMemberAchieveService.updateCuMemberNetAchieve(updMemberAchieveExtList, currentSettleTableName); - } - - @Override - public void updateCuMemberBackSettle(Map cuMemberAchieveHashMap, String currentSettleTableName) { - cuMemberAchieveService.updateCuMemberBackOldAchieveEveryDay(cuMemberAchieveHashMap, currentSettleTableName); - } - - @Override - public void updateCuMemberTreeByCancelOrder(List revokeRegSaOrderList, List revokeUpdSaOrderList, String settleDate, String settleTableName) { - // 更新网体,将撤单的注册订单,会员数据修改为死点 - if (revokeRegSaOrderList.size() > 0) { - List> revokeSaOrderList = cuMemberBonusSettle.handleCutList(revokeRegSaOrderList); - revokeSaOrderList.forEach(saOrderList -> { - baseMapper.updateCuMemberTreeByCancelOrder(saOrderList, settleTableName); - }); - } - // 更新网体,将撤销的升级订单,会员等级降级 - if (revokeRegSaOrderList.size() > 0) { - Date tomorrow = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); - List> revokeSaOrderList = cuMemberBonusSettle.handleCutList(revokeRegSaOrderList); - revokeSaOrderList.forEach(saOrderList -> - baseMapper.updateCuMemberTreeGradeByCancelOrder(saOrderList, tomorrow, settleTableName)); - } - } - @Override public Integer queryExistOracleTable(String tableName) { return baseMapper.queryExistOracleTable(tableName); @@ -298,31 +134,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryExemptCuMemberSettle(String tableName) { - List cuMemberSettleExtList = baseMapper.queryExemptCuMemberSettle(tableName); - if (cuMemberSettleExtList == null) { - return Collections.emptyList(); - } - return cuMemberSettleExtList; - } - @Override public List queryCuMemberSettleEnoughAwardAchieve(String settleTableName) { return baseMapper.queryCuMemberSettleEnoughAwardAchieve(settleTableName); @@ -374,11 +185,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl 0; - } - @Override public List batchQueryMemberSettleBySaOrder(String settleTableName, List saOrderExtList) { // 查询出推荐人 @@ -457,19 +263,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl batchQuerySpecialCuMemberSettleParent(String settleTableName, Set expandMemberSet) { - List cuMemberSettleExtList = new ArrayList<>(); - if (expandMemberSet == null || expandMemberSet.size() == 0) { - return cuMemberSettleExtList; - } - List memberPkList = Arrays.asList(expandMemberSet.toArray(new Long[]{})); - List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> - cuMemberSettleExtList.addAll(baseMapper.batchQuerySpecialCuMemberSettleParent(settleTableName, list))); - return cuMemberSettleExtList; - } - @Override public List batchQueryCuMemberSettleParentForSpecial(String settleTableName, Set expandMemberSet) { List cuMemberSettleExtList = new ArrayList<>(); @@ -480,305 +273,18 @@ public class CuMemberTreeServiceImpl extends ServiceImpl cuMemberTreeMap) { - List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); - treeList.forEach(list -> baseMapper.updateCuMemberSettle(settleTableName, list)); - } - @Override public void updateCuMemberExpandSettle(String settleTableName, Map cuMemberTreeMap) { List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); treeList.forEach(list -> baseMapper.updateCuMemberExpandSettle(settleTableName, list)); } - @Override - public void updateCuMemberSecond(String settleTableName, Map cuMemberTreeMap) { - List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); - treeList.forEach(list -> baseMapper.updateCuMemberSecond(settleTableName, list)); - } - - /** - * 查询安置 - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public List queryCuMemberTreePlaceParentTable(String settleTableName, Long pkMember, List memberIdList, Integer level) { - return baseMapper.queryCuMemberTreePlaceParentTable(settleTableName, pkMember, memberIdList, level); - } - - /** - * 根据pkmember查询 - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public CuMemberSettleExt queryCuMemberTreeByPkMemberTable(String settleTableName, Long pkMember) { - return baseMapper.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); - } - - /** - * 查询推荐关系 - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public List queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level) { - Long b = System.currentTimeMillis(); - System.out.println("开始时间:" + b); - List memberSettleExtList = baseMapper.queryCuMemberTreeParentTable(settleTableName, pkMember, level); - System.out.println("结束时间:" + (System.currentTimeMillis() - b)); - List ids = memberSettleExtList.stream().map(a -> a.getPkMember()).collect(Collectors.toList()); - // 查询会员直推人数 - List memberParentCountParamList = new ArrayList<>(); - if (ids.size() > 0) { - if (settleTableName.contains(TableNameConstants.CU_MEMBER_SECOND)) { - // 秒结表查询当天的推荐上下级 - memberParentCountParamList = baseMapper.queryByMemberParentCount(ids); - } else { - memberParentCountParamList = baseMapper.queryByMemberParentAndMemberSettleCount(ids, settleTableName); - } - - } - Map memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount)); - // 查询直推人数 - memberSettleExtList.stream().map(a -> { - a.setDirectPushNumber(memberParentCountMap.getOrDefault(a.getPkMember(), 0L)); - return a; - }).collect(Collectors.toList()); - //查询直推业绩 - if (StringUtils.isNotBlank(settleTableName) && ids.size() > 0) { - List memberParentCountParamPvList = new ArrayList<>(); - if (settleTableName.contains(TableNameConstants.CU_MEMBER_SECOND)) { - // 查询秒结表 - memberParentCountParamPvList = memberTreeService.queryByMemberParentSumPv(settleTableName, ids); - } else { - memberParentCountParamPvList = memberTreeService.queryByMemberParentSettleSumPv(settleTableName, ids); - } - - Map memberParentPvMap = memberParentCountParamPvList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberSumPv)); - // 查询直推业绩 - memberSettleExtList.stream().map(a -> { - a.setHistoryPerformancePv(memberParentPvMap.getOrDefault(a.getPkMember(), BigDecimal.ZERO)); - return a; - }).collect(Collectors.toList()); - - } - - - return memberSettleExtList; - } - - /** - * 查询直推人数 - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public Long queryCuMemberTreeParentTableCount(String settleTableName, Long pkMember) { - return baseMapper.queryCuMemberTreeParentTableCount(settleTableName, pkMember); - } - - /** - * 查询历史安置上下级 - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public List queryCuMemberTreePlaceParentHistoryTable(String settleTableName, Long pkMember, List memberIdList, Integer level) { - return baseMapper.queryCuMemberTreePlaceParentHistoryTable(settleTableName, pkMember, memberIdList, level); - } - - /** - * 查询每一期汇总 - * - * @param settleTableName - * @return - */ - @Override - public CensusSummaryVo queryCuMemberTreeParentSumTable(String settleTableName, CensusSummaryParam censusSummaryParam) { - return baseMapper.queryCuMemberTreeParentSumTable(settleTableName, censusSummaryParam); - } - - @Override - public void updateCuMemberSecondPlaceParent(String secondTableName, String settleTableName, String yesSettleTableName, Long pkMember, List cuMemberTreeList, Integer isPlace) { - if (DateUtils.getCurrentHour() < 2) { - settleTableName = yesSettleTableName; - } - baseMapper.updateCuMemberSecondPlaceParent(secondTableName, settleTableName, pkMember, cuMemberTreeList, isPlace); - } - - @Override - public List queryCuMemberSecondPlaceParent(String secondTableName, Long pkMember) { - return baseMapper.queryCuMemberSecondPlaceParent(secondTableName, pkMember); - } - - @Override - public List queryCuMemberSecondBloParent(String secondTableName, Long pkMember) { - return baseMapper.queryCuMemberSecondBloParent(secondTableName, pkMember); - } - - @Override - public List queryCuMemberSecondParent(String secondTableName, List cuMemberTreeList) { - List cuMemberSettleExtList = new ArrayList<>(); - List> listList = cuMemberBonusSettle.handleCutList(cuMemberTreeList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> cuMemberSettleExtList.addAll(baseMapper.queryCuMemberSecondParent(secondTableName, list))); - return cuMemberSettleExtList; - } - - @Override - public List queryCuMemberTreeLastPlaceParent(String settleTableName, Long pkMember) { - return baseMapper.queryCuMemberTreeLastPlaceParent(settleTableName, pkMember); - } - - @Override - public List queryCuMemberTree(String settleTableName, Long pkMember, Long pkPlaceParent) { - return baseMapper.queryCuMemberTree(settleTableName, pkMember, pkPlaceParent); - } - - /** - * 查询秒结表会员信息 - * - * @param pkMember - * @param settleTableName - * @param level - * @return - */ - @Override - public List selectByTreeMemberList(Long pkMember, String settleTableName, Integer level) { - return baseMapper.selectByTreeMemberList(pkMember, settleTableName, level); - } - - /** - * 查询会员真实业绩 - * - * @param pkMember - * @return - */ - @Override - public CuMemberSettleExt getCuMemberRealPerformanceByMemberId(Long pkMember, String tableName) { - return baseMapper.getCuMemberRealPerformanceByMemberId(pkMember, tableName); - } - - /** - * 查询安置左右区人数 - * - * @param userId 会员id - * @param settleTableName 查询表名 - * @return Long - */ - @Override - public Long queryLeftPeopleNumber(Long userId, String settleTableName) { - return null; - } - - /** - * 查询安置左右区人数 - * - * @param userId 会员id - * @param placeDept - * @return - */ - @Override - public Long queryPlaceParentPeopleNumber(Long userId, Integer placeDept) { - return baseMapper.queryPlaceParentPeopleNumber(userId, placeDept); - } - - /** - * 查询推荐大小区人数 - * - * @param memberId - * @param placeDept - * @return - */ - @Override - public Long queryParentPeopleNumber(Long memberId, Integer placeDept) { - return baseMapper.queryParentPeopleNumber(memberId, placeDept); - } - - /** - * 查询秒结表是否有值 - * - * @param settleTableName - * @return - */ - @Override - public Long selectByselectByTreeMemberCount(String settleTableName, Long pkMember) { - return baseMapper.selectByselectByTreeMemberCount(settleTableName, pkMember); - } - - /** - * 查询伞下安置新增业绩 - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public List brollyBelowResettle(String settleTableName, Long pkMember) { - return baseMapper.brollyBelowResettle(settleTableName, pkMember); - } - - /** - * 根据pkmember查询 关联parent - * - * @param settleTableName - * @param pkMember - * @return - */ - @Override - public CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember) { - CuMemberSettleExt cuMemberSettleExt = baseMapper.queryCuMemberTreeByPlacePkMemberTable(settleTableName, pkMember); - List memberIds = Arrays.asList(cuMemberSettleExt.getPkMember()); - // 查询会员直推人数 - List memberParentCountParamList = baseMapper.queryByMemberParentCount(memberIds); - Map memberParentCountMap = memberParentCountParamList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberCount)); - // 查询直推人数 - cuMemberSettleExt.setDirectPushNumber(memberParentCountMap.getOrDefault(cuMemberSettleExt.getPkMember(), 0L)); - - //查询直推业绩 - if (StringUtils.isNotBlank(settleTableName)) { - List memberParentCountParamPvList = memberTreeService.queryByMemberParentSumPv(settleTableName, memberIds); - Map memberParentPvMap = memberParentCountParamPvList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberSumPv)); - cuMemberSettleExt.setHistoryPerformancePv(memberParentPvMap.getOrDefault(cuMemberSettleExt.getPkMember(), BigDecimal.ZERO)); - } - return cuMemberSettleExt; - } - - /** - * 查询会员直推业绩 - * - * @param settleTableName - * @param memberIds - * @return - */ - @Override - public List queryByMemberParentSumPv(String settleTableName, List memberIds) { - return baseMapper.queryByMemberParentSumPv(settleTableName, memberIds); - } - private List> setUpdCuMemberTreeLists(Map cuMemberTreeMap) { List cuMemberTreeList = new ArrayList<>(); cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value)); return cuMemberBonusSettle.handleCutList(cuMemberTreeList); } - @Override - public void deleteCuMemberTreeByPeriod(String targetTableName, Integer period) { - baseMapper.deleteCuMemberTreeByPeriod(targetTableName, period); - } - @Override public void truncateCuMemberTreeTable(String tableName) { baseMapper.truncateCuMemberTreeTable(tableName); @@ -799,9 +305,4 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryByMemberParentSettleSumPv(String settleTableName, List memberIds) { - return baseMapper.queryByMemberParentSettleSumPv(settleTableName, memberIds); - } - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java index f2744702..1800f6cf 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberMapper.java @@ -86,12 +86,12 @@ public interface CuMemberMapper extends BaseMapper { void updateCuMemberRetailRangeAwardByDate(@Param("settleDate") Date settleDate, @Param("awardType") Integer awardType); /** - * 更新会员奖衔根据临时表 + * 初始化会员奖衔 */ void updateCuMemberRetailRangeInitAward(); /** - * 更新会员奖衔根据临时表 + * 初始化会员V5奖衔 */ void updateCuMemberRetailRangeInitV5Award(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java index d46395f7..3de83357 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberService.java @@ -110,7 +110,7 @@ public interface ICuMemberService extends IService { void updateCuMemberRetailRangeAwardByDate(Date settleDate); /** - * 更新会员奖衔根据临时表 + * 初始化会员奖衔表 */ void updateCuMemberRetailRangeInitAward(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuBonusExpandMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuBonusExpandMapper.java index 3ef65f56..4fd8a84a 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuBonusExpandMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuBonusExpandMapper.java @@ -9,68 +9,42 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

- * Mapper 接口 - *

- * - * @author hzs - * @since 2024-07-19 + * Mapper 接口 */ public interface CuBonusExpandMapper extends BaseMapper { /* - * @description: 查询4-n配置 - * @author: sui q - * @date: 2024/7/23 10:09 - * @param: null null + * 查询4-n配置 **/ List queryBonusExpand(BonusExpandParam bonusExpandParam); /* - * @description: 查询日期是否标红 - * @author: sui q - * @date: 2024/7/24 10:59 - * @param: null null + * 查询日期是否标红 **/ List queryBonusExpandDis(BonusExpandParam bonusExpandParam); /* - * @description: 查询所有零线会员 - * @author: sui q - * @date: 2024/7/22 16:16 - * @param: null null + * 查询所有零线会员 **/ List queryZeroMemberByVertex(); /* - * @description: 根基时间、期间计算波比 - * @author: sui q - * @date: 2024/7/22 13:42 - * @param: null null + * 根基时间、期间计算波比 **/ List calculateDayRatioByBonusExpandParam(@Param("bonusExpandParam") BonusExpandParam bonusExpandParam, @Param("tableName") String tableName); /* - * @description: 根基时间、期间计算波比 - * @author: sui q - * @date: 2024/7/22 13:42 - * @param: null null + * 根基时间、期间计算波比 **/ List calculateDayRepRatioByBonusExpandParam(@Param("bonusExpandParam") BonusExpandParam bonusExpandParam, @Param("tableName") String tableName); /* - * @description: 删除临时表 - * @author: sui q - * @date: 2024/7/30 13:49 - * @param: null null + * 删除临时表 **/ void truncateTable(); /* - * @description: 批量更新4-n配置 - * @author: sui q - * @date: 2024/7/22 14:22 - * @param: null null + * 批量更新4-n配置 **/ void mergeBonusExpandByList(@Param("cuBonusExpandList") List cuBonusExpandList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java index 71dee107..ab5db008 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java @@ -11,7 +11,6 @@ import com.hzs.common.core.domain.R; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.member.bonus.CuMemberRetail; import com.hzs.common.domain.member.bonus.CuMemberRetailLog; -import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.order.SaOrder; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; @@ -42,16 +41,6 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { @Autowired private ICuMemberRetailLogService iCuMemberRetailLogService; - @Override - public R calculateCumberBonusBySecond(String orderCode) { - try { - iBonusSettleService.calculateCumberBonusBySecond(orderCode); - } catch (Exception e) { - return R.fail(); - } - return R.ok(); - } - @Override public R autoCalculateBonus(Date settleDate) { try { 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 9cbb422b..784cdb0f 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 @@ -10,13 +10,6 @@ import java.util.List; */ public interface IBonusSettleService { - /** - * 根据秒结算会员奖金 - * - * @param orderCode 订单 - */ - void calculateCumberBonusBySecond(String orderCode); - /** * 计算会员奖金 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuBonusExpandService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuBonusExpandService.java index 827e394b..10548f58 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuBonusExpandService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuBonusExpandService.java @@ -8,60 +8,38 @@ import com.hzs.common.domain.member.ext.CuBonusExpandExt; import java.util.List; /** - *

- * 服务类 - *

- * - * @author hzs - * @since 2024-07-19 + * 服务类 */ public interface ICuBonusExpandService extends IService { /* - * @description: 查询4-n配置 - * @author: sui q - * @date: 2024/7/23 10:09 - * @param: null null + * 查询4-n配置 **/ List queryBonusExpand(BonusExpandParam bonusExpandParam); /* - * @description: 查询日期是否标红 - * @author: sui q - * @date: 2024/7/24 10:59 - * @param: null null + * 查询日期是否标红 **/ List queryBonusExpandDis(BonusExpandParam bonusExpandParam); /* - * @description: 奖金计算时,先拉取昨日4-n 碰次,先用该碰次计算 - * @author: sui q - * @date: 2024/7/19 14:22 - * @param: null null + * 奖金计算时,先拉取昨日4-n 碰次,先用该碰次计算 **/ void firstSaveCuBonusExpand(BonusExpandParam bonusExpandParam); /* - * @description: 奖金计算结束,统计波比、业绩 - * @author: sui q - * @date: 2024/7/22 11:27 - * @param: null null + * 奖金计算结束,统计波比、业绩 **/ void updateCuBonusExpandRatio(BonusExpandParam bonusExpandParam, String tableName); /* - * @description: 保存或修改昨日4-n碰次 - * @author: sui q - * @date: 2024/7/19 14:22 - * @param: null null + * 保存或修改昨日4-n碰次 **/ void saveCuBonusExpand(BonusExpandParam bonusExpandParam); /* - * @description: 重算首购奖金 - * @author: sui q - * @date: 2024/7/23 11:59 - * @param: null null + * 重算首购奖金 **/ void repeatCuBonusByExpand(BonusExpandParam bonusExpandParam); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 23505947..fe8cc744 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -111,7 +111,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); // } for (Integer gradeValue : retaiBuyGradeMap.keySet()) { - // 判断购买升级处理 BdGrade bdGrade = retaiBuyGradeMap.get(gradeValue); if (bdGrade.getBoxNumber() > 0 && cuMemberRetailRangeExt.getGradeValue().equals(gradeValue)) { // TODO new 一次性补差,需要下个等级的盒数 - 当前等级盒数??? @@ -144,12 +143,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // } // 订单业绩 BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); - // 个人累计消费pv - sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); - sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); - sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); - sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType() + || EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType() + ) { + // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) + sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); + sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); + sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); + sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + } // 会员等级升级记录 List cuMemberGradeList = new ArrayList<>(); @@ -381,41 +384,58 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { */ void calculateRetailBonusByDay(String settleDate, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, BonusRecordDetailVO bonusRecordDetailVO, Integer period, Integer yesterdayPeriod, Boolean isSameMonth) { + // 结算期间日期 Date settleStartDate = DateUtils.parseStringToDate(settleDate); + // 结算期间日期后一天 Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleStartDate); + + List retailOrderList = new ArrayList<>(); // 新零售订单 List orderList = iBonusOrderService.queryRetailSaOrderByDay(settleStartDate, settleEndDate, null); - List retailOrderList = new ArrayList<>(); for (SaOrderExt saOrderExt : orderList) { if (saOrderExt.getDelFlag() == EYesNo.YES.getIntValue()) { retailOrderList.add(saOrderExt); } } - // 查询新零售订单 + // 更新当月会员, 将昨天业绩更到到今天,更新当月会员考核结果,有消费的考核通过 + // 结算期间表 String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; + // 结算期间前一天表 String yesterdayRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + yesterdayPeriod; + // 回退奖衔,将奖衔回退到结算前状态 iCuMemberAwardsService.calculateCuMemberRetailRangeAwardsInit(settleDate, period, rangeTableName); // 更新网体 iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth); - List memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName); - Map memberLevelMap = new HashMap<>(); - memberLevelList.forEach(cuMemberLevel -> memberLevelMap.put(cuMemberLevel.getPkOrder(), cuMemberLevel)); + + //////////////// TODO ////////////////////// + // 回退历史注水 iCuMemberRetailRangeService.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, yesterdayRangeTableName, period); // 更新注水 iCuMemberRetailRangeService.mergeCuMemberRetailRangeBySpecial(rangeTableName, period); + if (retailOrderList.size() > 0) { + Map memberLevelMap = new HashMap<>(); + List memberLevelList = iCuMemberGradeService.calculateCuMemberRetailGradeInit(period, settleStartDate, settleEndDate, rangeTableName); + memberLevelList.forEach(cuMemberLevel -> memberLevelMap.put(cuMemberLevel.getPkOrder(), cuMemberLevel)); + // 按照血缘,查询该会员所有伞上会员 List memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList); + + // 会员结算map(key:会员ID,value:结算扩展) Map memberRangeExtMap = new HashMap<>(); + + // 购买升级等级map(key:等级值,value:等级对象) Map retaiBuyGradeMap = new TreeMap<>(); + // 团队升级等级map(key:等级值,value:等级对象) Map retailTeamGradeMap = new TreeMap<>(); Map gradeMap = new HashMap<>(); + // 等级map(key:等级ID,value:等级对象) Map gradeIdMap = new HashMap<>(); + // 等级列表 List retaiGradeList = bonusConfigDTO.getRetaiGradeList(); - // 等级 for (BdGrade bdGrade : retaiGradeList) { if (bdGrade.getBoxNumber() > 0) { retaiBuyGradeMap.put(bdGrade.getGradeValue(), bdGrade); @@ -426,81 +446,97 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { gradeMap.put(bdGrade.getGradeValue(), bdGrade); gradeIdMap.put(bdGrade.getPkId(), bdGrade); } + // 奖衔 Map retailAwardsMap = new HashMap<>(); List awardsList = bonusConfigDTO.getAwardsList(); awardsList.forEach(bdAwards -> retailAwardsMap.put(bdAwards.getAwardsValue(), bdAwards)); + for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { - if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {// 转换等级购买数量 - memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); + if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt.setBuyNum(0); - if (cuMemberRetailRangeExt.getPayTime() != null && DateUtils.compareDateEqual(DateUtils.parseStringToDate(settleDate), cuMemberRetailRangeExt.getPayTime())) { - cuMemberRetailRangeExt.setSameDate(EYesNo.YES.getIntValue()); - } else { - cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); - } + // TODO new 目前一次性补差升级,不需要校验是不是当天了 + cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); +// if (cuMemberRetailRangeExt.getPayTime() != null && DateUtils.compareDateEqual(DateUtils.parseStringToDate(settleDate), cuMemberRetailRangeExt.getPayTime())) { +// cuMemberRetailRangeExt.setSameDate(EYesNo.YES.getIntValue()); +// } else { +// cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); +// } for (Integer gradeValue : retaiBuyGradeMap.keySet()) { BdGrade bdGrade = retaiBuyGradeMap.get(gradeValue); if (bdGrade.getBoxNumber() > 0 && cuMemberRetailRangeExt.getGradeValue().equals(gradeValue)) { - if (cuMemberRetailRangeExt.getSameDate().equals(EYesNo.YES.getIntValue())) { - cuMemberRetailRangeExt.setBuyNum(cuMemberRetailRangeExt.getNewBoxNum()); - } else { - cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); - } + // TODO new 一次性补差,需要下个等级的盒数 - 当前等级盒数??? + cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); +// if (cuMemberRetailRangeExt.getSameDate().equals(EYesNo.YES.getIntValue())) { +// cuMemberRetailRangeExt.setBuyNum(cuMemberRetailRangeExt.getNewBoxNum()); +// } else { +// cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); +// } break; } } - + memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); } } - Map countyRangeExtMap = new HashMap<>(); + + // 区域处理 List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName); + // 区域会员map(key:系统+区ID ,value: 区域会员结算数据) + Map countyRangeExtMap = new HashMap<>(); countyRangeExtList.forEach(cuMemberRetailRangeExt -> countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); - // 奖衔升级记录 - List cuMemberAwardsList = new ArrayList<>(); + + // 会员等级升级记录 List cuMemberGradeList = new ArrayList<>(); + // 会员奖衔升级记录 + List cuMemberAwardsList = new ArrayList<>(); + // 平级收益 List cuMemberBonusRangeList = new ArrayList<>(); + // 会员奖金明细 List cuMemberBonusDetailList = new ArrayList<>(); + for (SaOrderExt saOrderExt : retailOrderList) { CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || - EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() || - EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { + EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { + // 注册、升级才能算激活状态 sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue()); } } + for (SaOrderExt saOrderExt : retailOrderList) { // 计算自消费奖衔 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - // 先算等级 注册、升级计算等级 - int boxNum = 0; - for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) { - if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) { - boxNum += saOrderItems.getWaresQuantity(); - break; - } - } - } + // 订单指定产品盒数(计算等级使用) + int boxNum = saOrderExt.getBoxNum(); +// int boxNum = 0; +// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { +// for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) { +// if (saOrderItems.getWaresCode() != null && saOrderItems.getWaresCode().equals(waresCode)) { +// boxNum += saOrderItems.getWaresQuantity(); +// break; +// } +// } +// } // 个人累计消费pv BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); -// if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue()) || -// saOrderExt.getOrderType().equals(EOrderType.RETAIL_UPGRADE.getValue())) { -// orderAchieve = BigDecimal.ZERO; -// }else{ -// sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); -// sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); -// } - sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); - sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); - sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); - sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); - sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); - // 团队业绩,计算奖衔 + if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType() + || EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType() + ) { + // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩) + sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum); + sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum); + sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); + sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); + } + // 计算自己等级、奖衔等 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt); + // 计算团队业绩、盒数,计算等级、奖衔 cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList)); + + // TODO new 奖金处理 // 计算奖金 计算极差平级收益 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { for (String waresCode : RetailProductConstants.ALL_BOX_WARES_LIST) { @@ -858,14 +894,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); BigDecimal orderAmount = saOrderExt.getOrderAmount(); while (targetMemberRangeExt != null) { - // 累计业绩 - targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); - targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); - targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); - targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); - targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); - targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); + // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { + // 累计业绩 + targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount)); + targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve)); + targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount)); + targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve)); + targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount)); + targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve)); // 累计盒数 targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum); targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() + boxNum); @@ -900,7 +937,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); } - // TODO new 秒结处理这块应该有问题,自己消费的盒数直接当成大区,好像不对??? + // TODO new 秒结处理这块应该有问题,自己消费的盒数直接当成大区,如果昨天直推会员有数据,查询秒结表可能没有这些会员,此处就可能出现问题 // 有注水的,大区无限大,新增全算小区 // 大区盒数 int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum(); @@ -943,7 +980,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 等级达到V5 并且 存在下个奖衔,判断是否能升奖衔 BdAwards bdAwards = retailAwardsMap.get(awardsValue); // 先验证累计业绩 - // TODO new 升级奖衔判断为当月累计业绩,只判断团队还是团队+自己? + // new 升级奖衔判断为当月累计业绩,累计业绩为团队业绩 + 个人消费业绩 if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getTotalCheck())) { // 累计业绩足够 // BigDecimal consumeBigPv = BigDecimal.ZERO; @@ -965,7 +1002,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // } // } // } -// // TODO new 新制度奖衔不校验小区 +// // new 新制度奖衔不校验小区 // BigDecimal smallAreaPv = ComputeUtil.computeSubtract(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), consumeBigPv); // if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getCommunityCheck())) { cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.RANGE_TYPE.getValue())); @@ -1538,7 +1575,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { String beforeMonthLastDate = DateUtils.beforeMonthLastDateStr(settleDate); // 查询上月最后一天 Integer beforeMonthLastPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(beforeMonthLastDate).getPkId(); -// Integer beforeMonthLastPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(settleDateStr).getPkId(); String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforeMonthLastPeriod; // 查询上月订单 // 结算月第一天 @@ -1727,18 +1763,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } -// for (SaOrder saOrder : totalMonthOrderList) { -// Map countyRangeExtMap = new HashMap<>(); -// List countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName); -// countyRangeExtList.forEach(cuMemberRetailRangeExt -> -// countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt)); -// // 计算区域,获取所有有区域的会员 -// CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, saOrder, bonusConfigDTO, period, memberRangeExtMap, cuMemberBonusMap); -// if (cuMemberBonusDetail != null) { -// memberBonusDetailList.add(cuMemberBonusDetail); -// } -// } - } if (memberBonusDetailList.size() > 0) { if (bonusRecordDetailVO.getCuMemberBonusDetailList() == null) { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index bbda740b..e3b52f37 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 @@ -2,7 +2,6 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.json.JSONUtil; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.base.service.ICuAwardsControlService; @@ -25,9 +24,7 @@ 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.base.CuAwardsControl; -import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.bonus.*; -import com.hzs.common.domain.member.detail.CuMemberAssess; import com.hzs.common.domain.member.ext.CuBonusExpandExt; import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.sale.ext.SaOrderExt; @@ -35,10 +32,7 @@ import com.hzs.common.domain.system.config.BdAwards; import com.hzs.system.base.ISystemConfigServiceApi; import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.IBonusItemsServiceApi; -import com.hzs.system.config.IGradeServiceApi; -import com.hzs.system.config.IRangeServiceApi; import com.hzs.system.config.dto.BonusConfigDTO; -import com.hzs.system.config.dto.GradeDTO; import com.hzs.system.config.dto.RangeDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -60,12 +54,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @DubboReference ISystemConfigServiceApi iSystemConfigServiceApi; @DubboReference - IGradeServiceApi iGradeServiceApi; - @DubboReference IAwardsServiceApi iAwardsServiceApi; @DubboReference - IRangeServiceApi iRangeServiceApi; - @DubboReference IBonusItemsServiceApi iBonusItemsServiceApi; @Autowired @@ -91,8 +81,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private BonusSettlePurchaseHandle bonusSettlePurchaseHandle; @Autowired - private BonusSettleRepCouponsHandle bonusSettleRepCouponsHandle; - @Autowired private ICuMemberRiskControlService cuMemberRiskControlService; private ICuMemberBonusService cuMemberBonusService; @@ -137,178 +125,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { this.cuMemberBonusService = cuMemberBonusService; } - - @Override - @Transactional(rollbackFor = Exception.class) - public void calculateCumberBonusBySecond(String orderCode) { - log.info("开始执行秒接,订单编号:{}", orderCode); - Date startDate = DateUtils.currentDate(); - SaOrderExt saOrderExt = iBonusOrderService.querySaOrderByDay(startDate, - DateUtils.afterDate(1, ChronoUnit.DAYS, startDate), orderCode); - Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); - Map rangeDtoMap = iRangeServiceApi.queryRangeDto().getData(); - // 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从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())); - String beforeYesDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(2, ChronoUnit.DAYS, saOrderExt.getPayTime())); - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); - int beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); - int beforeYesPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeYesDay).getPkId(); - log.info("查询订单,订单参数:{}", JSONUtil.toJsonStr(saOrderExt)); - String secondTableName = TableNameConstants.CU_MEMBER_SECOND + period; - String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforePeriod; - // 前天 - String yesSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeYesPeriod; - Map cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); - Map cuMemberSettleExtMap = new HashMap<>(); - Map cuAwardsControlMap = getCuAwardsControlMap(); - // 计算奖金 - if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType() || - EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { - log.info("奖金秒接,首购订单,订单编号:{}", orderCode); - // 1注册订单 直推、拓展、领导 - // 从会员表中拉数据到 cu_member_second中 - // cu_member_second没有 cu_member 网体 cu_member_settle上一期业绩 - // 直推奖 - 加首购 加首购新增,只加推荐人 - // 拓展奖 - 安置以上,进行量碰 加首购业绩,加一条线 - // 领导奖- 安置血缘以上,判断奖衔 - // 报单服务费 - 报单人 - List memberList = new ArrayList<>(); - CuMember cuMember = cuMemberService.getMember(saOrderExt.getPkMember()); - if (cuMember.getPkCenterCode() != null && !saOrderExt.getPkReference().equals(cuMember.getPkCenterCode())) { - memberList.add(cuMember.getPkCenterCode()); - } - getSettleMember(saOrderExt, secondTableName, settleTableName, yesSettleTableName, memberList); - // 查询出上面的网体数据 - List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondParent(secondTableName, memberList); - bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - // 计算奖金 - // 计算直推奖 - List gradeDtoList = iGradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData(); - CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, iAwardsServiceApi.getAwards().getData(), gradeDtoList); - log.info("获得直推奖,奖金为:{}", JSONUtil.toJsonStr(cuMemberBonusPush)); - // 计算量奖 - // 所有需要计算的父节点,只计算新增 - List expandMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondPlaceParent(secondTableName, saOrderExt.getPkMember()); - bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, expandMemberSettleExtList); - Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); - Map cuMemberAssessMap = bonusSettleFirstPurchaseHandle.getLongCuMemberAssessMap(settleDate, expandMemberSettleExtList); - // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); - Map riskControlMap = new HashMap<>(); - if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { - cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); - } - Map cuBonusExpandExtMap = new HashMap<>(); - BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(); - List cuBonusExpandExtList = bonusExpandService.queryBonusExpand(bonusExpandParam); - cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt)); - BigDecimal addTouch = BigDecimal.ZERO; - for (int i = expandMemberSettleExtList.size() - 1; i >= 0; i--) { - CuMemberSettleExt cuMemberSettleExt = cuMemberSettleExtList.get(i); - if (cuBonusExpandExtMap.containsKey(cuMemberSettleExt.getPkMember())) { - addTouch = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getAddTouch(); - break; - } - } - List cuMemberBonusExpandList = bonusSettleFirstPurchaseHandle.calculateExpandBonusOne(riskControlMap, cuMemberAssessMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, expandMemberSettleExtList, saOrderExt, false, addTouch, BigDecimal.ZERO, 0); - // 计算领导奖 - Map saOrderExtMap = new HashMap<>(1); - saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt); - List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap); - // 计算报单服务费 - CuMemberBonusDetail cuMemberBonusDetail = bonusSettleFirstPurchaseHandle.calculateServiceBonusOne(settleDate, cuMemberAssessMap, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt); - // 复购券 - List couponsBonusDetailList = bonusSettleRepCouponsHandle.calculateRepurchaseCoupons(startDate, Collections.singletonList(saOrderExt), period, bonusConfigDTO, cuMemberBonusMap, cuMemberSettleExtMap); - saveCuMemberBonus(period, settleDate, cuMemberBonusMap); - cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId()); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period); - cuMemberBonusPushService.insertCuMemberBonusPush(cuMemberBonusPush); - cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> - cuMemberBonusExpand.setPkBonus(cuMemberBonusMap.get(cuMemberBonusExpand.getPkBonus()).getPkId())); - cuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet); - cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> - cuMemberBonusCoach.setPkBonus(cuMemberBonusMap.get(cuMemberBonusCoach.getPkBonus()).getPkId())); - cuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet); - List cuMemberBonusDetailList = new ArrayList<>(); - if (cuMemberBonusDetail != null) { - cuMemberBonusDetailList.add(cuMemberBonusDetail); - } - if (CollectionUtil.isNotEmpty(couponsBonusDetailList)) { - cuMemberBonusDetailList.addAll(couponsBonusDetailList); - } - if (cuMemberBonusDetailList.size() > 0) { - cuMemberBonusDetailList.forEach(bonusDetail -> - bonusDetail.setPkBonus(cuMemberBonusMap.get(bonusDetail.getPkBonus()).getPkId())); - cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); - } - log.info("首购奖金计算完毕"); - } else { - // 先处理关系 - List memberList = new ArrayList<>(); - getSettleMember(saOrderExt, secondTableName, yesSettleTableName, settleTableName, memberList); - // 初始化需要秒接结算的数据 - List pushMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondParent(secondTableName, memberList); - bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, pushMemberSettleExtList); - List cuMemberBonusPushList = bonusSettlePurchaseHandle.calculateRepurchasePushSecondBonus(settleTableName, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, pushMemberSettleExtList, settleDate); - // 查询出上面的网体数据 - List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondPlaceParent(secondTableName, saOrderExt.getPkMember()); - bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); - // 复购订单,计算复购推荐 复购极差,复购拓展 - // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); - Map riskControlMap = new HashMap<>(); - if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { - cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); - } - List cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandSecondBonus(riskControlMap, settleTableName, - cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, saOrderExt, cuMemberSettleExtList, settleDate, BigDecimal.ZERO, BigDecimal.ZERO, 0); - // c)增加奖衔记录表 - Map awardsMap = iAwardsServiceApi.getAwards().getData(); - List cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap, - bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap, new LeXueRangeParam()); - if (cuMemberBonusMap.size() > 0) { - saveCuMemberBonus(period, settleDate, cuMemberBonusMap); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period); - cuMemberBonusPushList.forEach(cuMemberBonusPush -> - cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId())); - cuMemberBonusPushService.batchInsertCuMemberBonusPush(cuMemberBonusPushList, memberIdSet); - cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> - cuMemberBonusExpand.setPkBonus(cuMemberBonusMap.get(cuMemberBonusExpand.getPkBonus()).getPkId())); - cuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet); - cuMemberBonusRangeList.forEach(cuMemberBonusRange -> - cuMemberBonusRange.setPkBonus(cuMemberBonusMap.get(cuMemberBonusRange.getPkBonus()).getPkId())); - cuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); - } - log.info("复购奖金计算完毕"); - } - // 更新网体结构 - if (cuMemberSettleExtMap.size() > 0) { - // 处理网体,更新网体新增 轮次最小值 cuMemberSettleExtMap - cuMemberTreeService.updateCuMemberSecond(secondTableName, cuMemberSettleExtMap); - } - // 1获取业绩,做一张新表,计算过奖金的放进去 2当天没有计算过奖金的,直接根据昨天日表获取业绩放进去进行计算 - // 根据网体数据计算奖金 - } - - private void getSettleMember(SaOrderExt saOrderExt, String secondTableName, String settleTableName, String yesSettleTableName, List memberList) { - // 先处理关系 - memberList.add(saOrderExt.getPkMember()); - long pkParent = saOrderExt.getPkReference(); - while (true) { - CuMember cuMember = cuMemberService.getMember(pkParent); - if (cuMember == null) { - break; - } - memberList.add(cuMember.getPkId()); - pkParent = cuMember.getPkParent(); - } - // 初始化需要秒接结算的数据 - cuMemberTreeService.updateCuMemberSecondPlaceParent(secondTableName, settleTableName, yesSettleTableName, saOrderExt.getPkMember(), memberList, EYesNo.YES.getIntValue()); - } - /** * 保存会员奖金 * @@ -329,27 +145,37 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Transactional(rollbackFor = Exception.class) public void calculateCuMemberBonus(String settleDate, List saOrderExtList) { try { + // 结算期间 Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); + // 结算期间前一天期间 Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); + // 将删除的订单的点位变为死点 //********************************* 更新当天最新的业绩*************************/ // 获取所有国家的奖金项 key = 国家 + 奖金项的值 BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); + // 会员奖金map(key:会员ID, Map cuMemberBonusMap = new HashMap<>(); + // 奖金明细(入库使用) BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); + // 今天和昨天是否同月 Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday)); + // 计算新零售团队奖金 bonusSettleRangeHandle.calculateRetailBonusByDay(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO, period, yesterdayPeriod, isSameMonth); + if (settleDate.endsWith("01")) { + // TODO new 每月1号,需要计算4个月奖 // 计算新零售团队区域、福利、福利分红奖金 bonusSettleRangeHandle.calculateRetailShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); } + Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate); if (afterDate.endsWith("01")) { - // 计算完月奖,计算考核 + // 计算完月奖,计算考核(区域6个月要达到蓝宝以上) String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; cuRegionAssessService.assessRegionByEveryMonth(settleDate, rangeTableName); } @@ -386,6 +212,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { if (saOrderExt.getDelFlag() == EYesNo.YES.getIntValue()) { // 订单下单处理(正向) + // 会员奖金明细 List cuMemberBonusDetailList = new ArrayList<>(); // 实时计算当月奖衔 List cuMemberBonusRangeList = bonusSettleRangeHandle.calculateCuMemberRetailRangeBonusBySecond(settleDate, saOrderExt, bonusConfigDTO, diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuBonusExpandServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuBonusExpandServiceImpl.java index 446d84f6..806614ba 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuBonusExpandServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuBonusExpandServiceImpl.java @@ -31,18 +31,13 @@ import java.util.*; import java.util.stream.Collectors; /** - *

- * 服务实现类 - *

- * - * @author hzs - * @since 2024-07-19 + * 服务实现类 */ @Service public class CuBonusExpandServiceImpl extends ServiceImpl implements ICuBonusExpandService { @DubboReference - private ISaOrderServiceApi saOrderServiceApi; + ISaOrderServiceApi saOrderServiceApi; @Autowired private ICuMemberSettlePeriodService memberSettlePeriodService; @@ -64,7 +59,7 @@ public class CuBonusExpandServiceImpl extends ServiceImpl bonusExpandList = queryCuBonusExpand(bonusExpandParam.getSettleDate(), bonusExpandParam.getPkCountry()); - if(bonusExpandList == null || bonusExpandList.size() == 0) { + if (bonusExpandList == null || bonusExpandList.size() == 0) { // 查询 List cuBonusExpandList = queryCuBonusExpand(DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusExpandParam.getSettleDate()), bonusExpandParam.getPkCountry()); Map cuBonusExpandMap = new HashMap<>(); @@ -95,7 +90,7 @@ public class CuBonusExpandServiceImpl extends ServiceImpl cuBonusExpandList = queryCuBonusExpand(bonusExpandParam.getSettleDate(), bonusExpandParam.getPkCountry()); - if(CollectionUtil.isNotEmpty(cuBonusExpandList)){ + if (CollectionUtil.isNotEmpty(cuBonusExpandList)) { Date settleDate = bonusExpandParam.getSettleDate(); Map bonusExpandMap = new HashMap<>(); List memberIdList = new ArrayList<>(); @@ -107,13 +102,13 @@ public class CuBonusExpandServiceImpl extends ServiceImpl dayBonusExpandList = baseMapper.calculateDayRatioByBonusExpandParam(bonusExpandParam, tableName); - if(CollectionUtil.isNotEmpty(dayBonusExpandList)) { + if (CollectionUtil.isNotEmpty(dayBonusExpandList)) { for (CuBonusExpand cuBonusExpand : dayBonusExpandList) { if (bonusExpandMap.containsKey(cuBonusExpand.getPkMember())) { CuBonusExpand bonusExpand = bonusExpandMap.get(cuBonusExpand.getPkMember()); bonusExpand.setDayAchieve(cuBonusExpand.getDayAchieve()); bonusExpand.setDayBonus(cuBonusExpand.getDayBonus()); - if("cu_member_bonus".equals(tableName) || !ComputeUtil.compareValue(bonusExpand.getYesDayRatio())) { + if ("cu_member_bonus".equals(tableName) || !ComputeUtil.compareValue(bonusExpand.getYesDayRatio())) { bonusExpand.setYesDayRatio(cuBonusExpand.getYesDayRatio()); } bonusExpand.setCurDayRatio(cuBonusExpand.getYesDayRatio()); @@ -121,7 +116,7 @@ public class CuBonusExpandServiceImpl extends ServiceImpl dayRepBonusExpandList = baseMapper.calculateDayRepRatioByBonusExpandParam(bonusExpandParam, tableName); - if(CollectionUtil.isNotEmpty(dayRepBonusExpandList)) { + if (CollectionUtil.isNotEmpty(dayRepBonusExpandList)) { for (CuBonusExpand cuBonusExpand : dayRepBonusExpandList) { if (bonusExpandMap.containsKey(cuBonusExpand.getPkMember())) { CuBonusExpand bonusExpand = bonusExpandMap.get(cuBonusExpand.getPkMember()); @@ -135,7 +130,7 @@ public class CuBonusExpandServiceImpl extends ServiceImpl monthBonusExpandList = baseMapper.calculateDayRatioByBonusExpandParam(bonusExpandParam, tableName); - if(CollectionUtil.isNotEmpty(monthBonusExpandList)) { + if (CollectionUtil.isNotEmpty(monthBonusExpandList)) { for (CuBonusExpand cuBonusExpand : monthBonusExpandList) { if (bonusExpandMap.containsKey(cuBonusExpand.getPkMember())) { CuBonusExpand bonusExpand = bonusExpandMap.get(cuBonusExpand.getPkMember()); @@ -162,9 +157,9 @@ public class CuBonusExpandServiceImpl extends ServiceImpl queryCuBonusExpand(Date settleDate, Integer pkCountry){ + private List queryCuBonusExpand(Date settleDate, Integer pkCountry) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("SETTLE_DATE", settleDate); - if(pkCountry != null) { + if (pkCountry != null) { queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry); } queryWrapper.isNull("PK_PARENT"); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java index a7b1f401..31fc7b82 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java @@ -20,17 +20,14 @@ import com.hzs.common.core.constant.MemberFieldConstants; import com.hzs.common.core.constant.SystemFieldConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; -import com.hzs.common.core.utils.CommonUtil; import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.member.bonus.CuMemberBonus; import com.hzs.common.domain.member.ext.*; -import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.system.config.BdBonusItems; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; -import com.hzs.sale.order.ISaOrderServiceApi; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.ISystemConfigServiceApi; import com.hzs.system.base.dto.CurrencyDTO; @@ -46,28 +43,18 @@ import java.util.*; import java.util.stream.Collectors; /** - *

* 会员奖金-会员奖金汇总表 服务实现类 - *

- * - * @author hzs - * @since 2022-11-11 */ @Service @Slf4j public class CuMemberBonusServiceImpl extends ServiceImpl implements ICuMemberBonusService { @DubboReference - private ISystemConfigServiceApi systemConfigServiceApi; - + ISystemConfigServiceApi iSystemConfigServiceApi; @DubboReference - private ISaOrderServiceApi saOrderServiceApi; - + ICurrencyServiceApi iCurrencyServiceApi; @DubboReference - private ICurrencyServiceApi currencyServiceApi; - - @DubboReference - private IBonusItemsServiceApi bonusItemsServiceApi; + IBonusItemsServiceApi iBonusItemsServiceApi; private CuMemberBonusDetailMapper cuMemberBonusDetailMapper; @@ -95,7 +82,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberBonusVoByCondition(BonusParam bonusParam) { - String value = systemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { // 周结的话不能查询当前周的数据,只能查询上周的数据 bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate()))); @@ -221,7 +207,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberSecondBonusVoByCondition(BonusParam bonusParam) { - String value = systemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); // if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { // // 周结的话不能查询当前周的数据,只能查询上周的数据 // bonusParam.setStartDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getStartDate()))); @@ -235,7 +221,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusExtList = baseMapper.queryMemberBonusByCondition(bonusParam); - R currency = currencyServiceApi.getCurrency(bonusParam.getPkCountry()); + R currency = iCurrencyServiceApi.getCurrency(bonusParam.getPkCountry()); // 汇率比例 BigDecimal inExchangeRate = currency.getData().getInExchangeRate(); for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) { @@ -337,7 +323,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberBonusTotalByCondition(BonusParam bonusParam) { - String value = systemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { // 周结的话不能查询当前周 bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate()))); @@ -390,13 +376,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl bonusItemsMap = convertBonusItems(bonusParam); - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(bonusParam.getPkCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(bonusParam.getPkCountry()).getData(); memberBonusDetailVOList.forEach(memberBonusDetailVO -> { if (bonusItemsMap.containsKey(memberBonusDetailVO.getPkBonusItems())) { memberBonusDetailVO.setBonusName(bonusItemsMap.get(memberBonusDetailVO.getPkBonusItems()).getBonusName()); @@ -498,7 +477,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl convertBonusItems(BonusParam bonusParam) { - List bonusItemsExtList = bonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry()).getData(); + List bonusItemsExtList = iBonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry()).getData(); Map bonusItemsMap = new HashMap<>(ComputeUtil.mapInitCapacity(bonusItemsExtList.size())); bonusItemsExtList.forEach(bonusItems -> bonusItemsMap.put(bonusItems.getPkId(), bonusItems)); @@ -511,7 +490,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl memberBonusDetailSerVoS = new ArrayList<>(); Integer bonusItemsValue = 0; if (bonusParam.getPkBonusItems() != null) { - BdBonusItems bonusItems = bonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry(), bonusParam.getPkBonusItems()).getData(); + BdBonusItems bonusItems = iBonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry(), bonusParam.getPkBonusItems()).getData(); bonusItemsValue = bonusItems.getBonusValue(); } if (bonusParam.getEndDate() != null) { @@ -553,7 +532,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam); @@ -678,15 +657,10 @@ public class CuMemberBonusServiceImpl extends ServiceImpl saOrderExtList = saOrderServiceApi.querySaOrderByDay(startDate, settleEndDate).getData(); -// bonusSettleService.calculateCuMemberBonus(settleDate, saOrderExtList); bonusSettleService.calculateCuMemberBonus(settleDate, null); return Boolean.TRUE; } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java index 0c7c1337..24f41aa0 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java @@ -7,11 +7,7 @@ import java.io.Serializable; import java.util.List; /** - * @Description: 奖金记录明细,用于结算完奖金,返回值,最终一起入库 - * @Author: sui q - * @Time: 2023/2/13 17:58 - * @Classname: BonusRecordDetailVO - * @PackageName: com.hzs.member.bonus.vo + * 奖金记录明细,用于结算完奖金,返回值,最终一起入库 */ @Data public class BonusRecordDetailVO implements Serializable { 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 092f8a06..36ecc5b8 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 @@ -3,7 +3,6 @@ package com.hzs.bonus.detail.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.detail.CuMemberAssess; import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.bonus.detail.vo.CuMemberAssessVO; import java.util.Date; import java.util.List; @@ -14,14 +13,6 @@ import java.util.Map; */ public interface ICuMemberAssessService extends IService { - /** - * 每月初,初始化考核数据,根据月底网体数据,先进行奖金计算在进行考核,考核在计算奖金之后 - * - * @param settleDate 结算日期 - * @param period 结算期间 - */ - void initCuMemberAssessData(String settleDate, int period); - /** * 复购考核每月第一考核调用此方法 */ @@ -44,36 +35,6 @@ public interface ICuMemberAssessService extends IService { */ Map queryCuMemberAssessByMember(String assessTableName, Integer period, Integer assessType, List cuMemberSettleExtList); - /** - * 查询会员分红考核结果,只查询出免考或者考核通过的,用于分红 - * - * @param tableName 表名 - * @param period 期间 - */ - List queryCuMemberShareAssess(String tableName, Integer period); - - /** - * 会员-考核明细列表 - **/ - List selectAssessList(CuMemberAssessVO cuMemberAssessVO, List orderTypeList); - - /** - * 查询会员月度考核(查询列表用) - **/ - List getMemberAssessMonthList(CuMemberAssessVO cuMemberAssessVO); - - /** - * 查询会员月度考核(查询积分用) - **/ - List getMemberAssessMonth(CuMemberAssessVO cuMemberAssessVO); - - /** - * 查询会员订单考核积分 - **/ - CuMemberAssessVO getOrderAssessList(CuMemberAssessVO cuMemberAssessVO); - - List getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO); - /* * 查询满足分红考核的人数,达标人数 **/ 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 f3d28b5a..4cc17ad3 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 @@ -2,7 +2,6 @@ package com.hzs.bonus.detail.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; -import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle; import com.hzs.bonus.detail.service.ICuMemberAssessDetailService; import com.hzs.bonus.detail.service.ICuMemberAssessService; @@ -10,24 +9,14 @@ import com.hzs.common.core.constant.TableNameConstants; import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.ComputeUtil; 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.*; @@ -37,8 +26,6 @@ import java.util.*; @Service public class CuMemberAssessServiceImpl extends ServiceImpl implements ICuMemberAssessService { - private ICuMemberTreeService cuMemberTreeService; - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; private ICuMemberAssessDetailService cuMemberAssessDetailService; @@ -46,11 +33,6 @@ public class CuMemberAssessServiceImpl extends ServiceImpl queryCuMemberShareAssess(String tableName, Integer period) { - return baseMapper.queryCuMemberShareAssess(tableName, period); - } - - /** - * @description: 会员-考核明细列表 - * @author: zhang jing - * @date: 2023/1/23 10:16 - * @param: [cuMemberAssessVO] - * @return: java.util.List - **/ - @Override - public List selectAssessList(CuMemberAssessVO cuMemberAssessVO, List orderTypeList) { - Integer year; - if (StringUtils.isNotNull(cuMemberAssessVO) && StringUtils.isNotNull(cuMemberAssessVO.getStartDate())) { - year = DateUtils.currentYear(cuMemberAssessVO.getStartDate()); - } else { - year = DateUtils.currentYear(new Date()); - } - String tableName = TableNameConstants.CU_MEMBER_ASSESS + year; - if (StringUtils.isNotEmpty(tableName)) { - return baseMapper.selectAssessList(tableName, cuMemberAssessVO.getPkMember(), - cuMemberAssessVO.getPkCountry(), cuMemberAssessVO.getAssessStatus(), - cuMemberAssessVO.getAssessType(), cuMemberAssessVO.getChangeType(), cuMemberAssessVO.getStartDate(), - cuMemberAssessVO.getEndDate(), orderTypeList - ); - } - return null; - } - - /** - * @description: 查询会员月度考核(查询列表用) - * @author: zhang jing - * @date: 2023/3/14 14:46 - * @param: [cuMemberAssessVO] - * @return: java.util.List - **/ - @Override - public List getMemberAssessMonthList(CuMemberAssessVO cuMemberAssessVO) { - Integer year; - //获取期数 - Date date = new Date(); - if (StringUtils.isNotNull(cuMemberAssessVO) && StringUtils.isNotNull(cuMemberAssessVO.getStartDate())) { - year = DateUtils.currentYear(cuMemberAssessVO.getStartDate()); - } else { - year = DateUtils.currentYear(date); - } - String tableName = TableNameConstants.CU_MEMBER_ASSESS + year; - if (StringUtils.isNotEmpty(tableName)) { - return baseMapper.getMemberAssessMonthList(tableName, cuMemberAssessVO.getPkMember(), cuMemberAssessVO.getAssessType(), - cuMemberAssessVO.getPkCountry(), null); - } - return null; - } - - /** - * @description: 查询会员月度考核(查询积分用) - * @author: zhang jing - * @date: 2023/7/2 8:28 - * @param: [cuMemberAssessVO] - * @return: java.util.List - **/ - @Override - public List getMemberAssessMonth(CuMemberAssessVO cuMemberAssessVO) { - Integer year; - //获取期数 - Date date = new Date(); - int period; - if (StringUtils.isNotNull(cuMemberAssessVO) && StringUtils.isNotNull(cuMemberAssessVO.getStartDate())) { - year = DateUtils.currentYear(cuMemberAssessVO.getStartDate()); - if (DateUtils.compareDateBefore(date, cuMemberAssessVO.getStartDate()) || DateUtils.compareDateEqual(date, cuMemberAssessVO.getStartDate())) { - //获取当前月第一天 - Date date1 = DateUtils.currentMonthFirstDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, date)); - period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( - DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date1)).getPkId(); - } else { - Date date1 = DateUtils.currentMonthFirstDate(cuMemberAssessVO.getStartDate()); - period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( - DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date1)).getPkId(); - } - } else { - year = DateUtils.currentYear(date); - Date date1 = DateUtils.currentMonthFirstDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, date)); - period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( - DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date1)).getPkId(); - } - String tableName = TableNameConstants.CU_MEMBER_ASSESS + year; - if (StringUtils.isNotEmpty(tableName)) { - return baseMapper.getMemberAssessMonthList(tableName, cuMemberAssessVO.getPkMember(), cuMemberAssessVO.getAssessType(), - cuMemberAssessVO.getPkCountry(), period); - } - return null; - } - - /** * 奖金计算时重算考核 (复购考核、分红考核),只重算免考的、撤单的 * @@ -323,133 +164,6 @@ public class CuMemberAssessServiceImpl extends ServiceImpl - * @Author: sui q - * @Date: 2022/11/9 17:45 - */ - private List handleCuMemberAssessByRevokeOrder(Date currentDate, List cuMemberSettleExtList, - String tableName, Integer currentPeriod, String settleTableName) { -// e)查询有没有撤单,更新撤单的数据 -// List orderTypeList = new ArrayList<>(); -// orderTypeList.add(EOrderType.REPURCHASE_ORDER.getValue()); -// List saOrderList = saOrderServiceApi.querySaOrderBySettleDate(currentDate, orderTypeList).getData(); -// Map saOrderMap = new HashMap<>(ComputeUtil.mapInitCapacity(saOrderList.size())); -// saOrderList.forEach(saOrder -> { -// String key = saOrder.getPkMember().toString() + saOrder.getOrderType().toString(); -// saOrderMap.put(key, saOrder); -// }); -// if (cuMemberSettleExtList.size() > 0) { -// List memberSettleExtList = new ArrayList<>(); -// for (CuMemberSettleExt cuMemberSettleExt : cuMemberSettleExtList) { -// String key = cuMemberSettleExt.getPkMember().toString(); -// if (EAssessmentType.REPURCHASE_ASSESS.getValue() == cuMemberSettleExt.getAssessType()) { -// key = key + EOrderType.REPURCHASE_ORDER.getValue(); -// } else { -// key = key + EOrderType.WELFARE_ORDER.getValue(); -// } -// if (!saOrderMap.containsKey(key)) { -// memberSettleExtList.add(cuMemberSettleExt); -// } -// } -// cuMemberSettleExtList.clear(); -// cuMemberSettleExtList.addAll(memberSettleExtList); -// } - // 前一天免考第二天不免考的重新考核 - List memberAssessExtList = new ArrayList<>(); - if (cuMemberSettleExtList.size() > 0) { - List> orderHandleCutList = cuMemberBonusSettle.handleCutList(cuMemberSettleExtList); - orderHandleCutList.forEach(handlerCutList -> - memberAssessExtList.addAll(baseMapper.queryAssessPeriodByRevokeOrder(tableName, settleTableName, currentPeriod, handlerCutList))); - memberAssessExtList.forEach(cuMemberAssessExt -> { - // 需要进行考核的 先变为考核不通过,使用值修改为0 - cuMemberAssessExt.setIsExamine(EYesNo.NO.getIntValue()); - cuMemberAssessExt.setAssessStatus(EAssessStatus.EXAMINE_NO_PASS.getValue()); - cuMemberAssessExt.setMonthUsed(BigDecimal.ZERO); - cuMemberAssessExt.setMonthSurplus(ComputeUtil.computeAdd(cuMemberAssessExt.getMonthBalance(), cuMemberAssessExt.getMonthAdd())); - }); - } - // 撤单的也只验证一次,查询新增金额没有进行变更的值 - List cuMemberAssessExtList = new ArrayList<>(); -// if (saOrderList.size() > 0) { -// List> orderHandleCutList = cuMemberBonusSettle.handleCutList(saOrderList); -// orderHandleCutList.forEach(handlerCutList -> -// cuMemberAssessExtList.addAll(baseMapper.queryAssessPeriodByRevokeOrder(tableName, settleTableName, currentPeriod, handlerCutList))); -// packageRetryExamine(cuMemberSettleExtList, saOrderMap, cuMemberAssessExtList); -// } - if (memberAssessExtList.size() > 0) { - cuMemberAssessExtList.addAll(memberAssessExtList); - } - return cuMemberAssessExtList; - } - - private void packageRetryExamine(List cuMemberSettleExtList, Map saOrderMap, List cuMemberAssessExtList) { - // 先计算免考的 - // 将需要重新考核的考核明细删除 - List revokeDetailList = new ArrayList<>(); - cuMemberAssessExtList.forEach(cuMemberAssessExt -> { - String key = cuMemberAssessExt.getPkMember().toString(); - if (EAssessmentType.REPURCHASE_ASSESS.getValue() == cuMemberAssessExt.getAssessType()) { - key = key + EOrderType.REPURCHASE_ORDER.getValue(); - } else { - key = key + EOrderType.WELFARE_ORDER.getValue(); - } - SaOrder saOrder = saOrderMap.get(key); - BigDecimal orderAchieve = BigDecimal.ZERO; - if (saOrder != null) { - orderAchieve = saOrder.getOrderAchieve(); - } - // 判断考核类型 - CuMemberAssessDetail cuMemberAssessDetail = CuMemberAssessDetail.builder() - .changeType(EAssessmentType.REPURCHASE_ASSESS.getValue() == cuMemberAssessExt.getAssessType() ? - EChangeType.PURCHASE_ASSESSMENT_DEDUCT.getValue() : EChangeType.SHARE_ASSESSMENT_DEDUCT.getValue()) - .pkMember(cuMemberAssessExt.getPkMember()) - .pkAssess(cuMemberAssessExt.getPkId()) - .build(); - if (EYesNo.YES.getIntValue() == cuMemberAssessExt.getIsExamine()) { - // 免考的有2种状态 考核通过的需要扣除 免考通过的不扣除 - if (EAssessStatus.EXAMINE_PASS.getValue() == cuMemberAssessExt.getAssessStatus()) { -// 考核月新增业绩 month_add 考核月剩余业绩 month_surplus 发生变化 - // 剩余 = 结余 + 新增-使用 此条考核记录不能删除 - cuMemberAssessExt.setMonthSurplus(ComputeUtil.computeSubtract(ComputeUtil.computeAdd(cuMemberAssessExt.getMonthBalance(), orderAchieve), cuMemberAssessExt.getMonthUsed())); - } else { -// 考核月新增业绩 month_add 考核月剩余业绩 month_surplus 发生变化 考核月使用业绩 month_used 发生变化 - // 剩余 = 结余 + 新增 - cuMemberAssessExt.setAssessStatus(EAssessStatus.EXEMPT_PASS.getValue()); - cuMemberAssessExt.setMonthUsed(BigDecimal.ZERO); - cuMemberAssessExt.setMonthSurplus(ComputeUtil.computeAdd(cuMemberAssessExt.getMonthBalance(), orderAchieve)); - revokeDetailList.add(cuMemberAssessDetail); - } - } else { - // 判断奖衔是否发生了变化,发生了变化需要修改目标值 免考的不变更目标值 - if (!Objects.equals(cuMemberAssessExt.getPkOriginalAwards(), cuMemberAssessExt.getPkAwards())) { - BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMemberAssessExt.getPkAwards()).getData(); - cuMemberAssessExt.setAssessTarget(EAssessmentType.REPURCHASE_ASSESS.getValue() == cuMemberAssessExt.getAssessType() ? - bdAwards.getPurchaseCheck() : bdAwards.getShareCheck()); - } - // 需要进行考核的 先变为考核不通过,使用值修改为0 - cuMemberAssessExt.setAssessStatus(EAssessStatus.EXAMINE_NO_PASS.getValue()); - cuMemberAssessExt.setMonthUsed(BigDecimal.ZERO); - cuMemberAssessExt.setMonthSurplus(ComputeUtil.computeAdd(cuMemberAssessExt.getMonthBalance(), orderAchieve)); - CuMemberSettleExt cuMemberSettleExt = new CuMemberSettleExt(); - cuMemberSettleExt.setPkMember(cuMemberAssessExt.getPkMember()); - cuMemberSettleExt.setAssessType(cuMemberAssessExt.getAssessType()); - cuMemberSettleExtList.add(cuMemberSettleExt); - revokeDetailList.add(cuMemberAssessDetail); - } - }); - // 将历史考核明细删除 - if (revokeDetailList.size() > 0) { - cuMemberAssessDetailService.deleteCuMemberAssessDetailByList(revokeDetailList); - } - } - private void initCurrentAssess(Date currentDate, String currentTableName, Integer currentPeriod) { // 获取上月最后一天 String beforeLastDate = DateUtils.beforeMonthLastDateStr(currentDate); @@ -529,16 +243,6 @@ public class CuMemberAssessServiceImpl extends ServiceImpl getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO) { - return baseMapper.getOrderByAssessList(cuMemberAssessVO); - } - @Override public List queryCuMemberAssTotal(String startDate, Integer pkCountry) { int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDate).getPkId(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java index 3ec72b86..8d5d41e8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java @@ -75,7 +75,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName); - if(!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)){ + if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) { break; } } @@ -94,21 +94,23 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType); + // 回退结算表奖衔 cuMemberTreeService.updateBackCuMemberRetailRangeAward(rangeTableName, period); - cuMemberService.updateBackCuMemberRetailRangeAward(/*cuMemberAwards,*/ period); - // 回退业绩表奖衔 + // 回退会员表奖衔 + cuMemberService.updateBackCuMemberRetailRangeAward(period); + // 删除会员奖衔升级记录 baseMapper.deleteCuMemberAwards(period); - // 更新奖衔,手动设置的,一种有效期前的,一种有效期到达的 + + // 更新手动设置奖衔,一种有效期前的,一种有效期到达的 // 有效期前的奖衔小于手动的,修改奖衔, Date date = DateUtils.parseStringToDate(settleDate); cuMemberTreeService.updateCuMemberRetailRangeAwardByDate(rangeTableName, date); - cuMemberService.updateCuMemberRetailRangeAwardByDate(date);; + cuMemberService.updateCuMemberRetailRangeAwardByDate(date); } @Override @@ -159,7 +161,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl memberAwardsList = updateAwardsRecord(enoughAwardsMemberList, originalCuMemberSettleMap, period); - if(memberAwardsList != null && memberAwardsList.size() >0){ + if (memberAwardsList != null && memberAwardsList.size() > 0) { cuMemberAwardsList.addAll(memberAwardsList); } // 需要验证安置的 @@ -174,10 +176,10 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period); - if(updateAwardsMemberList.size() >0) { + if (updateAwardsMemberList.size() > 0) { enoughAwardsMemberList.addAll(updateAwardsMemberList); } - if(awardsList != null && awardsList.size() >0){ + if (awardsList != null && awardsList.size() > 0) { cuMemberAwardsList.addAll(awardsList); } } @@ -194,10 +196,10 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period); - if(updateAwardsMemberList.size() >0) { + if (updateAwardsMemberList.size() > 0) { enoughAwardsMemberList.addAll(updateAwardsMemberList); } - if(awardsList != null && awardsList.size() >0){ + if (awardsList != null && awardsList.size() > 0) { cuMemberAwardsList.addAll(awardsList); } } @@ -210,7 +212,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl bdAwardsList = new ArrayList<>(); for (String key : awardsMap.keySet()) { BdAwards bdAwards = awardsMap.get(key); - if(bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())){ + if (bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())) { minAchieve = bdAwards.getCommunityCheck(); } - if(ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { + if (ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { bdAwardsList.add(bdAwards); } } @@ -288,8 +290,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap, - Integer period) { + private List updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap, + Integer period) { if (enoughAwardsMemberList.size() == 0) { return null; } @@ -308,7 +310,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl upgradeCuMemberAwards(List enoughAwardsMemberList, Map originalCuMemberSettleMap, - Integer period) { + Integer period) { List cuMemberAwardsList = new ArrayList<>(); if (enoughAwardsMemberList.size() > 0) { // 记录要入库的,为了验证是否首次晋升 @@ -391,7 +393,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl queryCuMemberAwardsByPeriod(Integer period, Integer systemType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(MemberFieldConstants.PERIOD, period); - if(systemType != null){ + if (systemType != null) { queryWrapper.eq("SYSTEM_TYPE", systemType); } queryWrapper.eq(MemberFieldConstants.UP_TYPE, EUpgradeType.AUTO_UPGRADE.getValue()); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/vo/CuMemberAssessVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/vo/CuMemberAssessVO.java index dc101076..1f159b63 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/vo/CuMemberAssessVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/vo/CuMemberAssessVO.java @@ -10,15 +10,10 @@ import java.util.Date; import java.util.List; /** - *

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

- * - * @author hzs - * @since 2022-08-31 */ @Data -public class CuMemberAssessVO { +public class CuMemberAssessVO { private static final long serialVersionUID = 1L; @@ -62,8 +57,6 @@ public class CuMemberAssessVO { private String orderCode; - - /** * 交易时间 */ @@ -141,9 +134,4 @@ public class CuMemberAssessVO { List orderTypeList; - - - - - } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberAchieveMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberAchieveMapper.xml index e904a79e..4a5437ef 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberAchieveMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberAchieveMapper.xml @@ -145,36 +145,7 @@ r_rep_b_sum_pv NUMBER(17,6) default 0 not null, pk_country NUMBER(6) not null - - insert into ${targetTableName}(period,pk_member,pk_rate,a_balance,b_balance,a_sum_amount, - b_sum_amount,a_sum_pv,b_sum_pv,a_new_amount,b_new_amount,a_new_pv, - b_new_pv,a_sum_real_amount,b_sum_real_amount,a_sum_real_pv,b_sum_real_pv, - rep_a_balance,rep_b_balance,rep_a_new_amount,rep_b_new_amount,rep_a_new_pv, - rep_b_new_pv,rep_a_sum_amount,rep_b_sum_amount,rep_a_sum_pv,rep_b_sum_pv, - register_amount,register_pv,register_new_amount,register_new_pv, - upgrade_amount,upgrade_pv,upgrade_new_amount,upgrade_new_pv, - repurchase_amount,repurchase_pv,repurchase_new_amount,repurchase_new_pv, - hi_fun_amount,hi_fun_pv,hi_fun_new_amount,hi_fun_new_pv, - mall_amount,mall_pv,mall_new_amount,mall_new_pv, - r_a_balance,r_b_balance,r_a_sum_amount,r_b_sum_amount,r_a_sum_pv,r_b_sum_pv, - r_a_sum_real_amount,r_b_sum_real_amount,r_a_sum_real_pv,r_b_sum_real_pv, - r_rep_a_balance,r_rep_b_balance,r_rep_a_sum_amount,r_rep_b_sum_amount, - r_rep_a_sum_pv,r_rep_b_sum_pv,pk_country) - select #{period} period,pk_member,nvl(pk_rate,0) pk_rate,a_balance,b_balance,a_sum_amount, - b_sum_amount,a_sum_pv,b_sum_pv,a_new_amount,b_new_amount,a_new_pv, - b_new_pv,a_sum_real_amount,b_sum_real_amount,a_sum_real_pv,b_sum_real_pv, - rep_a_balance,rep_b_balance,rep_a_new_amount,rep_b_new_amount,rep_a_new_pv, - rep_b_new_pv,rep_a_sum_amount,rep_b_sum_amount,rep_a_sum_pv,rep_b_sum_pv, - register_amount,register_pv,register_new_amount,register_new_pv, - upgrade_amount,upgrade_pv,upgrade_new_amount,upgrade_new_pv, - repurchase_amount,repurchase_pv,repurchase_new_amount,repurchase_new_pv, - hi_fun_amount,hi_fun_pv,hi_fun_new_amount,hi_fun_new_pv, - mall_amount,mall_pv,mall_new_amount,mall_new_pv, - r_a_balance,r_b_balance,r_a_sum_amount,r_b_sum_amount,r_a_sum_pv,r_b_sum_pv, - r_a_sum_real_amount,r_b_sum_real_amount,r_a_sum_real_pv,r_b_sum_real_pv, - r_rep_a_balance,r_rep_b_balance,r_rep_a_sum_amount,r_rep_b_sum_amount, - r_rep_a_sum_pv,r_rep_b_sum_pv,pk_country from ${sourceTableName} - + create table ${tableName} ( @@ -182,335 +153,6 @@ ) - - - merge into ${tableName} a - using ( - select pk_member,max(a.pk_rate) pk_rate,sum(a_new_amount/bc.out_exchange_rate) a_new_amount,sum(a_new_pv) - a_new_pv, - sum(b_new_amount/bc.out_exchange_rate) b_new_amount,sum(b_new_pv) b_new_pv, - sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,sum(rep_b_new_amount/bc.out_exchange_rate) - rep_b_new_amount, - sum(rep_a_new_pv) rep_a_new_pv,sum(rep_b_new_pv) rep_b_new_pv,sum(a_new_real_amount/bc.out_exchange_rate) - a_new_real_amount, - sum(a_new_real_pv) a_new_real_pv,sum(b_new_real_amount/bc.out_exchange_rate) - b_new_real_amount,sum(b_new_real_pv) b_new_real_pv - from ( - - select pk_place_parent pk_member,#{achieve.pkRate} pk_rate, - (case when place_dept =1 then #{achieve.newAmount} else 0 end) a_new_amount, - (case when place_dept =1 then #{achieve.newPv} else 0 end) a_new_pv, - (case when place_dept =1 then #{achieve.repNewAmount} else 0 end) rep_a_new_amount, - (case when place_dept =1 then #{achieve.repNewPv} else 0 end) rep_a_new_pv, - (case when place_dept =1 then #{achieve.newRealAmount} else 0 end) a_new_real_amount, - (case when place_dept =1 then #{achieve.newRealPv} else 0 end) a_new_real_pv, - (case when place_dept =2 then #{achieve.newAmount} else 0 end) b_new_amount, - (case when place_dept =2 then #{achieve.newPv} else 0 end) b_new_pv, - (case when place_dept =2 then #{achieve.repNewAmount} else 0 end) rep_b_new_amount, - (case when place_dept =2 then #{achieve.repNewPv} else 0 end) rep_b_new_pv, - (case when place_dept =2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, - (case when place_dept =2 then #{achieve.newRealPv} else 0 end) b_new_real_pv - from( - select pk_place_parent,place_dept from( - select * from ${tableName} - start with pk_member = #{achieve.pkMember} - connect by pk_member = prior pk_place_parent - ) - where nvl(pk_place_parent,0) !=0 - ) - - ) a - inner join bd_currency bc - on a.pk_rate = bc.pk_id - group by pk_member - ) b - on (a.pk_member = b.pk_member) - when matched then - update - set a.period = a.period + 1, - a.a_sum_pv = a.a_sum_pv - b.a_new_pv, - a.b_sum_pv = a.b_sum_pv - b.b_new_pv, - a.rep_a_sum_pv = a.rep_a_sum_pv - b.rep_a_new_pv, - a.rep_b_sum_pv = a.rep_b_sum_pv - b.rep_b_new_pv, - a.a_sum_real_pv = a.a_sum_real_pv - b.a_new_real_pv, - a.b_sum_real_pv = a.b_sum_real_pv - b.b_new_real_pv - - - - - merge into ${tableName} a - using ( - select pk_member,max(a.pk_rate) pk_rate,sum(a_new_amount/bc.out_exchange_rate) a_new_amount,sum(a_new_pv) - a_new_pv, - sum(b_new_amount/bc.out_exchange_rate) b_new_amount,sum(b_new_pv) b_new_pv, - sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,sum(rep_b_new_amount/bc.out_exchange_rate) - rep_b_new_amount, - sum(rep_a_new_pv) rep_a_new_pv,sum(rep_b_new_pv) rep_b_new_pv,sum(a_new_real_amount/bc.out_exchange_rate) - a_new_real_amount, - sum(a_new_real_pv) a_new_real_pv,sum(b_new_real_amount/bc.out_exchange_rate) - b_new_real_amount,sum(b_new_real_pv) b_new_real_pv - from ( - - select pk_place_parent pk_member,#{achieve.pkRate} pk_rate, - (case when place_dept =1 then #{achieve.newAmount} else 0 end) a_new_amount, - (case when place_dept =1 then #{achieve.newPv} else 0 end) a_new_pv, - (case when place_dept =1 then #{achieve.repNewAmount} else 0 end) rep_a_new_amount, - (case when place_dept =1 then #{achieve.repNewPv} else 0 end) rep_a_new_pv, - (case when place_dept =1 then #{achieve.newRealAmount} else 0 end) a_new_real_amount, - (case when place_dept =1 then #{achieve.newRealPv} else 0 end) a_new_real_pv, - (case when place_dept =2 then #{achieve.newAmount} else 0 end) b_new_amount, - (case when place_dept =2 then #{achieve.newPv} else 0 end) b_new_pv, - (case when place_dept =2 then #{achieve.repNewAmount} else 0 end) rep_b_new_amount, - (case when place_dept =2 then #{achieve.repNewPv} else 0 end) rep_b_new_pv, - (case when place_dept =2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, - (case when place_dept =2 then #{achieve.newRealPv} else 0 end) b_new_real_pv - from( - select pk_place_parent,place_dept from( - select * from ${tableName} - start with pk_member = #{achieve.pkMember} - connect by pk_member = prior pk_place_parent - ) - where nvl(pk_place_parent,0) !=0 - ) - - ) a - inner join bd_currency bc - on a.pk_rate = bc.pk_id - group by pk_member - ) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.period = a.period + 1, - a.pk_rate = b.pk_rate, - a.a_sum_pv = a.a_sum_pv + b.a_new_pv, - a.b_sum_pv = a.b_sum_pv + b.b_new_pv, - a.rep_a_sum_pv = a.rep_a_sum_pv + b.rep_a_new_pv, - a.rep_b_sum_pv = a.rep_b_sum_pv + b.rep_b_new_pv, - a.a_sum_real_pv = a.a_sum_real_pv + b.a_new_real_pv, - a.b_sum_real_pv = a.b_sum_real_pv + b.b_new_real_pv, - a.r_a_sum_amount = a.r_a_sum_amount + b.a_new_amount, - a.r_b_sum_amount = a.r_b_sum_amount + b.b_new_amount, - a.r_a_sum_pv = a.r_a_sum_pv +b.a_new_pv, - a.r_b_sum_pv = a.r_b_sum_pv + b.b_new_pv, - a.r_rep_a_sum_amount =a.r_rep_a_sum_amount +b.rep_a_new_amount, - a.r_rep_b_sum_amount =a.r_rep_b_sum_amount + b.rep_b_new_amount, - a.r_rep_a_sum_pv = a.r_rep_a_sum_pv + b.rep_a_new_pv, - a.r_rep_b_sum_pv = a.r_rep_b_sum_pv + b.rep_b_new_pv, - a.r_a_sum_real_amount = a.r_a_sum_real_amount + b.a_new_real_amount, - a.r_b_sum_real_amount = a.r_b_sum_real_amount + b.b_new_real_amount, - a.r_a_sum_real_pv = a.r_a_sum_real_pv + b.a_new_real_pv, - a.r_b_sum_real_pv = a.r_b_sum_real_pv + b.b_new_real_pv - - - - - merge into ${targetTable} a - using(select pk_member,a_balance,b_balance, - a_sum_amount,b_sum_amount,a_sum_pv,b_sum_pv, - a_new_amount,b_new_amount,a_new_pv,b_new_pv, - a_sum_real_amount,b_sum_real_amount,a_sum_real_pv,b_sum_real_pv, - rep_a_balance,rep_b_balance, - rep_a_sum_amount,rep_b_sum_amount,rep_a_sum_pv,rep_b_sum_pv, - register_amount,register_pv,upgrade_amount,upgrade_pv, - repurchase_amount,repurchase_pv,hi_fun_amount,hi_fun_pv, - mall_amount,mall_pv,pk_country,min_achieve,round,second,net_first_achieve,net_repurchase_achieve, - r_a_balance,r_b_balance,r_a_sum_amount,r_b_sum_amount,r_a_sum_pv,r_b_sum_pv, - r_rep_a_sum_amount,r_rep_b_sum_amount,r_rep_a_sum_pv, - r_rep_b_sum_pv,r_a_sum_real_amount,r_b_sum_real_amount, - r_a_sum_real_pv,r_b_sum_real_pv,r_rep_a_balance,r_rep_b_balance from ${sourceTable} ) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.a_balance=b.a_balance,a.b_balance=b.b_balance, - a.a_sum_amount=b.a_sum_amount,a.b_sum_amount=b.b_sum_amount, - a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, - a.a_sum_real_amount=b.a_sum_real_amount,a.b_sum_real_amount=b.b_sum_real_amount, - a.a_sum_real_pv=b.a_sum_real_pv,a.b_sum_real_pv=b.b_sum_real_pv, - a.rep_a_balance=b.rep_a_balance,a.rep_b_balance=b.rep_b_balance, - a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv, - a.register_amount=b.register_amount,a.register_pv=b.register_pv, - a.upgrade_amount=b.upgrade_amount,a.upgrade_pv=b.upgrade_pv, - a.repurchase_amount=b.repurchase_amount,a.repurchase_pv=b.repurchase_pv, - a.hi_fun_amount=b.hi_fun_amount,a.hi_fun_pv=b.hi_fun_pv, - a.mall_amount=b.mall_amount,a.mall_pv=b.mall_pv, - a.min_achieve=b.min_achieve,a.round=b.round,a.second=b.second, - a.net_first_achieve=b.net_first_achieve,a.net_repurchase_achieve=b.net_repurchase_achieve, - a.r_a_balance=b.r_a_balance,a.r_b_balance=b.r_b_balance, - a.r_a_sum_amount = b.r_a_sum_amount,a.r_b_sum_amount = b.r_b_sum_amount,a.r_a_sum_pv = b.r_a_sum_pv,a.r_b_sum_pv = b.r_b_sum_pv, - a.r_rep_a_sum_amount = b.r_rep_a_sum_amount,a.r_rep_b_sum_amount = b.r_rep_b_sum_amount,a.r_rep_a_sum_pv = b.r_rep_a_sum_pv, - a.r_rep_b_sum_pv = b.r_rep_b_sum_pv,a.r_a_sum_real_amount = b.r_a_sum_real_amount,a.r_b_sum_real_amount = b.r_b_sum_real_amount, - a.r_a_sum_real_pv = b.r_a_sum_real_pv,a.r_b_sum_real_pv = b.r_b_sum_real_pv,a.r_rep_a_balance=b.r_rep_a_balance,a.r_rep_b_balance=b.r_rep_b_balance - - - merge into ${targetTable} a - using(select cl.pk_member, - (case infusing_water_type when 1 then ca.a_sum_real_pv + a_sum_real_modify_pv when 2 then ca.a_sum_real_pv- a_sum_real_modify_pv else a_sum_real_modify_pv end) a_sum_real_pv, - (case infusing_water_type when 1 then ca.b_sum_real_pv +b_sum_real_modify_pv when 2 then ca.b_sum_real_pv- b_sum_real_modify_pv else b_sum_real_modify_pv end) b_sum_real_pv, - (case infusing_water_type when 1 then ca.a_sum_pv + a_first_modify_pv when 2 then ca.a_sum_pv- a_first_modify_pv else a_first_modify_pv end) a_sum_pv, - (case infusing_water_type when 1 then ca.b_sum_pv + b_first_modify_pv when 2 then ca.b_sum_pv- b_first_modify_pv else b_first_modify_pv end) b_sum_pv, - (case infusing_water_type when 1 then ca.a_balance + rep_a_first_modify_balance when 2 then ca.a_balance- rep_a_first_modify_balance else rep_a_first_modify_balance end) a_balance, - (case infusing_water_type when 1 then ca.b_balance + rep_b_first_modify_balance when 2 then ca.b_balance- rep_b_first_modify_balance else rep_b_first_modify_balance end) b_balance, - (case infusing_water_type when 1 then ca.rep_a_sum_pv + rep_a_modify_sum_pv when 2 then ca.rep_a_sum_pv- rep_a_modify_sum_pv else rep_a_modify_sum_pv end) rep_a_sum_pv, - (case infusing_water_type when 1 then ca.rep_b_sum_pv + rep_b_modify_sum_pv when 2 then ca.rep_b_sum_pv- rep_b_modify_sum_pv else rep_b_modify_sum_pv end) rep_b_sum_pv, - (case infusing_water_type when 1 then ca.rep_a_balance + rep_a_modify_balance when 2 then ca.rep_a_balance- rep_a_modify_balance else rep_a_modify_balance end) rep_a_balance, - (case infusing_water_type when 1 then ca.rep_b_balance + rep_b_modify_balance when 2 then ca.rep_b_balance- rep_b_modify_balance else rep_b_modify_balance end) rep_b_balance from cu_member_achieve_log cl - left join ${targetTable} ca - on cl.pk_member = ca.pk_member - where cl.period= #{period} and approve_status=5 and cl.pk_id = #{pkId} - order by cl.pk_member,cl.creation_time) b - on (a.pk_member = b.pk_member) - when matched then - update set a.a_sum_real_pv = b.a_sum_real_pv, a.b_sum_real_pv=b.b_sum_real_pv,a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, - a.a_balance=b.a_balance,a.b_balance=b.b_balance,a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv, - a.rep_a_balance=b.rep_a_balance,a.rep_b_balance=b.rep_b_balance - - - merge into ${currentTableName} a - using ( - select ct.pk_member,r_a_balance,r_b_balance,r_a_sum_pv,r_b_sum_pv,r_a_sum_real_pv,r_b_sum_real_pv, - r_rep_a_sum_pv,r_rep_b_sum_pv,r_rep_a_balance,r_rep_b_balance from ${yesTableName} ct - inner join cu_member_achieve_log cl - on ct.pk_member = cl.pk_member - where cl.due_date = #{currentDate, jdbcType=DATE} - ) b - on (a.pk_member = b.pk_member) - when matched then - update set a.r_a_balance=b.r_a_balance,a.r_b_balance=b.r_b_balance, - a.r_a_sum_pv=b.r_a_sum_pv,a.r_b_sum_pv=b.r_b_sum_pv, - a.r_a_sum_real_pv=b.r_a_sum_real_pv,a.r_b_sum_real_pv=b.r_b_sum_real_pv, - a.r_rep_a_sum_pv=b.r_rep_a_sum_pv,a.r_rep_b_sum_pv=b.r_rep_b_sum_pv, - a.r_rep_a_balance=b.r_rep_a_balance,a.r_rep_b_balance=b.r_rep_b_balance - - - merge into ${targetTableName} a - using( - select #{period} period,pk_member,nvl(pk_rate,0) pk_rate,a_balance,b_balance,a_sum_amount, - b_sum_amount,a_sum_pv,b_sum_pv,a_new_amount,b_new_amount,a_new_pv, - b_new_pv,a_sum_real_amount,b_sum_real_amount,a_sum_real_pv,b_sum_real_pv, - rep_a_balance,rep_b_balance,rep_a_new_amount,rep_b_new_amount,rep_a_new_pv, - rep_b_new_pv,rep_a_sum_amount,rep_b_sum_amount,rep_a_sum_pv,rep_b_sum_pv, - register_amount,register_pv,register_new_amount,register_new_pv, - upgrade_amount,upgrade_pv,upgrade_new_amount,upgrade_new_pv, - repurchase_amount,repurchase_pv,repurchase_new_amount,repurchase_new_pv, - hi_fun_amount,hi_fun_pv,hi_fun_new_amount,hi_fun_new_pv, - mall_amount,mall_pv,mall_new_amount,mall_new_pv, - register_blo_new_pv,upgrade_blo_new_pv,repurchase_blo_new_pv,hi_fun_blo_new_pv,mall_blo_new_pv, - r_a_balance,r_b_balance,r_a_sum_amount,r_b_sum_amount,r_a_sum_pv,r_b_sum_pv, - r_a_sum_real_amount,r_b_sum_real_amount,r_a_sum_real_pv,r_b_sum_real_pv, - r_rep_a_balance,r_rep_b_balance,r_rep_a_sum_amount,r_rep_b_sum_amount, - r_rep_a_sum_pv,r_rep_b_sum_pv,pk_country from ${sourceTableName} - ) b - on (a.pk_member=b.pk_member and a.period=b.period) - WHEN MATCHED THEN - update set a.pk_rate = b.pk_rate,a.a_balance = b.a_balance,a.b_balance = b.b_balance, - a.a_sum_amount = b.a_sum_amount,a.b_sum_amount = b.b_sum_amount, - a.a_sum_pv = b.a_sum_pv,a.b_sum_pv = b.b_sum_pv,a.a_new_amount = b.a_new_amount, - a.b_new_amount = b.b_new_amount,a.a_new_pv = b.a_new_pv,a.b_new_pv = b.b_new_pv, - a.a_sum_real_amount = b.a_sum_real_amount,a.b_sum_real_amount = b.b_sum_real_amount, - a.a_sum_real_pv = b.a_sum_real_pv,a.b_sum_real_pv = b.b_sum_real_pv, - a.rep_a_balance = b.rep_a_balance,a.rep_b_balance = b.rep_b_balance, - a.rep_a_new_amount = b.rep_a_new_amount,a.rep_b_new_amount = b.rep_b_new_amount, - a.rep_a_new_pv = b.rep_a_new_pv,a.rep_b_new_pv = b.rep_b_new_pv, - a.rep_a_sum_amount = b.rep_a_sum_amount,a.rep_b_sum_amount = b.rep_b_sum_amount, - a.rep_a_sum_pv = b.rep_a_sum_pv,a.rep_b_sum_pv = b.rep_b_sum_pv, - a.register_amount = b.register_amount,a.register_pv = b.register_pv,a.register_new_amount = b.register_new_amount, - a.register_new_pv = b.register_new_pv,a.upgrade_amount = b.upgrade_amount,a.upgrade_pv = b.upgrade_pv, - a.upgrade_new_amount = b.upgrade_new_amount,a.upgrade_new_pv = b.upgrade_new_pv, - a.repurchase_amount = b.repurchase_amount,a.repurchase_pv = b.repurchase_pv, - a.repurchase_new_amount = b.repurchase_new_amount,a.repurchase_new_pv = b.repurchase_new_pv, - a.hi_fun_amount = b.hi_fun_amount,a.hi_fun_pv = b.hi_fun_pv,a.hi_fun_new_amount = b.hi_fun_new_amount, - a.hi_fun_new_pv = b.hi_fun_new_pv,a.mall_amount = b.mall_amount,a.mall_pv = b.mall_pv, - a.mall_new_amount = b.mall_new_amount,a.mall_new_pv = b.mall_new_pv, - a.register_blo_new_pv=b.register_blo_new_pv,a.upgrade_blo_new_pv=b.upgrade_blo_new_pv, - a.repurchase_blo_new_pv=b.repurchase_blo_new_pv, - a.hi_fun_blo_new_pv=b.hi_fun_blo_new_pv,a.mall_blo_new_pv=b.mall_blo_new_pv, - a.r_a_balance = b.r_a_balance,a.r_b_balance = b.r_b_balance,a.r_a_sum_amount = b.r_a_sum_amount, - a.r_b_sum_amount = b.r_b_sum_amount,a.r_a_sum_pv = b.r_a_sum_pv,a.r_b_sum_pv = b.r_b_sum_pv, - a.r_a_sum_real_amount = b.r_a_sum_real_amount,a.r_b_sum_real_amount = b.r_b_sum_real_amount, - a.r_a_sum_real_pv = b.r_a_sum_real_pv,a.r_b_sum_real_pv = b.r_b_sum_real_pv, - a.r_rep_a_balance = b.r_rep_a_balance,a.r_rep_b_balance = b.r_rep_b_balance, - a.r_rep_a_sum_amount = b.r_rep_a_sum_amount,a.r_rep_b_sum_amount = b.r_rep_b_sum_amount, - a.r_rep_a_sum_pv = b.r_rep_a_sum_pv,a.r_rep_b_sum_pv = b.r_rep_b_sum_pv,a.pk_country = b.pk_country - WHEN NOT MATCHED THEN - insert (period,pk_member,pk_rate,a_balance,b_balance,a_sum_amount, - b_sum_amount,a_sum_pv,b_sum_pv,a_new_amount,b_new_amount,a_new_pv, - b_new_pv,a_sum_real_amount,b_sum_real_amount,a_sum_real_pv,b_sum_real_pv, - rep_a_balance,rep_b_balance,rep_a_new_amount,rep_b_new_amount,rep_a_new_pv, - rep_b_new_pv,rep_a_sum_amount,rep_b_sum_amount,rep_a_sum_pv,rep_b_sum_pv, - register_amount,register_pv,register_new_amount,register_new_pv, - upgrade_amount,upgrade_pv,upgrade_new_amount,upgrade_new_pv, - repurchase_amount,repurchase_pv,repurchase_new_amount,repurchase_new_pv, - hi_fun_amount,hi_fun_pv,hi_fun_new_amount,hi_fun_new_pv, - mall_amount,mall_pv,mall_new_amount,mall_new_pv, - register_blo_new_pv,upgrade_blo_new_pv,repurchase_blo_new_pv,hi_fun_blo_new_pv,mall_blo_new_pv, - r_a_balance,r_b_balance,r_a_sum_amount,r_b_sum_amount,r_a_sum_pv,r_b_sum_pv, - r_a_sum_real_amount,r_b_sum_real_amount,r_a_sum_real_pv,r_b_sum_real_pv, - r_rep_a_balance,r_rep_b_balance,r_rep_a_sum_amount,r_rep_b_sum_amount, - r_rep_a_sum_pv,r_rep_b_sum_pv,pk_country) - values(b.period,b.pk_member,b.pk_rate,b.a_balance,b.b_balance,b.a_sum_amount, - b.b_sum_amount,b.a_sum_pv,b.b_sum_pv,b.a_new_amount,b.b_new_amount,b.a_new_pv, - b.b_new_pv,b.a_sum_real_amount,b.b_sum_real_amount,b.a_sum_real_pv,b.b_sum_real_pv, - b.rep_a_balance,b.rep_b_balance,b.rep_a_new_amount,b.rep_b_new_amount,b.rep_a_new_pv, - b.rep_b_new_pv,b.rep_a_sum_amount,b.rep_b_sum_amount,b.rep_a_sum_pv,b.rep_b_sum_pv, - b.register_amount,b.register_pv,b.register_new_amount,b.register_new_pv, - b.upgrade_amount,b.upgrade_pv,b.upgrade_new_amount,b.upgrade_new_pv, - b.repurchase_amount,b.repurchase_pv,b.repurchase_new_amount,b.repurchase_new_pv, - b.hi_fun_amount,b.hi_fun_pv,b.hi_fun_new_amount,b.hi_fun_new_pv, - b.mall_amount,b.mall_pv,b.mall_new_amount,b.mall_new_pv, - b.register_blo_new_pv,b.upgrade_blo_new_pv,b.repurchase_blo_new_pv,b.hi_fun_blo_new_pv,b.mall_blo_new_pv, - b.r_a_balance,b.r_b_balance,b.r_a_sum_amount,b.r_b_sum_amount,b.r_a_sum_pv,b.r_b_sum_pv, - b.r_a_sum_real_amount,b.r_b_sum_real_amount,b.r_a_sum_real_pv,b.r_b_sum_real_pv, - b.r_rep_a_balance,b.r_rep_b_balance,b.r_rep_a_sum_amount,b.r_rep_b_sum_amount, - b.r_rep_a_sum_pv,b.r_rep_b_sum_pv,b.pk_country) - - - update ${targetTableName} a set - a.a_balance=0,a.b_balance=0,a.a_sum_amount=0,a.b_sum_amount=0, - a.a_sum_pv=0,a.b_sum_pv=0,a.a_new_amount=0,a.b_new_amount=0, - a.a_new_pv=0,a.b_new_pv=0,a.a_sum_real_amount=0,a.b_sum_real_amount=0, - a.a_sum_real_pv=0,a.b_sum_real_pv=0,a.rep_a_balance=0,a.rep_b_balance=0, - a.rep_a_new_amount=0,a.rep_b_new_amount=0,a.rep_a_new_pv=0,a.rep_b_new_pv=0, - a.rep_a_sum_amount=0,a.rep_b_sum_amount=0,a.rep_a_sum_pv=0,a.rep_b_sum_pv=0, - a.register_amount=0,a.register_pv=0,a.register_new_amount=0,a.register_new_pv=0, - a.upgrade_amount=0,a.upgrade_pv=0,a.upgrade_new_amount=0,a.upgrade_new_pv=0, - a.repurchase_amount=0,a.repurchase_pv=0,a.repurchase_new_amount=0,a.repurchase_new_pv=0, - a.hi_fun_amount=0,a.hi_fun_pv=0,a.hi_fun_new_amount=0,a.hi_fun_new_pv=0, - a.mall_amount=0,a.mall_pv=0,a.mall_new_amount=0,a.mall_new_pv=0, - a.register_blo_new_pv=0,a.upgrade_blo_new_pv=0,a.repurchase_blo_new_pv=0, - a.hi_fun_blo_new_pv=0,a.mall_blo_new_pv=0, - a.net_first_achieve=0,a.net_repurchase_achieve=0, - a.min_achieve=0,a.round=0,a.second=1,a.r_a_balance=0,a.r_b_balance=0, - a.r_a_sum_amount = 0,a.r_b_sum_amount = 0,a.r_a_sum_pv = 0,a.r_b_sum_pv = 0, - a.r_rep_a_sum_amount = 0,a.r_rep_b_sum_amount = 0,a.r_rep_a_sum_pv = 0, - a.r_rep_b_sum_pv = 0,a.r_a_sum_real_amount = 0,a.r_b_sum_real_amount = 0, - a.r_a_sum_real_pv = 0,a.r_b_sum_real_pv = 0,a.r_rep_a_balance=0,a.r_rep_b_balance=0 - - - merge into ${tableName} a - using(select #{period} period, a.* - from (select user_id pk_member, - sum(CURR_DAY_MAIN_REG_AMOUNT) REGISTER_AMOUNT, - sum(CURR_DAY_MAIN_REG_PV) REGISTER_PV, - sum(CURR_DAY_MAIN_UP_AMOUNT) UPGRADE_AMOUNT, - sum(CURR_DAY_MAIN_UP_PV) UPGRADE_PV, - sum(CURR_DAY_MAIN_REPUR_AMOUNT) REPURCHASE_AMOUNT, - sum(CURR_DAY_MAIN_REPURCHASE_PV) REPURCHASE_PV, - sum(CURR_DAY_SEA2_REG_AMOUNT) HI_FUN_AMOUNT, - sum(CURR_DAY_SEA2_REG_PV) HI_FUN_PV, - sum(CURR_DAY_MALL_AMOUNT) MALL_AMOUNT, - sum(CURR_DAY_MALL_PV) MALL_PV - from G_MEMBER_ACHIV@link_test - where period between - 729 and #{period} - group by user_id) a) b on - (a.pk_member = b.pk_member and a.period = b.period) - when matched then update set a.REGISTER_AMOUNT = b.REGISTER_AMOUNT, - a.REGISTER_PV = b.REGISTER_PV, a.UPGRADE_AMOUNT = b.UPGRADE_AMOUNT, - a.UPGRADE_PV = b.UPGRADE_PV, a.REPURCHASE_AMOUNT = b.REPURCHASE_AMOUNT, - a.REPURCHASE_PV = b.REPURCHASE_PV, a.HI_FUN_AMOUNT = b.HI_FUN_AMOUNT, - a.HI_FUN_PV = b.HI_FUN_PV, a.MALL_AMOUNT = b.MALL_AMOUNT, a.MALL_PV = b.MALL_PV - - create table ${tableName} ( @@ -644,68 +286,7 @@ a.r_a_sum_real_pv = a.r_a_sum_real_pv - b.a_new_pv - b.rep_a_new_pv, a.r_b_sum_real_pv = a.r_b_sum_real_pv - b.b_new_pv - b.rep_b_new_pv - - merge into ${tableName} a - using ( - - select #{achieve.pkMember} pk_member, - #{achieve.aSumRealPv} a_sum_real_pv,#{achieve.bSumRealPv} b_sum_real_pv, - #{achieve.repANewPv} rep_a_sum_pv,#{achieve.repBNewPv} rep_b_sum_pv, - #{achieve.netFirstAchieve} net_first_achieve,#{achieve.netRepurchaseAchieve} net_repurchase_achieve - from dual - - ) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.a_sum_real_pv=a.a_sum_real_pv+b.a_sum_real_pv, - a.b_sum_real_pv=a.b_sum_real_pv+b.b_sum_real_pv, - a.rep_a_new_pv=b.rep_a_sum_pv,a.rep_b_new_pv=b.rep_b_sum_pv, - a.net_first_achieve=a.net_first_achieve+b.net_first_achieve, - a.net_repurchase_achieve=a.net_repurchase_achieve+b.net_repurchase_achieve - - - merge into ${targetTable} a - using(select a.pk_member,(a.a_sum_real_pv - b.a_sum_real_pv) a_sum_real_pv, - (a.b_sum_real_pv - b.b_sum_real_pv) b_sum_real_pv, - (a.a_sum_pv - b.a_sum_pv) a_sum_pv, - (a.b_sum_pv - b.b_sum_pv) b_sum_pv, - (case when a.a_balance - b.a_balance <0 then 0 else a.a_balance - b.a_balance end) a_balance, - (case when a.b_balance - b.b_balance <0 then 0 else a.b_balance - b.b_balance end) b_balance, - (a.rep_a_sum_pv - b.rep_a_sum_pv) rep_a_sum_pv, - (a.rep_b_sum_pv - b.rep_b_sum_pv) rep_b_sum_pv, - (case when a.rep_a_balance - b.rep_a_balance<0 then 0 else a.rep_a_balance - b.rep_a_balance end) rep_a_balance, - (case when a.rep_b_balance - b.rep_b_balance<0 then 0 else a.rep_b_balance - b.rep_b_balance end) rep_b_balance - from ${targetTable} a - inner join( - select pk_member,sum(a_sum_real_pv) a_sum_real_pv,sum(B_SUM_REAL_PV) B_SUM_REAL_PV,sum(A_SUM_PV) A_SUM_PV, - sum(B_SUM_PV) B_SUM_PV,sum(A_BALANCE) A_BALANCE,sum(B_BALANCE) B_BALANCE,sum(REP_A_SUM_PV) REP_A_SUM_PV, - sum(REP_B_SUM_PV) REP_B_SUM_PV,sum(REP_A_BALANCE) REP_A_BALANCE,sum(REP_B_BALANCE) REP_B_BALANCE from( - select pk_id,pk_member,pk_country, - (case infusing_water_type when 1 then a_sum_real_modify_pv when 2 then -a_sum_real_modify_pv else a_sum_real_modify_pv-a_sum_real_pv end) a_sum_real_pv, - (case infusing_water_type when 1 then B_SUM_REAL_MODIFY_PV when 2 then -B_SUM_REAL_MODIFY_PV else B_SUM_REAL_MODIFY_PV-B_SUM_REAL_PV end) B_SUM_REAL_PV, - (case infusing_water_type when 1 then A_FIRST_MODIFY_PV when 2 then -A_FIRST_MODIFY_PV else A_FIRST_MODIFY_PV-A_SUM_PV end) A_SUM_PV, - (case infusing_water_type when 1 then B_FIRST_MODIFY_PV when 2 then -B_FIRST_MODIFY_PV else B_FIRST_MODIFY_PV-B_SUM_PV end) B_SUM_PV, - (case infusing_water_type when 1 then REP_A_FIRST_MODIFY_BALANCE when 2 then -REP_A_FIRST_MODIFY_BALANCE else REP_A_FIRST_MODIFY_BALANCE-A_BALANCE end) A_BALANCE, - (case infusing_water_type when 1 then REP_B_FIRST_MODIFY_BALANCE when 2 then -REP_B_FIRST_MODIFY_BALANCE else REP_B_FIRST_MODIFY_BALANCE-B_BALANCE end) B_BALANCE, - (case infusing_water_type when 1 then REP_A_MODIFY_SUM_PV when 2 then -REP_A_MODIFY_SUM_PV else REP_A_MODIFY_SUM_PV-REP_A_SUM_PV end) REP_A_SUM_PV, - (case infusing_water_type when 1 then REP_B_MODIFY_SUM_PV when 2 then -REP_B_MODIFY_SUM_PV else REP_B_MODIFY_SUM_PV-REP_B_SUM_PV end) REP_B_SUM_PV, - (case infusing_water_type when 1 then REP_A_MODIFY_BALANCE when 2 then -REP_A_MODIFY_BALANCE else REP_A_MODIFY_BALANCE-REP_A_BALANCE end) REP_A_BALANCE, - (case infusing_water_type when 1 then REP_B_MODIFY_BALANCE when 2 then -REP_B_MODIFY_BALANCE else REP_B_MODIFY_BALANCE-REP_B_BALANCE end) REP_B_BALANCE - from cu_member_achieve_log - where creation_time >=to_date('2024-02-23','yyyy-mm-dd') - and APPROVE_STATUS=5 and del_flag=0 - and due_date=#{settleDate,jdbcType=DATE} - ) - group by pk_member - ) b - on b.pk_member=a.pk_member)b - on (a.pk_member = b.pk_member) - when matched then - update set a.a_sum_real_pv = b.a_sum_real_pv, a.b_sum_real_pv=b.b_sum_real_pv,a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, - a.a_balance=b.a_balance,a.b_balance=b.b_balance,a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv, - a.rep_a_balance=b.rep_a_balance,a.rep_b_balance=b.rep_b_balance - + merge into ${targetTable} a using(select pk_member,a_balance,b_balance,min_achieve,round,second from ${sourceTable}) b @@ -716,276 +297,4 @@ a.min_achieve=b.min_achieve,a.round=b.round,a.second=b.second - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml index 8ce1f130..a1f6557e 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml @@ -65,7 +65,7 @@ team_box_num=0, month_box_num=0, team_new_box_num=0, - pk_share_awards=12, + pk_share_awards=(select pk_id from BD_AWARDS where awards_value = 0), consume_pv=0, month_consume_pv=0, new_consume_pv=0, @@ -78,8 +78,7 @@ team_new_pv=0, recommend_num=0, team_num=0, - pk_grade= - (select pk_id from bd_grade where del_flag = 0 and grade_value = 20), + pk_grade= (select pk_id from bd_grade where del_flag = 0 and grade_value = 20), region_address=0, big_box_num=0, small_box_num=0, @@ -277,27 +276,70 @@ diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 91320b41..fc3fa358 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -4,107 +4,108 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - period NUMBER(6) default 0 not null, + period + NUMBER(6) default 0 not null, pk_member NUMBER(20) not null, pk_parent NUMBER(20) not null, pk_place_parent NUMBER(20), @@ -138,12 +139,14 @@ - , - , - + , + , + + - pk_rate NUMBER(6) , + pk_rate + NUMBER(6) , a_balance NUMBER(17,6) default 0 not null, b_balance NUMBER(17,6) default 0 not null, a_sum_amount NUMBER(17,6) default 0 not null, @@ -197,6 +200,7 @@ round NUMBER(6) default 0 not null, second NUMBER(4) default 1 not null + select pk_member,pk_parent,member_code,member_name,a.pk_awards,account_status,a.register_authority,customer_type, income_status,pk_settle_country,purchase_status,share_status,is_maker_space, @@ -209,8 +213,10 @@ inner join bd_grade bg on a.pk_grade = bg.pk_id + - net_first_achieve NUMBER(17,6) default 0 not null, + net_first_achieve + NUMBER(17,6) default 0 not null, net_repurchase_achieve NUMBER(17,6) default 0 not null, r_a_balance NUMBER(17,6) default 0 not null, r_b_balance NUMBER(17,6) default 0 not null, @@ -229,32 +235,49 @@ r_rep_a_sum_pv NUMBER(17,6) default 0 not null, r_rep_b_sum_pv NUMBER(17,6) default 0 not null + - CREATE OR REPLACE TRIGGER ${tableName}_TRIG - BEFORE INSERT OR UPDATE ON ${tableName} + CREATE + OR REPLACE TRIGGER + ${tableName} + _ + TRIG + BEFORE + INSERT + OR + UPDATE ON ${tableName} FOR EACH ROW - DECLARE - v_newVal NUMBER(12) := 0; - v_incval NUMBER(12) := 0; + DECLARE + v_newVal NUMBER(12) := 0; + v_incval + NUMBER(12) := 0; BEGIN - IF INSERTING AND :new.pk_id IS NULL THEN - SELECT - ${tableNameSeq}.NEXTVAL + IF + INSERTING AND :new.pk_id IS NULL THEN + SELECT ${tableNameSeq}.NEXTVAL INTO v_newVal FROM DUAL; - IF v_newVal = 1 THEN - SELECT NVL(max(pk_id), 0) INTO v_newVal FROM ${tableName}; - v_newVal := v_newVal + 1; + IF + v_newVal = 1 THEN + SELECT NVL(max(pk_id), 0) + INTO v_newVal + FROM ${tableName}; + v_newVal + := v_newVal + 1; LOOP - EXIT WHEN v_incval >= v_newVal; - SELECT ${tableNameSeq}.nextval INTO v_incval + EXIT + WHEN v_incval >= v_newVal; + SELECT ${tableNameSeq}.nextval + INTO v_incval FROM dual; END LOOP; END IF; - :new.pk_id := v_newVal; + :new + .pk_id := v_newVal; END IF; END; + select pk_member,pk_parent,member_code,member_name,pk_awards,account_status, @@ -270,49 +293,11 @@ - - insert into ${settleTableName}(pk_member,pk_parent,pk_place_parent,place_dept,member_code,member_name, - customer_type,phone,pk_grade,pk_awards,account_status,pay_status,register_authority,category, - purchase_type,purchase_status,share_status,income_status,pk_team_code,is_maker_space, - pk_center_code,pk_vertex,pk_settle_country,is_real_name,pk_country,pk_rate, - store_level,is_maker_gift,expire_status) - select cm.pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name, - customer_type,phone,pk_settle_grade,pk_awards,account_status,pay_status,register_authority,category, - (case when purchase_status = 0 then 1 else 0 end) purchase_type, - purchase_status,share_status,income_status,pk_team_code,is_maker_space,pk_center_code, - pk_vertex,pk_settle_country,is_real_name,cm.pk_country,nvl(bc.pk_id,-1) pk_rate, - nvl(b.store_level,0) store_level,cm.is_maker_gift,cm.expire_status from cu_member cm - left join ( - select pk_country,max(pk_id) pk_id from bd_currency - where del_flag=0 and pk_country=1 and enable_state=0 and effective_date <=sysdate - group by pk_country) bc - on cm.pk_settle_country = bc.pk_country - left join( - select pk_member,store_level from cu_maker_space - where del_flag=0 and approve_status=5 - and apply_status=5 and store_type=1 - ) b - on cm.pk_id=b.pk_member - where cm.del_flag=0 and cm.system_type=0 - - - insert into ${targetTableName}(period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, - member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, - register_authority,category,purchase_type,purchase_status, - share_status,income_status,pk_team_code,pk_center_code,pk_vertex, - pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country) - select #{period} period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, - member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, - register_authority,category,purchase_type,purchase_status, - share_status,income_status,pk_team_code,pk_center_code,pk_vertex, - pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country from ${sourceTableName} - - create table ${tableName} ( - pk_id NUMBER(20) primary key, - + pk_id NUMBER(20) primary key, + ) @@ -323,428 +308,171 @@ ) - - create table ${tableName} + + create + index + ${tableName} + _ + parent + on + ${tableName} ( - pk_member NUMBER(20) not null, - pk_country number(4) default 1 not null, - expire_status number(1) default 1, - + pk_parent ) - - create index ${tableName}_parent on ${tableName}(pk_parent) - - - create index ${tableName}_place on ${tableName}(pk_place_parent,place_dept) + create + index + ${tableName} + _ + place + on + ${tableName} + ( + pk_place_parent, + place_dept + ) - create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER,period) + create + unique index + ${tableName} + _ + PK_M + on + ${tableName} + ( + PK_MEMBER, + period + ) - create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER) - - - update ${settleTableName} set customer_type =2,category =1 - where pk_member in - - #{item.pkMember} - + create + unique index + ${tableName} + _ + PK_M + on + ${tableName} + ( + PK_MEMBER + ) + merge into ${updateTableName} a - using( - select pk_member,max(new_level) pk_awards from cu_member_awards - where period = #{period} and del_flag=0 - group by pk_member) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.pk_awards = b.pk_awards + using ( + select pk_member, max(new_level) pk_awards + from cu_member_awards + where period = #{period} + and del_flag = 0 + group by pk_member) b + on (a.pk_member = b.pk_member) + when matched then + update set + a.pk_awards = b.pk_awards - - insert into ${settleTableName}(pk_member,PK_PARENT,PK_PLACE_PARENT,PLACE_DEPT,MEMBER_CODE,member_name, - CUSTOMER_TYPE,PHONE,PK_GRADE,PK_AWARDS,ACCOUNT_STATUS,PAY_STATUS,REGISTER_AUTHORITY, - CATEGORY,PURCHASE_TYPE,PURCHASE_STATUS,SHARE_STATUS,INCOME_STATUS,PK_TEAM_CODE,PK_CENTER_CODE, - PK_VERTEX,PK_SETTLE_COUNTRY,IS_REAL_NAME,IS_BUS_LICENSE,IS_MAKER_SPACE,PK_COUNTRY,PK_RATE, - a_balance,b_balance,A_SUM_AMOUNT,B_SUM_AMOUNT,A_SUM_PV,B_SUM_PV, - A_NEW_AMOUNT,B_NEW_AMOUNT,A_NEW_PV,B_NEW_PV,A_SUM_REAL_AMOUNT,B_SUM_REAL_AMOUNT,A_SUM_REAL_PV,B_SUM_REAL_PV, - REP_A_BALANCE,REP_B_BALANCE,REP_A_NEW_AMOUNT,REP_B_NEW_AMOUNT,REP_A_NEW_PV,REP_B_NEW_PV,REP_A_SUM_AMOUNT, - REP_B_SUM_AMOUNT,REP_A_SUM_PV,REP_B_SUM_PV,REGISTER_AMOUNT,REGISTER_PV,REGISTER_NEW_AMOUNT,REGISTER_NEW_PV, - UPGRADE_AMOUNT,UPGRADE_PV,UPGRADE_NEW_AMOUNT,UPGRADE_NEW_PV,REPURCHASE_AMOUNT,REPURCHASE_PV, - REPURCHASE_NEW_AMOUNT,REPURCHASE_NEW_PV,HI_FUN_AMOUNT,HI_FUN_PV,HI_FUN_NEW_AMOUNT,HI_FUN_NEW_PV, - MALL_AMOUNT,MALL_PV,MALL_NEW_AMOUNT,MALL_NEW_PV,REGISTER_BLO_NEW_PV,UPGRADE_BLO_NEW_PV,REPURCHASE_BLO_NEW_PV, - HI_FUN_BLO_NEW_PV,MALL_BLO_NEW_PV,MIN_ACHIEVE,ROUND,SECOND) - select ca.pk_member,ca.PK_PARENT,ca.PK_PLACE_PARENT,ca.PLACE_DEPT,ca.MEMBER_CODE,ca.member_name, - ca.CUSTOMER_TYPE,ca.PHONE,PK_GRADE,PK_AWARDS,ACCOUNT_STATUS,PAY_STATUS,REGISTER_AUTHORITY, - CATEGORY,PURCHASE_TYPE,PURCHASE_STATUS,SHARE_STATUS,INCOME_STATUS,PK_TEAM_CODE,PK_CENTER_CODE, - PK_VERTEX,ca.PK_SETTLE_COUNTRY,IS_REAL_NAME,IS_BUS_LICENSE,IS_MAKER_SPACE,ca.PK_COUNTRY,PK_RATE, - a_balance,b_balance,A_SUM_AMOUNT,B_SUM_AMOUNT,A_SUM_PV,B_SUM_PV, - A_NEW_AMOUNT,B_NEW_AMOUNT,A_NEW_PV,B_NEW_PV,A_SUM_REAL_AMOUNT,B_SUM_REAL_AMOUNT,A_SUM_REAL_PV,B_SUM_REAL_PV, - REP_A_BALANCE,REP_B_BALANCE,REP_A_NEW_AMOUNT,REP_B_NEW_AMOUNT,REP_A_NEW_PV,REP_B_NEW_PV,REP_A_SUM_AMOUNT, - REP_B_SUM_AMOUNT,REP_A_SUM_PV,REP_B_SUM_PV,REGISTER_AMOUNT,REGISTER_PV,REGISTER_NEW_AMOUNT,REGISTER_NEW_PV, - UPGRADE_AMOUNT,UPGRADE_PV,UPGRADE_NEW_AMOUNT,UPGRADE_NEW_PV,REPURCHASE_AMOUNT,REPURCHASE_PV, - REPURCHASE_NEW_AMOUNT,REPURCHASE_NEW_PV,HI_FUN_AMOUNT,HI_FUN_PV,HI_FUN_NEW_AMOUNT,HI_FUN_NEW_PV, - MALL_AMOUNT,MALL_PV,MALL_NEW_AMOUNT,MALL_NEW_PV,REGISTER_BLO_NEW_PV,UPGRADE_BLO_NEW_PV,REPURCHASE_BLO_NEW_PV, - HI_FUN_BLO_NEW_PV,MALL_BLO_NEW_PV,0 MIN_ACHIEVE,0 ROUND,1 SECOND from ${achieveTableName} ct - inner join ${treeTableName} ca - on ca.pk_member=ct.pk_member and ca.period=ct.period - where ca.period=#{period} - - - insert into ${settleTableName}(pk_member,pk_parent,member_code,member_name, - customer_type,phone,pk_grade,pk_awards,pk_range_awards,pk_benefit_awards,account_status,pay_status,register_authority,category, - purchase_status,income_status,pk_team_code, - pk_center_code,pk_vertex,pk_settle_country,is_real_name,pk_country,pk_rate,assess_status,month_member,range_store_status,pay_time) - select cm.pk_id,pk_parent,member_code,member_name, - customer_type,phone,pk_settle_grade,cm.pk_awards,pk_range_awards,pk_benefit_awards,account_status,pay_status,register_authority,category, - purchase_status,income_status,pk_team_code,pk_center_code, - pk_vertex,pk_settle_country,is_real_name,cm.pk_country,nvl(bc.pk_id,-1) pk_rate, - (case when nvl(ca.assess_status,2)=1 then 0 else nvl(ca.assess_status,2) end) assess_status, - (case when pay_time>#{firstDate,jdbcType=DATE} then 0 else 1 end) month_member,nvl(cs.status,0) range_store_status,cm.pay_time from cu_member cm - left join ( - select pk_country,max(pk_id) pk_id from bd_currency - where del_flag=0 and pk_country=1 and enable_state=0 and effective_date <=sysdate - group by pk_country) bc - on cm.pk_settle_country = bc.pk_country - left join cu_range_store cs - on cs.pk_member=cm.pk_id and cs.del_flag=0 - left join cu_member_assess${year} ca - on ca.pk_member=cm.pk_id and ca.period=#{period} and ca.assess_type=0 - where cm.del_flag=0 and cm.system_type=1 - - insert into ${settleTableName}(pk_member,pk_parent,member_code,member_name, - customer_type,phone,pk_grade,pk_awards,account_status,pay_status,category, - purchase_status,income_status,pk_team_code, - pk_center_code,pk_vertex,pk_settle_country,is_real_name, - pk_country,pk_rate,pay_time,region_address,system_type,enable_status) - select cm.pk_id,pk_parent,member_code,member_name, - customer_type,phone,pk_settle_grade,cm.pk_awards,account_status,pay_status,category, - purchase_status,income_status,pk_team_code,pk_center_code, - pk_vertex,pk_settle_country,is_real_name,cm.pk_country,nvl(bc.pk_id,-1) pk_rate, - cm.pay_time,nvl(cr.county,0) country,cm.system_type,cm.is_activate from cu_member cm - left join ( - select pk_country,max(pk_id) pk_id from bd_currency - where del_flag=0 and pk_country=1 and enable_state=0 and effective_date <=sysdate + insert into ${settleTableName} (pk_member, pk_parent, member_code, member_name, + customer_type, phone, pk_grade, pk_awards, account_status, pay_status, category, + purchase_status, income_status, pk_team_code, + pk_center_code, pk_vertex, pk_settle_country, is_real_name, + pk_country, pk_rate, pay_time, region_address, system_type, enable_status) + select cm.pk_id, + pk_parent, + member_code, + member_name, + customer_type, + phone, + pk_settle_grade, + cm.pk_awards, + account_status, + pay_status, + category, + purchase_status, + income_status, + pk_team_code, + pk_center_code, + pk_vertex, + pk_settle_country, + is_real_name, + cm.pk_country, + nvl(bc.pk_id, -1) pk_rate, + cm.pay_time, + nvl(cr.county, 0) country, + cm.system_type, + cm.is_activate + from cu_member cm + left join ( + select pk_country, max(pk_id) pk_id + from bd_currency + where del_flag = 0 + and pk_country = 1 + and enable_state = 0 + and effective_date <= sysdate group by pk_country) bc - on cm.pk_settle_country = bc.pk_country - left join cu_member_retail_region cr - on cr.pk_member=cm.pk_id and cr.effective=0 and cr.del_flag=0 - where cm.del_flag=0 + on cm.pk_settle_country = bc.pk_country + left join cu_member_retail_region cr + on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0 + where cm.del_flag = 0 - - merge into ${updateTableName} a - using(select pk_member,pk_awards from tmp_cu_member_awards) b - on (a.pk_member = b.pk_member) - when matched then - update set - a.pk_awards = b.pk_awards - where period >= #{period} - - - - merge into ${settleTableName} a - using ( - select pk_member,max(purchase_type) purchase_type from( - select pk_id pk_member,2 purchase_type 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,3 purchase_type from cu_member_awards - where del_flag=0 and purchase_status= 0 and - creation_time >= #{startDate, jdbcType=DATE} and creation_time < #{endDate, jdbcType=DATE}) - group by pk_member - ) b - on (a.pk_member = b.pk_member) - when matched then - update set a.purchase_status=0,a.purchase_type=b.purchase_type - - - merge into ${settleTableName} a - using( - select * from ( - - select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance, - #{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv} b_new_pv, - #{item.repABalance} rep_a_balance,#{item.repBBalance} rep_b_balance,#{item.repANewAmount} rep_a_new_amount, - #{item.repBNewAmount} rep_b_new_amount,#{item.repANewPv} rep_a_new_pv,#{item.repBNewPv} rep_b_new_pv, - #{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewAmount} register_new_amount,#{item.registerNewPv} register_new_pv, - #{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewAmount} upgrade_new_amount,#{item.upgradeNewPv} upgrade_new_pv, - #{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewAmount} repurchase_new_amount,#{item.repurchaseNewPv} repurchase_new_pV, - #{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewAmount} hi_fun_new_amount,#{item.hiFunNewPv} hi_fun_new_pv, - #{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewAmount} mall_new_amount,#{item.mallNewPv} mall_new_pv, - #{item.registerBloNewPv} register_blo_new_pv,#{item.upgradeBloNewPv} upgrade_blo_new_pv,#{item.repurchaseBloNewPv} repurchase_blo_new_pv, - #{item.hiFunBloNewPv} hi_fun_blo_new_pv,#{item.mallBloNewPv} mall_blo_new_pv, - #{item.rABalance} r_a_balance,#{item.rBBalance} r_b_balance,#{item.rRepABalance} r_rep_a_balance, - #{item.rRepBBalance} r_rep_b_balance,#{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual - ) - ) b - on (a.pk_member = b.pk_member) - when matched then - update set a.a_balance = b.a_balance, a.b_balance=b.b_balance,a.a_new_amount=b.a_new_amount, - a.b_new_amount=b.b_new_amount,a.a_new_pv=b.a_new_pv,a.b_new_pv=b.b_new_pv,a.rep_a_balance=b.rep_a_balance, - a.rep_b_balance=b.rep_b_balance, a.rep_a_new_amount=b.rep_a_new_amount,a.rep_b_new_amount=b.rep_b_new_amount, - a.rep_a_new_pv=b.rep_a_new_pv,a.rep_b_new_pv=b.rep_b_new_pv, - a.register_amount = b.register_amount,a.register_pv=b.register_pv,a.register_new_amount = b.register_new_amount,a.register_new_pv=b.register_new_pv, - a.upgrade_amount=b.upgrade_amount,a.upgrade_pv=b.upgrade_pv,a.upgrade_new_amount=b.upgrade_new_amount,a.upgrade_new_pv=b.upgrade_new_pv, - a.repurchase_amount=b.repurchase_amount,a.repurchase_pv=b.repurchase_pv,a.repurchase_new_amount=b.repurchase_new_amount,a.repurchase_new_pv=b.repurchase_new_pv, - a.hi_fun_amount=b.hi_fun_amount,a.hi_fun_pv=b.hi_fun_pv,a.hi_fun_new_amount=b.hi_fun_new_amount,a.hi_fun_new_pv=b.hi_fun_new_pv, - a.mall_amount=b.mall_amount,a.mall_pv=b.mall_pv,a.mall_new_amount=b.mall_new_amount,a.mall_new_pv=b.mall_new_pv, - a.register_blo_new_pv=b.register_blo_new_pv,a.upgrade_blo_new_pv=b.upgrade_blo_new_pv,a.repurchase_blo_new_pv=b.repurchase_blo_new_pv, - a.hi_fun_blo_new_pv=b.hi_fun_blo_new_pv,a.mall_blo_new_pv=b.mall_blo_new_pv, - a.r_a_balance=b.r_a_balance,a.r_b_balance=b.r_b_balance,a.r_rep_a_balance=b.r_rep_a_balance,a.r_rep_b_balance=b.r_rep_b_balance, - a.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second, - a.a_sum_amount = a.a_sum_amount + b.a_new_amount, - a.b_sum_amount = a.b_sum_amount + b.b_new_amount, - a.a_sum_pv = a.a_sum_pv + b.a_new_pv, - a.b_sum_pv = a.b_sum_pv + b.b_new_pv, - a.rep_a_sum_amount = a.rep_a_sum_amount + b.rep_a_new_amount, - a.rep_b_sum_amount = a.rep_b_sum_amount + b.rep_b_new_amount, - a.rep_a_sum_pv = a.rep_a_sum_pv + b.rep_a_new_pv, - a.rep_b_sum_pv = a.rep_b_sum_pv + b.rep_b_new_pv, - a.a_sum_real_amount = a.a_sum_real_amount + b.a_new_amount + b.rep_a_new_amount, - a.b_sum_real_amount = a.b_sum_real_amount + b.b_new_amount + b.rep_b_new_amount, - a.a_sum_real_pv = a.a_sum_real_pv + b.a_new_pv + b.rep_a_new_pv, - a.b_sum_real_pv = a.b_sum_real_pv + b.b_new_pv + b.rep_b_new_pv - - - merge into ${settleTableName} a - using( - - select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance, - #{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv} b_new_pv, - #{item.repABalance} rep_a_balance,#{item.repBBalance} rep_b_balance,#{item.repANewAmount} rep_a_new_amount, - #{item.repBNewAmount} rep_b_new_amount,#{item.repANewPv} rep_a_new_pv,#{item.repBNewPv} rep_b_new_pv, - #{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewPv} register_new_pv, - #{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewPv} upgrade_new_pv, - #{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewPv} repurchase_new_pv, - #{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewPv} hi_fun_new_pv, - #{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewPv} mall_new_pv, - #{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual - - ) b - on (a.pk_member = b.pk_member) - when matched then - update set a.a_balance = b.a_balance, a.b_balance=b.b_balance,a.a_new_amount=b.a_new_amount, - a.b_new_amount=b.b_new_amount,a.a_new_pv=b.a_new_pv,a.b_new_pv=b.b_new_pv,a.rep_a_balance=b.rep_a_balance, - a.rep_b_balance=b.rep_b_balance, a.rep_a_new_amount=b.rep_a_new_amount,a.rep_b_new_amount=b.rep_b_new_amount, - a.rep_a_new_pv=b.rep_a_new_pv,a.rep_b_new_pv=b.rep_b_new_pv, - a.register_amount = b.register_amount,a.register_pv=b.register_pv,a.register_new_pv=b.register_new_pv, - a.upgrade_amount=b.upgrade_amount,a.upgrade_pv=b.upgrade_pv,a.upgrade_new_pv=b.upgrade_new_pv, - a.repurchase_amount=b.repurchase_amount,a.repurchase_pv=b.repurchase_pv,a.repurchase_new_pv=b.repurchase_new_pv, - a.hi_fun_amount=b.hi_fun_amount,a.hi_fun_pv=b.hi_fun_pv,a.hi_fun_new_pv=b.hi_fun_new_pv, - a.mall_amount=b.mall_amount,a.mall_pv=b.mall_pv,a.mall_new_pv=b.mall_new_pv, - a.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second, - a.a_sum_amount = a.a_sum_amount + b.a_new_amount, - a.b_sum_amount = a.b_sum_amount + b.b_new_amount, - a.a_sum_pv = a.a_sum_pv + b.a_new_pv, - a.b_sum_pv = a.b_sum_pv + b.b_new_pv, - a.rep_a_sum_amount = a.rep_a_sum_amount + b.rep_a_new_amount, - a.rep_b_sum_amount = a.rep_b_sum_amount + b.rep_b_new_amount, - a.rep_a_sum_pv = a.rep_a_sum_pv + b.rep_a_new_pv, - a.rep_b_sum_pv = a.rep_b_sum_pv + b.rep_b_new_pv, - a.a_sum_real_amount = a.a_sum_real_amount + b.a_new_amount + b.rep_a_new_amount, - a.b_sum_real_amount = a.b_sum_real_amount + b.b_new_amount + b.rep_b_new_amount, - a.a_sum_real_pv = a.a_sum_real_pv + b.a_new_pv + b.rep_a_new_pv, - a.b_sum_real_pv = a.b_sum_real_pv + b.b_new_pv + b.rep_b_new_pv - - - - merge into ${secondTableName} a - using ( - select B.pk_id,b.pk_settle_country pk_country,nvl(st.A_BALANCE,0) A_BALANCE,nvl(st.B_BALANCE,0) B_BALANCE, - nvl(yt.A_SUM_AMOUNT,0) A_SUM_AMOUNT,nvl(yt.B_SUM_AMOUNT,0) B_SUM_AMOUNT, - nvl(yt.A_SUM_PV,0) A_SUM_PV,nvl(yt.b_SUM_PV,0) b_SUM_PV,nvl(st.A_NEW_AMOUNT,0) A_NEW_AMOUNT, - nvl(st.B_NEW_AMOUNT,0) B_NEW_AMOUNT,nvl(st.A_NEW_PV,0) A_NEW_PV, - nvl(ST.B_NEW_PV,0) B_NEW_PV,nvl(yt.A_SUM_REAL_AMOUNT,0) A_SUM_REAL_AMOUNT, - nvl(yt.B_SUM_REAL_AMOUNT,0) B_SUM_REAL_AMOUNT, - nvl(yt.A_SUM_REAL_PV,0) A_SUM_REAL_PV, - nvl(yt.B_SUM_REAL_PV,0) B_SUM_REAL_PV, - nvl(ST.REP_A_BALANCE,0) REP_A_BALANCE,nvl(ST.REP_B_BALANCE,0) REP_B_BALANCE, - nvl(ST.REP_A_NEW_AMOUNT,0) REP_A_NEW_AMOUNT, - nvl(ST.REP_B_NEW_AMOUNT,0) REP_B_NEW_AMOUNT,nvl(ST.REP_A_NEW_PV,0) REP_A_NEW_PV, - nvl(ST.REP_B_NEW_PV,0) REP_B_NEW_PV,nvl(yt.REP_A_SUM_AMOUNT,0) REP_A_SUM_AMOUNT, - nvl(yt.REP_B_SUM_AMOUNT,0) REP_B_SUM_AMOUNT,nvl(yt.REP_A_SUM_PV,0) REP_A_SUM_PV, - nvl(yt.REP_B_SUM_PV,0) REP_B_SUM_PV, - nvl(ST.ROUND,0) ROUND,nvl(nvl(ST.SECOND,yt.second),1) SECOND,nvl(ST.MIN_ACHIEVE,0) MIN_ACHIEVE,b.expire_status from - (select t.pk_id,t.pk_settle_country,t.expire_status from cu_member t - where t.del_flag = 0 start with t.pk_id = #{pkMember} - connect by t.pk_id = prior - - t.pk_place_parent - t.pk_parent - - - union - select pk_id,t.pk_settle_country,t.expire_status from cu_member t - where t.del_flag= 0 and pk_id in - - #{item} - - - ) b - left join ${secondTableName} st - on b.pk_id = st.pk_member - left join ${settleTableName} yt - on b.pk_id=yt.pk_member - ) b - on (a.pk_member = b.pk_id) - when matched then - update set a.a_sum_amount=b.a_sum_amount,a.b_sum_amount=b.b_sum_amount, - a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, - a.a_sum_real_amount=b.a_sum_real_amount, - a.b_sum_real_amount=b.b_sum_real_amount, - a.a_sum_real_pv=b.a_sum_real_pv, - a.b_sum_real_pv=b.b_sum_real_pv, - a.rep_a_sum_amount=b.rep_a_sum_amount,a.rep_b_sum_amount=b.rep_b_sum_amount, - a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv - when not matched then - insert (pk_member,pk_country,a_balance,b_balance,a_sum_amount,b_sum_amount,a_sum_pv,b_sum_pv, - a_new_amount,b_new_amount,a_new_pv,b_new_pv,a_sum_real_amount,b_sum_real_amount, - a_sum_real_pv,b_sum_real_pv,rep_a_balance,rep_b_balance,rep_a_new_amount, - rep_b_new_amount,rep_a_new_pv,rep_b_new_pv,rep_a_sum_amount,rep_b_sum_amount, - rep_a_sum_pv,rep_b_sum_pv,round,second,min_achieve,expire_status) - values(b.pk_id,b.pk_country,b.a_balance,b.b_balance,b.a_sum_amount, b.b_sum_amount,b.a_sum_pv,b.b_sum_pv, - b.a_new_amount,b.b_new_amount,b.a_new_pv,b.b_new_pv,b.a_sum_real_amount,b.b_sum_real_amount, - b.a_sum_real_pv,b.b_sum_real_pv,b.rep_a_balance,b.rep_b_balance,b.rep_a_new_amount, - b.rep_b_new_amount,b.rep_a_new_pv,b.rep_b_new_pv,b.rep_a_sum_amount,b.rep_b_sum_amount, - b.rep_a_sum_pv,b.rep_b_sum_pv,b.round,b.second,b.min_achieve,b.expire_status) - - - drop table ${tableName} - - - merge into ${settleTableName} a - using (select cl.pk_id,cl.pk_member,cl.new_level from cu_member_level cl - inner join ( - select pk_member,max(pk_id) pk_id from cu_member_level - where del_flag=0 and upgrade_time < #{currentDate, jdbcType=DATE} - and pk_member in - - #{item.pkMember} - - group by pk_member) ce - on cl.pk_id = ce.pk_id - ) b - on (a.pk_member = b.pk_member) - when matched then - update set a.pk_grade = b.new_level - - - merge into ${targetTableName} a - using( - select #{period} period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, - member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, - register_authority,category,purchase_type,purchase_status, - share_status,income_status,pk_team_code,pk_center_code,pk_vertex, - pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country from ${sourceTableName} - ) b - on (a.pk_member=b.pk_member and a.period=b.period) - WHEN MATCHED THEN - update set a.pk_parent = b.pk_parent,a.pk_place_parent = b.pk_place_parent,a.place_dept = b.place_dept, - a.member_code = b.member_code,a.member_name = b.member_name,a.customer_type = b.customer_type,a.phone = b.phone, - a.pk_grade = b.pk_grade,a.pk_awards = b.pk_awards,a.account_status = b.account_status,a.pay_status = b.pay_status, - a.register_authority = b.register_authority,a.category = b.category,a.purchase_type = b.purchase_type, - a.purchase_status = b.purchase_status,a.share_status = b.share_status,a.income_status = b.income_status, - a.pk_team_code = b.pk_team_code,a.pk_center_code = b.pk_center_code,a.pk_vertex = b.pk_vertex, - a.pk_settle_country = b.pk_settle_country,a.is_real_name = b.is_real_name, - a.is_bus_license = b.is_bus_license,a.is_maker_space = b.is_maker_space,a.pk_country = b.pk_country - WHEN NOT MATCHED THEN - insert (period,pk_member,pk_parent,pk_place_parent,place_dept,member_code, - member_name,customer_type,phone,pk_grade,pk_awards,account_status,pay_status, - register_authority,category,purchase_type,purchase_status, - share_status,income_status,pk_team_code,pk_center_code,pk_vertex, - pk_settle_country,is_real_name,is_bus_license,is_maker_space,pk_country) - values(b.period,b.pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.member_code, - b.member_name,b.customer_type,b.phone,b.pk_grade,b.pk_awards,b.account_status,b.pay_status, - b.register_authority,b.category,b.purchase_type,b.purchase_status, - b.share_status,b.income_status,b.pk_team_code,b.pk_center_code,b.pk_vertex, - b.pk_settle_country,b.is_real_name,b.is_bus_license,b.is_maker_space,b.pk_country) - merge into ${settleTableName} a - using (select pk_member,max(old_level) old_level from cu_member_awards + using (select pk_member, max(old_level) old_level + from cu_member_awards where period = #{period} - group by pk_member ) b + group by pk_member) b on (a.pk_member = b.pk_member) when matched then update set a.pk_awards = b.old_level + merge into ${rangeTableName} a using ( - select pk_member,old_level,ba.pk_awards from( - select pk_member,max(old_level) old_level from cu_member_awards - where period = #{period} and up_type = 1 and system_type=1 - group by pk_member) ca - inner join bd_range_awards ba - on ca.old_level=ba.pk_id - where ba.del_flag=0 + select pk_member, old_level, ba.pk_awards + from ( + select pk_member, max(old_level) old_level + from cu_member_awards + where period = #{period} + and up_type = 1 + and system_type = 1 + group by pk_member) ca + inner join bd_range_awards ba + on ca.old_level = ba.pk_id + where ba.del_flag = 0 ) b on (a.pk_member = b.pk_member) when matched then update set - a.pk_awards = b.pk_awards,a.pk_range_awards=b.old_level - - - merge into ${rangeTableName} a - using ( - select ca.pk_member,max(old_level) pk_awards from cu_member_awards ca - inner join ${rangeTableName} cm - on ca.pk_member=cm.pk_member - where ca.period = #{period} and ca.up_type = 1 - and ca.award_type = #{awardType} - - and cm.pk_awards <= ca.new_level - - - and cm.pk_share_awards <= ca.new_level - - group by ca.pk_member - ) b - on (a.pk_member = b.pk_member) - when matched then - update set - - a.pk_awards = b.pk_awards - - - a.pk_share_awards=b.pk_awards - + a.pk_awards = b.pk_awards,a.pk_range_awards = b.old_level - + merge into ${rangeTableName} a using ( - select y.pk_member,y.pk_awards from ${rangeTableName} x - inner join ( - select a.pk_member,a.new_level pk_awards from cu_member_awards a - inner join( - select pk_member,max(pk_id) pk_id from cu_member_awards where del_flag=0 and up_type=2 - and end_validity_date <=#{settleDate, jdbcType=DATE} - and award_type = #{awardType} - group by pk_member) b - on a.pk_id=b.pk_id ) y - on x.pk_member=y.pk_member - where - - x.pk_awards < y.pk_awards - - - x.pk_share_awards < y.pk_awards - + select ca.pk_member, max(old_level) pk_awards from cu_member_awards ca + inner join ${rangeTableName} cm + on ca.pk_member = cm.pk_member + where ca.period = #{period} and ca.up_type = 1 + and ca.award_type = #{awardType} + + and cm.pk_awards <= ca.new_level + + + and cm.pk_share_awards <= ca.new_level + + group by ca.pk_member ) b on (a.pk_member = b.pk_member) when matched then @@ -757,10 +485,58 @@ - - update ${rangeTableName} set pk_awards=(select pk_id from bd_awards where awards_value=0) - ,pk_share_awards=(select pk_id from bd_awards where awards_value=0) + + merge into ${rangeTableName} a + using ( + select y.pk_member,y.pk_awards from ${rangeTableName} x + inner join ( + select a.pk_member,a.new_level pk_awards from cu_member_awards a + inner join( + select pk_member, max(pk_id) pk_id from cu_member_awards where del_flag = 0 and up_type=2 + and end_validity_date <= #{settleDate, jdbcType=DATE} + and award_type = #{awardType} + group by pk_member) b + on a.pk_id = b.pk_id ) y + on x.pk_member=y.pk_member + where + + x.pk_awards < y.pk_awards + + + x.pk_share_awards < y.pk_awards + + ) b + on (a.pk_member = b.pk_member) + when matched then + update set + + a.pk_awards = b.pk_awards + + + a.pk_share_awards=b.pk_awards + + + + + update ${rangeTableName} + set pk_awards = (select pk_id from bd_awards where awards_value = 0), + pk_share_awards = (select pk_id from bd_awards where awards_value = 0) + + + + + update ${rangeTableName} + set pk_awards = (select pk_id from bd_awards where awards_value = 5), + pk_share_awards = (select pk_id from bd_awards where awards_value = 5) + where pk_grade = ( + select pk_id + from bd_grade + where grade_value = 70 + and del_flag = 0 + ) + + merge into ${settleTableName} a using( @@ -775,264 +551,79 @@ update set a.a_balance = b.a_balance, a.b_balance=b.b_balance, a.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second - - merge into cu_member a - using ( - select ca.pk_member,max(ca.pk_awards) pk_awards from cu_member_settle_awards ca - inner join cu_member cm - on cm.pk_id=ca.pk_member - where cm.system_type= 0 and period between #{startPeriod} and #{period} - group by ca.pk_member - ) b - on (a.pk_id=b.pk_member) - when matched then - update set a.pk_awards=b.pk_awards - - - merge into ${settleTableName} a - using ( - select pk_member,max(pk_awards) pk_awards from cu_member_settle_awards - where period between #{startPeriod} and #{period} - group by pk_member - ) b - on (a.pk_member=b.pk_member) - when matched then - update set a.pk_awards=b.pk_awards - - - - merge into cu_member a - using ( - select pk_member,max(pk_awards) pk_awards from cu_member_settle_awards - group by pk_member - ) b - on (a.pk_id=b.pk_member) - when matched then - update set a.pk_max_awards=b.pk_awards - - - merge into cu_member a - using( - select ct.pk_id,ba.pk_id pk_awards from cu_member ct - inner join bd_awards ba - on ct.pk_settle_country = ba.pk_country - where ba.awards_value=0 and ba.del_flag=0 and ct.system_type=0) b - on (a.pk_id=b.pk_id) - when matched then - update set a.pk_awards=b.pk_awards,a.pk_max_awards=b.pk_awards - - - - merge into ${settleTableName} a - using( - select ct.pk_member,ba.pk_id pk_awards from ${settleTableName} ct - inner join bd_awards ba - on ct.pk_settle_country = ba.pk_country - where ba.awards_value=0 and ba.del_flag=0) b - on (a.pk_member=b.pk_member) - when matched then - update set a.pk_awards=b.pk_awards - - - create table ${tableName} - ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - member_code VARCHAR2(30) not null, - member_name VARCHAR2(100) not null, - customer_type NUMBER(2) not null, - phone VARCHAR2(40) not null, - pk_grade NUMBER(4) not null, - pk_awards NUMBER(4) not null, - pk_range_awards number(4) default 1 not null, - pk_benefit_awards number(6) default 1 not null, - account_status number(1) default 0 not null, - pay_status NUMBER(2) default 0 not null, - pay_time DATE, - register_authority number(2) default 0 not null, - category number(2) default 0 not null, - purchase_status number(2) default 0 not null, - income_status number(2) default 0 not null, - pk_team_code number(20), - pk_center_code number(20), - pk_vertex number(20), - pk_settle_country number(4) not null, - is_real_name NUMBER(1) default 1 not null, - pk_country number(4) default 1 not null, - pk_rate NUMBER(6) , - consume_status number(2) default 1 not null, - consume_pv number(17,6) default 0 not null, - month_pv number(17,6) default 0 not null, - new_pv number(17,6) default 0 not null, - new_team_pv number(17,6) default 0 not null, - dept_new_team_pv number(17,6) default 0 not null, - effective_num number(8) default 0 not null, - ev_effective_num number(8) default 0 not null, - provide_state number(1) default 1 not null, - buy_effective_num number(8) default 0 not null, - first_agent number(4) default 0 not null, - second_agent number(4) default 0 not null, - recommend_num number(8) default 0 not null, - team_num number(8) default 0 not null, - team_consume_amount number(17,6) default 0 not null, - team_consume_pv number(17,6) default 0 not null, - team_month_amount number(17,6) default 0 not null, - team_month_pv number(17,6) default 0 not null, - dept_team_consume_amount number(17,6) default 0 not null, - dept_team_consume_pv number(17,6) default 0 not null, - dept_team_month_amount number(17,6) default 0 not null, - dept_team_month_pv number(17,6) default 0 not null, - small_area_pv number(17,6) default 0 not null, - assess_status number(2) default 3 not null, - month_member number(1) default 1 not null, - range_store_status number(1) default 0 not null - ) - - - create table ${tableName} - ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - pk_range_awards number(4) default 1 not null, - buy_effective_num number(8) default 0 not null, - first_agent number(4) default 0 not null, - second_agent number(4) default 0 not null, - new_pv number(17,6) default 0 not null, - new_effective_num number(8) default 0 not null, - new_team_pv number(17,6) default 0 not null, - dept_new_team_pv number(17,6) default 0 not null, - assess_status number(2) default 3 not null, - consume_status number(2) default 1 not null, - month_member number(1) default 1 not null - ) - create table ${tableName} ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - pk_grade NUMBER(4) not null, - pk_awards number(4) default 1 not null, - enable_status number(2) default 1 not null, - system_type NUMBER(2) default 2 not null, - new_box_num number(8) default 0 not null, + pk_member NUMBER(20) not null, + pk_parent NUMBER(20) not null, + pk_grade NUMBER(4) not null, + pk_awards number(4) default 1 not null, + enable_status number(2) default 1 not null, + system_type NUMBER(2) default 2 not null, + new_box_num number(8) default 0 not null, team_new_box_num number(8) default 0 not null, - new_consume_pv number(17,6) default 0 not null, - team_new_amount number(17,6) default 0 not null, - team_new_pv number(17,6) default 0 not null - ) - - - merge into ${rangeTableName} a - using( - select ct.pk_member,ba.pk_id pk_awards from ${rangeTableName} ct - inner join bd_awards ba - on ct.pk_settle_country = ba.pk_country - where ba.awards_value=0 and ba.del_flag=0) b - on (a.pk_member=b.pk_member) - when matched then - update set a.pk_benefit_awards=b.pk_awards - - - merge into ${rangeTableName} a - using ( - select pk_member,max(pk_awards) pk_awards from cu_member_settle_awards - where period between #{startPeriod} and #{period} - group by pk_member - ) b - on (a.pk_member=b.pk_member) - when matched then - update set a.pk_benefit_awards=b.pk_awards - - - merge into cu_member a - using( - select ct.pk_id,ba.pk_id pk_awards from cu_member ct - inner join bd_awards ba - on ct.pk_settle_country = ba.pk_country - where ba.awards_value=0 and ba.del_flag=0 and ct.system_type=1) b - on (a.pk_id=b.pk_id) - when matched then - update set a.pk_benefit_awards=b.pk_awards,a.pk_max_awards=b.pk_awards - - - merge into cu_member a - using ( - select ca.pk_member,max(ca.pk_awards) pk_awards from cu_member_settle_awards ca - inner join cu_member cm - on cm.pk_id=ca.pk_member - where cm.system_type= 1 and period between #{startPeriod} and #{period} - group by ca.pk_member - ) b - on (a.pk_id=b.pk_member) - when matched then - update set a.pk_benefit_awards=b.pk_awards - - - create table ${tableName} - ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - member_code VARCHAR2(30) not null, - member_name VARCHAR2(100) not null, - customer_type NUMBER(2) not null, - phone VARCHAR2(40) not null, - pk_grade NUMBER(4) not null, - pk_awards number(4) default 1 not null, - pk_share_awards number(4) default 12 not null, - enable_status number(2) default 1 not null, - account_status number(1) default 0 not null, - pay_status NUMBER(2) default 0 not null, - pay_time DATE, - category number(2) default 0 not null, - purchase_status number(2) default 0 not null, - income_status number(2) default 0 not null, - pk_team_code number(20), - pk_center_code number(20), - pk_vertex number(20), - pk_settle_country number(4) not null, - is_real_name NUMBER(1) default 1 not null, - pk_country number(4) default 1 not null, - system_type NUMBER(2) default 2 not null, - pk_rate NUMBER(6) , - consume_box_num number(8) default 0 not null, - new_box_num number(8) default 0 not null, - team_box_num number(8) default 0 not null, - month_box_num number(8) default 0 not null, - team_new_box_num number(8) default 0 not null, - consume_pv number(17,6) default 0 not null, - month_consume_pv number(17,6) default 0 not null, - new_consume_pv number(17,6) default 0 not null, - team_consume_amount number(17,6) default 0 not null, - team_consume_pv number(17,6) default 0 not null, - team_month_amount number(17,6) default 0 not null, - team_month_pv number(17,6) default 0 not null, - team_new_amount number(17,6) default 0 not null, - team_new_pv number(17,6) default 0 not null, - recommend_num number(8) default 0 not null, - team_num number(8) default 0 not null, - region_address number(8) default 0 not null, - big_box_num number(8) default 0 not null, - small_box_num number(8) default 0 not null, - big_team_pv number(17,6) default 0 not null, - small_team_pv number(17,6) default 0 not null + new_consume_pv number(17,6) default 0 not null, + team_new_amount number(17,6) default 0 not null, + team_new_pv number(17,6) default 0 not null ) - - update ${rangeTableName} set pk_awards=(select pk_id from bd_awards where awards_value=5) - ,pk_share_awards=(select pk_id from bd_awards where awards_value=5) - where pk_grade = ( - select pk_id from bd_grade where grade_value=70 and del_flag=0 - ) + + create table ${tableName} + ( + pk_member NUMBER(20) not null, + pk_parent NUMBER(20) not null, + member_code VARCHAR2(30) not null, + member_name VARCHAR2(100) not null, + customer_type NUMBER(2) not null, + phone VARCHAR2(40) not null, + pk_grade NUMBER(4) not null, + pk_awards number(4) default 1 not null, + pk_share_awards number(4) default 12 not null, + enable_status number(2) default 1 not null, + account_status number(1) default 0 not null, + pay_status NUMBER(2) default 0 not null, + pay_time DATE, + category number(2) default 0 not null, + purchase_status number(2) default 0 not null, + income_status number(2) default 0 not null, + pk_team_code number(20), + pk_center_code number(20), + pk_vertex number(20), + pk_settle_country number(4) not null, + is_real_name NUMBER(1) default 1 not null, + pk_country number(4) default 1 not null, + system_type NUMBER(2) default 2 not null, + pk_rate NUMBER(6), + consume_box_num number(8) default 0 not null, + new_box_num number(8) default 0 not null, + team_box_num number(8) default 0 not null, + month_box_num number(8) default 0 not null, + team_new_box_num number(8) default 0 not null, + consume_pv number(17,6) default 0 not null, + month_consume_pv number(17,6) default 0 not null, + new_consume_pv number(17,6) default 0 not null, + team_consume_amount number(17,6) default 0 not null, + team_consume_pv number(17,6) default 0 not null, + team_month_amount number(17,6) default 0 not null, + team_month_pv number(17,6) default 0 not null, + team_new_amount number(17,6) default 0 not null, + team_new_pv number(17,6) default 0 not null, + recommend_num number(8) default 0 not null, + team_num number(8) default 0 not null, + region_address number(8) default 0 not null, + big_box_num number(8) default 0 not null, + small_box_num number(8) default 0 not null, + big_team_pv number(17,6) default 0 not null, + small_team_pv number(17,6) default 0 not null + ) - - delete from ${targetTableName} where period=#{period} - + truncate table ${tableName} + - + - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml index 835f7981..277883bd 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml @@ -294,9 +294,9 @@ merge into cu_member a using (select pk_member, max(old_level) pk_awards from cu_member_awards ca inner join cu_member cm - on ca.pk_member=cm.pk_id + on ca.pk_member = cm.pk_id where ca.period = #{period} and ca.up_type = 1 - and award_type=#{awardType} + and award_type = #{awardType} and cm.pk_awards < ca.new_level @@ -349,16 +349,18 @@ a.modified_time = sysdate + update cu_member - set pk_awards=(select pk_id from bd_awards where awards_value = 0) - , pk_range_awards=(select pk_id from bd_awards where awards_value = 0) + set pk_awards = (select pk_id from bd_awards where awards_value = 0), + pk_range_awards = (select pk_id from bd_awards where awards_value = 0) + update cu_member - set pk_awards=(select pk_id from bd_awards where awards_value = 5) - , pk_range_awards=(select pk_id from bd_awards where awards_value = 5) + set pk_awards=(select pk_id from bd_awards where awards_value = 5), + pk_range_awards=(select pk_id from bd_awards where awards_value = 5) where pk_settle_grade = ( select pk_id from bd_grade diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml index a2fd2ad3..7af93b0b 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml @@ -176,6 +176,7 @@ update set a.pk_awards=b.old_level + delete from cu_member_awards diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml index 35932dc3..5a294639 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml @@ -121,7 +121,6 @@ - @@ -133,25 +132,33 @@ so.pk_member, so.order_code, so.order_type, - so.pk_rate, so.rec_province,so.rec_city,so.rec_county, + so.pk_rate, + so.rec_province, + so.rec_city, + so.rec_county, so.order_amount, so.order_achieve, so.order_ass_achieve, so.upload_achieve, so.pk_reference, so.pk_vertex, - so.pk_country,so.del_flag, - so.pay_time,so.pk_creator,so.consume_amount, + so.pk_country, + so.del_flag, + so.pay_time, + so.pk_creator, + so.consume_amount, + so.box_num, nvl(st.pk_id,0) items_id, nvl(st.pk_order,0) pk_order, nvl(st.pk_wares,0) pk_wares, - nvl(st.wares_price,0) wares_price,nvl(bw.wares_code,'~') wares_code, + nvl(st.wares_price,0) wares_price, + nvl(bw.wares_code,'~') wares_code, nvl(st.wares_quantity,0) wares_quantity from sa_order so left join sa_order_wares st on so.pk_id = st.pk_order and st.wares_price >0 left join bd_wares bw - on bw.pk_id=st.pk_wares and bw.del_flag=0 + on bw.pk_id = st.pk_wares and bw.del_flag = 0 where so.order_status = 1 and so.order_code=#{orderCode} @@ -171,7 +178,10 @@ so.pk_member, so.order_code, so.order_type, - so.pk_rate, so.rec_province,so.rec_city,so.rec_county, + so.pk_rate, + so.rec_province, + so.rec_city, + so.rec_county, so.order_amount, so.order_achieve, so.order_ass_achieve, @@ -180,7 +190,11 @@ so.pk_reference, so.pk_vertex, so.pk_country, - so.pay_time,nvl(so.order_type_extend,0) order_type_extend,so.pk_creator,so.consume_amount, + so.pay_time, + nvl(so.order_type_extend,0) order_type_extend, + so.pk_creator, + so.consume_amount, + so.box_num, st.pk_id items_id, st.pk_order, st.pk_product, @@ -199,8 +213,8 @@ st.is_maker_gift, 0 channel, sb.pk_order pk_bonus_order, - sd.pk_maker_member maker_space_member, - bt.bonus_value pk_bonus_items,bw.wares_code,nvl(bet.maker_income,0) maker_income + bt.bonus_value pk_bonus_items, + bw.wares_code from sa_order so inner join sa_order_items st on so.pk_id = st.pk_order @@ -209,18 +223,16 @@ left join bd_bonus_items bt on bt.pk_id = sb.pk_bonus_items and bt.del_flag=0 left join bd_wares bw - on bw.pk_id=st.pk_wares and bw.del_flag=0 + on bw.pk_id = st.pk_wares and bw.del_flag=0 left join bd_wares_extend bet - on bet.pk_wares=bw.pk_id and bet.del_flag=0 - left join sa_cabin_card_detail sd - on sd.pk_order=so.pk_id and sd.del_flag=0 + on bet.pk_wares = bw.pk_id and bet.del_flag=0 where so.order_status = 1 and so.order_code=#{orderCode} and so.pay_time >= #{startDate} and so.pay_time < #{endDate} - and so.order_type not in(41,42,43,44) + and so.order_type not in (41, 42, 43, 44) ) od left join bd_currency bc on od.pk_rate = bc.pk_id diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index 86f779d8..4d55bb0b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -978,7 +978,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { //// // 会员激活状态为空,按未激活处理 //// cuMember.setIsActivate(EYesNo.NO.getIntValue()); // -// // TODO new 暂时不处理激活,只要是会员就按激活处理,有订单就有支付状态和时间 +// // new 暂时不处理激活,只要是会员就按激活处理,有订单就有支付状态和时间 // cuMember.setIsActivate(EYesNo.YES.getIntValue()); // if (null != saOrder) { // cuMember.setPayTime(saOrder.getPayTime()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java index ef4cc840..dc28b060 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderMapper.java @@ -32,15 +32,6 @@ public interface SaOrderMapper extends BaseMapper { **/ void updateSaOrderByMember(@Param("memberList") List memberList, @Param("pkApprove") Long pkApprove, @Param("currentDateTime") Date currentDateTime); - /** - * 查询时间范围内的订单,需要查询出del_flag = 1的值 - * - * @param startDate 开始时间 - * @param endDate 结束时间 - */ - List querySaOrderByTime(@Param("startDate") Date startDate, @Param("endDate") Date endDate, - @Param("orderCode") String orderCode); - /** * 查询时间范围内的所有订单,按照订单时间排序,只能用于奖金结算 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/provider/SaOrderServiceProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/provider/SaOrderServiceProvider.java index 2d24822a..366af6ea 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/provider/SaOrderServiceProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/provider/SaOrderServiceProvider.java @@ -45,12 +45,6 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi { @Autowired private ISaOrderService iSaOrderService; - @Override - public R> querySaOrderByDay(Date startDate, Date endDate) { - List saOrderList = iSaOrderService.querySaOrderByTime(startDate, endDate, null); - return R.ok(saOrderList); - } - @Override public R> queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode) { return R.ok(iSaOrderService.queryRetailSaOrderByDay(startDate, endDate, orderCode)); @@ -66,15 +60,6 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi { return R.ok(iSaOrderService.querySaOrderExtByPkId(pkId)); } - @Override - public R querySaOrderByDay(Date startDate, Date endDate, String orderCode) { - List saOrderList = iSaOrderService.querySaOrderByTime(startDate, endDate, orderCode); - if (CollectionUtil.isNotEmpty(saOrderList)) { - return R.ok(saOrderList.get(0)); - } - return R.ok(null); - } - @Override public R> querySaOrderByDeliverList(List deliverItemExtList) { return R.ok(iSaOrderService.querySaOrderByDeliverList(deliverItemExtList)); @@ -102,34 +87,6 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi { return R.ok(iSaOrderService.queryOrderSelect(param, pkCountry)); } - @Override - public R querySaOrderByOrderCode(Long pkMember, String orderCode) { - // 封装查询条件 - SaOrder querySaOrder = SaOrder.builder().orderStatus(EOrderStatus.WAIT_PAY.getValue()).orderCode(orderCode).build(); - - // 直销订单 - SaOrder saOrder = iSaOrderService.querySaleOrderByOrderCode(querySaOrder); - if (null == saOrder) { - // 表中没有则查询缓存 - saOrder = redisService.getCacheObject(CacheConstants.TEMP_ORDER + pkMember + orderCode); - if (saOrder == null) { - return R.fail(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_EMPTY)); - } - } - - // 验证可用量 - OrderParam oldOrderParam = redisService.getCacheObject(CacheConstants.TEMP_PARAM + pkMember + orderCode); - if (null != oldOrderParam) { - // 待支付订单,缓存可能不存在了 - String msg = iSaOrderService.validateAvailableNum(oldOrderParam, orderCode); - if (StringUtils.isNotEmpty(msg)) { - return R.fail(msg); - } - } - - return R.ok(ComputeUtil.computeAdd(saOrder.getOrderAmount(), saOrder.getPostage())); - } - @Override public R queryOrderByCode(String orderCode, Long pkMember) { SaOrderExt saOrder = redisService.getCacheObject(CacheConstants.TEMP_ORDER + pkMember + orderCode); @@ -140,12 +97,6 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi { return R.ok(saOrder); } - /** - * 空单注册审核通过 - * - * @param approvalBusinessResultDTO - * @return - */ @Override @Transactional(rollbackFor = Exception.class) public R regEmptyOrderApproved(ApprovalBusinessResultDTO approvalBusinessResultDTO) { @@ -153,45 +104,22 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi { } - /** - * 空单注册审核驳回 - * - * @param approvalBusinessResultDTO - * @return - */ @Override @Transactional(rollbackFor = Exception.class) public Boolean regEmptyOrderReject(ApprovalBusinessResultDTO approvalBusinessResultDTO) { return iSaOrderService.regEmptyOrderReject(approvalBusinessResultDTO); } - /** - * @description: 自助服务-修改收货地址 - * @author: zhang jing - * @date: 2023/4/18 17:26 - * @param: [saOrder] - * @return: com.hzs.common.core.domain.R - **/ @Override public R updateOrder(SaOrder saOrder) { return R.ok(iSaOrderService.updateById(saOrder)); } - /** - * 根据订单ID批量查询订单以及详情 - * - * @param orderIdList 订单ID列表(必传) - * @param pkCountry 所属国家(非必传) - * @return - */ @Override public R> queryOrderListByIdList(List orderIdList, Integer pkCountry) { return R.ok(iSaOrderService.queryOrderListByIdList(orderIdList, pkCountry)); } - /** - * 定时关单 订单三十分钟未支付自动关闭 - */ @Override public void closeOrder() { iSaOrderService.closeOrder(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java index b5c037a0..d6a6e692 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java @@ -33,7 +33,6 @@ public interface ISaOrderService extends IService { */ List queryMemberExtByCondition(CuMember cuMember); - /** * 查找安置人伞上 * @@ -307,14 +306,6 @@ public interface ISaOrderService extends IService { */ boolean validateLeftExistMember(Long pkPlaceParent, Integer pkCountry); - /** - * 查询时间范围内的订单,需要查询出del_flag = 1的值 - * - * @param startDate 开始时间 - * @param endDate 结束时间 - */ - List querySaOrderByTime(Date startDate, Date endDate, String orderCode); - /** * 查询时间范围内的所有订单,按照订单时间排序,只能用于奖金结算 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index a65c2fd8..386c0ea4 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -1574,12 +1574,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl } /** + * 验证第二部门是否需要验证首单 * @param pkParent 推荐人 * @param pkCountry 国家 - * @Description: 验证第二部门是否需要验证首单 - * @return: boolean - * @Author: sui q - * @Date: 2022/9/7 9:29 */ @Override public boolean validateFirstOrder(Long pkParent, Integer pkCountry) { @@ -1610,11 +1607,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl return false; } - @Override - public List querySaOrderByTime(Date startDate, Date endDate, String orderCode) { - return baseMapper.querySaOrderByTime(startDate, endDate, orderCode); - } - @Override public List queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode) { return baseMapper.queryRetailSaOrderByDay(startDate, endDate, orderCode); diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index 8c558721..62170638 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml @@ -206,68 +206,6 @@ -