diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/MemberAmountDTO.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/MemberAmountDTO.java index 280c1bc8..b18f7b82 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/MemberAmountDTO.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/MemberAmountDTO.java @@ -10,12 +10,6 @@ import java.math.BigDecimal; /** * 会员业务手续费 - * - * @Description: - * @Author: ljc - * @Time: 2023/1/6 15:15 - * @Classname: BusinessCommissionDTO - * @Package_name: com.hzs.member.account.dto */ @Data @Builder diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java deleted file mode 100644 index fc14bfff..00000000 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/pick/IAcPickServiceApi.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hzs.activity.pick; - -import com.hzs.common.core.domain.R; -import com.hzs.common.domain.activity.pick.AcPickMemberLog; -import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; - -import java.math.BigDecimal; -import java.util.List; - -/** - * @Description: 提货相关dubbo服务入口 - * @Author: jiang chao - * @Time: 2023/5/15 11:20 - * @Classname: IAcPickServiceApi - * @PackageName: com.hzs.activity.base - */ -public interface IAcPickServiceApi { - - /* - * @description: 查询会员提货使用记录 - * @author: sui q - * @date: 2023/6/3 10:51 - * @param: null null - **/ - R> queryPickMemberLog(List saOrderExtList); - - /** - * 根据订单查询邮费 - * - * @param orderCode 订单编号 - * @param recProvince 省 - * @param recCity 市 - * @param pkCountry 国家 - * @return - */ - R queryOrderPostage(String orderCode, Integer recProvince, Integer recCity, Integer pkCountry); - -} 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 42c68a4b..30140b3b 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 @@ -27,14 +27,6 @@ public interface ISaOrderServiceApi { */ R> queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode); - /** - * 查询时间范围内的所有订单,按照订单时间排序,只能用于奖金结算 - * - * @param startDate 开始日期 - * @param endDate 结束日期 - */ - R> queryRepeatSaOrderByDay(Date startDate, Date endDate); - /* * 根据主键查询订单,需要查询del_flag=1的,存在先撤单在退货 **/ @@ -45,32 +37,6 @@ public interface ISaOrderServiceApi { **/ R> querySaOrderByDeliverList(List deliverItemExtList); - /** - * 查询时间范围内的所有订单,按照订单时间排序,不查询删除的,用于云代奖金计算,只需要主表 - * - * @param startDate 开始日期 - * @param endDate 结束日期 - */ - R> querySaOrderByDayForCloud(Date startDate, Date endDate, List orderType); - - - /** - * 计算复购券分享奖金,查询订单 - * - * @param startDate 开始日期 - * @param endDate 结束日期 - * @param orderTypeList 订单类型 - * @param orderAmount 订单金额 - * @param orderAchieve 订单业绩 - */ - R> querySaOrderByTimeForCouponShare(Date startDate, Date endDate, List orderTypeList, - BigDecimal orderAmount, BigDecimal orderAchieve, Integer pkCountry); - - /* - * 计算店铺奖金,查询订单 - **/ - R> querySaOrderByTimeForStore(Date startDate, Date endDate); - /** * 根据订单ID查询订单详细列表 * @@ -80,15 +46,6 @@ public interface ISaOrderServiceApi { */ R> queryOrderItemsListByOrderId(List pkOrderList, Integer pkCountry); - /** - * 根据订单编号查询订单信息 - * - * @param orderCode 订单编号 - * @param pkMember 会员主键 - * @return - */ - R queryOrderByCode(String orderCode, Long pkMember); - /** * 空单注册审核通过 * diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/dto/OrderParamDTO.java b/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/dto/OrderParamDTO.java deleted file mode 100644 index b5522ed0..00000000 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/sale/order/dto/OrderParamDTO.java +++ /dev/null @@ -1,335 +0,0 @@ -package com.hzs.sale.order.dto; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.hzs.common.core.constant.msg.MemberMsgConstants; -import jdk.nashorn.internal.ir.annotations.Ignore; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.Size; -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class OrderParamDTO implements Serializable { - - /** - * 订单编号 - */ - private String orderCode; - - /** - * 会员编号 - */ - private Long pkMember; - - /** - * 会员编号 - */ - private String memberCode; - - /** - * 会员姓名 - */ - private String memberName; - - /** - * 会员类型(0.正常 1.空单 2.死点 4.嗨粉) - */ - private Integer customerType; - - /** - * 等级 - */ - private Integer pkGrade; - - /** - * 手机号码 - */ - @Size(min = 1, max = 30, message = MemberMsgConstants.PHONE_LENGTH) - private String phone; - - /** - * 证件号码 - */ - private String idCard; - - /** - * 性别(0=未知,1=男,2=女) - */ - private Integer sex; - - /** - * 自然国家 - */ - private Integer pkCountry; - - /** - * 结算国家 - */ - private Integer pkSettleCountry; - - /** - * 创建人结算国家,用于跨国报单 - */ - @JsonIgnore - private Integer pkLoginSettleCountry; - - /** - * 推荐人编号 - */ - private String parent; - - @JsonIgnore - private Long parentId; - /** - * 推荐人ID,为防止之前业务有问题,不使用上面的字段 - */ - private Long pkParent; - /** - * 会员ID,为防止之前业务有问题,新添加会员ID字段 - */ - private Long pkMemberId; - - /** - * 推荐人姓名 - */ - private String parentName; - - /** - * 安置人编号 - */ - private String placeParent; - - @JsonIgnore - private Long placeParentId; - - /** - * 安置人姓名 - */ - private String placeParentName; - - /** - * 安置人部门 - */ - private Integer placeDept; - - /** - * 报单中心编号 - */ - private Long centerCodeId; - - /** - * 报单中心名称 - */ - private String centerName; - - /** - * 升级会员编号,需要验证安置线,只能给自己的安置以下升级 - */ - private String upgradeMemberCode; - - /** - * 复购会员编号,需要验证安置线,只能给自己的安置以下升级 - */ - private String repurchaseMemberCode; - - /** - * 会员升级姓名 - */ - private String upgradeMemberName; - - /** - * 数据来源(1=PC端,2=APP,3=H5) - */ - private Integer source; - - /** - * 收货人 - */ - private String recName; - - /** - * 收货电话 - */ - private String recPhone; - - /** - * 收货省 - */ - private Integer recProvince; - - /** - * 收货市 - */ - private Integer recCity; - - /** - * 收货县 - */ - private Integer recCounty; - - /** - * 收货地址 - */ - private String recAddress; - - /** - * 备注 - */ - private String remark; - - /** - * 配送中心 - */ - private Integer deliveryCenter; - - /** - * 配送省 - */ - private Integer deliveryProvince; - - /** - * 配送市 - */ - private Integer deliveryCity; - - /** - * 配送县 - */ - private Integer deliveryCounty; - - /** - * 发货方式 - */ - private Integer deliveryWay; - - /** - * 运输类型 1=陆运,2=空运,3=海运 - */ - private Integer transType; - /** - * 运输类型 1=陆运,2=空运,3=海运 - */ - private Integer tranType; - - /** - * 登录密码 - */ - @JsonIgnore - private String loginPwd; - - /** - * 支付密码 - */ - private String payPwd; - - /** - * 邮箱 - */ - private String email; - - /** - * 所属专区 - */ - private Integer specialArea; - - /** - * 银行 - */ - private Integer pkBank; - /** - * 支行名称 - */ - private String subBankName; - /** - * 银行卡号 - */ - private String cardNumber; - - /** - * 会员店铺 - */ - private Integer pkMemberStore; - - /** - * 仓库 - */ - private Integer pkStorehouse; - - /** - * 邮费 - */ - private BigDecimal postage = BigDecimal.ZERO; - /** - * 特殊邮费(处理不参与复购300包邮的邮费) - */ - private BigDecimal specialPostage = BigDecimal.ZERO; - /** - * 特殊邮费金额(处理不参与复购300包邮的邮费) - */ - private BigDecimal specialPostageAmount = BigDecimal.ZERO; - - /** - * 订单商品明细 - */ - private List orderItemsParams; - - /** - * 是否首单 - */ - private Boolean isFirst = false; - - /** - * 是否海粉订单 - */ - @JsonIgnore - private Boolean isHaiFun = false; - - /** - * 显示默认,0=快速注册,1=普通注册 - */ - private Integer displayDefault; - - /** - * @Description: 验证保存的必输字段 - * @return: List - * @Author: sui q - * @Date: 2022/8/29 11:10 - */ - @JsonIgnore - public List getValidSaveField() { - List fieldList = getValidConfirmField(); - fieldList.add("payPwd"); - return fieldList; - } - - @JsonIgnore - public List getFunValidConfirmField() { - List fieldList = getList(); - fieldList.add("memberName"); - fieldList.add("phone"); - fieldList.add("parent"); - return fieldList; - } - - @JsonIgnore - public List getValidConfirmField() { - List fieldList = getFunValidConfirmField(); - fieldList.add("placeParent"); - fieldList.add("placeDept"); - return fieldList; - } - - @Ignore - private List getList() { - return new ArrayList<>(); - } -} diff --git a/bd-api/bd-api-scm/src/main/java/com/hzs/scm/pub/IScmBillServiceApi.java b/bd-api/bd-api-scm/src/main/java/com/hzs/scm/pub/IScmBillServiceApi.java index 9544d766..9065050b 100644 --- a/bd-api/bd-api-scm/src/main/java/com/hzs/scm/pub/IScmBillServiceApi.java +++ b/bd-api/bd-api-scm/src/main/java/com/hzs/scm/pub/IScmBillServiceApi.java @@ -11,12 +11,7 @@ import com.hzs.system.sys.dto.ApprovalBusinessResultDTO; import java.util.List; /** - * @description: 供应链单据对外接口发布 - * @author: sui q - * @time: 2023/11/25 09:21 - * @classname: IScmBillServiceApi - * @package_name: com.hzs.scm.ic - * version 1.0.0 + * 供应链单据对外接口发布 */ public interface IScmBillServiceApi { @@ -29,42 +24,28 @@ public interface IScmBillServiceApi { R approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO); /* - * @description: 查询单据信息 - * @author: sui q - * @date: 2023/11/25 9:38 - * @param: null null + * 查询单据信息 **/ R> queryBillDtoByCondition(EApprovalBusiness eApprovalBusiness, String businessCode); /* - * @description: 下单时验证可用量 - * @author: sui q - * @date: 2023/12/11 10:01 - * @param: null null + * 下单时验证可用量 **/ R> queryAvailableNumByProduct(List availableNumList); /* - * @description: 更新可用量 - * @author: sui q - * @date: 2023/12/18 9:28 - * @param: null null + * 更新可用量 **/ R updateDeductIcAvailableNumByList(List availableNumList); /* - * @description: 更新单据号规则 - * @author: sui q - * @date: 2024/2/21 15:40 - * @param: null null + * 更新单据号规则 **/ R updateScmBillNoNextValue(); /* - * @description: 撤单、退单回退可用量 - * @author: sui q - * @date: 2024/4/17 10:13 - * @param: null null + * 撤单、退单回退可用量 **/ R backSaOrderAvailable(SaOrderExt saOrderExt); + } diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IGradeServiceApi.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IGradeServiceApi.java index 3aae74d4..81c9f212 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IGradeServiceApi.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IGradeServiceApi.java @@ -2,7 +2,6 @@ package com.hzs.system.config; import com.hzs.common.core.domain.R; import com.hzs.common.domain.system.config.BdGrade; -import com.hzs.common.domain.system.config.ext.BdStoreLevelExt; import com.hzs.system.config.dto.GradeDTO; import java.math.BigDecimal; @@ -69,11 +68,6 @@ public interface IGradeServiceApi { */ R> selectGradeAll(Integer dataCountry); - /* - * 查询店铺等级 - **/ - R> queryStoreLevel(); - /** * 根据国家查询等级配置列表 * diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IServiceChargeServiceApi.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IServiceChargeServiceApi.java index 805319c0..331c526e 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IServiceChargeServiceApi.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IServiceChargeServiceApi.java @@ -6,20 +6,12 @@ import com.hzs.system.config.dto.ServiceChargeDTO; import java.util.List; /** - * @Description: 办理业务手续费api - * @Author: zhangjing - * @Time: 2022/9/9 14:07 - * @Classname: IGradeServiceApi - * @PackageName: com.hzs.system.config + * 办理业务手续费api */ public interface IServiceChargeServiceApi { /** - * @description: 根据业务类型查询扣款 - * @author: zhang jing - * @date: 2023/1/7 15:01 - * @param: [type, quantity] - * @return: com.hzs.common.core.domain.R + * 根据业务类型查询扣款 **/ R getServiceChargeByType(ServiceChargeDTO serviceChargeDTO); @@ -31,5 +23,4 @@ public interface IServiceChargeServiceApi { */ R> getServiceChargeByType(List serviceChargeDTOList); - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java index e9a6f9f5..e5fc15aa 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/controller/manage/CuMemberSettleController.java @@ -2,7 +2,6 @@ package com.hzs.bonus.achieve.controller.manage; import cn.hutool.core.bean.BeanUtil; import com.hzs.bonus.achieve.param.MemberPeriodParam; -import com.hzs.bonus.achieve.service.ICuMemberMonthAchieveService; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.bonus.service.IBonusGrantService; @@ -45,8 +44,6 @@ public class CuMemberSettleController extends BaseController { private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired private IBonusGrantService iBonusGrantService; - @Autowired - private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; /** @@ -183,22 +180,10 @@ public class CuMemberSettleController extends BaseController { if (StringUtils.isEmpty(orderCode)) { return AjaxResult.error(); } -// iBonusSettleService.calculateCumberBonusBySecond(orderCode); iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(orderCode); return AjaxResult.success(); } - /** - * 秒接结算业绩,仅用于测试 - * - * @return AjaxResult - */ - @GetMapping("/settle-month") - public AjaxResult settleMonth() { - iCuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS)); - return AjaxResult.success(); - } - /* * 查询奖金计算期数列表 **/ 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 904618d1..1af84947 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 @@ -29,15 +29,6 @@ public interface CuMemberAchieveMapper extends BaseMapper { **/ void mergeCuMemberMonth(@Param("date") String date, @Param("period") Integer period); - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param sourceTable 来源表,记录10天跟月表一摸一样的滚动表数据 - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - */ - void updateCuMemberExpandSettleAchieveByBeforeDay(@Param("sourceTable") String sourceTable, @Param("targetTable") String targetTable); - /* * 退单回退业绩 **/ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index 9735f073..460ac6f8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java @@ -130,12 +130,6 @@ public interface CuMemberTreeMapper extends BaseMapper { List queryMemberSettleBySaOrder(@Param("settleTableName") String settleTableName, @Param("memberPkList") List memberPkList); - /* - * 查询所有有奖衔的会员 - **/ - List queryMemberSettleByAwards(@Param("settleTableName") String settleTableName, @Param("rangeTableName") String rangeTableName, - @Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod); - /** * 根据订单,查询出网体中记录的会员数据及推荐人 * @@ -144,15 +138,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ List batchQueryMemberSettleParentByMemberPk(@Param("settleTableName") String settleTableName, @Param("memberPkList") List serviceMemberSet); - /** - * 批量根据订单信息查询会员结算表中的数据 - * - * @param settleTableName 结算表 - * @param firPurchaseOrderList 首单列表 - */ - List batchQueryCuMemberSettlePlaceParent(@Param("settleTableName") String settleTableName, - @Param("firPurchaseOrderList") List firPurchaseOrderList); - /** * 批量根据量奖信息查询会员结算表中的父级血缘数据 * @@ -162,21 +147,4 @@ public interface CuMemberTreeMapper extends BaseMapper { List batchQueryCuMemberSettleParent(@Param("settleTableName") String settleTableName, @Param("pkMemberList") List pkMemberList); - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param pkMemberList 有量奖的会员列表 - */ - List batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName, - @Param("pkMemberList") List pkMemberList); - - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算表 - * @param cuMemberTreeList 树 - */ - void updateCuMemberExpandSettle(@Param("settleTableName") String settleTableName, @Param("cuMemberTreeList") List cuMemberTreeList); - } 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 60e6cc1f..87ce7d4b 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 @@ -28,15 +28,6 @@ public interface ICuMemberAchieveService extends IService { **/ void mergeCuMemberMonth(Integer day, String date); - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param sourceTable 来源表,记录10天跟月表一摸一样的滚动表数据 - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - */ - void updateCuMemberExpandSettleAchieveByBeforeDay(String sourceTable, String targetTable); - /* * 退单回退业绩 **/ 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 a99f1feb..15845af9 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 @@ -3,11 +3,9 @@ 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.ext.CuMemberSettleExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -22,14 +20,6 @@ public interface ICuMemberTreeService extends IService { */ void createCuMemberTree(String date); - /** - * 初始用来结算奖金的表,多次重算奖金,只更新结余 - * - * @param yesterdaySettleTableName 昨天的结算表 - * @param currentSettleTableName 结算日的结算表 - */ - void initCuMemberExpandTreeTable(String yesterdaySettleTableName, String currentSettleTableName); - /** * 判断是否存在临时表 * @@ -67,14 +57,6 @@ public interface ICuMemberTreeService extends IService { */ void updateCuMemberRetailRangeInitAward(String rangeTableName); - /** - * 根据订单,查询出网体中记录的会员数据,推荐人、安置人 - * - * @param settleTableName 结算表 - * @param saOrderExtList 订单 - */ - List batchQueryMemberSettleBySaOrder(String settleTableName, List saOrderExtList); - /** * 根据订单,查询出网体中记录的会员数据,推荐人、安置人 * @@ -83,11 +65,6 @@ public interface ICuMemberTreeService extends IService { */ List batchQueryMemberSettleByMemberPk(String settleTableName, Set serviceMemberSet); - /* - * 查询所有有奖衔的会员 - **/ - List queryMemberSettleByAwards(String settleTableName, String rangeTableName, Integer startPeriod, Integer endPeriod); - /** * 根据订单,查询出网体中记录的会员数据及推荐人 * @@ -96,14 +73,6 @@ public interface ICuMemberTreeService extends IService { */ List batchQueryMemberSettleParentByMemberPk(String settleTableName, Set serviceMemberSet); - /** - * 批量根据订单信息查询会员结算表中的父级安置数据 - * - * @param settleTableName 结算表 - * @param firPurchaseOrderList 首单列表 - */ - Map> batchQueryCuMemberSettlePlaceParent(String settleTableName, List firPurchaseOrderList); - /** * 批量根据量奖信息查询会员结算表中的父级血缘数据 * @@ -112,22 +81,6 @@ public interface ICuMemberTreeService extends IService { */ List batchQueryCuMemberSettleParent(String settleTableName, Set expandMemberSet); - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param expandMemberSet 有量奖的会员列表 - */ - List batchQueryCuMemberSettleParentForSpecial(String settleTableName, Set expandMemberSet); - - /** - * 更新会员树的累计业绩 - * - * @param settleTableName 结算日期 - * @param cuMemberTreeMap 树 - */ - void updateCuMemberExpandSettle(String settleTableName, Map cuMemberTreeMap); - /** * 删除日表数据 * 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 71603e1d..108c1f98 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 @@ -77,11 +77,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl cuHonorWallList = iCuHonorWallService.queryCuHonorWall(); - Map honorWallMap = new HashMap<>(); - cuHonorWallList.forEach(cuHonorWall -> { - String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue(); - honorWallMap.put(key, cuHonorWall); - }); - List cuMemberHonorWallList = new ArrayList<>(); - // 上月期间,作为结束期间 - String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate); - CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate); - // 月徽章 - grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth, - HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList); - // 再发季度徽章 - if (month == 1 || month == 4 || month == 7 || month == 10) { - // 3个月期间,作为开始期间 - String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate); - CuMemberSettlePeriod quarterPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate); - grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth, - HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList); - if (month == 1) { - // 再发年度徽章 - // 3个月期间,作为开始期间 - String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate); - CuMemberSettlePeriod yearPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate); - if (yearPeriod != null) { - grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth, - HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList); - } - } - } - if (cuMemberHonorWallList.size() > 0) { - iCuMemberHonorWallService.saveBatch(cuMemberHonorWallList); - } - } } @Override @@ -133,37 +83,4 @@ public class CuMemberMonthAchieveServiceImpl extends ServiceImpl honorWallMap, List cuMemberHonorWallList) { - // 先发月徽章 查询值,查询前3名 - List cuMemberMonthAchieveList = baseMapper.queryCuMemberMonthAchieveByDate(startPeriod, endPeriod, recommend, repurchase); - if (CollectionUtil.isNotEmpty(cuMemberMonthAchieveList)) { - Map> monthAchieveMap = new HashMap<>(); - cuMemberMonthAchieveList.forEach(cuMemberMonthAchieve -> { - if (monthAchieveMap.containsKey(cuMemberMonthAchieve.getWallType())) { - monthAchieveMap.get(cuMemberMonthAchieve.getWallType()).add(cuMemberMonthAchieve); - } else { - List cuMemberMonthAchieveExtList = new ArrayList<>(); - cuMemberMonthAchieveExtList.add(cuMemberMonthAchieve); - monthAchieveMap.put(cuMemberMonthAchieve.getWallType(), cuMemberMonthAchieveExtList); - } - }); - monthAchieveMap.forEach((wallType, cuMemberMonthAchieveExtList) -> { - for (int i = 1; i <= cuMemberMonthAchieveExtList.size(); i++) { - CuMemberMonthAchieveExt cuMemberMonthAchieveExt = cuMemberMonthAchieveExtList.get(i - 1); - String key = cuMemberMonthAchieveExt.getPkCountry().toString() + cuMemberMonthAchieveExt.getWallType() + i; - if (honorWallMap.containsKey(key)) { - CuMemberHonorWall cuMemberHonorWall = CuMemberHonorWall.builder() - .pkMember(cuMemberMonthAchieveExt.getPkMember()) - .pkHonorWall(honorWallMap.get(key).getPkId()) - .settleMonth(settleMonth) - .build(); - cuMemberHonorWall.setPkCountry(cuMemberMonthAchieveExt.getPkCountry()); - cuMemberHonorWall.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuMemberHonorWallList.add(cuMemberHonorWall); - } - } - }); - } - } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index b6ae175f..823aa6ee 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -7,11 +7,9 @@ import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.TableNameConstants; import com.hzs.common.core.enums.EAwardsType; -import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.member.achieve.CuMemberTree; import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.bonus.achieve.mapper.CuMemberTreeMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -28,32 +26,18 @@ import java.util.*; @Service public class CuMemberTreeServiceImpl extends ServiceImpl implements ICuMemberTreeService { - private ICuMemberAchieveService cuMemberAchieveService; - + @Autowired + private ICuMemberAchieveService iCuMemberAchieveService; + @Autowired + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; + @Autowired private CuMemberBonusSettle cuMemberBonusSettle; - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) { - this.cuMemberBonusSettle = cuMemberBonusSettle; - } - - @Autowired - public void setCuMemberAchieveService(ICuMemberAchieveService cuMemberAchieveService) { - this.cuMemberAchieveService = cuMemberAchieveService; - } - @Override @Transactional(rollbackFor = Exception.class) public void createCuMemberTree(String date) { // 创建日表记录表 - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); + int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; Integer number = baseMapper.queryExistOracleTable(settleTableName); if (number == null || number <= 0) { @@ -78,12 +62,12 @@ public class CuMemberTreeServiceImpl extends ServiceImpl batchQueryMemberSettleBySaOrder(String settleTableName, List saOrderExtList) { - // 查询出推荐人 - Set serviceMemberSet = new HashSet<>(); - saOrderExtList.forEach(saOrderExt -> { - serviceMemberSet.add(saOrderExt.getPkReference()); - // 查出自己跟推荐人 - serviceMemberSet.add(saOrderExt.getPkMember()); - }); - return getCuMemberSettleExtList(settleTableName, serviceMemberSet); - } - private List getCuMemberSettleExtList(String settleTableName, Set serviceMemberSet) { List cuMemberSettleExtList = new ArrayList<>(); if (serviceMemberSet.size() > 0) { @@ -173,11 +140,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryMemberSettleByAwards(String settleTableName, String rangeTableName, Integer startPeriod, Integer endPeriod) { - return baseMapper.queryMemberSettleByAwards(settleTableName, rangeTableName, startPeriod, endPeriod); - } - @Override public List batchQueryMemberSettleParentByMemberPk(String settleTableName, Set serviceMemberSet) { List cuMemberSettleExtList = new ArrayList<>(); @@ -190,26 +152,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl> batchQueryCuMemberSettlePlaceParent(String settleTableName, List firPurchaseOrderList) { - // 查询出所有父级安置人 - List cuMemberSettleExtList = new ArrayList<>(); - List> listList = cuMemberBonusSettle.handleCutList(firPurchaseOrderList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> - cuMemberSettleExtList.addAll(baseMapper.batchQueryCuMemberSettlePlaceParent(settleTableName, list))); - Map> memberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size())); - cuMemberSettleExtList.forEach(cuMemberSettleExt -> { - if (memberSettleMap.containsKey(cuMemberSettleExt.getPkOrder())) { - memberSettleMap.get(cuMemberSettleExt.getPkOrder()).add(cuMemberSettleExt); - } else { - List cuMemberSettles = new ArrayList<>(); - cuMemberSettles.add(cuMemberSettleExt); - memberSettleMap.put(cuMemberSettleExt.getPkOrder(), cuMemberSettles); - } - }); - return memberSettleMap; - } - @Override public List batchQueryCuMemberSettleParent(String settleTableName, Set expandMemberSet) { List cuMemberSettleExtList = new ArrayList<>(); @@ -223,22 +165,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl batchQueryCuMemberSettleParentForSpecial(String settleTableName, Set expandMemberSet) { - List cuMemberSettleExtList = new ArrayList<>(); - 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.batchQueryCuMemberSettleParentForSpecial(settleTableName, list))); - return cuMemberSettleExtList; - } - - @Override - public void updateCuMemberExpandSettle(String settleTableName, Map cuMemberTreeMap) { - List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); - treeList.forEach(list -> baseMapper.updateCuMemberExpandSettle(settleTableName, list)); - } - private List> setUpdCuMemberTreeLists(Map cuMemberTreeMap) { List cuMemberTreeList = new ArrayList<>(); cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value)); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuAwardsControlMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuAwardsControlMapper.java deleted file mode 100644 index bf50c03b..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuAwardsControlMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hzs.bonus.base.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.base.CuAwardsControl; -import com.hzs.bonus.base.vo.CuAwardsControlVO; - -import java.util.List; - -/** - *

- * 真实奖衔控制 Mapper 接口 - *

- * - * @author hzs - * @since 2023-04-07 - */ -public interface CuAwardsControlMapper extends BaseMapper { - - /** - * @description: 查询奖衔控制列表 - * @author: zhang jing - * @date: 2023/4/8 11:40 - * @param: [controlVO] - * @return: java.util.List - **/ - List queryAwardsControlList(CuAwardsControlVO controlVO); - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuHonorWallMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuHonorWallMapper.java deleted file mode 100644 index 6a693fab..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuHonorWallMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.hzs.bonus.base.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.honor.CuHonorWall; - -/** - * 荣誉墙 Mapper 接口 - * - * @author hzs - * @since 2023-04-26 - */ -public interface CuHonorWallMapper extends BaseMapper { - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberHonorWallMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberHonorWallMapper.java deleted file mode 100644 index 1ec91457..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/mapper/CuMemberHonorWallMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hzs.bonus.base.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.honor.CuMemberHonorWall; - -/** - *

- * 会员荣誉墙关联表 Mapper 接口 - *

- * - * @author hzs - * @since 2023-04-26 - */ -public interface CuMemberHonorWallMapper extends BaseMapper { - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuAwardsControlService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuAwardsControlService.java deleted file mode 100644 index 0c6c8986..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuAwardsControlService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hzs.bonus.base.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.base.CuAwardsControl; - -import java.util.List; - -/** - *

- * 真实奖衔控制 服务类 - *

- * - * @author hzs - * @since 2023-04-07 - */ -public interface ICuAwardsControlService extends IService { - - /* - * @description: 查询所有的真实奖衔控制会员,用于奖金计算 - * @author: sui q - * @date: 2023/4/11 11:03 - * @param: null null - **/ - List queryAllCuAwardsControl(); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuHonorWallService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuHonorWallService.java deleted file mode 100644 index 491e6ae0..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuHonorWallService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hzs.bonus.base.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.ext.CuHonorWallExt; -import com.hzs.common.domain.member.honor.CuHonorWall; - -import java.util.List; - -/** - *

- * 荣誉墙 服务类 - *

- * - * @author hzs - * @since 2023-04-26 - */ -public interface ICuHonorWallService extends IService { - - /* - * @description: 查询所有的徽章 - * @author: sui q - * @date: 2023/6/7 14:30 - * @param: null null - **/ - List queryCuHonorWall(); - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberHonorWallService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberHonorWallService.java deleted file mode 100644 index b48a299d..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/ICuMemberHonorWallService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hzs.bonus.base.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.honor.CuMemberHonorWall; - -/** - *

- * 会员荣誉墙关联表 服务类 - *

- * - * @author hzs - * @since 2023-04-26 - */ -public interface ICuMemberHonorWallService extends IService { - -} 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 ce013ad8..e2609617 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 @@ -5,7 +5,6 @@ import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.detail.CuMemberAwards; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.ext.CuMemberExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; import java.util.Date; import java.util.List; @@ -23,14 +22,6 @@ public interface ICuMemberService extends IService { */ CuMemberExt getMemberByCode(String memberCode); - /** - * 获取会员缓存 - * - * @param memberCode 会员编号的值 - * @return CuMember - */ - CuMember getMember(String memberCode); - /** * 更新会员奖衔根据临时表 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuAwardsControlServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuAwardsControlServiceImpl.java deleted file mode 100644 index f200227f..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuAwardsControlServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hzs.bonus.base.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.base.service.ICuAwardsControlService; -import com.hzs.common.domain.member.base.CuAwardsControl; -import com.hzs.bonus.base.mapper.CuAwardsControlMapper; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - *

- * 真实奖衔控制 服务实现类 - *

- * - * @author hzs - * @since 2023-04-07 - */ -@Service -public class CuAwardsControlServiceImpl extends ServiceImpl implements ICuAwardsControlService { - - @Override - public List queryAllCuAwardsControl() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - return baseMapper.selectList(queryWrapper); - } - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuHonorWallServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuHonorWallServiceImpl.java deleted file mode 100644 index e2b44256..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuHonorWallServiceImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hzs.bonus.base.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.base.mapper.CuHonorWallMapper; -import com.hzs.bonus.base.service.ICuHonorWallService; -import com.hzs.common.domain.member.honor.CuHonorWall; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 荣誉墙 服务实现类 - * - * @author hzs - * @since 2023-04-26 - */ -@Service -public class CuHonorWallServiceImpl extends ServiceImpl implements ICuHonorWallService { - - @Override - public List queryCuHonorWall() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("pk_id,PK_COUNTRY,TYPE,VALUE,IMG"); - return baseMapper.selectList(queryWrapper); - } - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberHonorWallServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberHonorWallServiceImpl.java deleted file mode 100644 index 051d32ac..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberHonorWallServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hzs.bonus.base.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.base.mapper.CuMemberHonorWallMapper; -import com.hzs.bonus.base.service.ICuMemberHonorWallService; -import com.hzs.common.domain.member.honor.CuMemberHonorWall; -import org.springframework.stereotype.Service; - -/** - *

- * 会员荣誉墙关联表 服务实现类 - *

- * - * @author hzs - * @since 2023-04-26 - */ -@Service -public class CuMemberHonorWallServiceImpl extends ServiceImpl implements ICuMemberHonorWallService { - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java index 5a55b590..82f9708b 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/base/service/impl/CuMemberServiceImpl.java @@ -24,14 +24,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.queryLoginMember(memberCode, null); } - @Override - public CuMember getMember(String memberCode) { - if (StringUtils.isEmpty(memberCode)) { - return null; - } - return baseMapper.queryLoginMember(memberCode, null); - } - @Override public void updateCuMemberRetailRangeByPeriod(List cuMemberAwardsList, Integer period) { baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue()); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuBonusExpandController.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuBonusExpandController.java deleted file mode 100644 index b9aaeec5..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/controller/manage/CuBonusExpandController.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hzs.bonus.bonus.controller.manage; - -import com.hzs.bonus.bonus.param.BonusExpandParam; -import com.hzs.bonus.bonus.service.ICuBonusExpandService; -import com.hzs.bonus.bonus.vo.BonusExpandTitleVO; -import com.hzs.common.core.annotation.AccessPermissions; -import com.hzs.common.core.constant.HttpStatus; -import com.hzs.common.core.constant.msg.MemberMsgConstants; -import com.hzs.common.core.enums.EYesNo; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.core.web.controller.BaseController; -import com.hzs.common.core.web.domain.AjaxResult; -import com.hzs.common.core.web.page.TableDataInfo; -import com.hzs.common.domain.member.ext.CuBonusExpandExt; -import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.common.util.TransactionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.time.temporal.ChronoUnit; -import java.util.*; - -/** - *

- * 4-n增加设置碰次 前端控制器 - *

- * - * @author hzs - * @since 2024-07-19 - */ -@RestController -@RequestMapping("/expand") -public class CuBonusExpandController extends BaseController { - - @Autowired - private ICuBonusExpandService bonusExpandService; - - /** - * 在管理页面修改保存4-n参数 - * - * @return AjaxResult - */ - @PostMapping("/touch/save") - public AjaxResult saveCuBonusExpand(@RequestBody BonusExpandParam bonusExpandParam) { - if (bonusExpandParam.getAddTouch() == null) { - return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY)); - } - if (bonusExpandParam.getPkId() == null && bonusExpandParam.getSettleDate() == null) { - return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY)); - } - bonusExpandParam.setPkCountry(SecurityUtils.getPkCountry()); - bonusExpandParam.setPkModified(SecurityUtils.getUserId()); - bonusExpandService.saveCuBonusExpand(bonusExpandParam); - return AjaxResult.success(); - } - - /** - * 在管理页面修改保存4-n参数 - * - * @return AjaxResult - */ - @PostMapping("/touch/repeat") - public AjaxResult repeatCuBonusByExpand(@RequestBody BonusExpandParam bonusExpandParam) { - if (bonusExpandParam.getSettleDate() == null) { - return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY)); - } - bonusExpandParam.setPkCountry(SecurityUtils.getPkCountry()); - bonusExpandService.repeatCuBonusByExpand(bonusExpandParam); - return AjaxResult.success(); - } - - - /** - * 分页查询会员某个时间段内的奖金汇总 - */ - @AccessPermissions("ForeNumber") - @PostMapping("/touch/query") - public TableDataInfo listCuBonusExpand(@RequestBody BonusExpandParam bonusExpandParam) { - if (bonusExpandParam.getSettleDate() == null) { - TableDataInfo rspData = new TableDataInfo(); - rspData.setCode(HttpStatus.ERROR); - rspData.setMsg("查询条件中结算日期不能为空"); - return rspData; - } - bonusExpandParam.setPkCountry(SecurityUtils.getPkCountry()); - startPage(); - return getDataTable(bonusExpandService.queryBonusExpand(bonusExpandParam)); - } - - /** - * 分页查询会员某个时间段内的奖金汇总 - */ - @GetMapping("/touch/query-title") - public TableDataInfo listCuBonusExpandTitle() { - BonusExpandParam bonusExpandParam = BonusExpandParam.builder().pkCountry(SecurityUtils.getPkCountry()).build(); - Map bonusExpandExtMap = new HashMap<>(); - List cuBonusExpandExtList = bonusExpandService.queryBonusExpandDis(bonusExpandParam); - cuBonusExpandExtList.forEach(cuBonusExpandExt -> - bonusExpandExtMap.put(cuBonusExpandExt.getSettleDate(), cuBonusExpandExt)); - List bonusExpandTitleVoList = new ArrayList<>(); - for (int i = 1; i <= 6; i++) { - Date settleDate = DateUtils.beforeDate(i, ChronoUnit.DAYS); - BonusExpandTitleVO bonusExpandTitleVO = new BonusExpandTitleVO(); - bonusExpandTitleVO.setSettleDate(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate)); - bonusExpandTitleVO.setIsDisplayRed(EYesNo.NO.getIntValue()); - if(bonusExpandExtMap.containsKey(settleDate)){ - bonusExpandTitleVO.setIsDisplayRed(EYesNo.YES.getIntValue()); - } - bonusExpandTitleVoList.add(bonusExpandTitleVO); - } - return getDataTable(bonusExpandTitleVoList); - } -} 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 deleted file mode 100644 index 4fd8a84a..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuBonusExpandMapper.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hzs.bonus.bonus.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.bonus.bonus.param.BonusExpandParam; -import com.hzs.common.domain.member.bonus.CuBonusExpand; -import com.hzs.common.domain.member.ext.CuBonusExpandExt; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * Mapper 接口 - */ -public interface CuBonusExpandMapper extends BaseMapper { - - /* - * 查询4-n配置 - **/ - List queryBonusExpand(BonusExpandParam bonusExpandParam); - - /* - * 查询日期是否标红 - **/ - List queryBonusExpandDis(BonusExpandParam bonusExpandParam); - - /* - * 查询所有零线会员 - **/ - List queryZeroMemberByVertex(); - - /* - * 根基时间、期间计算波比 - **/ - List calculateDayRatioByBonusExpandParam(@Param("bonusExpandParam") BonusExpandParam bonusExpandParam, @Param("tableName") String tableName); - - /* - * 根基时间、期间计算波比 - **/ - List calculateDayRepRatioByBonusExpandParam(@Param("bonusExpandParam") BonusExpandParam bonusExpandParam, @Param("tableName") String tableName); - - /* - * 删除临时表 - **/ - void truncateTable(); - - /* - * 批量更新4-n配置 - **/ - void mergeBonusExpandByList(@Param("cuBonusExpandList") List cuBonusExpandList); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushMapper.java index 0e76a543..48caf94f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusPushMapper.java @@ -1,7 +1,6 @@ package com.hzs.bonus.bonus.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.bonus.bonus.param.TripleCycleListParam; import com.hzs.common.domain.member.bonus.CuMemberBonusPush; import com.hzs.common.domain.member.ext.CuMemberBonusPushExt; import com.hzs.bonus.bonus.param.BonusParam; @@ -10,58 +9,43 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

* 会员奖金-直推收益明细表 Mapper 接口 - *

- * - * @author hzs - * @since 2022-11-10 */ public interface CuMemberBonusPushMapper extends BaseMapper { /** * 根据查询条件查询固定的奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusPushByBonusItems(BonusParam bonusParam); /** * 根据查询条件查询固定的奖金明细 + * * @param bonusParam 查询条件 - * @return: List - * @Author: sui q - * @Date: 2023/1/14 11:18 */ List queryMemberBonusPushByBonusItemsFoServer(@Param("bonusParam") BonusParam bonusParam); /** * 删除会员奖金汇总表 + * * @param period 结算期间 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 11:54 */ void deleteCuMemberBonusPush(Integer period); /** * 批量插入会员直推奖 + * * @param cuMemberBonusPushList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 */ void batchInsertCuMemberBonusPush(@Param("cuMemberBonusPushList") List cuMemberBonusPushList); /** * 插入会员直推奖 + * * @param cuMemberBonusPush 直推奖金 - * @return: void - * @Author: sui q - * @Date: 2023/2/17 9:48 */ - void insertCuMemberBonusPush(@Param("item")CuMemberBonusPush cuMemberBonusPush); + void insertCuMemberBonusPush(@Param("item") CuMemberBonusPush cuMemberBonusPush); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRepeatBonusMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRepeatBonusMapper.java deleted file mode 100644 index 6091df6c..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberRepeatBonusMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hzs.bonus.bonus.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.bonus.CuMemberRepeatBonus; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - *

- * 会员奖金-4-n碰次重算奖金表 Mapper 接口 - *

- * - * @author hzs - * @since 2024-07-23 - */ -public interface CuMemberRepeatBonusMapper extends BaseMapper { - - /* - * @description: 批量插入重算奖金数据 - * @author: sui q - * @date: 2024/7/23 11:46 - * @param: null null - **/ - void insertCuMemberRepeatBonus(@Param("cuMemberRepeatBonusList") List cuMemberRepeatBonusList); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java deleted file mode 100644 index 1a1190f1..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.hzs.bonus.bonus.param; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 4-n 增加碰次 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class BonusExpandParam implements Serializable { - - /** - * 主键 - */ - private Long pkId; - - /** - * 连接主键 - */ - private Long pkParent; - - /** - * 结算日期 - */ - private Date settleDate; - - /** - * 4-n增加碰次 - */ - private BigDecimal addTouch; - - private List memberIdList; - - /** - * 国家 - */ - private Integer pkCountry; - - /** - * 开始日期 - */ - private Date startDate; - - /** - * 结束日期 - */ - private Date endDate; - - /** - * 开始期间 - */ - private Integer startPeriod; - - /** - * 结束期间 - */ - private Integer endPeriod; - - - /** - * 修改人ID - */ - private Long pkModified; - - /** - * 体系名称 - */ - private String vertexName; - - /** - * 会员编号 - */ - private String memberCode; - /** - * 会员姓名 - */ - private String memberName; - - /** - * 拓展比例 - */ - private BigDecimal expandRatio; - - /** - * 拓展次数 - */ - private Integer expandNumber; -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/TripleCycleListParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/TripleCycleListParam.java deleted file mode 100644 index eeee939b..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/TripleCycleListParam.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hzs.bonus.bonus.param;/** - * @Description: - * @Author: yuhui - * @Time: 2023/6/7 14:43 - * @Classname: TripleCycleListParam - * @PackageName: com.hzs.member.marketnews.param - */ - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; - -import java.util.Date; - -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.member.marketnews.param - *@Author: yh - *@CreateTime: 2023-06-07 14:43 - *@Description: TODO - *@Version: 1.0 - */ -@Data -public class TripleCycleListParam { - - /** - * 会员主键 - */ - private Long pkMember; - - /** - * 会员编号 - */ - private String memberCode; - - /** - * 会员姓名 - */ - - private String memberName; - - /** - * 开始时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd") - private Date startCreationTime; - /** - * 结束时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd") - private Date endCreationTime; - - - /** - * 国家 - */ - private Integer pkCountry; - - /** - * 注册等级 - */ - private Integer pkRegisterGrade; - - /** - * 查询会员信息 - */ - private String memberInfo; - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/IBonusSettleService.java index a2281c47..1c436461 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 @@ -22,9 +22,4 @@ public interface IBonusSettleService { */ void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode); - /* - * 4-n配置修改后,重算首购奖金 - **/ - void repeatCuMemberBonusByExpand(String settleDate, List saOrderExtList); - } 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 deleted file mode 100644 index 10548f58..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuBonusExpandService.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hzs.bonus.bonus.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.bonus.bonus.param.BonusExpandParam; -import com.hzs.common.domain.member.bonus.CuBonusExpand; -import com.hzs.common.domain.member.ext.CuBonusExpandExt; - -import java.util.List; - -/** - * 服务类 - */ -public interface ICuBonusExpandService extends IService { - - /* - * 查询4-n配置 - **/ - List queryBonusExpand(BonusExpandParam bonusExpandParam); - - /* - * 查询日期是否标红 - **/ - List queryBonusExpandDis(BonusExpandParam bonusExpandParam); - - /* - * 奖金计算时,先拉取昨日4-n 碰次,先用该碰次计算 - **/ - void firstSaveCuBonusExpand(BonusExpandParam bonusExpandParam); - - /* - * 奖金计算结束,统计波比、业绩 - **/ - void updateCuBonusExpandRatio(BonusExpandParam bonusExpandParam, String tableName); - - /* - * 保存或修改昨日4-n碰次 - **/ - void saveCuBonusExpand(BonusExpandParam bonusExpandParam); - - /* - * 重算首购奖金 - **/ - void repeatCuBonusByExpand(BonusExpandParam bonusExpandParam); - -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushService.java index 1783511e..eff98b3d 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusPushService.java @@ -1,48 +1,28 @@ package com.hzs.bonus.bonus.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.bonus.bonus.param.TripleCycleListParam; import com.hzs.common.domain.member.bonus.CuMemberBonusPush; -import com.hzs.common.domain.member.ext.CuMemberBonusPushExt; import java.util.List; import java.util.Set; /** - *

* 会员奖金-直推收益明细表 服务类 - *

- * - * @author hzs - * @since 2022-11-10 */ public interface ICuMemberBonusPushService extends IService { /** * 删除会员奖金汇总表 + * * @param period 结算周期 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 11:54 */ void deleteCuMemberBonusPush(Integer period); /** * 批量插入会员直推奖 + * * @param cuMemberBonusPushList 会员奖金 - * @return: void - * @Author: sui q - * @Date: 2022/12/13 13:56 */ void batchInsertCuMemberBonusPush(List cuMemberBonusPushList, Set memberIdSet); - /** - * 插入会员直推奖 - * @param cuMemberBonusPush 直推奖金 - * @return: void - * @Author: sui q - * @Date: 2023/2/17 9:48 - */ - void insertCuMemberBonusPush(CuMemberBonusPush cuMemberBonusPush); - } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRepeatBonusService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRepeatBonusService.java deleted file mode 100644 index f3163f75..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberRepeatBonusService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hzs.bonus.bonus.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.bonus.CuMemberRepeatBonus; - -import java.util.List; - -/** - *

- * 会员奖金-4-n碰次重算奖金表 服务类 - *

- * - * @author hzs - * @since 2024-07-23 - */ -public interface ICuMemberRepeatBonusService extends IService { - - /* - * @description: 批量插入重算奖金数据 - * @author: sui q - * @date: 2024/7/23 11:46 - * @param: null null - **/ - void insertCuMemberRepeatBonus(List cuMemberRepeatBonusList); -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java deleted file mode 100644 index f4fd5354..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java +++ /dev/null @@ -1,1169 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import com.hzs.bonus.base.service.ICuMemberService; -import com.hzs.common.core.constant.*; -import com.hzs.common.core.enums.*; -import com.hzs.common.core.utils.ComputeUtil; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.domain.bonus.BdBonusDeduct; -import com.hzs.common.domain.bonus.BdBonusService; -import com.hzs.common.domain.bonus.risk.CuMemberRiskControl; -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; -import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.common.domain.system.config.BdAwards; -import com.hzs.common.domain.system.config.BdGrade; -import com.hzs.system.config.IGradeServiceApi; -import com.hzs.system.config.dto.*; -import com.hzs.system.sys.dto.BdCurrencyDTO; -import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.time.temporal.ChronoUnit; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 计算首购的奖金处理类 - */ -@Component -public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { - - @DubboReference - IGradeServiceApi iGradeServiceApi; - - @Autowired - private ICuMemberService iCuMemberService; - - /** - * 计算直推奖 - * - * @param settleTableName 结算表 - * @param bonusConfigDTO 参数 - * @param systemConfigMap 系统参数 - * @param firPurchaseOrderList 首单 - */ - List calculateRecommendBonus(Map cuMemberSettleExtMap, String settleTableName, BonusConfigDTO bonusConfigDTO, - Map systemConfigMap, List firPurchaseOrderList, Integer period, Map cuMemberBonusMap, Map awardsMap) { - // 查询 各个国家 3单循环 4单循环的配置值 - // 获得会员的轮、次,按照订单时间进行 - // 根据订单获取轮次,要回写 - List cuMemberSettleExtList = cuMemberTreeService.batchQueryMemberSettleBySaOrder(settleTableName, firPurchaseOrderList); - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - // 推荐奖明细 - List cuMemberBonusPushList = new ArrayList<>(); - Set pkCountrySet = firPurchaseOrderList.stream().distinct().map(SaOrderExt::getPkCountry).collect(Collectors.toSet()); - Map> gradeDtoMap = iGradeServiceApi.queryCountryGradeConfigByCondition(pkCountrySet).getData(); - // 等级对应的业绩 - for (SaOrderExt saOrderExt : firPurchaseOrderList) { - List gradeList = gradeDtoMap.get(saOrderExt.getPkCountry()); - CuMemberBonusPush cuMemberBonusPush = calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, awardsMap, gradeList); - if (cuMemberBonusPush != null) { - cuMemberBonusPushList.add(cuMemberBonusPush); - } - } - return cuMemberBonusPushList; - } - - private BigDecimal computePushRangeBonus(CuMemberSettleExt targetMemberSettleExt, BigDecimal siVipBonus, - BigDecimal vipBonus, BigDecimal youBonus) { - BigDecimal pretaxIncome; - if (targetMemberSettleExt.getGradeValue() == EGrade.S_VIP.getValue()) { - pretaxIncome = siVipBonus; - } else if (targetMemberSettleExt.getGradeValue() == EGrade.VIP.getValue()) { - pretaxIncome = vipBonus; - } else { - pretaxIncome = youBonus; - } - return pretaxIncome; - } - - - /** - * 计算某条订单的推荐奖金 - */ - CuMemberBonusPush calculatePushBonusOne(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Map systemConfigMap, Integer period, Map cuMemberBonusMap, SaOrderExt saOrderExt, Map awardsMap, List gradeList) { - CuMemberSettleExt sourceSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - if (sourceSettleExt == null) { - return null; - } - // 统计注册、升级金额和业绩 - setCuMemberAchieve(saOrderExt, cuMemberSettleExtMap, bonusConfigDTO); - // 验证订单类型,订单类型是 三方订单的 直推从分享种获取 - // 获取轮次 - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkReference()); - if (targetMemberSettleExt == null) { - return null; - } - // 死点没有奖金 - if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - return null; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIRECT_INCOME.getValue())) { - return null; - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - // 直推奖金明细 - int pkBonusItem = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIRECT_INCOME.getValue()); - CuMemberBonusPush cuMemberBonusPush = getCuMemberBonusPush(saOrderExt, targetMemberSettleExt, cuMemberBonus, pkBonusItem); - // 扣项 - if (Objects.equals(EOrderType.UPGRADE_ORDER.getValue(), saOrderExt.getOrderType())) { - String value = systemConfigMap.get(targetMemberSettleExt.getPkSettleCountry() + EnumsKeyConstants.BONUS_UPGRADE_TYPE); - // 只计算固定值,不进入三单 - if (Objects.equals(EUpgradeIncomeType.FIXED_VALUE.getValue(), value)) { - // 分比例跟固定值 - BonusDifferenceDTO bonusDifferenceDTO = bonusConfigDTO.getBonusDifferenceDtoMap().get(targetMemberSettleExt.getPkSettleCountry()); - // 不算轮次 - cuMemberBonusPush.setCalType(bonusDifferenceDTO.getCalType()); - cuMemberBonusPush.setRound(-1); - cuMemberBonusPush.setSecond(0); - // 值 - if (ECalType.VALUE.getValue() == bonusDifferenceDTO.getCalType()) { - cuMemberBonusPush.setCalValue(BigDecimal.ZERO); - cuMemberBonusPush.setPretaxIncome(bonusDifferenceDTO.getRewardValue()); - } else { - cuMemberBonusPush.setCalValue(bonusDifferenceDTO.getRewardValue()); - cuMemberBonusPush.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), bonusDifferenceDTO.getRewardValue())); - } - setBonusPushIncome(cuMemberSettleExtMap, bonusConfigDTO, saOrderExt, cuMemberBonus, cuMemberBonusPush); - return cuMemberBonusPush; - } - } - Map bonusDirectLoopDtoMap = bonusConfigDTO.getBonusDirectLoopDtoMap(); - Map bonusDirectDtoMap = bonusConfigDTO.getBonusDirectDtoMap(); - // 根据会员等级获取,等级对应的参数 - // 判断轮次是否满足循环最后一个,最后一个需要重置,增加轮次,获取循环方式 - String recommendType = systemConfigMap.get(targetMemberSettleExt.getPkSettleCountry() + EnumsKeyConstants.BONUS_RECOMMEND_TYPE); - // 固定值 验证是否推荐的是固定值 - String memberCountryKey = getMemberCountryKey(awardsMap, sourceSettleExt, new HashMap<>()); - BonusDirectDTO bonusDirectDTO = bonusDirectDtoMap.get(memberCountryKey); - // 现在已经是第三单,取三单最小 - // 验证是不是固定值,固定值直接取比例或者值 - if (bonusDirectDTO != null && ECalType.VALUE.getValue() == bonusDirectDTO.getCalType()) { - cuMemberBonusPush.setCalType(bonusDirectDTO.getCalType()); -// cuMemberBonusPush.setRound(-1); -// cuMemberBonusPush.setSecond(0); - // 值 - cuMemberBonusPush.setCalValue(BigDecimal.ZERO); - cuMemberBonusPush.setPretaxIncome(bonusDirectDTO.getBonusValue()); -// setBonusPushIncome(cuMemberSettleExtMap, bonusConfigDTO, saOrderExt, cuMemberBonus, cuMemberBonusPush); -// return cuMemberBonusPush; - } else { - // 三单循环 - BonusDirectLoopDTO bonusDirectLoopDTO = bonusDirectLoopDtoMap.get(targetMemberSettleExt.getPkSettleCountry().toString() + recommendType + targetMemberSettleExt.getPkGrade()); - if (bonusDirectLoopDTO == null) { - if (bonusDirectDTO != null) { - cuMemberBonusPush.setCalValue(bonusDirectDTO.getBonusValue()); - } else { - return null; - } - } else if (targetMemberSettleExt.getSecond() == 1) { - cuMemberBonusPush.setCalValue(bonusDirectLoopDTO.getFirstOrder()); - } else if (targetMemberSettleExt.getSecond() == 2) { - cuMemberBonusPush.setCalValue(bonusDirectLoopDTO.getSecondOrder()); - } else if (targetMemberSettleExt.getSecond() == 3) { - cuMemberBonusPush.setCalValue(bonusDirectLoopDTO.getThirdOrder()); - } else { - cuMemberBonusPush.setCalValue(bonusDirectLoopDTO.getFourthOrder()); - } - // 直接计算奖金 业绩 * 计算值,判断是否有扣项 - // 获取等级对应的业绩 - BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); - // 获得升级方式 - String value = systemConfigMap.get(targetMemberSettleExt.getPkSettleCountry() + ESystemConfig.UPGRADE_WAY.getKey()); - if (Objects.equals(Integer.toString(EUpgradeWay.COVER.getValue()), value) && CollectionUtil.isNotEmpty(gradeList)) { - for (GradeDTO gradeDTO : gradeList) { - if (validateGradeByAchieve(saOrderExt.getOrderAmount(), saOrderExt.getOrderAchieve(), gradeDTO)) { - orderAchieve = gradeDTO.getStartValue(); - break; - } - } - } - cuMemberBonusPush.setCalAchieve(orderAchieve); - cuMemberBonusPush.setPretaxIncome(ComputeUtil.computeBonusMultiply(orderAchieve, cuMemberBonusPush.getCalValue())); - } - boolean roundEnd = Objects.equals(ERecommendType.THREE_LOOP.getValue(), recommendType) && targetMemberSettleExt.getSecond() == 3; - if (!roundEnd) { - roundEnd = Objects.equals(ERecommendType.FOUR_LOOP.getValue(), recommendType) && targetMemberSettleExt.getSecond() == 4; - } - // 记录最小值,前面的值>后面的值 - if (ComputeUtil.compareValue(targetMemberSettleExt.getMinAchieve(), cuMemberBonusPush.getCalAchieve()) || - ComputeUtil.compareEqual(targetMemberSettleExt.getMinAchieve(), BigDecimal.ZERO)) { - targetMemberSettleExt.setMinAchieve(cuMemberBonusPush.getCalAchieve()); - } - if (roundEnd) { - cuMemberBonusPush.setCalAchieve(targetMemberSettleExt.getMinAchieve()); - cuMemberBonusPush.setPretaxIncome(ComputeUtil.computeBonusMultiply(targetMemberSettleExt.getMinAchieve(), cuMemberBonusPush.getCalValue())); - reductionMemberSettle(targetMemberSettleExt); - } - setBonusPushIncome(cuMemberSettleExtMap, bonusConfigDTO, saOrderExt, cuMemberBonus, cuMemberBonusPush); - targetMemberSettleExt.setSecond(targetMemberSettleExt.getSecond() + 1); - return cuMemberBonusPush; - } - - private Boolean validateGradeByAchieve(BigDecimal settleOrderAmount, BigDecimal settleOrderPv, GradeDTO gradeDTO) { - BigDecimal compareValue; - if (null == gradeDTO.getCensusValue() || EStatisticalValue.ACHIEVEMENT.getValue() == gradeDTO.getCensusValue()) { - compareValue = settleOrderPv; - } else { - compareValue = settleOrderAmount; - } - BigDecimal startValue = gradeDTO.getStartValue(); - if (compareValue.compareTo(startValue) >= 0) { - return Boolean.TRUE; - } - return Boolean.FALSE; - } - - void setBonusPushIncome(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, SaOrderExt saOrderExt, CuMemberBonus cuMemberBonus, CuMemberBonusPush cuMemberBonusPush) { - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - recommendRemark(saOrderExt, cuMemberBonusPush, cuMemberSettleExtMap); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusPush.getIncomeStatus()) { - cuMemberBonus.setDirectIncome(ComputeUtil.computeAdd(cuMemberBonus.getDirectIncome(), cuMemberBonusPush.getPretaxIncome())); - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusPush); - } - } - - CuMemberBonusPush getCuMemberBonusPush(SaOrderExt saOrderExt, CuMemberSettleExt cuMemberSettleExt, CuMemberBonus cuMemberBonus, Integer pkBonusItems) { - CuMemberBonusPush cuMemberBonusPush = CuMemberBonusPush.builder() - .pkOrder(saOrderExt.getPkId()) - .pkBonus(cuMemberBonus.getPkId()) - .pkBonusItems(pkBonusItems) - // 正常还是烧伤 - .incomeStatus(cuMemberSettleExt.getIncomeStatus()) - .calType(ECalType.RATIO.getValue()) - .calAchieve(saOrderExt.getOrderAchieve()) - .pretaxIncome(BigDecimal.ZERO) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .round(cuMemberSettleExt.getRound()) - .second(cuMemberSettleExt.getSecond()) - .build(); - cuMemberBonusPush.setPkCountry(cuMemberSettleExt.getPkSettleCountry()); - cuMemberBonusPush.setPkCreator(MagicNumberConstants.PK_ADMIN); - if (EExpireStatus.TERMINATED.getValue() == cuMemberSettleExt.getExpireStatus()) { - cuMemberBonusPush.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - return cuMemberBonusPush; - } - - /** - * @param settleTableName 结算表 - * @param period 期间 - * @param bonusConfigDTO 参数 - * @param firPurchaseOrderList 首单 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - * 计算拓展收益 - * @return: void - * @Author: sui q - * @Date: 2022/11/10 14:17 - */ - List calculateExpandBonus(Map cuMemberSettleExtMap, String settleDate, String settleTableName, BonusConfigDTO bonusConfigDTO, - Map systemConfigMap, List firPurchaseOrderList, - Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, - Map riskControlMap, Map cuBonusExpandExtMap) { - // 根据开始期间、结束期间查询 - List cuMemberBonusExpandList = new ArrayList<>(); - // 获取所有订单的上级,根据订单往上一步步计算 - Map> memberSettleMap = cuMemberTreeService.batchQueryCuMemberSettlePlaceParent(settleTableName, firPurchaseOrderList); - // 获取复购考核结果 - List queryMemberList = new ArrayList<>(); - memberSettleMap.forEach((key, value) -> queryMemberList.addAll(value)); - Map cuMemberAssessMap = getLongCuMemberAssessMap(settleDate, queryMemberList); - for (SaOrderExt saOrderExt : firPurchaseOrderList) { - // 所有需要计算的父节点,只计算新增 - List cuMemberSettleExtList = memberSettleMap.get(saOrderExt.getPkId()); - BigDecimal addTouch = BigDecimal.ZERO; - BigDecimal expandRatio = BigDecimal.ZERO; - int expandNumber = 0; - for (int i = cuMemberSettleExtList.size() - 1; i >= 0; i--) { - CuMemberSettleExt cuMemberSettleExt = cuMemberSettleExtList.get(i); - if (cuBonusExpandExtMap.containsKey(cuMemberSettleExt.getPkMember())) { - addTouch = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getAddTouch(); - expandRatio = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getExpandRatio(); - expandNumber = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getExpandNumber(); - break; - } - } - List expandList = calculateExpandBonusOne(riskControlMap, cuMemberAssessMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, cuMemberSettleExtList, saOrderExt, true, addTouch, expandRatio, expandNumber); - if (expandList.size() > 0) { - cuMemberBonusExpandList.addAll(expandList); - } - } - // 根据订单往上穿业绩,只计算新增 - return cuMemberBonusExpandList; - } - - /** - * 计算量奖 - */ - List calculateExpandBonusOne(Map riskControlMap, Map cuMemberAssessMap, String settleTableName, Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Map systemConfigMap, - Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, List cuMemberSettleExtList, SaOrderExt saOrderExt, boolean flag, BigDecimal addTouch, BigDecimal expandRatio, Integer expandNumber) { - List cuMemberBonusExpandList = new ArrayList<>(); - if (CollectionUtil.isEmpty(cuMemberSettleExtList)) { - return cuMemberBonusExpandList; - } - Map bdBonusExpandMap = bonusConfigDTO.getBonusExpandMap(); - // 先计算新增,根据新增计算碰次 - // 先进行初始化所有的安置人,存储需要修改的值,cuMemberSettleExtMap最终修改的 - if (flag) { - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - } - // 先准备值,准备好值后,开始计算,计算碰次 - int touchNum = 0; -// boolean flag = Boolean.TRUE; - for (CuMemberSettleExt cuMemberSettleExt : cuMemberSettleExtList) { -// if(MagicNumberConstants.ACHIEVE_SETTLE_MEMBER.equals(cuMemberSettleExt.getMemberCode())){ -// if(cuMemberTreeService.queryCuMemberUnderUmbrella(settleTableName, saOrderExt.getPkMember())) { -// flag = Boolean.FALSE; -// } -// } - // 数据已经准备好了,肯定有值,map中是实际的值,先计算新增,然后根据新增结算计算碰次,list是为了存储碰次的顺序 - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(cuMemberSettleExt.getPkPlaceParent()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() || - EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()) { - continue; - } - // 验证是否计算奖金 - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - if (bdGrade.getFirstCalculate() != null && EYesNo.NO.getIntValue() == bdGrade.getFirstCalculate()) { - continue; - } - // 嗨粉、海粉没有量奖 - if (EPlaceDept.LEFT_DEPT.getValue() == cuMemberSettleExt.getPlaceDept()) { - // 左区 - // K值设置 - if (riskControlMap.containsKey(targetMemberSettleExt.getPkMember())) { - CuMemberRiskControl cuMemberRiskControl = riskControlMap.get(targetMemberSettleExt.getPkMember()); - targetMemberSettleExt.setANewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getANewAmount(), ComputeUtil.computeBonusMultiply(convertLocalCurrency(saOrderExt, bonusConfigDTO), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setANewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getANewPv(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getABalance(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - } else { - targetMemberSettleExt.setANewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getANewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - targetMemberSettleExt.setANewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getANewPv(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getABalance(), saOrderExt.getUploadAchieve())); - } - targetMemberSettleExt.setRABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRABalance(), saOrderExt.getUploadAchieve())); -// } - } else { - // 右区 - if (riskControlMap.containsKey(targetMemberSettleExt.getPkMember())) { - CuMemberRiskControl cuMemberRiskControl = riskControlMap.get(targetMemberSettleExt.getPkMember()); - targetMemberSettleExt.setBNewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewAmount(), ComputeUtil.computeBonusMultiply(convertLocalCurrency(saOrderExt, bonusConfigDTO), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setBNewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewPv(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getBBalance(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - } else { - targetMemberSettleExt.setBNewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - targetMemberSettleExt.setBNewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewPv(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getBBalance(), saOrderExt.getUploadAchieve())); - } - targetMemberSettleExt.setRBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRBBalance(), saOrderExt.getUploadAchieve())); -// } - } - // 判断左右区是否有值,左右区有值有碰次 - if (ComputeUtil.compareValue(targetMemberSettleExt.getABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getBBalance())) { - // 国内量奖修改为考核不通过的不占用4-N,不算奖金 - // 验证是否验证考核 -// if(bdGrade.getFirstAssess() != null && EAssessmentType.REPURCHASE_ASSESS.getValue() == bdGrade.getFirstAssess()){ -// if (Objects.equals(CountryConstants.CHINA_COUNTRY, targetMemberSettleExt.getPkSettleCountry()) && !cuMemberAssessMap.containsKey(targetMemberSettleExt.getPkMember()) && -// EYesNo.YES.getIntValue() != targetMemberSettleExt.getPurchaseStatus()) { -// BigDecimal minAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getABalance(), targetMemberSettleExt.getBBalance()); -// targetMemberSettleExt.setABalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getABalance(), minAchieve)); -// targetMemberSettleExt.setBBalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getBBalance(), minAchieve)); -// }else{ -// touchNum++; -// } -// } else { -// touchNum++; -// } - touchNum++; - } - // 判断左右区是否有值,左右区有值有碰次 - if (ComputeUtil.compareValue(targetMemberSettleExt.getRABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getRBBalance())) { - BigDecimal minAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getRABalance(), targetMemberSettleExt.getRBBalance()); - targetMemberSettleExt.setRABalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRABalance(), minAchieve)); - targetMemberSettleExt.setRBBalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRBBalance(), minAchieve)); - } - } - // 有碰次,计算拓展奖 - if (touchNum > 0) { - // 判断是否>3 是否需要启动4-N,4-N的参数按照伞上各安置人结算国家进行获取 - // 先计算前3碰 - int startTouch = touchNum; - // 后面碰次 - int endTouch = 0; - BonusExpandDTO bdBonusExpand = bdBonusExpandMap.get(saOrderExt.getPkCountry()); - int realExpandNumber = expandNumber > 0 ? expandNumber : bdBonusExpand.getExpandNumber(); - if (touchNum > realExpandNumber) { - startTouch = realExpandNumber; - endTouch = touchNum - startTouch; - } - // 正常的拓展奖计算 - // 计算拓展奖 - for (int i = 1; i <= startTouch; i++) { - for (CuMemberSettleExt sourceMemberSettleExt : cuMemberSettleExtList) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(sourceMemberSettleExt.getPkPlaceParent()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.EXPANSION_INCOME.getValue())) { - continue; - } - // 判断左右区是否有值,找到有值的就是有碰次,碰完左区或右区肯定有变为0的 - if (ComputeUtil.compareValue(targetMemberSettleExt.getABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getBBalance())) { - // 根据会员等级获取对应的配置 - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - BigDecimal countryExpandRatio = bdGrade.getExpandRatio(); - calculateExpandBonusByAchieve(riskControlMap, period, weekMemberBonusMap, cuMemberBonusMap, bonusConfigDTO, systemConfigMap, cuMemberBonusExpandList, saOrderExt, touchNum, i, sourceMemberSettleExt, targetMemberSettleExt, bdGrade, countryExpandRatio, BigDecimal.ZERO, cuMemberAssessMap); - break; - } - } - } - // 4-N计算 - if (endTouch > 0) { - // 获得每一碰的比例, 找到剩下的碰次的国家 - for (int i = 1; i <= endTouch; i++) { - for (CuMemberSettleExt sourceMemberSettleExt : cuMemberSettleExtList) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(sourceMemberSettleExt.getPkPlaceParent()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.EXPANSION_INCOME.getValue())) { - continue; - } - // 判断左右区是否有值,找到有值的就是有碰次,碰完左区或右区肯定有变为0的 - if (ComputeUtil.compareValue(targetMemberSettleExt.getABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getBBalance())) { - // 根据会员等级获取对应的配置 - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - // 获取国家4-n的配置 - BigDecimal countryExpandRatio = getCountryExpand(bonusConfigDTO, targetMemberSettleExt, endTouch, bdGrade, addTouch, expandRatio); - calculateExpandBonusByAchieve(riskControlMap, period, weekMemberBonusMap, cuMemberBonusMap, bonusConfigDTO, systemConfigMap, cuMemberBonusExpandList, saOrderExt, touchNum, i + startTouch, sourceMemberSettleExt, targetMemberSettleExt, bdGrade, countryExpandRatio, addTouch, cuMemberAssessMap); - break; - } - } - } - // 将增加的碰次放入烧伤 - if (ComputeUtil.compareValue(addTouch)) { - CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(2L); - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - BigDecimal countryExpandRatio = getCountryExpand(bonusConfigDTO, targetMemberSettleExt, endTouch, bdGrade, addTouch, expandRatio); - countryExpandRatio = ComputeUtil.computeMultiply(countryExpandRatio, addTouch); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - Integer pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.EXPANSION_INCOME.getValue()); - CuMemberBonusExpand cuMemberBonusExpand = getCuMemberBonusExpand(saOrderExt, touchNum, touchNum, targetMemberSettleExt, countryExpandRatio, cuMemberBonus, saOrderExt.getOrderAchieve(), pkBonusItems, addTouch); - expandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), bdGrade.getExpandRatio()); - BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio); - packageCuMemberBonusExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), maxIncome, actualIncome); - setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (ComputeUtil.compareValue(addTouch)) { - cuMemberBonusExpand.setRemark(cuMemberBonusExpand.getRemark() + "增加碰次:" + addTouch + "。"); - } - cuMemberBonusExpandList.add(cuMemberBonusExpand); - } - } - } - return cuMemberBonusExpandList; - } - - /** - * @param settleTableName 结算表 - * @param period 期间 - * @param settleDateStr 结算日期 - * @param bonusConfigDTO 参数 - * @param firPurchaseOrderList 订单列表 - * @param cuMemberBonusExpandList 量奖明细 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - * 计算辅导收益 - * @return: void - * @Author: sui q - * @Date: 2022/11/10 14:17 - */ - List calculateCoachBonus(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, - List firPurchaseOrderList, List cuMemberBonusExpandList, Integer period, Map cuMemberBonusMap, - Map cuAwardsControlMap, Map riskControlMap) { - Map saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size())); - firPurchaseOrderList.forEach(saOrderExt -> - saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt)); - return calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDateStr, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap); - } - - /** - * 计算领导奖 - * - * @return: List - * @Author: sui q - * @Date: 2023/2/8 17:16 - */ - List calculateCoachBonusOne(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, List cuMemberBonusExpandList, Integer period, Map cuMemberBonusMap, - Map saOrderExtMap, Map cuAwardsControlMap, Map riskControlMap) { - List cuMemberBonusCoachList = new ArrayList<>(); - if (cuMemberBonusExpandList.size() > 0) { - Set expandMemberSet = getMemberExpandBonus(cuMemberBonusMap, cuMemberBonusExpandList); - List cuMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, expandMemberSet); - // 初始化父类网体的值 - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - List queryMemberList = getQueryMemberSettleExtList(cuMemberSettleExtMap, cuMemberSettleExtList); - // 获取复购考核结果 - Map cuMemberAssessMap = getLongCuMemberAssessMap(settleDateStr, queryMemberList); - // 开始计算辅导奖,往上找10代血缘,判断血缘的奖衔是否>= 5的倍数 - Map bonusIdSettleMap = getMemberExpandBonus(cuMemberSettleExtMap); - for (CuMemberBonusExpand cuMemberBonusExpand : cuMemberBonusExpandList) { - // 国内没有领导奖 - if (cuMemberBonusExpand.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { - continue; - } - List coachBonusList = calculateBonusCoach(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExtMap, cuMemberAssessMap, bonusIdSettleMap, cuMemberBonusExpand, cuAwardsControlMap, riskControlMap); - if (coachBonusList.size() > 0) { - cuMemberBonusCoachList.addAll(coachBonusList); - } - } - } - return cuMemberBonusCoachList; - } - - /** - * 计算领导奖 - * - * @return: List - * @Author: sui q - * @Date: 2023/2/8 17:16 - */ - private List calculateBonusCoach(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, Map saOrderExtMap, Map cuMemberAssessMap, Map bonusIdSettleMap, - CuMemberBonusExpand cuMemberBonusExpand, Map cuAwardsControlMap, Map riskControlMap) { - CuMemberSettleExt sourceMemberSettleExt = bonusIdSettleMap.get(cuMemberBonusExpand.getPkBonus()); - Long pkMember = cuMemberSettleExtMap.get(cuMemberBonusExpand.getPkBonus()).getPkParent(); - // 获得量奖的人往上找10代血缘 - // 用于回写血缘总共多少代 - List backMemberBonusCoachList = new ArrayList<>(); - int coachGeneration = 0; - for (int i = MagicNumberConstants.BLOOD_GENERATION_START; i <= MagicNumberConstants.BLOOD_GENERATION_END; i++) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(pkMember); - if (targetMemberSettleExt == null) { - break; - } - pkMember = targetMemberSettleExt.getPkParent(); - if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) { - continue; - } - SaOrderExt saOrderExt = saOrderExtMap.get(cuMemberBonusExpand.getPkOrder()); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - BdAwards awardsCouch = getBdAwards(bonusConfigDTO, targetMemberSettleExt, cuAwardsControlMap); - // 判断是否有奖金 - if (awardsCouch.getAwardsValue() >= MagicNumberConstants.BLOOD_GENERATION_SERIES * i) { - BdAwards coachAward = bonusConfigDTO.getAwardsValueMap().get(targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.AWARDS.getValue() + MagicNumberConstants.BLOOD_GENERATION_SERIES * i); - BigDecimal awardCalRadio = BigDecimal.ZERO; - if (coachAward != null) { - awardCalRadio = coachAward.getCoachRatio(); - } - // 判断会员状态 - CuMemberBonusCoach cuMemberBonusCoach = getCuMemberBonusCoach(bonusConfigDTO, cuMemberBonusExpand, i, targetMemberSettleExt, awardCalRadio); - // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus() && - EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } - // K值设置 - if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) { - Integer generation = riskControlMap.get(cuMemberBonus.getPkMember()).getCoachGeneration(); - if (generation < i) { - cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.RISK_CONTROL.getValue()); - } - } - // 判断考核状态,是否考核通过 - // 收益占比 - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - coachRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus()) { - cuMemberBonus.setCoachIncome(ComputeUtil.computeAdd(cuMemberBonus.getCoachIncome(), cuMemberBonusCoach.getPretaxIncome())); - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusCoach); - } - backMemberBonusCoachList.add(cuMemberBonusCoach); - } - coachGeneration = i; - } - return handleCoachRemark(backMemberBonusCoachList, coachGeneration); - } - - /** - * 判断是否是服务中心,服务中心算主任 - * - * @param bonusConfigDTO 奖金参数设置 - * @param targetMemberSettleExt 父级 - */ - private BdAwards getBdAwards(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt targetMemberSettleExt, Map cuAwardsControlMap) { - return getAwardsCouch(bonusConfigDTO, targetMemberSettleExt, cuAwardsControlMap); -// BdAwards awardsCouch = getAwardsCouch(bonusConfigDTO, targetMemberSettleExt, cuAwardsControlMap); - // 判断是否有奖衔,没有奖衔判断是否是服务中心,服务中心算主任 -// if (EAwards.MEMBER.getValue() == awardsCouch.getAwardsValue() && ERegistrationAuthority.SERVICE.getValue() == targetMemberSettleExt.getRegisterAuthority()) { -// awardsCouch.setAwardsValue(EAwards.HEADER.getValue()); -// // 获取主任对应的比例 -// BdAwards directorAwardsCouch = getDirectorAwardsCouch(bonusConfigDTO, targetMemberSettleExt); -// // 塞一个临时奖衔,下次就不用在计算一次了 -// if(directorAwardsCouch != null) { -// targetMemberSettleExt.setPkAwards(directorAwardsCouch.getPkId()); -// awardsCouch.setCoachRatio(directorAwardsCouch.getCoachRatio()); -// awardsCouch.setGlobalIntegral(directorAwardsCouch.getGlobalIntegral()); -// awardsCouch.setCarAwardPoints(directorAwardsCouch.getCarAwardPoints()); -// awardsCouch.setAbonusRatio(directorAwardsCouch.getAbonusRatio()); -// return directorAwardsCouch; -// } -// } -// return awardsCouch; - } - - private CuMemberBonusCoach getCuMemberBonusCoach(BonusConfigDTO bonusConfigDTO, CuMemberBonusExpand cuMemberBonusExpand, - int i, CuMemberSettleExt targetMemberSettleExt, BigDecimal awardCalRadio) { - CuMemberBonusCoach cuMemberBonusCoach = CuMemberBonusCoach.builder() - .pkBonus(targetMemberSettleExt.getPkMember()) - .pkOrder(cuMemberBonusExpand.getPkOrder()) - .pkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) - .calType(ECalType.RATIO.getValue()) - .incomeStatus(cuMemberBonusExpand.getIncomeStatus()) - .calAchieve(cuMemberBonusExpand.getPretaxIncome()) - .currentGeneration(i) - // 计算比例 - .calValue(awardCalRadio) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .pretaxIncome(ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getPretaxIncome(), awardCalRadio)) - .coachNoCapping(ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getExpandNoCapping(), awardCalRadio)) - .coachCapping(ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getExpandCapping(), awardCalRadio)) - .coachNormalHalf(ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getExpandNormalHalf(), awardCalRadio)) - .coachNormalReal(ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getExpandNormalReal(), awardCalRadio)) - .build(); - cuMemberBonusCoach.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); - cuMemberBonusCoach.setPkCreator(MagicNumberConstants.PK_ADMIN); - if (EExpireStatus.TERMINATED.getValue() == targetMemberSettleExt.getExpireStatus()) { - cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - return cuMemberBonusCoach; - } - - /** - * @param backMemberBonusCoachList 临时记录辅导奖列表 - * @param i 第几代 - * 处理拓展表备注 - * @return: void - * @Author: sui q - * @Date: 2022/11/17 18:02 - */ - private List handleCoachRemark(List backMemberBonusCoachList, int i) { - List cuMemberBonusCoachList = new ArrayList<>(); - for (CuMemberBonusCoach cuMemberBonusCoach : backMemberBonusCoachList) { - cuMemberBonusCoach.setCoachGeneration(i); - cuMemberBonusCoach.setRemark(cuMemberBonusCoach.getRemark().replace("#", cuMemberBonusCoach.getCoachGeneration().toString())); - cuMemberBonusCoachList.add(cuMemberBonusCoach); - } - return cuMemberBonusCoachList; - } - - /** - * 计算报单服务费 - * - * @param settleTableName 结算表 - * @param period 期间 - * @param bonusConfigDTO 参数 - * @param firPurchaseOrderList 订单列表 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - */ - List calculateServiceBonus(Map cuMemberSettleExtMap, String settleDate, String settleTableName, BonusConfigDTO bonusConfigDTO, - List firPurchaseOrderList, Integer period, Map cuMemberBonusMap) { - List cuMemberBonusDetailList = new ArrayList<>(); - // 先过滤数据,验证报单人是否在网体列表中,不在需要从数据库中查询 - Set serviceMemberSet = new HashSet<>(); - firPurchaseOrderList.forEach(saOrderExt -> { - CuMemberSettleExt cuMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - if (cuMemberSettleExt != null && cuMemberSettleExt.getPkCenterCode() != null) { - serviceMemberSet.add(cuMemberSettleExt.getPkCenterCode()); - } - }); - Map cuMemberAssessMap = packageMemberSettleByPkMemberSet(cuMemberSettleExtMap, settleDate, settleTableName, serviceMemberSet); - // 计算报单服务费 - for (SaOrderExt saOrderExt : firPurchaseOrderList) { - // 只有注册订单有报单服务费 - if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { - CuMemberBonusDetail cuMemberBonusDetail = calculateServiceBonusOne(settleDate, cuMemberAssessMap, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt); - if (cuMemberBonusDetail != null) { - cuMemberBonusDetailList.add(cuMemberBonusDetail); - } - } - } - // 查询会员 - return cuMemberBonusDetailList; - } - - /** - * 计算服务中心奖 - */ - CuMemberBonusDetail calculateServiceBonusOne(String settleDate, Map cuMemberAssessMap, Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, SaOrderExt saOrderExt) { - CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - if (sourceMemberSettleExt == null || sourceMemberSettleExt.getPkCenterCode() == null) { - return null; - } - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(sourceMemberSettleExt.getPkCenterCode()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() || - ERegistrationAuthority.SERVICE.getValue() != targetMemberSettleExt.getRegisterAuthority()) { - return null; - } - // 验证是否有奖金 - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.SERVICE_SUBSIDIES.getValue())) { - return null; - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - BdBonusService bdBonusService = bonusConfigDTO.getBonusServiceMap().get(targetMemberSettleExt.getPkSettleCountry().toString() + EServiceType.SUBSIDY.getValue()); -// if (bdBonusService.getAssessmentType() != null && EAssessmentType.REPURCHASE_ASSESS.getValue() == bdBonusService.getAssessmentType()) { -// // 复购考核不通过,不存在报单服务费 -// boolean flag = cuMemberAssessMap == null || !cuMemberAssessMap.containsKey(targetMemberSettleExt.getPkMember()); -// if (Objects.equals(CountryConstants.CHINA_COUNTRY, targetMemberSettleExt.getPkSettleCountry()) && flag) { -// return null; -// } -// } - // 服务补贴奖金明细 - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, targetMemberSettleExt, cuMemberBonus); - BigDecimal serviceRadio = bdBonusService.getServiceRadio(); - // 计算比例 - cuMemberBonusDetail.setCalValue(serviceRadio); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.SERVICE_SUBSIDIES.getValue())); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), serviceRadio)); - // 收益占比 - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - serviceRemark(saOrderExt, cuMemberBonusDetail, sourceMemberSettleExt, targetMemberSettleExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus() - && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - if (cuMemberAssessMap == null || !cuMemberAssessMap.containsKey(targetMemberSettleExt.getPkMember())) { - cuMemberBonusDetail.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setServiceIncome(ComputeUtil.computeAdd(cuMemberBonus.getServiceIncome(), cuMemberBonusDetail.getPretaxIncome())); - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - return cuMemberBonusDetail; - } - - - /** - * 计算全球积分车奖积分 - */ - List calculateGlobalCarBonusOne(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, - BonusConfigDTO bonusConfigDTO, List cuMemberBonusList, - Integer period, Map cuMemberBonusMap) { - List cuMemberBonusDetailList = new ArrayList<>(); - if (cuMemberBonusList != null && cuMemberBonusList.size() > 0) { - Set memberSet = new HashSet<>(); - cuMemberBonusList.forEach(cuMemberBonus -> - memberSet.add(cuMemberBonus.getPkMember())); - List cuMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, memberSet); - // 获取复购考核结果 - Map cuMemberAssessMap = getLongCuMemberAssessMap(settleDateStr, cuMemberSettleExtList); - // 初始化父类网体的值 - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - // 开始计算全球积分车奖积分,往上找10代血缘,判断血缘的奖衔是否>= 5的倍数 - for (CuMemberBonus cuMemberBonus : cuMemberBonusList) { -// List bonusDetailList = calculateGlobalCarBonusDetail(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, cuMemberBonus, EBonusItems.GLOBAL_POINTS.getValue(), cuMemberAssessMap); -// if (bonusDetailList.size() > 0) { -// cuMemberBonusDetailList.addAll(bonusDetailList); -// } -// List carBonusDetailList = calculateGlobalCarBonusDetail(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, cuMemberBonus, EBonusItems.CAR_BONUS_POINTS.getValue(), cuMemberAssessMap); -// if (carBonusDetailList.size() > 0) { -// cuMemberBonusDetailList.addAll(carBonusDetailList); -// } - } - } - return cuMemberBonusDetailList; - } - - /** - * 计算全球积分车奖积分 - */ - List calculateGlobalCarBonusDetail(Map cuMemberSettleExtMap, - BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, CuMemberBonus sourceMemberBonus, - Integer incomeType, Map cuMemberAssessMap) { - List cuMemberBonusDetailList = new ArrayList<>(); - CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(sourceMemberBonus.getPkMember()); - if (sourceMemberSettleExt == null) { - return cuMemberBonusDetailList; - } - Long pkMember = sourceMemberSettleExt.getPkParent(); - // 获得量奖的人往上找10代血缘 - BigDecimal shareBonus = ComputeUtil.computeAddNum(sourceMemberBonus.getDirectIncome(), sourceMemberBonus.getExpandIncome(), - sourceMemberBonus.getCoachIncome(), sourceMemberBonus.getShareIncome()); - Map cuAwardsControlMap = new HashMap<>(10); - Map currencyDtoMap = bonusConfigDTO.getCurrencyDtoMap(); - for (int i = MagicNumberConstants.BLOOD_GENERATION_START; i <= MagicNumberConstants.BLOOD_GENERATION_END; i++) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(pkMember); - if (targetMemberSettleExt == null) { - break; - } -// if (EBonusItems.GLOBAL_POINTS.getValue() == incomeType) { -// if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.GLOBAL_POINTS.getValue())) { -// continue; -// } -// } else { -//// if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CAR_BONUS_POINTS.getValue())) { -//// continue; -//// } -// } - if (!targetMemberSettleExt.getPkSettleCountry().equals(sourceMemberBonus.getPkCountry())) { - continue; - } - if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), incomeType)) { - continue; - } - SaOrder saOrder = SaOrder.builder().pkRate(targetMemberSettleExt.getPkRate()).build(); - saOrder.setPkCountry(targetMemberSettleExt.getPkCountry()); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); - BdAwards awardsCouch = getBdAwards(bonusConfigDTO, targetMemberSettleExt, cuAwardsControlMap); - // 判断是否有奖金 - if (awardsCouch.getAwardsValue() >= MagicNumberConstants.BLOOD_GENERATION_SERIES * i) { - BdAwards coachAward = bonusConfigDTO.getAwardsValueMap().get(targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.AWARDS.getValue() + MagicNumberConstants.BLOOD_GENERATION_SERIES * i); - BigDecimal globalIntegral = BigDecimal.ZERO; - BigDecimal carAwardPoints = BigDecimal.ZERO; - if (coachAward != null) { - globalIntegral = coachAward.getGlobalIntegral(); - carAwardPoints = coachAward.getCarAwardPoints(); - } - CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder() - .pkBonus(cuMemberBonus.getPkId()) - .pkOrder(0L) - .calType(ECalType.RATIO.getValue()) - .incomeStatus(targetMemberSettleExt.getIncomeStatus()) - .pretaxIncome(BigDecimal.ZERO) - .incomeTax(BigDecimal.ZERO) - .realIncome(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .calAchieve(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .build(); - cuMemberBonusDetail.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); - cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); - // 计算比例 -// String msg = BonusMsgConstants.GLOBAL_INTEGRAL; -// if (EBonusItems.GLOBAL_POINTS.getValue() == incomeType) { -// cuMemberBonusDetail.setCalValue(globalIntegral); -// } else { -// cuMemberBonusDetail.setCalValue(carAwardPoints); -// msg = BonusMsgConstants.CAR_AWARD_POINTS; -// } - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), incomeType)); - // 推荐+拓展+领导+分红 * 比例 - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(shareBonus, cuMemberBonusDetail.getCalValue())); - // 收益占比 - BigDecimal exchangeRate = BigDecimal.ONE; - if (currencyDtoMap.containsKey(cuMemberBonus.getPkCountry().toString() + cuMemberBonus.getPkRate())) { - exchangeRate = currencyDtoMap.get(cuMemberBonus.getPkCountry().toString() + cuMemberBonus.getPkRate()).getInExchangeRate(); - } - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, shareBonus, exchangeRate); -// globalShareRemark(cuMemberBonusDetail, msg); -// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { -// if (EBonusItems.GLOBAL_POINTS.getValue() == incomeType) { -// cuMemberBonus.setGlobalPoints(ComputeUtil.computeAdd(cuMemberBonus.getGlobalPoints(), cuMemberBonusDetail.getPretaxIncome())); -// } else { -// cuMemberBonus.setCarAwardPoints(ComputeUtil.computeAdd(cuMemberBonus.getCarAwardPoints(), cuMemberBonusDetail.getPretaxIncome())); -// } -// setBonusDeduct(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); -//// cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), cuMemberBonusDetail.getRealIncome())); -// } - // 判断会员状态 - // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus() && - EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusDetail.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } - pkMember = targetMemberSettleExt.getPkParent(); - cuMemberBonusDetailList.add(cuMemberBonusDetail); - } - } - return cuMemberBonusDetailList; - } - - /** - * 计算报单服务费 - * 车奖 全球分红 有奖衔的会员,复购考核通过的,根据对应奖衔可拿代数配置拿下面代数的(推荐+拓展+领导+分红)奖金合计为基数的相应代数的比率(配置值) - * 跟领导奖一样的算法,不算启动卡 - * - * @param settleDateStr 结算日期 - * @param period 期间 - */ - List calculateShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, Map cuAwardsControlMap) { - Date settleDate = DateUtils.parseStringToDate(settleDateStr); - String currentFirstDate = DateUtils.currentMonthFirstDateStr(settleDate); - String beforeMonthLastDate = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, currentFirstDate); - // 查询上月最后一天 - Integer beforeMonthLastPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(beforeMonthLastDate).getPkId(); - String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeMonthLastPeriod; - String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + beforeMonthLastPeriod; - // 查询上月第一天 - String beforeMonthFirstDate = DateUtils.beforeMonthFirstDateStr(settleDate); - Integer beforeMonthFirstPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(beforeMonthFirstDate).getPkId(); - // 查询上月最后一天会员等级达到奖衔的会员 - Integer assessPeriod = getCuMemberSettlePeriodService().getCuMemberSettlePeriodByDate(currentFirstDate).getPkId(); - String assessTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(settleDateStr); - // 获取结算日期的第一天的日期 - // 查询复购考核结果 - List cuMemberSettleExtList = cuMemberTreeService.queryMemberSettleByAwards(settleTableName, rangeTableName, beforeMonthFirstPeriod, beforeMonthLastPeriod); - Map cuMemberAssessMap = getCuMemberAssessService().queryCuMemberAssessByMember(assessTableName, assessPeriod, EAssessmentType.REPURCHASE_ASSESS.getValue(), cuMemberSettleExtList); -// List cuMemberAssessList = getCuMemberAssessService().queryCuMemberShareAssess(assessTableName, assessPeriod); - - List cuMemberBonusDetailList = new ArrayList<>(); - for (CuMemberSettleExt targetMemberSettleExt : cuMemberSettleExtList) { - SaOrder saOrder = SaOrder.builder().pkId(0L).orderAchieve(BigDecimal.ZERO).build(); - saOrder.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); - CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrder, targetMemberSettleExt, cuMemberBonus); - cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIVIDEND_INCOME.getValue())); - // 获取计算比例,根据奖衔获取 - // 计算比例 - cuMemberBonusDetail.setCalAchieve(targetMemberSettleExt.getRealIncomeTotal()); - cuMemberBonusDetail.setCalValue(targetMemberSettleExt.getAbonusRatio()); - cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(targetMemberSettleExt.getRealIncomeTotal(), targetMemberSettleExt.getAbonusRatio())); - shareRemark(cuMemberBonusDetail, settleDateStr); - BdBonusDeduct bdBonusDeduct = bonusConfigDTO.getBonusDeductsMap().get(cuMemberBonusDetail.getPkBonusItems()); - cuMemberBonusDetail.setIncomeTax(BigDecimal.ZERO); - cuMemberBonusDetail.setRealIncome(ComputeUtil.computeSubtract(cuMemberBonusDetail.getPretaxIncome(), cuMemberBonusDetail.getIncomeTax())); - cuMemberBonusDetail.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); - cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus() - && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusDetail.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { - cuMemberBonus.setShareIncome(ComputeUtil.computeAdd(cuMemberBonus.getShareIncome(), cuMemberBonusDetail.getPretaxIncome())); - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); - } - cuMemberBonusDetailList.add(cuMemberBonusDetail); - } - // 查询月初分红考核数据,只查询出有奖衔的且分红考核通过的 - // 查询分红考核的配置 -// Map cuMemberShareDetailMap = cuMemberShareDetailService.queryCuMemberShareBonusByPeriod(assessPeriod); -// if (CollectionUtil.isNotEmpty(cuMemberAssessList)) { -// Set serviceMemberSet = new HashSet<>(); -// cuMemberAssessList.forEach(cuMemberAssess -> serviceMemberSet.add(cuMemberAssess.getPkMember())); -// List cuMemberSettleExtList = cuMemberTreeService.batchQueryMemberSettleByMemberPk(settleTableName, serviceMemberSet); -// // 初始化父类网体的值 -// Map cuMemberSettleExtMap = new HashMap<>(); -// getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); -// // 验证国家是否有奖金 -// cuMemberAssessList.forEach(cuMemberAssess -> { -// if (validatePkBonusItems(bonusConfigDTO, cuMemberAssess.getPkCountry(), EBonusItems.DIVIDEND_INCOME.getValue()) /*|| cuMemberAssess.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)*/) { -// return; -// } -// CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(cuMemberAssess.getPkMember()); -// // 处理pk_rate -// SaOrder saOrder = SaOrder.builder() -// .pkId(0L) -// .orderAchieve(BigDecimal.ZERO) -// .build(); -// saOrder.setPkCountry(targetMemberSettleExt.getPkCountry()); -// CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrder, targetMemberSettleExt); -// // 分红奖金明细 -// CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrder, targetMemberSettleExt, cuMemberBonus); -// cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.DIVIDEND_INCOME.getValue())); -// // 获取计算比例,根据奖衔获取 -// // 计算比例 -// if (cuMemberShareDetailMap.containsKey(targetMemberSettleExt.getPkSettleCountry().toString() + targetMemberSettleExt.getPkAwards())) { -// // 获取奖衔 -// Integer pkAwards = targetMemberSettleExt.getPkAwards(); -// Long pkMember = targetMemberSettleExt.getPkMember(); -// if (cuAwardsControlMap.containsKey(pkMember)) { -// if (cuAwardsControlMap.get(pkMember).getDividendAward() != null) { -// pkAwards = cuAwardsControlMap.get(pkMember).getDividendAward(); -// } -// } -// CuMemberShareDetail cuMemberShareDetail = cuMemberShareDetailMap.get(targetMemberSettleExt.getPkSettleCountry().toString() + pkAwards); -// if (cuMemberShareDetail == null) { -// return; -// } -// cuMemberBonusDetail.setCalValue(cuMemberShareDetail.getRealShareIncome()); -// } else { -// cuMemberBonusDetail.setCalValue(BigDecimal.ZERO); -// } -// cuMemberBonusDetail.setPretaxIncome(cuMemberBonusDetail.getCalValue()); -// shareRemark(cuMemberBonusDetail, settleDateStr); -// BdBonusDeduct bdBonusDeduct = bonusConfigDTO.getBonusDeductsMap().get(cuMemberBonusDetail.getPkBonusItems()); -// BigDecimal incomeTax = BigDecimal.ZERO; -// if (bdBonusDeduct != null) { -// incomeTax = ComputeUtil.computeBonusMultiply(cuMemberBonusDetail.getPretaxIncome(), ComputeUtil.computeAdd(bdBonusDeduct.getPlatformRatio(), bdBonusDeduct.getBackRatio())); -// } -// cuMemberBonusDetail.setIncomeTax(incomeTax); -// cuMemberBonusDetail.setRealIncome(ComputeUtil.computeSubtract(cuMemberBonusDetail.getPretaxIncome(), cuMemberBonusDetail.getIncomeTax())); -// cuMemberBonusDetail.setPkCountry(targetMemberSettleExt.getPkSettleCountry()); -// cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); -// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { -// cuMemberBonus.setShareIncome(ComputeUtil.computeAdd(cuMemberBonus.getShareIncome(), cuMemberBonusDetail.getPretaxIncome())); -// setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail); -// } -// cuMemberBonusDetailList.add(cuMemberBonusDetail); -// }); -// } - return cuMemberBonusDetailList; - } - - /** - * 计算量碰 - * - * @param period 期间 - * @param cuMemberBonusMap 奖金汇总 - * @param cuMemberBonusExpandList 拓展奖奖金明细 - * @param saOrderExt 订单 - * @param touchNum 碰次 - * @param i 当前碰次 - * @param sourceMemberSettleExt 提供奖金的人 - * @param targetMemberSettleExt 获得奖金的人 - * @param bdGrade 等级对应的参数 - * @param countryExpandRatio 4-n时计算国家对应的参数 - */ - private void calculateExpandBonusByAchieve(Map riskControlMap, Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, - BonusConfigDTO bonusConfigDTO, Map systemConfigMap, List cuMemberBonusExpandList, SaOrderExt saOrderExt, int touchNum, int i, - CuMemberSettleExt sourceMemberSettleExt, CuMemberSettleExt targetMemberSettleExt, BdGrade bdGrade, BigDecimal countryExpandRatio, BigDecimal addTouch, Map cuMemberAssessMap) { - Integer pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.EXPANSION_INCOME.getValue()); - // 验证封顶方式 1=日 2=周,若是周的话需要获取 周奖金 -// BigDecimal weekExpandIncome = BigDecimal.ZERO; -// if (systemConfigMap.containsKey(targetMemberSettleExt.getPkSettleCountry().toString() + ESystemConfig.EXPAND_CAP_METHOD.getKey())) { -// String expandCapMethod = systemConfigMap.get(targetMemberSettleExt.getPkSettleCountry() + ESystemConfig.EXPAND_CAP_METHOD.getKey()); -// if (Objects.equals(expandCapMethod, Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue())) && -// weekMemberBonusMap.containsKey(targetMemberSettleExt.getPkMember())) { -// weekExpandIncome = weekMemberBonusMap.get(targetMemberSettleExt.getPkMember()).getExpandIncome(); -// } -// } - BigDecimal gradeExpandRatio = bdGrade.getExpandRatio(); - // 验证受益人等级 - CuMember cuMember = iCuMemberService.getMember(targetMemberSettleExt.getMemberCode()); - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY) && - cuMember != null && DateUtils.compareDate(DateUtils.parseStringToDate("2024-09-11"), cuMember.getPayTime()) > 0) { - if (targetMemberSettleExt.getGradeValue() == EGrade.VIP.getValue()) { - if (ComputeUtil.compareValue(countryExpandRatio, BigDecimal.valueOf(11)) && (i <= 3 || touchNum <= 10)) { - countryExpandRatio = BigDecimal.valueOf(13); - } - } else if (targetMemberSettleExt.getGradeValue() == EGrade.MAKER.getValue()) { - if (ComputeUtil.compareValue(countryExpandRatio, BigDecimal.valueOf(10)) && (i <= 3 || touchNum <= 10)) { - countryExpandRatio = BigDecimal.valueOf(11); - } - } - } - // 获取等级封顶值 - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - BigDecimal calAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getABalance(), targetMemberSettleExt.getBBalance()); - CuMemberBonusExpand cuMemberBonusExpand = getCuMemberBonusExpand(saOrderExt, touchNum, i, targetMemberSettleExt, countryExpandRatio, cuMemberBonus, calAchieve, pkBonusItems, addTouch); - // 扣减a、b区结余 - targetMemberSettleExt.setABalance(ComputeUtil.computeSubtract(targetMemberSettleExt.getABalance(), calAchieve)); - targetMemberSettleExt.setBBalance(ComputeUtil.computeSubtract(targetMemberSettleExt.getBBalance(), calAchieve)); - // 计算收益 先计算出会员最大的收益 - BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio); - BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio); - // K值设置 - if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) { - actualIncome = ComputeUtil.computeBonusMultiply(actualIncome, riskControlMap.get(cuMemberBonus.getPkMember()).getExpandRatio()); - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.RISK_CONTROL.getValue()); - } - // 获取等级对应的封顶值 - BigDecimal expandIncome = ComputeUtil.computeAdd(ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), actualIncome), cuMemberBonus.getRepurExpandIncome()); - // 判断收益 是否超过封顶值,超过的话变为封顶值 - // 判断是否烧伤,判断原奖金是否>=封顶值,奖金到了就是烧伤 - // 验证会员状态 封停状态跟冻结都正常计算奖金,封停的账号发放的时候奖金发放为0,冻结的账号正常发放,不能登录 - packageCuMemberBonusExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), maxIncome, actualIncome); - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), cuMemberBonus.getRepurExpandIncome()), bdGrade.getExpandCapping())) { - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - expandIncome = ComputeUtil.computeSubtract(bdGrade.getExpandCapping(), ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), cuMemberBonus.getRepurExpandIncome())); - } else if (ComputeUtil.compareGreaterThan(expandIncome, bdGrade.getExpandCapping())) { - BigDecimal realIncome = ComputeUtil.computeSubtract(bdGrade.getExpandCapping(), ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), cuMemberBonus.getRepurExpandIncome())); - //存在一半烧伤一半正常的值,拆2条 - // 拓展明细表 进行修改 - packageCuMemberBonusExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), realIncome, realIncome); - CuMemberBonusExpand fireCuMemberBonusExpand = BeanUtil.copyProperties(cuMemberBonusExpand, CuMemberBonusExpand.class); - BigDecimal fireIncome = ComputeUtil.computeSubtract(maxIncome, realIncome); - if (EBonusIncomeStatus.NORMAL.getValue() == fireCuMemberBonusExpand.getIncomeStatus()) { - fireCuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - packageCuMemberBonusExpand(fireCuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), fireIncome, fireIncome); - // 收益占比 - setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - expandRemark(saOrderExt, fireCuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); - cuMemberBonusExpandList.add(fireCuMemberBonusExpand); - // 拓展收益取封顶最大值 - expandIncome = bdGrade.getExpandCapping(); - } - // 收益占比 - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - expandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); - if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) { - cuMemberBonusExpand.setRemark(cuMemberBonusExpand.getRemark() + "K值比例:" + riskControlMap.get(cuMemberBonus.getPkMember()).getExpandRatio() + "。"); - } - if (ComputeUtil.compareValue(addTouch)) { - cuMemberBonusExpand.setRemark(cuMemberBonusExpand.getRemark() + "增加碰次:" + addTouch + "。"); - } - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() - && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() || - EBonusIncomeStatus.RISK_CONTROL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { - // 判断会员状态,会员状态为封停的话状态修改为停收 - cuMemberBonus.setExpandIncome(ComputeUtil.computeSubtract(expandIncome, cuMemberBonus.getRepurExpandIncome())); - setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); - } - cuMemberBonusExpandList.add(cuMemberBonusExpand); - } - - /** - * 还原会员结算表,将 轮次 +1 最小值变为0 - * - * @param cuMemberSettleExt 结算体数据 - */ - private void reductionMemberSettle(CuMemberSettleExt cuMemberSettleExt) { - cuMemberSettleExt.setMinAchieve(BigDecimal.ZERO); - cuMemberSettleExt.setSecond(0); - cuMemberSettleExt.setRound(cuMemberSettleExt.getRound() + 1); - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java deleted file mode 100644 index 772ce9e2..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ /dev/null @@ -1,1005 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import com.hzs.activity.pick.IAcPickServiceApi; -import com.hzs.bonus.base.service.ICuMemberService; -import com.hzs.bonus.bonus.param.LeXueRangeParam; -import com.hzs.common.core.constant.CountryConstants; -import com.hzs.common.core.constant.MagicNumberConstants; -import com.hzs.common.core.constant.msg.BonusMsgConstants; -import com.hzs.common.core.enums.*; -import com.hzs.common.core.utils.ComputeUtil; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.domain.activity.pick.AcPickMemberLog; -import com.hzs.common.domain.activity.pick.ext.AcPickExt; -import com.hzs.common.domain.bonus.BdBonusDeduct; -import com.hzs.common.domain.bonus.risk.CuMemberRiskControl; -import com.hzs.common.domain.member.base.CuAwardsControl; -import com.hzs.common.domain.member.base.CuMember; -import com.hzs.common.domain.member.bonus.CuMemberBonus; -import com.hzs.common.domain.member.bonus.CuMemberBonusExpand; -import com.hzs.common.domain.member.bonus.CuMemberBonusPush; -import com.hzs.common.domain.member.bonus.CuMemberBonusRange; -import com.hzs.common.domain.member.detail.CuMemberAssess; -import com.hzs.common.domain.member.ext.CuBonusExpandExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.common.domain.sale.ext.SaOrderItemsExt; -import com.hzs.common.domain.system.config.BdAwards; -import com.hzs.common.domain.system.config.BdGrade; -import com.hzs.sale.order.dto.SaOrderRangeDto; -import com.hzs.system.config.dto.BonusConfigDTO; -import com.hzs.system.config.dto.BonusExpandDTO; -import com.hzs.system.config.dto.BonusRepurchasePushDTO; -import com.hzs.system.config.dto.RangeDTO; -import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 计算复购的奖金处理类 - */ -@Component -public class BonusSettlePurchaseHandle extends BonusSettleHandle { - - @DubboReference - IAcPickServiceApi acPickServiceApi; - - @Autowired - private BonusSettleFirstPurchaseHandle bonusSettleFirstPurchaseHandle; - - @Autowired - private ICuMemberService cuMemberService; - - /* - * 计算复购直推 血缘10代根据比例 - **/ - List calculateRepurchasePushBonus(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, - List purchaseOrderList, Integer period, Map cuMemberBonusMap) { - List cuMemberBonusPushList = new ArrayList<>(); - if (purchaseOrderList.size() > 0) { - Set expandMemberSet = new HashSet<>(); - purchaseOrderList.forEach(saOrderExt -> expandMemberSet.add(saOrderExt.getPkMember())); - List cuMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, expandMemberSet); - getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - Map cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDateStr, cuMemberSettleExtList); - for (SaOrderExt saOrderExt : purchaseOrderList) { - // 国内没有复购直推 - if (saOrderExt.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { - continue; - } - if (EOrderType.REPURCHASE_ORDER.getValue() == saOrderExt.getOrderType() && ComputeUtil.compareEqual(saOrderExt.getOrderAmount(), BigDecimal.valueOf(158000))) { - continue; - } - List newMemberBonusPushList = calculateRepurchasePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, cuMemberAssessMap, period, cuMemberBonusMap, saOrderExt); - if (newMemberBonusPushList.size() > 0) { - cuMemberBonusPushList.addAll(newMemberBonusPushList); - } - } - } - return cuMemberBonusPushList; - } - - List calculateRepurchasePushBonusOne(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Map cuMemberAssessMap, Integer period, Map cuMemberBonusMap, SaOrderExt saOrderExt) { - CuMemberSettleExt sourceSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - List cuMemberBonusPushList = new ArrayList<>(); - if (sourceSettleExt == null) { - return cuMemberBonusPushList; - } - BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); -// if(ComputeUtil.compareValue(saOrderExt.getOrderAmount(), BigDecimal.valueOf(170000))){ -// for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) { -// if(Objects.equals(13825, saOrderItemsExt.getPkWares())){ -// orderAchieve = ComputeUtil.computeSubtract(orderAchieve, saOrderItemsExt.getAchievement()); -// } -// } -// if(!ComputeUtil.compareValue(orderAchieve)){ -// return cuMemberBonusPushList; -// } -// } - int i = MagicNumberConstants.BLOOD_GENERATION_START; - Long pkParent = sourceSettleExt.getPkParent(); - while (i <= MagicNumberConstants.BLOOD_GENERATION_END) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(pkParent); - if (targetMemberSettleExt == null) { - break; - } -// if(MagicNumberConstants.ACHIEVE_SETTLE_MEMBER.equals(sourceSettleExt.getMemberCode()) || -// MagicNumberConstants.ACHIEVE_SETTLE_MEMBER.equals(targetMemberSettleExt.getMemberCode()) ){ -// if(cuMemberTreeService.queryCuMemberUnderUmbrella(settleName, saOrderExt.getPkMember())) { -// break; -// } -// } - // 死点没有奖金 - if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - pkParent = targetMemberSettleExt.getPkParent(); - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.HELP_EACH_INCOME.getValue())) { - pkParent = targetMemberSettleExt.getPkParent(); - continue; - } - // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - // 海粉推荐的直接考核通过 - if (!Objects.equals(MagicNumberConstants.CHINA_HA_FUN, targetMemberSettleExt.getPkGrade())) { - if (EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - pkParent = targetMemberSettleExt.getPkParent(); - continue; - } - } - } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - // 直推奖金明细 - int pkBonusItem = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.HELP_EACH_INCOME.getValue()); - CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.getCuMemberBonusPush(saOrderExt, targetMemberSettleExt, cuMemberBonus, pkBonusItem); - Map repurchasePushMap = bonusConfigDTO.getBonusRepurchasePushMap().get(targetMemberSettleExt.getPkSettleCountry()); - if (!repurchasePushMap.containsKey(i)) { - break; - } - // 复购直推需要修改 - BonusRepurchasePushDTO bonusRepurchasePushDTO = repurchasePushMap.get(i); - cuMemberBonusPush.setCalType(bonusRepurchasePushDTO.getCalType()); - cuMemberBonusPush.setRound(0); - cuMemberBonusPush.setSecond(0); - // 比例 - if (ECalType.RATIO.getValue() == bonusRepurchasePushDTO.getCalType()) { - cuMemberBonusPush.setCalValue(bonusRepurchasePushDTO.getPushValue()); - cuMemberBonusPush.setPretaxIncome(ComputeUtil.computeBonusMultiply(orderAchieve, bonusRepurchasePushDTO.getPushValue())); - } else { - cuMemberBonusPush.setCalValue(BigDecimal.ZERO); - cuMemberBonusPush.setPretaxIncome(bonusRepurchasePushDTO.getPushValue()); - } - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusPush.getIncomeStatus()) { - cuMemberBonus.setRepurPushIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurPushIncome(), cuMemberBonusPush.getPretaxIncome())); - setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusPush); - } - repurchasePushRemark(saOrderExt, cuMemberBonusPush, sourceSettleExt, targetMemberSettleExt, BonusMsgConstants.REPURCHASE_PUSH); - cuMemberBonusPushList.add(cuMemberBonusPush); - pkParent = targetMemberSettleExt.getPkParent(); - i++; - } - return cuMemberBonusPushList; - } - - /** - * 计算复购拓展收益 - * - * @param settleTableName 结算表 - * @param period 期间 - * @param bonusConfigDTO 参数 - * @param purchaseOrderList 首单 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - */ - List calculateRepurchaseExpandBonus(Map riskControlMap, Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, Map systemConfigMap, - List purchaseOrderList, Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, Map cuBonusExpandExtMap) { - List cuMemberBonusExpandList = new ArrayList<>(); - // 获取所有订单的上级,根据订单往上一步步计算 - Map> memberSettleMap = cuMemberTreeService.batchQueryCuMemberSettlePlaceParent(settleTableName, purchaseOrderList); - List memberSettleExtList = new ArrayList<>(); - for (List cuMemberSettleExt : memberSettleMap.values()) { - memberSettleExtList.addAll(cuMemberSettleExt); - } - getMemberSettle(cuMemberSettleExtMap, memberSettleExtList); - Map cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDateStr, memberSettleExtList); - for (SaOrderExt saOrderExt : purchaseOrderList) { - // 所有需要计算的父节点,只计算新增 - List cuMemberSettleExtList = memberSettleMap.get(saOrderExt.getPkId()); - BigDecimal addTouch = BigDecimal.ZERO; - BigDecimal expandRatio = BigDecimal.ZERO; - int expandNumber = 0; - for (int i = cuMemberSettleExtList.size() - 1; i >= 0; i--) { - CuMemberSettleExt cuMemberSettleExt = cuMemberSettleExtList.get(i); - if (cuBonusExpandExtMap.containsKey(cuMemberSettleExt.getPkMember())) { - addTouch = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getAddTouch(); - expandRatio = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getExpandRatio(); - expandNumber = cuBonusExpandExtMap.get(cuMemberSettleExt.getPkMember()).getExpandNumber(); - break; - } - } - List newMemberBonusExpandList = calculateRepurchaseExpandBonusOne(riskControlMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, - weekMemberBonusMap, cuMemberBonusMap, cuMemberAssessMap, saOrderExt, cuMemberSettleExtList, addTouch, expandRatio, expandNumber); - if (newMemberBonusExpandList.size() > 0) { - cuMemberBonusExpandList.addAll(newMemberBonusExpandList); - } - } - // 根据订单往上穿业绩,只计算新增 - return cuMemberBonusExpandList; - } - - /** - * @Description: 秒接复购量奖 - * @return: List - * @Author: sui q - * @Date: 2023/3/20 16:10 - */ - protected List calculateRepurchaseExpandSecondBonus(Map riskControlMap, String settleTableName, Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, - Map systemConfigMap, Integer period, - Map weekMemberBonusMap, - Map cuMemberBonusMap, SaOrderExt saOrderExt, - List cuMemberSettleExtList, String settleDateStr, BigDecimal addTouch, BigDecimal expandRatio, Integer expandNumber) { - Map cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDateStr, cuMemberSettleExtList); - // 复购订单,计算复购极差,复购拓展 - return calculateRepurchaseExpandBonusOne(riskControlMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, - cuMemberAssessMap, saOrderExt, cuMemberSettleExtList, addTouch, expandRatio, expandNumber); - } - - /** - * @Description: 秒接复购量奖 - * @return: List - * @Author: sui q - * @Date: 2023/3/20 16:10 - */ - protected List calculateRepurchasePushSecondBonus(String settleTableName, Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, SaOrderExt saOrderExt, - List cuMemberSettleExtList, String settleDateStr) { - // 根据订单获取轮次,要回写 - Map cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDateStr, cuMemberSettleExtList); - return calculateRepurchasePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, cuMemberAssessMap, period, cuMemberBonusMap, saOrderExt); - } - - - private List calculateRepurchaseExpandBonusOne(Map riskControlMap, String settleName, Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Map systemConfigMap, Integer period, - Map weekMemberBonusMap, Map cuMemberBonusMap, Map cuMemberAssessMap, - SaOrderExt saOrderExt, List cuMemberSettleExtList, BigDecimal addTouch, BigDecimal expandRatio, Integer expandNumber) { - Map bdBonusExpandMap = bonusConfigDTO.getBonusExpandMap(); - List cuMemberBonusExpandList = new ArrayList<>(); - CuMemberSettleExt settleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - if (settleExt == null) { - return cuMemberBonusExpandList; - } - settleExt.setRepurchaseAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - settleExt.setRepurchasePv(ComputeUtil.computeAdd(settleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); - settleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseNewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - settleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(settleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); - // 先计算新增,根据新增计算碰次 - // 先进行初始化所有的安置人,存储需要修改的值,cuMemberSettleExtMap最终修改的 -// getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - // 先准备值,准备好值后,开始计算,计算碰次 - int touchNum = calculateTouchNum(riskControlMap, settleName, cuMemberAssessMap, cuMemberSettleExtMap, saOrderExt, cuMemberSettleExtList, bonusConfigDTO); - // 有碰次,计算拓展奖 - if (touchNum > 0) { - // 判断是否>3 是否需要启动4-N,4-N的参数按照伞上各安置人结算国家进行获取 - // 先计算前3碰 - int startTouch = touchNum; - // 后面碰次 - int endTouch = 0; - BonusExpandDTO bdBonusExpand = bdBonusExpandMap.get(saOrderExt.getPkCountry()); - int realExpandNumber = expandNumber > 0 ? expandNumber : bdBonusExpand.getExpandNumber(); - if (touchNum > realExpandNumber) { - startTouch = realExpandNumber; - endTouch = touchNum - startTouch; - } - // 正常的拓展奖计算 - // 计算拓展奖 - for (int i = 1; i <= startTouch; i++) { - for (CuMemberSettleExt sourceMemberSettleExt : cuMemberSettleExtList) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(sourceMemberSettleExt.getPkPlaceParent()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue())) { - continue; - } - // 判断左右区是否有值,找到有值的就是有碰次,碰完左区或右区肯定有变为0的 - // 判断左右区是否有值,找到有值的就是有碰次,碰完左区或右区肯定有变为0的 - if ((targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(targetMemberSettleExt.getABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getBBalance())) - || (ComputeUtil.compareValue(targetMemberSettleExt.getRepABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getRepBBalance()))) { - // 根据会员等级获取对应的配置 - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - BigDecimal countryExpandRatio = bdGrade.getRepurchaseRatio(); - Integer pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue()); - calculateRepurchaseExpandBonusByAchieve(period, weekMemberBonusMap, cuMemberBonusMap, bonusConfigDTO, systemConfigMap, cuMemberBonusExpandList, saOrderExt, touchNum, i, sourceMemberSettleExt, targetMemberSettleExt, bdGrade, countryExpandRatio, pkBonusItems, cuMemberAssessMap); - break; - } - } - } - // 4-N计算 - if (endTouch > 0) { - // 获得每一碰的比例, 找到剩下的碰次的国家 - for (int i = 1; i <= endTouch; i++) { - for (CuMemberSettleExt sourceMemberSettleExt : cuMemberSettleExtList) { - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(sourceMemberSettleExt.getPkPlaceParent()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { - continue; - } - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue())) { - continue; - } - // 判断左右区是否有值,找到有值的就是有碰次,碰完左区或右区肯定有变为0的 - if ((targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(targetMemberSettleExt.getABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getBBalance())) - || (ComputeUtil.compareValue(targetMemberSettleExt.getRepABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getRepBBalance()))) { - // 根据会员等级获取对应的配置 - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - // 获取国家4-n的配置 - BigDecimal countryExpandRatio = getCountryRepurchaseExpand(bonusConfigDTO, targetMemberSettleExt, endTouch, bdGrade, addTouch, expandRatio); - Integer pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue()); - calculateRepurchaseExpandBonusByAchieve(period, weekMemberBonusMap, cuMemberBonusMap, bonusConfigDTO, systemConfigMap, cuMemberBonusExpandList, saOrderExt, touchNum, i + startTouch, sourceMemberSettleExt, targetMemberSettleExt, bdGrade, countryExpandRatio, pkBonusItems, cuMemberAssessMap); - break; - } - } - } - } - } - return cuMemberBonusExpandList; - } - - private int calculateTouchNum(Map riskControlMap, String settleName, Map cuMemberAssessMap, - Map cuMemberSettleExtMap, SaOrderExt saOrderExt, List cuMemberSettleExtList, BonusConfigDTO bonusConfigDTO) { - int touchNum = 0; - boolean flag = Boolean.TRUE; - CuMemberSettleExt firstMemberSettleExt = cuMemberSettleExtList.get(0); - for (CuMemberSettleExt cuMemberSettleExt : cuMemberSettleExtList) { - // 数据已经准备好了,肯定有值,map中是实际的值,先计算新增,然后根据新增结算计算碰次,list是为了存储碰次的顺序 - CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(cuMemberSettleExt.getPkPlaceParent()); - if (targetMemberSettleExt == null || ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() || - EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()) { - continue; - } -// if(MagicNumberConstants.ACHIEVE_SETTLE_MEMBER.equals(targetMemberSettleExt.getMemberCode())){ -// if(cuMemberTreeService.queryCuMemberUnderUmbrella(settleName, saOrderExt.getPkMember())) { -// flag = Boolean.FALSE; -// } -// } - // 验证是否计算奖金 - BdGrade bdGrade = getGradeExpand(bonusConfigDTO, targetMemberSettleExt); - if (bdGrade.getRepurchaseCalculate() != null && EYesNo.NO.getIntValue() == bdGrade.getRepurchaseCalculate()) { - continue; - } - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY)) { - if (EPlaceDept.LEFT_DEPT.getValue() == cuMemberSettleExt.getPlaceDept()) { - // 左区 - // K值设置 - if (riskControlMap.containsKey(targetMemberSettleExt.getPkMember())) { - CuMemberRiskControl cuMemberRiskControl = riskControlMap.get(targetMemberSettleExt.getPkMember()); - targetMemberSettleExt.setANewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getANewAmount(), ComputeUtil.computeBonusMultiply(convertLocalCurrency(saOrderExt, bonusConfigDTO), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setANewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getANewPv(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getABalance(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - } else { - targetMemberSettleExt.setANewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getANewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - targetMemberSettleExt.setANewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getANewPv(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getABalance(), saOrderExt.getUploadAchieve())); - } - targetMemberSettleExt.setRABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRABalance(), saOrderExt.getUploadAchieve())); -// } - } else { - // 右区 - if (riskControlMap.containsKey(targetMemberSettleExt.getPkMember())) { - CuMemberRiskControl cuMemberRiskControl = riskControlMap.get(targetMemberSettleExt.getPkMember()); - targetMemberSettleExt.setBNewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewAmount(), ComputeUtil.computeBonusMultiply(convertLocalCurrency(saOrderExt, bonusConfigDTO), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setBNewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewPv(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - targetMemberSettleExt.setBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getBBalance(), ComputeUtil.computeBonusMultiply(saOrderExt.getUploadAchieve(), cuMemberRiskControl.getAchieveRatio()))); - } else { - targetMemberSettleExt.setBNewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - targetMemberSettleExt.setBNewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getBNewPv(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getBBalance(), saOrderExt.getUploadAchieve())); - } - targetMemberSettleExt.setRBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRBBalance(), saOrderExt.getUploadAchieve())); - } - // 判断左右区是否有值,左右区有值有碰次 - if (ComputeUtil.compareValue(targetMemberSettleExt.getABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getBBalance())) { - // 国内量奖修改为考核不通过的不占用4-N,不算奖金 - // 验证是否验证考核 - touchNum++; - } - // 判断左右区是否有值,左右区有值有碰次 - if (ComputeUtil.compareValue(targetMemberSettleExt.getRABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getRBBalance())) { - BigDecimal minAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getRABalance(), targetMemberSettleExt.getRBBalance()); - targetMemberSettleExt.setRABalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRABalance(), minAchieve)); - targetMemberSettleExt.setRBBalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRBBalance(), minAchieve)); - } - } else { - // 嗨粉、海粉没有量奖 - if (EPlaceDept.LEFT_DEPT.getValue() == cuMemberSettleExt.getPlaceDept()) { - // 左区 - targetMemberSettleExt.setRepANewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getRepANewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - targetMemberSettleExt.setRepANewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getRepANewPv(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setRepABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRepABalance(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setRRepABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRRepABalance(), saOrderExt.getUploadAchieve())); - } else { - // 右区 - targetMemberSettleExt.setRepBNewAmount(ComputeUtil.computeAdd(targetMemberSettleExt.getRepBNewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); - targetMemberSettleExt.setRepBNewPv(ComputeUtil.computeAdd(targetMemberSettleExt.getRepBNewPv(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setRepBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRepBBalance(), saOrderExt.getUploadAchieve())); - targetMemberSettleExt.setRRepBBalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRRepBBalance(), saOrderExt.getUploadAchieve())); - } - // 判断左右区是否有值,左右区有值有碰次 - if (ComputeUtil.compareValue(targetMemberSettleExt.getRepABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getRepBBalance())) { - touchNum++; - } - // 判断左右区是否有值,左右区有值有碰次 - if (ComputeUtil.compareValue(targetMemberSettleExt.getRRepABalance()) && ComputeUtil.compareValue(targetMemberSettleExt.getRRepBBalance())) { - BigDecimal minAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getRRepABalance(), targetMemberSettleExt.getRRepBBalance()); - targetMemberSettleExt.setRRepABalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRRepABalance(), minAchieve)); - targetMemberSettleExt.setRRepBBalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRRepBBalance(), minAchieve)); - } - } - } - return touchNum; - } - - private Map getCuMemberAssessMap(Map cuMemberSettleExtMap, String settleDateStr, List memberSettleExtList) { - List queryMemberList = getQueryMemberSettleExtList(cuMemberSettleExtMap, memberSettleExtList); - return getLongCuMemberAssessMap(settleDateStr, queryMemberList); - } - - /** - * 计算复购极差 - * - * @param period 期间 - * @param bonusConfigDTO 参数 - * @param purchaseOrderList 复购订单 - * @param cuMemberBonusMap 所有计算出来的奖金汇总 - */ - List calculateRepurchaseRangeBonus(Map cuMemberSettleExtMap, String settleTableName, String settleDate, Map rangeDtoMap, Map awardsMap, - BonusConfigDTO bonusConfigDTO, List purchaseOrderList, - Integer period, Map cuMemberBonusMap, Map cuAwardsControlMap, LeXueRangeParam leXueRangeParam) { - // 计算复购极差的订单 -// List chinaRangeOrderList = new ArrayList<>(); - // if (chinaRangeOrderList.size() > 0) { -// Map> saOrderRangeDtoMap = saOrderServiceApi.queryOrderRangeVO(chinaRangeOrderList).getData(); -// Map rangePkDtoMap = new HashMap<>(ComputeUtil.mapInitCapacity(rangeDtoMap.size())); -// rangeDtoMap.forEach((key, rangeDto) -> -// rangePkDtoMap.put(rangeDto.getPkCountry().toString() + rangeDto.getPkRange(), rangeDto)); -// chinaRangeOrderList.forEach(saOrderExt -> { -// List orderRangeVOList = saOrderRangeDtoMap.get(saOrderExt.getOrderCode()); -// if (orderRangeVOList == null || orderRangeVOList.size() == 0) { -// return; -// } -// if (!validateSecondOrderExistBonus(saOrderExt, EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) { -// return; -// } -// Map> orderRangeDtoMap = getRangeDtoMap(orderRangeVOList); -// for(Long pkItem :orderRangeDtoMap.keySet()){ -// List saOrderRangeDtoList = orderRangeDtoMap.get(pkItem); -// // 一定要发完,从推荐人开始发 -// executeChinaOrderRange(cuMemberSettleExtMap, rangeDtoMap, awardsMap, bonusConfigDTO, period, cuMemberBonusMap, -// cuAwardsControlMap, cuMemberBonusRangeList, cuMemberAssessMap, rangePkDtoMap, saOrderExt, saOrderRangeDtoList); -// } -// }); -// List saOrderExtList = new ArrayList<>(); -// for (SaOrderExt saOrderExt : chinaRangeOrderList) { -// if(ComputeUtil.compareValue(saOrderExt.getOrderAmount(), BigDecimal.valueOf(170000))){ -// for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) { -// if(Objects.equals(13825, saOrderItemsExt.getPkWares())){ -// saOrderExt.setOrderAchieve(saOrderItemsExt.getAchievement()); -// saOrderExtList.add(saOrderExt); -// } -// } -// } -// } -// if(saOrderExtList.size() >0) { -// for (SaOrderExt saOrderExt : saOrderExtList) { -// CuMemberSettleExt sourceMemberTree = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); -// while (true) { -// if (sourceMemberTree == null) { -// break; -// } -// CuMemberSettleExt parentMemberTree = cuMemberSettleExtMap.get(sourceMemberTree.getPkParent()); -// parentMemberTree = getRangeCuMemberTree(cuMemberSettleExtMap, rangeDtoMap, awardsMap, bonusConfigDTO, sourceMemberTree, parentMemberTree, cuAwardsControlMap, cuMemberAssessMap); -// if (parentMemberTree == null) { -// break; -// } -// RangeDTO parentRangeDto = getRangeDto(rangeDtoMap, awardsMap, parentMemberTree, cuAwardsControlMap); -// RangeDTO sourceRangeDto = getRangeDto(rangeDtoMap, awardsMap, sourceMemberTree, cuAwardsControlMap); -// BigDecimal achieveRatio = ComputeUtil.computeSubtract(parentRangeDto.getAchieveRatio(), sourceRangeDto.getAchieveRatio()); -// // 发放奖金 -// CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, parentMemberTree); -// CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(bonusConfigDTO, saOrderExt, parentMemberTree, cuMemberBonus); -// cuMemberBonusRange.setCalAchieve(saOrderExt.getOrderAchieve()); -//// BigDecimal repurchaseRangeBonus = ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(orderAchieve, saOrderRangeDto.getRangeAchieve()), saOrderRangeDto.getQuantity()); -// if (ComputeUtil.compareValue(BigDecimal.ZERO, achieveRatio)) { -// sourceMemberTree = cuMemberSettleExtMap.get(parentMemberTree.getPkMember()); -// continue; -// } -// cuMemberBonusRange.setCalValue(BigDecimal.ZERO); -// BigDecimal repurchaseRangeBonus = ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), achieveRatio); -// cuMemberBonusRange.setPretaxIncome(repurchaseRangeBonus); -// cuMemberBonusRange.setPkRange(parentRangeDto.getPkRange()); -// cuMemberBonusRange.setPkBeforeRange(sourceRangeDto.getPkRange()); -// cuMemberBonusRange.setPkOrderItems(0L); -// rangeRemark(saOrderExt, cuMemberBonusRange, sourceMemberTree, parentMemberTree, parentRangeDto, sourceRangeDto); -// packageRepurchaseRange(bonusConfigDTO, cuMemberBonusRangeList, saOrderExt, cuMemberBonus, cuMemberBonusRange, repurchaseRangeBonus); -// if (ERangeType.AWARDS.getValue() == parentRangeDto.getRangeType() && EAwards.GLOBAL_CHAIRMAN.getValue() == parentRangeDto.getRangeValue()) { -// break; -// } -// sourceMemberTree = cuMemberSettleExtMap.get(parentMemberTree.getPkMember()); -// } -// } -// } -// } - return new ArrayList<>(); - } - - private void executeOverseasOrderRange(String settleName, Map cuMemberSettleExtMap, Map rangeDtoMap, Map awardsMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, Map cuAwardsControlMap, List cuMemberBonusRangeList, Map cuMemberAssessMap, Map rangePkDtoMap, SaOrderExt saOrderExt, List orderRangeVOList) { - CuMemberSettleExt sourceCuMemberTree = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - CuMemberSettleExt parentMemberTree = cuMemberSettleExtMap.get(sourceCuMemberTree.getPkParent()); - BigDecimal orderPrice = orderRangeVOList.get(0).getOrderPrice(); -// BigDecimal orderAchieve = orderRangeVOList.get(0).getOrderAchieve(); - int pkRange = orderRangeVOList.get(0).getPkRange(); - for (SaOrderRangeDto saOrderRangeDto : orderRangeVOList) { - parentMemberTree = getCuMemberTree(cuMemberSettleExtMap, rangeDtoMap, rangePkDtoMap, awardsMap, bonusConfigDTO, parentMemberTree, saOrderRangeDto, cuAwardsControlMap, cuMemberAssessMap, saOrderExt); - if (parentMemberTree == null) { - break; - } -// if(MagicNumberConstants.ACHIEVE_SETTLE_MEMBER.equals(sourceCuMemberTree.getMemberCode()) || -// MagicNumberConstants.ACHIEVE_SETTLE_MEMBER.equals(parentMemberTree.getMemberCode()) ){ -// if(cuMemberTreeService.queryCuMemberUnderUmbrella(settleName, saOrderExt.getPkMember())) { -// break; -// } -// } - RangeDTO rangeDto = getRangeDto(rangeDtoMap, awardsMap, parentMemberTree, cuAwardsControlMap); - if (saOrderRangeDto.getRangeValue() != null && rangeDto.getRangeValue() != null && - rangeDto.getRangeValue().equals(saOrderRangeDto.getRangeValue())) { - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, parentMemberTree); - CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(bonusConfigDTO, saOrderExt, parentMemberTree, cuMemberBonus); - BigDecimal repurchaseRangeBonus = ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(orderPrice, saOrderRangeDto.getRangePrice()), saOrderRangeDto.getQuantity()); - if (ComputeUtil.compareValue(BigDecimal.ZERO, repurchaseRangeBonus)) { - break; - } - cuMemberBonusRange.setCalValue(BigDecimal.ZERO); - cuMemberBonusRange.setPretaxIncome(repurchaseRangeBonus); - cuMemberBonusRange.setPkRange(rangeDto.getPkRange()); - cuMemberBonusRange.setPkBeforeRange(pkRange); - cuMemberBonusRange.setPkOrderItems(saOrderRangeDto.getPkOrderItems()); - rangeRemark(saOrderExt, cuMemberBonusRange, sourceCuMemberTree, parentMemberTree, rangePkDtoMap); - packageRepurchaseRange(bonusConfigDTO, cuMemberBonusRangeList, saOrderExt, cuMemberBonus, cuMemberBonusRange, repurchaseRangeBonus); - if (ComputeUtil.compareEqual(orderPrice, saOrderRangeDto.getRangePrice())) { - break; - } - orderPrice = saOrderRangeDto.getRangePrice(); - pkRange = saOrderRangeDto.getPkRange(); - } - } - } - - private Map> getRangeDtoMap(List orderRangeVOList) { - Map> orderRangeDtoMap = new HashMap<>(); - for (SaOrderRangeDto saOrderRangeDto : orderRangeVOList) { - if (orderRangeDtoMap.containsKey(saOrderRangeDto.getPkOrderItems())) { - orderRangeDtoMap.get(saOrderRangeDto.getPkOrderItems()).add(saOrderRangeDto); - } else { - List saOrderRangeDtoList = new ArrayList<>(); - saOrderRangeDtoList.add(saOrderRangeDto); - orderRangeDtoMap.put(saOrderRangeDto.getPkOrderItems(), saOrderRangeDtoList); - } - } - return orderRangeDtoMap; - } - - private void executeChinaOrderRange(Map cuMemberSettleExtMap, Map rangeDtoMap, Map awardsMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, Map cuAwardsControlMap, List cuMemberBonusRangeList, Map cuMemberAssessMap, Map rangePkDtoMap, SaOrderExt saOrderExt, List orderRangeVOList) { - CuMemberSettleExt sourceCuMemberTree = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); - if (sourceCuMemberTree == null) { - return; - } - CuMemberSettleExt parentMemberTree = cuMemberSettleExtMap.get(sourceCuMemberTree.getPkParent()); - BigDecimal orderAchieve = orderRangeVOList.get(0).getOrderAchieve(); - int pkRange = orderRangeVOList.get(0).getPkRange(); - for (SaOrderRangeDto saOrderRangeDto : orderRangeVOList) { - parentMemberTree = getCuMemberTree(cuMemberSettleExtMap, rangeDtoMap, rangePkDtoMap, awardsMap, bonusConfigDTO, - parentMemberTree, saOrderRangeDto, cuAwardsControlMap, cuMemberAssessMap, saOrderExt); - if (parentMemberTree == null) { - break; - } - RangeDTO rangeDto = getRangeDto(rangeDtoMap, awardsMap, parentMemberTree, cuAwardsControlMap); - if (saOrderRangeDto.getRangeValue() != null && rangeDto.getRangeValue() != null && - rangeDto.getRangeValue().equals(saOrderRangeDto.getRangeValue())) { - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, parentMemberTree); - CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(bonusConfigDTO, saOrderExt, parentMemberTree, cuMemberBonus); - cuMemberBonusRange.setCalAchieve(saOrderExt.getOrderAmount()); - BigDecimal repurchaseRangeBonus = ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(orderAchieve, saOrderRangeDto.getRangeAchieve()), saOrderRangeDto.getQuantity()); - if (ComputeUtil.compareValue(BigDecimal.ZERO, repurchaseRangeBonus)) { - break; - } - cuMemberBonusRange.setCalValue(BigDecimal.ZERO); - cuMemberBonusRange.setPretaxIncome(repurchaseRangeBonus); - cuMemberBonusRange.setPkRange(rangeDto.getPkRange()); - cuMemberBonusRange.setPkBeforeRange(pkRange); - cuMemberBonusRange.setPkOrderItems(saOrderRangeDto.getPkOrderItems()); - rangeRemark(saOrderExt, cuMemberBonusRange, sourceCuMemberTree, parentMemberTree, rangePkDtoMap); - packageRepurchaseRange(bonusConfigDTO, cuMemberBonusRangeList, saOrderExt, cuMemberBonus, cuMemberBonusRange, repurchaseRangeBonus); - if (ComputeUtil.compareEqual(orderAchieve, saOrderRangeDto.getRangeAchieve())) { - break; - } - orderAchieve = saOrderRangeDto.getRangeAchieve(); - pkRange = saOrderRangeDto.getPkRange(); - } - } - } - - private void packageRepurchaseRange(BonusConfigDTO bonusConfigDTO, List cuMemberBonusRangeList, SaOrderExt saOrderExt, CuMemberBonus cuMemberBonus, CuMemberBonusRange cuMemberBonusRange, BigDecimal repurchaseRangeBonus) { - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) { - cuMemberBonus.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurRangeIncome(), repurchaseRangeBonus)); - setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); - } - cuMemberBonusRangeList.add(cuMemberBonusRange); - } - - private void calculateLeXueRangeBonus(String settleTableName, Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, - Integer period, Map cuMemberBonusMap, LeXueRangeParam leXueRangeParam, - List specialOrderList, List cuMemberBonusRangeList) { - // 计算乐学易考特殊复购极差,找第一个vip,svip,找到有代金券,代金券-1,奖金给金额,第一个是svip后,就不给 - if (specialOrderList.size() > 0) { - // 查找订单血缘 - Set expandMemberSet = specialOrderList.stream().distinct().map(SaOrderExt::getPkMember).collect(Collectors.toSet()); - List specialMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParentForSpecial(settleTableName, expandMemberSet); - // 重算的时候首先先把数量还回来,在重新计算,查询订单扣除的记录 - List acPickMemberLogList = acPickServiceApi.queryPickMemberLog(specialOrderList).getData(); - Map pickMemberLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(acPickMemberLogList.size())); - if (CollectionUtil.isNotEmpty(acPickMemberLogList)) { - acPickMemberLogList.forEach(acPickMemberLog -> - pickMemberLogMap.put(acPickMemberLog.getPkMember().toString() + acPickMemberLog.getPkId(), acPickMemberLog)); - leXueRangeParam.setAcPickMemberLogList(acPickMemberLogList); - } - // 初始化父类网体的值 - Map specialmeberSettleExtMap = new HashMap<>(); - getMemberSettle(specialmeberSettleExtMap, specialMemberSettleExtList); - // 还原数量 - specialmeberSettleExtMap.forEach((pkMember, cumemberSettleExt) -> { - String key = pkMember.toString() + cumemberSettleExt.getApPkId(); - if (pickMemberLogMap.containsKey(key)) { - cumemberSettleExt.setUsableQuantity(cumemberSettleExt.getUsableQuantity() + pickMemberLogMap.get(key).getPickQuantity()); - } - }); - List acPickExtList = new ArrayList<>(); - for (SaOrderExt saOrderExt : specialOrderList) { - for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) { - if (EYesNo.YES.getIntValue() == saOrderItemsExt.getIsGift() || ComputeUtil.compareEqual(saOrderItemsExt.getPrice(), BigDecimal.ZERO) || - ComputeUtil.compareEqual(saOrderItemsExt.getAchievement(), BigDecimal.ZERO)) { - continue; - } - CuMemberSettleExt sourceMemberSettleExt = specialmeberSettleExtMap.get(saOrderExt.getPkMember()); - if (sourceMemberSettleExt == null) { - continue; - } - // 找不到父级了或者找到第一个svip直接跳出 - boolean flag = Boolean.TRUE; - Long pkParent = sourceMemberSettleExt.getPkParent(); - int gradeValue = sourceMemberSettleExt.getGradeValue(); - while (true) { - CuMemberSettleExt targetMemberSettleExt = specialmeberSettleExtMap.get(pkParent); - if (targetMemberSettleExt == null) { - break; - } - if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.VIP.getValue() == targetMemberSettleExt.getGradeValue() && flag) { - // 获得奖金 - // 验证是否有奖金 - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) { - pkParent = targetMemberSettleExt.getPkParent(); - sourceMemberSettleExt = targetMemberSettleExt; - continue; - } - AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt, - targetMemberSettleExt, cuMemberBonusRangeList); - if (acPickExt != null) { - acPickExtList.add(acPickExt); - } - pkParent = targetMemberSettleExt.getPkParent(); - sourceMemberSettleExt = targetMemberSettleExt; - flag = Boolean.FALSE; - } else if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.S_VIP.getValue() == targetMemberSettleExt.getGradeValue()) { - // 获得奖金 - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) { - break; - } - AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt, - targetMemberSettleExt, cuMemberBonusRangeList); - if (acPickExt != null) { - acPickExtList.add(acPickExt); - } - break; - } else { - pkParent = targetMemberSettleExt.getPkParent(); - sourceMemberSettleExt = targetMemberSettleExt; - } - } - } - } - if (acPickExtList.size() > 0) { - leXueRangeParam.setAcPickExtList(acPickExtList); - } - } - } - - private AcPickExt calculateRangeBonus(Map rangeDtoMap, BonusConfigDTO bonusConfigDTO, Integer period, - Map cuMemberBonusMap, SaOrderExt saOrderExt, SaOrderItemsExt saOrderItemsExt, - CuMemberSettleExt sourceMemberSettleExt, - CuMemberSettleExt targetMemberSettleExt, List cuMemberBonusRangeList) { - if (targetMemberSettleExt.getUsableQuantity() != null && targetMemberSettleExt.getUsableQuantity() > 0) { - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - CuMemberBonusRange cuMemberBonusRange = getCuMemberBonusRange(bonusConfigDTO, saOrderExt, targetMemberSettleExt, cuMemberBonus); - cuMemberBonusRange.setCalAchieve(saOrderItemsExt.getAchievement()); - cuMemberBonusRange.setCalValue(BigDecimal.ZERO); - cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeMultiply(BigDecimal.valueOf(saOrderItemsExt.getWaresQuantity()), - ComputeUtil.computeDivide(targetMemberSettleExt.getRetailPrice(), BigDecimal.ONE))); - String key = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade(); - cuMemberBonusRange.setPkRange(rangeDtoMap.get(key).getPkRange()); - String beforeKey = targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.GRADE.getValue() + targetMemberSettleExt.getPkGrade(); - cuMemberBonusRange.setPkBeforeRange(rangeDtoMap.get(beforeKey).getPkRange()); - cuMemberBonusRange.setIncomeRatio(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(cuMemberBonusRange.getPretaxIncome(), BigDecimal.ONE), saOrderExt.getOrderAmount())); - cuMemberBonusRange.setPkOrderItems(0L); - // 计算比例 - cuMemberBonusRange.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())); - // 收益占比 - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - xueRangeRemark(saOrderExt, cuMemberBonusRange, sourceMemberSettleExt, targetMemberSettleExt); - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) { - cuMemberBonus.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurRangeIncome(), cuMemberBonusRange.getPretaxIncome())); - setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); - } - cuMemberBonusRangeList.add(cuMemberBonusRange); - targetMemberSettleExt.setUsableQuantity(targetMemberSettleExt.getUsableQuantity() - saOrderItemsExt.getWaresQuantity()); - AcPickExt acPickExt = new AcPickExt(); - acPickExt.setPkId(targetMemberSettleExt.getApPkId()); - acPickExt.setPkMember(targetMemberSettleExt.getPkMember()); - acPickExt.setOrderCode(saOrderExt.getOrderCode()); - acPickExt.setPickType(EPickType.COUPON.getValue()); - acPickExt.setUsedQuantity(saOrderItemsExt.getWaresQuantity()); - acPickExt.setPkBaseConfig(0L); - acPickExt.setPkDataId(targetMemberSettleExt.getPkDataId()); - return acPickExt; - } - return null; - } - - /** - * 根据极差获取会员 - */ - private CuMemberSettleExt getCuMemberTree(Map cuMemberTreeMap, Map rangeDtoMap, Map rangePkDtoMap, - Map awardsMap, BonusConfigDTO bonusConfigDTO, CuMemberSettleExt parentMemberTree, - SaOrderRangeDto saOrderRangeDto, Map cuAwardsControlMap, Map cuMemberAssessMap, SaOrderExt saOrderExt) { - if (parentMemberTree == null) { - return null; - } - RangeDTO rangeDto = getRangeDto(rangeDtoMap, awardsMap, parentMemberTree, cuAwardsControlMap); - RangeDTO orderRangeDto = rangePkDtoMap.get(saOrderRangeDto.getPkCountry().toString() + saOrderRangeDto.getPkRange()); - if (rangeDto == null || orderRangeDto == null) { - return null; - } - // 需要复购考核,复购考核未通过的没有奖金 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(parentMemberTree.getPkMember()); - boolean assessFlag = EYesNo.NO.getIntValue() == parentMemberTree.getPurchaseStatus() && cuMemberAssess == null; - // 海粉没有复购极差 - if (Objects.equals(MagicNumberConstants.CHINA_HA_FUN, parentMemberTree.getPkGrade()) || ECategory.NORMAL.getValue() != parentMemberTree.getCategory() || EAccountStatus.STOP_INCOME.getValue() == parentMemberTree.getAccountStatus() || - validatePkBonusItems(bonusConfigDTO, parentMemberTree.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue()) || - rangeDto.getRangeValue() < orderRangeDto.getRangeValue() || assessFlag) { - parentMemberTree = cuMemberTreeMap.get(parentMemberTree.getPkParent()); - if (parentMemberTree == null) { - return null; - } - parentMemberTree = getCuMemberTree(cuMemberTreeMap, rangeDtoMap, rangePkDtoMap, awardsMap, bonusConfigDTO, - parentMemberTree, saOrderRangeDto, cuAwardsControlMap, cuMemberAssessMap, saOrderExt); - } - return parentMemberTree; - } - - /** - * 根据极差获取会员 - */ - private CuMemberSettleExt getRangeCuMemberTree(Map cuMemberTreeMap, Map rangeDtoMap, Map awardsMap, - BonusConfigDTO bonusConfigDTO, CuMemberSettleExt sourceMemberTree, CuMemberSettleExt parentMemberTree, - Map cuAwardsControlMap, Map cuMemberAssessMap) { - RangeDTO parentRangeDto = getRangeDto(rangeDtoMap, awardsMap, parentMemberTree, cuAwardsControlMap); - RangeDTO sourceRangeDto = getRangeDto(rangeDtoMap, awardsMap, sourceMemberTree, cuAwardsControlMap); - if (parentRangeDto == null || sourceRangeDto == null || parentMemberTree == null) { - return null; - } - // 需要复购考核,复购考核未通过的没有奖金 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(parentMemberTree.getPkMember()); - boolean assessFlag = EYesNo.NO.getIntValue() == parentMemberTree.getPurchaseStatus() && cuMemberAssess == null; - if (ECategory.NORMAL.getValue() != parentMemberTree.getCategory() || EAccountStatus.STOP_INCOME.getValue() == parentMemberTree.getAccountStatus() || - validatePkBonusItems(bonusConfigDTO, parentMemberTree.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue()) || - parentRangeDto.getRangeValue() < sourceRangeDto.getRangeValue() || assessFlag) { - parentMemberTree = cuMemberTreeMap.get(parentMemberTree.getPkParent()); - if (parentMemberTree == null) { - return null; - } - parentMemberTree = getRangeCuMemberTree(cuMemberTreeMap, rangeDtoMap, awardsMap, bonusConfigDTO, sourceMemberTree, parentMemberTree, cuAwardsControlMap, cuMemberAssessMap); - } - return parentMemberTree; - } - - private CuMemberSettleExt getSpecialRangeCuMemberTree(Map cuMemberTreeMap, - BonusConfigDTO bonusConfigDTO, CuMemberSettleExt sourceMemberTree, CuMemberSettleExt parentMemberTree, - Map cuMemberAssessMap, int pkGrade) { - // 需要复购考核,复购考核未通过的没有奖金 -// CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(parentMemberTree.getPkMember()); -// boolean assessFlag = EYesNo.NO.getIntValue() == parentMemberTree.getPurchaseStatus() && cuMemberAssess == null; - if (ECategory.NORMAL.getValue() != parentMemberTree.getCategory() || EAccountStatus.STOP_INCOME.getValue() == parentMemberTree.getAccountStatus() || - validatePkBonusItems(bonusConfigDTO, parentMemberTree.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue()) || - parentMemberTree.getPkGrade() <= pkGrade || parentMemberTree.getPkGrade() <= sourceMemberTree.getPkGrade()) { -// if(parentMemberTree.getPkAwards() > 1 && ECategory.NORMAL.getValue() == parentMemberTree.getCategory()) { -// return parentMemberTree; -// } - parentMemberTree = cuMemberTreeMap.get(parentMemberTree.getPkParent()); - if (parentMemberTree == null) { - return null; - } - parentMemberTree = getSpecialRangeCuMemberTree(cuMemberTreeMap, bonusConfigDTO, sourceMemberTree, parentMemberTree, cuMemberAssessMap, pkGrade); - } - return parentMemberTree; - } - - /** - * @param period 期间 - * @param cuMemberBonusMap 奖金汇总 - * @param cuMemberBonusExpandList 拓展奖奖金明细 - * @param saOrderExt 订单 - * @param touchNum 碰次 - * @param i 当前碰次 - * @param sourceMemberSettleExt 提供奖金的人 - * @param targetMemberSettleExt 获得奖金的人 - * @param bdGrade 等级对应的参数 - * @param countryExpandRatio 4-n时计算国家对应的参数 - * @Description: 计算量碰 - * @return: void - * @Author: sui q - * @Date: 2022/11/16 15:51 - */ - private void calculateRepurchaseExpandBonusByAchieve(Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, - BonusConfigDTO bonusConfigDTO, Map systemConfigMap, List cuMemberBonusExpandList, SaOrderExt saOrderExt, int touchNum, int i, - CuMemberSettleExt sourceMemberSettleExt, CuMemberSettleExt targetMemberSettleExt, BdGrade bdGrade, BigDecimal countryExpandRatio, Integer pkBonusItems, - Map cuMemberAssessMap) { - // 验证封顶方式 1=日 2=周,若是周的话需要获取 周奖金 - BigDecimal weekRepExpandIncome = BigDecimal.ZERO; - if (systemConfigMap.containsKey(targetMemberSettleExt.getPkSettleCountry() + ESystemConfig.EXPAND_CAP_METHOD.getKey())) { - String expandCapMethod = systemConfigMap.get(targetMemberSettleExt.getPkSettleCountry() + ESystemConfig.EXPAND_CAP_METHOD.getKey()); - if (Objects.equals(expandCapMethod, EExpandCapMethod.WEEK_SETTLE.toString()) && - weekMemberBonusMap.containsKey(targetMemberSettleExt.getPkMember())) { - weekRepExpandIncome = weekMemberBonusMap.get(targetMemberSettleExt.getPkMember()).getRepurExpandIncome(); - } - } - // 国内使用首购比例首购封顶 - BigDecimal gradeExpandRatio = bdGrade.getRepurchaseRatio(); - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY)) { - gradeExpandRatio = bdGrade.getExpandRatio(); - // 验证受益人等级 - CuMember cuMember = cuMemberService.getMember(targetMemberSettleExt.getMemberCode()); - if (cuMember != null && DateUtils.compareDate(DateUtils.parseStringToDate("2024-09-11"), cuMember.getPayTime()) > 0) { - if (targetMemberSettleExt.getGradeValue() == EGrade.VIP.getValue()) { - if (ComputeUtil.compareValue(countryExpandRatio, BigDecimal.valueOf(11)) && (i <= 3 || touchNum <= 10)) { - countryExpandRatio = BigDecimal.valueOf(13); - } - } else if (targetMemberSettleExt.getGradeValue() == EGrade.MAKER.getValue()) { - if (ComputeUtil.compareValue(countryExpandRatio, BigDecimal.valueOf(10)) && (i <= 3 || touchNum <= 10)) { - countryExpandRatio = BigDecimal.valueOf(11); - } - } - } - } - // 获取等级封顶值 - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); - BigDecimal calAchieve; - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY)) { - calAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getABalance(), targetMemberSettleExt.getBBalance()); - } else { - calAchieve = ComputeUtil.obtainMinAchieve(targetMemberSettleExt.getRepABalance(), targetMemberSettleExt.getRepBBalance()); - } - CuMemberBonusExpand cuMemberBonusExpand = getCuMemberBonusExpand(saOrderExt, touchNum, i, targetMemberSettleExt, countryExpandRatio, cuMemberBonus, calAchieve, pkBonusItems, BigDecimal.ZERO); - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY)) { - targetMemberSettleExt.setABalance(ComputeUtil.computeSubtract(targetMemberSettleExt.getABalance(), calAchieve)); - targetMemberSettleExt.setBBalance(ComputeUtil.computeSubtract(targetMemberSettleExt.getBBalance(), calAchieve)); - } else { - // 扣减a、b区结余 - targetMemberSettleExt.setRepABalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRepABalance(), calAchieve)); - targetMemberSettleExt.setRepBBalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRepBBalance(), calAchieve)); - } - // 计算收益 先计算出会员最大的收益 - BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio); - BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio); - // 获取等级对应的封顶值 - BigDecimal expandIncome = ComputeUtil.computeAdd(ComputeUtil.computeAdd(cuMemberBonus.getRepurExpandIncome(), actualIncome), weekRepExpandIncome); - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY)) { - // 获取等级对应的封顶值 - expandIncome = ComputeUtil.computeAdd(ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), expandIncome), weekRepExpandIncome); - // 判断收益 是否超过封顶值,超过的话变为封顶值 - // 判断是否烧伤,判断原奖金是否>=封顶值,奖金到了就是烧伤 - // 验证会员状态 封停状态跟冻结都正常计算奖金,封停的账号发放的时候奖金发放为0,冻结的账号正常发放,不能登录 - packageCuMemberBonusExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), maxIncome, actualIncome); - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), cuMemberBonus.getRepurExpandIncome()), bdGrade.getExpandCapping())) { - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - expandIncome = ComputeUtil.computeSubtract(bdGrade.getExpandCapping(), ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), cuMemberBonus.getRepurExpandIncome())); - } else if (ComputeUtil.compareGreaterThan(expandIncome, bdGrade.getExpandCapping())) { - BigDecimal realIncome = ComputeUtil.computeSubtract(ComputeUtil.computeSubtract(bdGrade.getExpandCapping(), weekRepExpandIncome), ComputeUtil.computeAdd(cuMemberBonus.getExpandIncome(), cuMemberBonus.getRepurExpandIncome())); - //存在一半烧伤一半正常的值,拆2条 - // 拓展明细表 进行修改 - packageCuMemberBonusExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), realIncome, realIncome); - CuMemberBonusExpand fireCuMemberBonusExpand = BeanUtil.copyProperties(cuMemberBonusExpand, CuMemberBonusExpand.class); - BigDecimal fireIncome = ComputeUtil.computeSubtract(maxIncome, realIncome); - if (EBonusIncomeStatus.NORMAL.getValue() == fireCuMemberBonusExpand.getIncomeStatus()) { - fireCuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - packageCuMemberBonusExpand(fireCuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), fireIncome, fireIncome); - // 收益占比 - setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - expandRemark(saOrderExt, fireCuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); - cuMemberBonusExpandList.add(fireCuMemberBonusExpand); - // 拓展收益取封顶最大值 - expandIncome = ComputeUtil.computeSubtract(bdGrade.getExpandCapping(), weekRepExpandIncome); - } - } else { - // 判断收益 是否超过封顶值,超过的话变为封顶值 - // 判断是否烧伤,判断原奖金是否>=封顶值,奖金到了就是烧伤 - packageCuMemberBonusRepurchaseExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getRepurchaseCapping(), maxIncome, actualIncome); - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberBonus.getRepurExpandIncome(), weekRepExpandIncome), bdGrade.getRepurchaseCapping())) { - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - expandIncome = ComputeUtil.computeSubtract(bdGrade.getRepurchaseCapping(), weekRepExpandIncome); - } else if (ComputeUtil.compareGreaterThan(expandIncome, bdGrade.getRepurchaseCapping())) { - BigDecimal realIncome = ComputeUtil.computeSubtract(ComputeUtil.computeSubtract(bdGrade.getRepurchaseCapping(), weekRepExpandIncome), cuMemberBonus.getRepurExpandIncome()); - //存在一半烧伤一半正常的值,拆2条 - // 拓展明细表 进行修改 - packageCuMemberBonusRepurchaseExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getRepurchaseCapping(), realIncome, realIncome); - CuMemberBonusExpand fireCuMemberBonusExpand = BeanUtil.copyProperties(cuMemberBonusExpand, CuMemberBonusExpand.class); - BigDecimal fireIncome = ComputeUtil.computeSubtract(maxIncome, realIncome); - if (EBonusIncomeStatus.NORMAL.getValue() == fireCuMemberBonusExpand.getIncomeStatus()) { - fireCuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - packageCuMemberBonusRepurchaseExpand(fireCuMemberBonusExpand, cuMemberBonus, bdGrade.getRepurchaseCapping(), fireIncome, fireIncome); - // 收益占比 - setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - repurchaseExpandRemark(saOrderExt, fireCuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); - cuMemberBonusExpandList.add(fireCuMemberBonusExpand); - // 拓展收益取封顶最大值 - expandIncome = ComputeUtil.computeSubtract(bdGrade.getRepurchaseCapping(), weekRepExpandIncome); - } - } - BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); - // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() - && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { - if (targetMemberSettleExt.getPkSettleCountry().equals(CountryConstants.CHINA_COUNTRY)) { - cuMemberBonus.setRepurExpandIncome(ComputeUtil.computeSubtract(expandIncome, cuMemberBonus.getExpandIncome())); - setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); - } else { - cuMemberBonus.setRepurExpandIncome(ComputeUtil.computeSubtract(expandIncome, weekRepExpandIncome)); - setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); - } - } - repurchaseExpandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); - cuMemberBonusExpandList.add(cuMemberBonusExpand); - } - - - private CuMemberBonusRange getCuMemberBonusRange(BonusConfigDTO bonusConfigDTO, SaOrderExt saOrderExt, CuMemberSettleExt cuMemberSettleExt, CuMemberBonus cuMemberBonus) { - CuMemberBonusRange cuMemberBonusRange = CuMemberBonusRange.builder() - .pkOrder(saOrderExt.getPkId()) - .pkBonus(cuMemberBonus.getPkId()) - .pkBonusItems(getPkBonusItems(bonusConfigDTO, cuMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) - // 正常还是烧伤 - .incomeStatus(cuMemberSettleExt.getIncomeStatus()) - .calType(ECalType.VALUE.getValue()) - .calAchieve(saOrderExt.getOrderAmount()) - .calValue(BigDecimal.ZERO) - .incomeRatio(BigDecimal.ZERO) - .incomeDialRatio(BigDecimal.ZERO) - .orderDialRatio(BigDecimal.ZERO) - .build(); - cuMemberBonusRange.setPkCountry(cuMemberSettleExt.getPkSettleCountry()); - cuMemberBonusRange.setPkCreator(MagicNumberConstants.PK_ADMIN); - return cuMemberBonusRange; - } -} 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 16ba3208..7b76195e 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 @@ -1,46 +1,26 @@ package com.hzs.bonus.bonus.service.impl; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; -import com.hzs.bonus.achieve.service.ICuMemberTreeService; -import com.hzs.bonus.base.service.ICuAwardsControlService; -import com.hzs.bonus.bonus.param.BonusExpandParam; -import com.hzs.bonus.bonus.param.LeXueRangeParam; import com.hzs.bonus.bonus.service.*; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; -import com.hzs.bonus.bonus.vo.MemberBonusDetailCalVO; import com.hzs.bonus.detail.service.ICuRegionAssessService; import com.hzs.bonus.order.service.IBonusOrderService; -import com.hzs.bonus.risk.service.ICuMemberRiskControlService; import com.hzs.common.core.config.BdConfig; -import com.hzs.common.core.constant.BonusFieldConstants; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.TableNameConstants; import com.hzs.common.core.enums.*; -import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.core.utils.DateUtils; -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.bonus.*; -import com.hzs.common.domain.member.ext.CuBonusExpandExt; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.common.domain.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.dto.BonusConfigDTO; -import com.hzs.system.config.dto.RangeDTO; import lombok.extern.slf4j.Slf4j; 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.*; @@ -51,10 +31,6 @@ import java.util.*; @Slf4j public class BonusSettleServiceImpl implements IBonusSettleService { - @DubboReference - ISystemConfigServiceApi iSystemConfigServiceApi; - @DubboReference - IAwardsServiceApi iAwardsServiceApi; @DubboReference IBonusItemsServiceApi iBonusItemsServiceApi; @@ -63,23 +39,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private ICuRegionAssessService cuRegionAssessService; @Autowired - private ICuMemberTreeService cuMemberTreeService; - @Autowired private ICuMemberSettlePeriodService cuMemberSettlePeriodService; @Autowired - private ICuAwardsControlService cuAwardsControlService; - @Autowired - private ICuMemberRepeatBonusService cuMemberRepeatBonusService; - @Autowired private BonusSettleRangeHandle bonusSettleRangeHandle; - @Autowired - private ICuBonusExpandService bonusExpandService; - @Autowired - private BonusSettleFirstPurchaseHandle bonusSettleFirstPurchaseHandle; - @Autowired - private BonusSettlePurchaseHandle bonusSettlePurchaseHandle; - @Autowired - private ICuMemberRiskControlService cuMemberRiskControlService; private ICuMemberBonusService cuMemberBonusService; @@ -251,75 +213,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } } - @Override - @Transactional(rollbackFor = Exception.class) - public void repeatCuMemberBonusByExpand(String settleDate, List saOrderExtList) { - Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); - String currentSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; - String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); - Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); - String yesterdayTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod; - cuMemberTreeService.initCuMemberExpandTreeTable(yesterdayTableName, currentSettleTableName); - BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); - Map cuMemberSettleExtMap = new HashMap<>(); - Map cuMemberBonusMap = new HashMap<>(); - Map cuAwardsControlMap = getCuAwardsControlMap(); - Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); - Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); - BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); - Map awardsMap = iAwardsServiceApi.getAwards().getData(); - // 首购订单 - List firPurchaseOrderList = new ArrayList<>(); - - saOrderExtList.forEach(saOrderExt -> - packageSaOrderListByType(firPurchaseOrderList, null, saOrderExt)); - // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); - Map riskControlMap = new HashMap<>(); - if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { - cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); - } - // 查询所有的4-n碰次 - BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(); - Map cuBonusExpandExtMap = new HashMap<>(); - List cuBonusExpandExtList = bonusExpandService.queryBonusExpand(bonusExpandParam); - cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt)); - if (firPurchaseOrderList.size() > 0) { - calculateFirPurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO, - firPurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, cuAwardsControlMap, cuBonusExpandExtMap); - } - List cuMemberBonusList = new ArrayList<>(); - for (CuMemberBonus cuMemberBonus : cuMemberBonusMap.values()) { - cuMemberBonusList.add(BeanUtil.copyProperties(cuMemberBonus, CuMemberRepeatBonus.class)); - } - if (cuMemberBonusList.size() > 0) { - cuMemberRepeatBonusService.insertCuMemberRepeatBonus(cuMemberBonusList); - } - if (cuMemberSettleExtMap.size() > 0) { - // 处理网体,更新网体新增 轮次最小值 cuMemberSettleExtMap - cuMemberTreeService.updateCuMemberExpandSettle(currentSettleTableName, cuMemberSettleExtMap); - } - } - - private Map getWeekMemberBonusMap(String settleDate, Integer period) { - // 根据结算日期获取周期的期间,用于海外 - String recentlyMonday = DateUtils.getRecentlyTuesday(settleDate); - CuMemberSettlePeriod startMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(recentlyMonday); - // 查询封顶周期是周的国家的所有人的拓展收益、复购拓展收益 - return cuMemberBonusService.queryWeekMemberBonus(startMemberSettlePeriod.getPkId(), period); - } - - private Map getCuAwardsControlMap() { - // 查询真实奖衔控制 - List cuAwardsControls = cuAwardsControlService.queryAllCuAwardsControl(); - Map cuAwardsControlMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuAwardsControls.size())); - if (CollectionUtil.isNotEmpty(cuAwardsControls)) { - cuAwardsControls.forEach(cuAwardsControl -> - cuAwardsControlMap.put(cuAwardsControl.getPkMember(), cuAwardsControl)); - } - return cuAwardsControlMap; - } - /** * 计算每天的奖金入库 * @@ -400,173 +293,4 @@ public class BonusSettleServiceImpl implements IBonusSettleService { return cuMemberBonusList; } - /** - * 根据订单类型封装为不同订单列表 - * - * @param firPurchaseOrderList 首购 - * @param repurchaseOrderList 复购 - * @param saOrderExt 来源订单 - */ - private void packageSaOrderListByType(List firPurchaseOrderList, List repurchaseOrderList, SaOrderExt saOrderExt) { - if (Objects.equals(EOrderType.REGISTER_ORDER.getValue(), saOrderExt.getOrderType()) || - Objects.equals(EOrderType.UPGRADE_ORDER.getValue(), saOrderExt.getOrderType())) { - firPurchaseOrderList.add(saOrderExt); - } else if (Objects.equals(EOrderType.FICTITIOUS_ORDER.getValue(), saOrderExt.getOrderType())) { - firPurchaseOrderList.add(saOrderExt); - } else if (Objects.equals(EOrderType.REPURCHASE_ORDER.getValue(), saOrderExt.getOrderType())) { - repurchaseOrderList.add(saOrderExt); - } else if (Objects.equals(EOrderType.MALL_ORDER.getValue(), saOrderExt.getOrderType()) || - Objects.equals(EOrderType.COOPERATE_ORDER.getValue(), saOrderExt.getOrderType())) { - repurchaseOrderList.add(saOrderExt); - } else { - // 商城订单也计算复购量奖 - repurchaseOrderList.add(saOrderExt); - } - } - - /** - * 计算首购订单的奖金 - * - * @param settleTableName 结算日表 - * @param settleDate 结算日期 - * @param bonusConfigDTO 各个国家奖金参数 - * @param firPurchaseOrderList 首购订单 - */ - private void calculateFirPurchaseOrder(Map riskControlMap, Map cuMemberSettleExtMap, String settleTableName, String settleDate, Map systemConfigMap, - BonusConfigDTO bonusConfigDTO, List firPurchaseOrderList, Integer period, Map weekMemberBonusMap, - Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, Map awardsMap, - Map cuAwardsControlMap, Map cuBonusExpandExtMap) { - // 获得国家是三单循环还是四单循环 - // 获得升级方式是纳入三单循环还是固定值 - // 获取有订单国家的系统参数,获得三单循环还是四单循环 key 国家+系统参数key - // 需要更新的会员结算表 cuMemberSettleExtMap - //***************************计算推荐奖******************************/ - List cuMemberBonusPushList = bonusSettleFirstPurchaseHandle.calculateRecommendBonus(cuMemberSettleExtMap, settleTableName, bonusConfigDTO, systemConfigMap, firPurchaseOrderList, period, cuMemberBonusMap, awardsMap); - bonusRecordDetailVO.setCuMemberBonusPushList(cuMemberBonusPushList); - //****************************计算量奖*****************************/ - List cuMemberBonusExpandList = bonusSettleFirstPurchaseHandle.calculateExpandBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, systemConfigMap, firPurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, riskControlMap, cuBonusExpandExtMap); - if (cuMemberBonusExpandList.size() > 0) { - if (bonusRecordDetailVO.getCuMemberBonusExpandList() == null) { - bonusRecordDetailVO.setCuMemberBonusExpandList(cuMemberBonusExpandList); - } else { - bonusRecordDetailVO.getCuMemberBonusExpandList().addAll(cuMemberBonusExpandList); - } - } - //*********************************计算领导奖************************/ - // 判断是否有量奖,有量奖有辅导奖 -// List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList, -// cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap); -// bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList); - //*********************************计算服务奖************************/ - List cuMemberBonusDetailList = bonusSettleFirstPurchaseHandle.calculateServiceBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, firPurchaseOrderList, period, cuMemberBonusMap); - bonusRecordDetailVO.setCuMemberBonusDetailList(cuMemberBonusDetailList); - // 收益拨比 实发此单直推/此单所有奖金(直推、量奖) 订单拨比 所有奖金/此单金额 - Map memberBonusDetailCalVoMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size())); - cuMemberBonusPushList.forEach(cuMemberBonusPush -> { - MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusPush); - memberBonusDetailCalVO.setPushIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getPushIncome(), cuMemberBonusPush.getRealIncome())); - }); - cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> { - MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusExpand); - memberBonusDetailCalVO.setExpandIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getExpandIncome(), cuMemberBonusExpand.getRealIncome())); - }); -// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> { -// MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusCoach); -// memberBonusDetailCalVO.setCoachIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getCoachIncome(), cuMemberBonusCoach.getRealIncome())); -// }); - cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> { - MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusDetail); - memberBonusDetailCalVO.setServiceIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getServiceIncome(), cuMemberBonusDetail.getRealIncome())); - }); - Map saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size())); - firPurchaseOrderList.forEach(saOrderExt -> - saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt)); - // 计算 收益拨比 此类型收益÷总拨金额 订单拨比 此订单所有收益之合得实发金额÷订单总金额 - cuMemberBonusPushList.forEach(cuMemberBonusPush -> { - MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusPush.getPkOrder()); - SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder()); - cuMemberBonusPush.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getPushIncome(), memberBonusDetailCalVO.getRealIncome())); - cuMemberBonusPush.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); - }); - // 拓展收益 - cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> { - MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder()); - SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder()); - cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getExpandIncome(), memberBonusDetailCalVO.getRealIncome())); - cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); - }); - // 辅导收益 -// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> { -// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder()); -// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder()); -// cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome())); -// cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); -// }); - // 报单服务费 - cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> { - MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusDetail.getPkOrder()); - SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder()); - cuMemberBonusDetail.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getServiceIncome(), memberBonusDetailCalVO.getRealIncome())); - cuMemberBonusDetail.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), ComputeUtil.computeDivide(saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()))); - }); -// //*********************************计算分红奖,理论最大值************************/ -// Map> saOrderMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size())); -// firPurchaseOrderList.forEach(saOrderExt -> { -// Integer key = saOrderExt.getPkCountry(); -// if (saOrderMap.containsKey(key)) { -// saOrderMap.get(key).add(saOrderExt); -// } else { -// List saOrderExtList = new ArrayList<>(); -// saOrderExtList.add(saOrderExt); -// saOrderMap.put(key, saOrderExtList); -// } -// }); -// saOrderMap.forEach((pkCountry, saOrderExtList) -> { -// CuMemberShareMax cuMemberShareMax = CuMemberShareMax.builder() -// .period(period) -// .pkRate(saOrderExtList.get(0).getPkRate()) -// .shareIncome(BigDecimal.ZERO) -// .orderAchieve(BigDecimal.ZERO) -// .build(); -// cuMemberShareMax.setPkCountry(pkCountry); -// cuMemberShareMax.setPkCreator(MagicNumberConstants.PK_ADMIN); -// saOrderExtList.forEach(saOrderExt -> { -// cuMemberShareMax.setOrderAchieve(ComputeUtil.computeAdd(cuMemberShareMax.getOrderAchieve(), saOrderExt.getOrderAchieve())); -// cuMemberShareMax.setShareIncome(ComputeUtil.computeAdd(cuMemberShareMax.getShareIncome(), ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), BigDecimal.valueOf(5)))); -// }); -// cuMemberShareMaxService.insertMaxShareBonus(cuMemberShareMax); -// }); - } - - /** - * 计算订单奖金累计值 - */ - private MemberBonusDetailCalVO calculateOrderRatio(Map memberBonusDetailVoMap, Object cuMemberBonus) { - Long pkOrder = ReflectUtils.invokeGetter(cuMemberBonus, "pkOrder"); - MemberBonusDetailCalVO memberBonusDetailCalVO; - if (memberBonusDetailVoMap.containsKey(pkOrder)) { - memberBonusDetailCalVO = memberBonusDetailVoMap.get(pkOrder); - memberBonusDetailCalVO.setPretaxIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getPretaxIncome(), ReflectUtils.invokeGetter(cuMemberBonus, BonusFieldConstants.PRETAX_INCOME))); - memberBonusDetailCalVO.setIncomeTax(ComputeUtil.computeAdd(memberBonusDetailCalVO.getIncomeTax(), ReflectUtils.invokeGetter(cuMemberBonus, BonusFieldConstants.INCOME_TAX))); - memberBonusDetailCalVO.setRealIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRealIncome(), ReflectUtils.invokeGetter(cuMemberBonus, BonusFieldConstants.REAL_INCOME))); - } else { - memberBonusDetailCalVO = MemberBonusDetailCalVO.builder() - .pkOrder(ReflectUtils.invokeGetter(cuMemberBonus, "pkOrder")) - .pretaxIncome(ReflectUtils.invokeGetter(cuMemberBonus, "pretaxIncome")) - .incomeTax(ReflectUtils.invokeGetter(cuMemberBonus, "incomeTax")) - .realIncome(ReflectUtils.invokeGetter(cuMemberBonus, "realIncome")) - .pushIncome(BigDecimal.ZERO) - .expandIncome(BigDecimal.ZERO) - .coachIncome(BigDecimal.ZERO) - .serviceIncome(BigDecimal.ZERO) - .repExpandIncome(BigDecimal.ZERO) - .repRangeIncome(BigDecimal.ZERO) - .hiFunIncome(BigDecimal.ZERO) - .haiFunIncome(BigDecimal.ZERO) - .build(); - memberBonusDetailVoMap.put(pkOrder, memberBonusDetailCalVO); - } - return memberBonusDetailCalVO; - } - } 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 deleted file mode 100644 index 806614ba..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuBonusExpandServiceImpl.java +++ /dev/null @@ -1,204 +0,0 @@ -package com.hzs.bonus.bonus.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; -import com.hzs.bonus.bonus.mapper.CuBonusExpandMapper; -import com.hzs.bonus.bonus.param.BonusExpandParam; -import com.hzs.bonus.bonus.service.IBonusSettleService; -import com.hzs.bonus.bonus.service.ICuBonusExpandService; -import com.hzs.common.core.annotation.Transaction; -import com.hzs.common.core.constant.CountryConstants; -import com.hzs.common.core.constant.MagicNumberConstants; -import com.hzs.common.core.constant.SystemFieldConstants; -import com.hzs.common.core.utils.ComputeUtil; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; -import com.hzs.common.domain.member.bonus.CuBonusExpand; -import com.hzs.common.domain.member.ext.CuBonusExpandExt; -import com.hzs.common.domain.sale.ext.SaOrderExt; -import com.hzs.sale.order.ISaOrderServiceApi; -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.time.temporal.ChronoUnit; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 服务实现类 - */ -@Service -public class CuBonusExpandServiceImpl extends ServiceImpl implements ICuBonusExpandService { - - @DubboReference - ISaOrderServiceApi saOrderServiceApi; - - @Autowired - private ICuMemberSettlePeriodService memberSettlePeriodService; - - @Autowired - private IBonusSettleService bonusSettleService; - - @Override - public List queryBonusExpand(BonusExpandParam bonusExpandParam) { - return baseMapper.queryBonusExpand(bonusExpandParam); - } - - @Override - public List queryBonusExpandDis(BonusExpandParam bonusExpandParam) { - return baseMapper.queryBonusExpandDis(bonusExpandParam); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void firstSaveCuBonusExpand(BonusExpandParam bonusExpandParam) { - List bonusExpandList = queryCuBonusExpand(bonusExpandParam.getSettleDate(), bonusExpandParam.getPkCountry()); - if (bonusExpandList == null || bonusExpandList.size() == 0) { - // 查询 - List cuBonusExpandList = queryCuBonusExpand(DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusExpandParam.getSettleDate()), bonusExpandParam.getPkCountry()); - Map cuBonusExpandMap = new HashMap<>(); - cuBonusExpandList.forEach(cuBonusExpand -> cuBonusExpandMap.put(cuBonusExpand.getPkMember(), cuBonusExpand)); - // 查询0线 - List saveBonusExpandList = baseMapper.queryZeroMemberByVertex(); - for (CuBonusExpand saveBonusExpand : saveBonusExpandList) { - saveBonusExpand.setSettleDate(bonusExpandParam.getSettleDate()); - saveBonusExpand.setPkCreator(MagicNumberConstants.PK_ADMIN); - if (cuBonusExpandMap.containsKey(saveBonusExpand.getPkMember())) { - CuBonusExpand cuBonusExpand = cuBonusExpandMap.get(saveBonusExpand.getPkMember()); - saveBonusExpand.setAddTouch(cuBonusExpand.getAddTouch()); - saveBonusExpand.setExpandRatio(cuBonusExpand.getExpandRatio()); - saveBonusExpand.setExpandNumber(cuBonusExpand.getExpandNumber()); - } - if (bonusExpandParam.getAddTouch() != null) { - saveBonusExpand.setAddTouch(bonusExpandParam.getAddTouch()); - saveBonusExpand.setExpandRatio(bonusExpandParam.getExpandRatio()); - saveBonusExpand.setExpandNumber(bonusExpandParam.getExpandNumber()); - } - } - saveBatch(saveBonusExpandList); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateCuBonusExpandRatio(BonusExpandParam bonusExpandParam, String tableName) { - // 查询结算的4-n碰次设置 - List cuBonusExpandList = queryCuBonusExpand(bonusExpandParam.getSettleDate(), bonusExpandParam.getPkCountry()); - if (CollectionUtil.isNotEmpty(cuBonusExpandList)) { - Date settleDate = bonusExpandParam.getSettleDate(); - Map bonusExpandMap = new HashMap<>(); - List memberIdList = new ArrayList<>(); - cuBonusExpandList.forEach(cuBonusExpand -> { - bonusExpandMap.put(cuBonusExpand.getPkMember(), cuBonusExpand); - memberIdList.add(cuBonusExpand.getPkMember()); - }); - bonusExpandParam.setMemberIdList(memberIdList); - // 计算所有体系日波比 - packageBonusExpandParam(bonusExpandParam, settleDate, settleDate); - List dayBonusExpandList = baseMapper.calculateDayRatioByBonusExpandParam(bonusExpandParam, tableName); - 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())) { - bonusExpand.setYesDayRatio(cuBonusExpand.getYesDayRatio()); - } - bonusExpand.setCurDayRatio(cuBonusExpand.getYesDayRatio()); - } - } - } - List dayRepBonusExpandList = baseMapper.calculateDayRepRatioByBonusExpandParam(bonusExpandParam, tableName); - if (CollectionUtil.isNotEmpty(dayRepBonusExpandList)) { - for (CuBonusExpand cuBonusExpand : dayRepBonusExpandList) { - if (bonusExpandMap.containsKey(cuBonusExpand.getPkMember())) { - CuBonusExpand bonusExpand = bonusExpandMap.get(cuBonusExpand.getPkMember()); - bonusExpand.setDayRepAchieve(cuBonusExpand.getDayRepAchieve()); - bonusExpand.setDayRepBonus(cuBonusExpand.getDayRepBonus()); - bonusExpand.setCurDayRepRatio(cuBonusExpand.getCurDayRepRatio()); - } - } - } - // 计算所有体系月波比 - // 获得当前月第一天,获得当前月最后一天 - packageBonusExpandParam(bonusExpandParam, DateUtils.currentMonthFirstDate(settleDate), settleDate); - List monthBonusExpandList = baseMapper.calculateDayRatioByBonusExpandParam(bonusExpandParam, tableName); - if (CollectionUtil.isNotEmpty(monthBonusExpandList)) { - for (CuBonusExpand cuBonusExpand : monthBonusExpandList) { - if (bonusExpandMap.containsKey(cuBonusExpand.getPkMember())) { - CuBonusExpand bonusExpand = bonusExpandMap.get(cuBonusExpand.getPkMember()); - bonusExpand.setMonthAchieve(cuBonusExpand.getDayAchieve()); - bonusExpand.setMonthBonus(cuBonusExpand.getDayBonus()); - bonusExpand.setMonthRatio(cuBonusExpand.getYesDayRatio()); - } - } - } - // 批量更新数据,更新4-n的波比 - baseMapper.mergeBonusExpandByList(new ArrayList<>(bonusExpandMap.values())); - } - } - - private void packageBonusExpandParam(BonusExpandParam bonusExpandParam, Date settleDate, Date endDate) { - bonusExpandParam.setStartDate(settleDate); - bonusExpandParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, endDate)); - CuMemberSettlePeriod startPeriod = memberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, bonusExpandParam.getStartDate())); - CuMemberSettlePeriod endPeriod = memberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endDate)); - bonusExpandParam.setStartPeriod(startPeriod.getPkId()); - bonusExpandParam.setEndPeriod(endPeriod.getPkId()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void saveCuBonusExpand(BonusExpandParam bonusExpandParam) { - if (bonusExpandParam.getPkId() == null) { - firstSaveCuBonusExpand(bonusExpandParam); - } else { - // 查询原数据 增加明细表 - CuBonusExpand cuBonusExpand = baseMapper.selectById(bonusExpandParam.getPkId()); - CuBonusExpand saveBonusExpand = BeanUtil.copyProperties(cuBonusExpand, CuBonusExpand.class); - saveBonusExpand.setPkId(null); - saveBonusExpand.setPkParent(cuBonusExpand.getPkId()); - save(saveBonusExpand); - // 2 更新主表 - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("ADD_TOUCH", bonusExpandParam.getAddTouch()); - updateWrapper.set("EXPAND_RATIO", bonusExpandParam.getExpandRatio()); - updateWrapper.set("EXPAND_NUMBER", bonusExpandParam.getExpandNumber()); - updateWrapper.set(SystemFieldConstants.PK_MODIFIED, bonusExpandParam.getPkModified()); - updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, DateUtils.currentDateTime()); - updateWrapper.eq(SystemFieldConstants.PK_ID, bonusExpandParam.getPkId()); - update(updateWrapper); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void repeatCuBonusByExpand(BonusExpandParam bonusExpandParam) { - String settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, bonusExpandParam.getSettleDate()); - Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, bonusExpandParam.getSettleDate()); - // 查询订单 - List saOrderExtList = saOrderServiceApi.queryRepeatSaOrderByDay(bonusExpandParam.getSettleDate(), endDate).getData(); - baseMapper.truncateTable(); - // 重算奖金 - bonusSettleService.repeatCuMemberBonusByExpand(settleDate, saOrderExtList); - // 更新波比、业绩 - updateCuBonusExpandRatio(bonusExpandParam, "cu_member_repeat_bonus"); - } - - private List queryCuBonusExpand(Date settleDate, Integer pkCountry) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("SETTLE_DATE", settleDate); - if (pkCountry != null) { - queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry); - } - queryWrapper.isNull("PK_PARENT"); - return baseMapper.selectList(queryWrapper); - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushServiceImpl.java index 7909b72c..d82a5da1 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusPushServiceImpl.java @@ -2,11 +2,9 @@ package com.hzs.bonus.bonus.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle; -import com.hzs.bonus.bonus.param.TripleCycleListParam; import com.hzs.bonus.bonus.service.ICuMemberBonusPushService; import com.hzs.common.domain.member.bonus.CuMemberBonusPush; import com.hzs.bonus.bonus.mapper.CuMemberBonusPushMapper; -import com.hzs.common.domain.member.ext.CuMemberBonusPushExt; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -15,12 +13,7 @@ import java.util.List; import java.util.Set; /** - *

* 会员奖金-直推收益明细表 服务实现类 - *

- * - * @author hzs - * @since 2022-11-10 */ @Service public class CuMemberBonusPushServiceImpl extends ServiceImpl implements ICuMemberBonusPushService { @@ -56,9 +49,4 @@ public class CuMemberBonusPushServiceImpl extends ServiceImpl - * 会员奖金-4-n碰次重算奖金表 服务实现类 - *

- * - * @author hzs - * @since 2024-07-23 - */ -@Service -public class CuMemberRepeatBonusServiceImpl extends ServiceImpl implements ICuMemberRepeatBonusService { - - @Override - public void insertCuMemberRepeatBonus(List cuMemberRepeatBonusList) { - baseMapper.insertCuMemberRepeatBonus(cuMemberRepeatBonusList); - } -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlParam.java index a8cbd9dc..41e347f7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlParam.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlParam.java @@ -1,30 +1,16 @@ -package com.hzs.bonus.risk.param;/** - * @Description: - * @Author: yuhui - * @Time: 2024/4/9 17:00 - * @Classname: MemberRiskControlParam - * @PackageName: com.hzs.bonus.risk.param - */ +package com.hzs.bonus.risk.param; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.hzs.common.core.web.domain.BaseEntity; import com.hzs.member.account.dto.MemberAmountDTO; import lombok.Data; +import lombok.EqualsAndHashCode; import java.math.BigDecimal; import java.util.Date; import java.util.List; -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.bonus.risk.param - *@Author: yh - *@CreateTime: 2024-04-09 17:00 - *@Description: TODO - *@Version: 1.0 - */ +@EqualsAndHashCode(callSuper = true) @Data public class MemberRiskControlParam extends BaseEntity { @@ -37,7 +23,7 @@ public class MemberRiskControlParam extends BaseEntity { /** * 会员编号 */ - private String memberCode ; + private String memberCode; /** * 会员主键 @@ -85,7 +71,6 @@ public class MemberRiskControlParam extends BaseEntity { private Date beginEndDate; - /** * 结束结束时间 */ @@ -108,7 +93,6 @@ public class MemberRiskControlParam extends BaseEntity { private Integer changeNumber; - /** * 费用 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlPetition.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlPetition.java index ed7bc424..5eb9f35f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlPetition.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskControlPetition.java @@ -1,33 +1,17 @@ -package com.hzs.bonus.risk.param;/** - * @Description: - * @Author: yuhui - * @Time: 2024/7/1 10:33 - * @Classname: MemberRiskControlPetition - * @PackageName: com.hzs.bonus.risk.param - */ +package com.hzs.bonus.risk.param; import com.hzs.common.core.web.domain.BaseApprovalEntity; -import com.hzs.member.account.dto.MemberAmountDTO; import com.hzs.system.sys.dto.LoginUser; import lombok.Data; +import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.util.List; -import java.util.Set; -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.bonus.risk.param - *@Author: yh - *@CreateTime: 2024-07-01 10:33 - *@Description: TODO - *@Version: 1.0 - */ +@EqualsAndHashCode(callSuper = true) @Data public class MemberRiskControlPetition extends BaseApprovalEntity implements Serializable { - /** * 操作类型(1=新增,2=修改,3=删除) */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskParam.java deleted file mode 100644 index 22042ca3..00000000 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/param/MemberRiskParam.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.hzs.bonus.risk.param;/** - * @Description: - * @Author: yuhui - * @Time: 2024/5/8 9:50 - * @Classname: MemberRiskParam - * @PackageName: com.hzs.bonus.risk.param - */ - -import com.hzs.common.core.web.domain.BaseApprovalEntity; -import com.hzs.system.sys.dto.LoginUser; -import lombok.Data; - -import java.io.Serializable; - -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.bonus.risk.param - *@Author: yh - *@CreateTime: 2024-05-08 09:50 - *@Description: TODO - *@Version: 1.0 - */ -@Data -public class MemberRiskParam extends BaseApprovalEntity implements Serializable { - - - /** - * 操作类型(1=新增,2=修改,3=删除) - */ - private Integer controlType; - - - /** - * 国家 - */ - private Integer pkCountry; - - /** - * 会员ID - */ - private Long pkMember; - - /** - * 登录用户信息 - */ - private LoginUser loginUser; - - /** - * K值风控设置 - */ - private MemberRiskControlParam memberRiskControlParam; -} diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/service/ICuMemberRiskControlService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/service/ICuMemberRiskControlService.java index 6a54f7e0..85e81352 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/service/ICuMemberRiskControlService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/risk/service/ICuMemberRiskControlService.java @@ -3,35 +3,19 @@ package com.hzs.bonus.risk.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.bonus.risk.param.MemberRiskControlParam; import com.hzs.bonus.risk.param.MemberRiskControlPetition; -import com.hzs.bonus.risk.param.MemberRiskParam; import com.hzs.bonus.risk.vo.MemberRiskControlVo; import com.hzs.common.domain.bonus.risk.CuMemberRiskControl; -import java.util.Date; import java.util.List; /** - *

* 会员奖金-K值风控设置 服务类 - *

- * - * @author zhangjing - * @since 2024-04-08 */ public interface ICuMemberRiskControlService extends IService { - - /* - * @description: 查询时间范围内生效的k值 - * @author: sui q - * @date: 2024/4/8 15:59 - * @param: null null - **/ - List queryCuMemberRiskControl(Date settleDate); - - /** * 列表查询 + * * @param memberRiskControlParam * @return */ @@ -40,6 +24,7 @@ public interface ICuMemberRiskControlService extends IService * 会员奖金-K值风控设置 服务实现类 - *

- * - * @author zhangjing - * @since 2024-04-08 */ @Service public class CuMemberRiskControlServiceImpl extends ServiceImpl implements ICuMemberRiskControlService { - @DubboReference - private IApprovalServiceApi approvalServiceApi; - @DubboReference - private ICuMemberTradeServiceApi memberTradeServiceApi; - @Autowired - private UserTokenService userTokenService; - @Autowired - private RabbitTemplate rabbitTemplate; @DubboReference - private ICuMemberServiceLogServiceApi memberServiceLogServiceApi; + IApprovalServiceApi approvalServiceApi; + @DubboReference + ICuMemberServiceLogServiceApi memberServiceLogServiceApi; + @Override - public List queryCuMemberRiskControl(Date settleDate) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.le("start_date", settleDate); - queryWrapper.ge("end_date", settleDate); - return baseMapper.selectList(queryWrapper); - } - /** - * 列表查询 - * @param memberRiskControlParam - * @return - */ - @Override - public List queryByList(MemberRiskControlParam memberRiskControlParam) - { + public List queryByList(MemberRiskControlParam memberRiskControlParam) { return baseMapper.queryByList(memberRiskControlParam); } - - /** - * k值风控参数 审批 - * @param memberRiskControlPetition - */ @Override public void onLinePetition(MemberRiskControlPetition memberRiskControlPetition) { EApprovalBusiness approvalBusiness = null; @@ -86,24 +51,17 @@ public class CuMemberRiskControlServiceImpl extends ServiceImpl - - merge into ${targetTable} a - using(select pk_member,a_balance,b_balance,min_achieve,round,second 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.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/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index d9bb606b..24a237c2 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 @@ -460,21 +460,6 @@ ) - - merge into ${settleTableName} a - using( - select * from ( - - select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} 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.min_achieve=b.min_achieve,a.round = b.round,a.second=b.second - - create table ${tableName} ( @@ -575,52 +560,10 @@ - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuAwardsControlMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuAwardsControlMapper.xml deleted file mode 100644 index d91db4ff..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuAwardsControlMapper.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - DEL_FLAG, - PK_COUNTRY, - CREATION_TIME, - MODIFIED_TIME, - PK_CREATOR, - PK_MODIFIED, - PK_ID, REAL_AWARDS, MENTORING_AWARD, DIVIDEND_AWARD, EXTREME_AWARDS, REPURCHASE_ASSESSMENT_AWARD, DIVIDEND_ASSESSMENT_AWARDS - - - - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuHonorWallMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuHonorWallMapper.xml deleted file mode 100644 index c26d852e..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuHonorWallMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberHonorWallMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberHonorWallMapper.xml deleted file mode 100644 index de20c999..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberHonorWallMapper.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuBonusExpandMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuBonusExpandMapper.xml deleted file mode 100644 index c35c6024..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuBonusExpandMapper.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - merge into cu_bonus_expand ce - using ( - select * from( - - select #{item.pkId} pk_id,#{item.dayAchieve,jdbcType=NUMERIC} day_achieve,#{item.dayBonus,jdbcType=NUMERIC} day_bonus, - #{item.yesDayRatio,jdbcType=NUMERIC} yes_day_ratio,#{item.curDayRatio,jdbcType=NUMERIC} cur_day_ratio, - #{item.monthAchieve,jdbcType=NUMERIC} month_achieve,#{item.monthBonus,jdbcType=NUMERIC} month_bonus, - #{item.monthRatio,jdbcType=NUMERIC} month_ratio,#{item.dayRepAchieve,jdbcType=NUMERIC} day_rep_achieve, - #{item.dayRepBonus,jdbcType=NUMERIC} day_rep_bonus,#{item.curDayRepRatio,jdbcType=NUMERIC} cur_day_rep_ratio from dual - ) - ) b - on (ce.pk_id=b.pk_id) - when matched then - update set ce.day_achieve=b.day_achieve,ce.day_bonus=b.day_bonus,ce.yes_day_ratio=b.yes_day_ratio, - ce.cur_day_ratio=b.cur_day_ratio,ce.month_achieve=b.month_achieve, - ce.month_bonus=b.month_bonus,ce.month_ratio=b.month_ratio, - ce.day_rep_achieve=b.day_rep_achieve,ce.day_rep_bonus=b.day_rep_bonus, - ce.cur_day_rep_ratio=b.cur_day_rep_ratio - - - truncate table cu_member_repeat_bonus - - - - - - - - diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberRepeatBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberRepeatBonusMapper.xml deleted file mode 100644 index d6d81aa6..00000000 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberRepeatBonusMapper.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - insert ALL - - into CU_MEMBER_REPEAT_BONUS(pk_member,period,pk_rate,direct_income,expand_income, - coach_income,share_income,service_income,back_points,service_spend, - pur_real_subtotal,maker_direct_income,maker_share_income,maker_real_subtotal,real_income_total, - pk_country,pk_creator) - values - (#{item.pkMember},#{item.period},#{item.pkRate,jdbcType=INTEGER},#{item.directIncome}, - #{item.expandIncome},#{item.coachIncome},#{item.shareIncome},#{item.serviceIncome}, - #{item.backPoints},#{item.serviceSpend},#{item.purRealSubtotal},#{item.makerDirectIncome}, - #{item.makerShareIncome},#{item.makerRealSubtotal},#{item.realIncomeTotal}, - #{item.pkCountry},#{item.pkCreator}) - - SELECT 1 FROM dual - - - diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/api/ApiCuMemberAchieveDisController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/api/ApiCuMemberAchieveDisController.java index f2869f56..4a73f7bf 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/api/ApiCuMemberAchieveDisController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/api/ApiCuMemberAchieveDisController.java @@ -19,14 +19,12 @@ import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.member.achieve.ext.CuMemberAchieveExt; -import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.util.TransactionUtils; import com.hzs.member.achieve.controller.vo.*; import com.hzs.member.achieve.param.MemberAchieveDisParam; import com.hzs.member.achieve.param.MonthAchieveParam; import com.hzs.member.achieve.service.ICuMemberAchieveService; -import com.hzs.member.achieve.service.ICuMemberMonthAchieveService; import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; @@ -62,19 +60,6 @@ public class ApiCuMemberAchieveDisController extends BaseController { private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired private ICuMemberAchieveService iCuMemberAchieveService; - @Autowired - private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; - - /** - * 用于查询会员市场动态 - */ - @GetMapping("/query-place-tree") - public AjaxResult queryPlaceParentTree() { - // 查询架构树 - MemberAchieveDisParam memberAchieveDisParam = new MemberAchieveDisParam(); - memberAchieveDisParam.setPkMember(SecurityUtils.getUserId()); - return AjaxResult.success(iCuMemberAchieveService.queryCuMemberAchieveDis(memberAchieveDisParam)); - } /** * 用于查询会员市场动态 @@ -371,28 +356,6 @@ public class ApiCuMemberAchieveDisController extends BaseController { return endDate; } - /** - * 推荐分布 - **/ - @PostMapping("/recommend") - public TableDataInfo recommendExperts(@RequestBody ParentAchieveVO parentAchieveVO) { - if (parentAchieveVO.getWallType() == null) { - return new TableDataInfo(); - } - parentAchieveVO.setPkCountry(SecurityUtils.getPkCountry()); - List cuMemberMonthAchieveExtList = iCuMemberMonthAchieveService.queryCuMemberMonthAchieveRecommend(parentAchieveVO); - cuMemberMonthAchieveExtList.forEach(cuMemberMonthAchieveExt -> { - String memberName = cuMemberMonthAchieveExt.getMemberName(); - if (memberName.length() > 2) { - cuMemberMonthAchieveExt.setMemberName(memberName.replaceFirst(memberName.substring(1, memberName.length() - 1), "*")); - } else { - cuMemberMonthAchieveExt.setMemberName(memberName.replaceFirst(memberName.substring(1), "*")); - } - }); - return getDataTable(cuMemberMonthAchieveExtList); - } - - /** * 月度业绩 **/ diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/vo/ParentAchieveVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/vo/ParentAchieveVO.java index 0e1cd0fd..71212c34 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/vo/ParentAchieveVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/controller/vo/ParentAchieveVO.java @@ -8,21 +8,14 @@ import lombok.Data; import java.math.BigDecimal; import java.util.List; - /** - *

* 直推业绩统计VO - *

- * - * @author zhangjing - * @since 2023-05-17 */ @Data public class ParentAchieveVO { private static final long serialVersionUID = 1L; - /** * 会员主键 */ diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/mapper/CuMemberMonthAchieveMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/mapper/CuMemberMonthAchieveMapper.java index 32e8603e..e98d3796 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/mapper/CuMemberMonthAchieveMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/mapper/CuMemberMonthAchieveMapper.java @@ -2,34 +2,14 @@ package com.hzs.member.achieve.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.achieve.CuMemberMonthAchieve; -import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt; -import com.hzs.member.achieve.controller.vo.ParentAchieveVO; import com.hzs.member.achieve.controller.vo.RealPerformanceVo; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** * 会员月数据 Mapper 接口 */ public interface CuMemberMonthAchieveMapper extends BaseMapper { - /** - * 根据时间查询月业绩 - */ - List queryCuMemberMonthAchieveByDate(@Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod, - @Param("recommend") Integer recommend, @Param("repurchase") Integer repurchase); - - /** - * 根据条件查询会员月业绩 推荐达人 - */ - List queryCuMemberMonthAchieveRecommend(ParentAchieveVO parentAchieveVO); - - /** - * 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天 - */ - void insertCuMemberMonthAchieve(@Param("tableName") String tableName, @Param("period") Integer period, @Param("month") String month); - /** * 查询会员真实业绩 * @@ -38,4 +18,5 @@ public interface CuMemberMonthAchieveMapper extends BaseMapper { - /** - * 创建会员网体推荐人索引 - * - * @param tableName 日期 - */ - void createCuMemberTreeParentIndex(String tableName); - - /** - * 创建会员网体安置人索引 - * - * @param tableName 日期 - */ - void createCuMemberTreePlaceIndex(String tableName); - - /** - * 创建会员网体推荐人索引 - * - * @param tableName 日期 - */ - void createCuMemberTableUniqueIndex(String tableName); - - /** - * 创建表的序列 - * - * @param tableName 表名 - * @param tableNameSeq 序列名 - */ - void createCuMemberTableSequence(@Param("tableName") String tableName, @Param("tableNameSeq") String tableNameSeq); - - /** - * 创建会员网体推荐人索引 - * - * @param tableName 日期 - */ - void createCuMemberTreeDayOnlyIndex(String tableName); - - /** - * 删除日表数据 - * - * @param tableName 表名 - */ - void truncateCuMemberTreeTable(@Param("tableName") String tableName); - /** * 判断是否存在临时表 * @@ -64,13 +21,6 @@ public interface CuMemberTreeMapper extends BaseMapper { */ Integer queryExistOracleTable(String tableName); - /** - * 查询历史会员网体信息,查询某一天免考的会员 - * - * @param tableName 结算表 - */ - List queryExemptCuMemberSettle(String tableName); - /** * 查询会员结算表,查询出结算表中会员伞下左右区满足等级 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/param/MemberAchieveParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/param/MemberAchieveParam.java deleted file mode 100644 index 20c21008..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/param/MemberAchieveParam.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hzs.member.achieve.param; - -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - *

- * 会员业绩记录 - *

- * - * @author hzs - * @since 2022-10-26 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class MemberAchieveParam implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 会员编号 - */ - private Long pkMember; - - /** - * 汇率 - */ - private Integer pkRate; - - /** - * 首购新增金额 - */ - private BigDecimal newAmount; - - /** - * 首购新增业绩 - */ - private BigDecimal newPv; - - /** - * 真实新增金额 - */ - private BigDecimal newRealAmount; - - /** - * 真实新增业绩 - */ - private BigDecimal newRealPv; - - /** - * 复购新增金额 - */ - private BigDecimal repNewAmount; - - /** - * 复购新增业绩 - */ - private BigDecimal repNewPv; - - /** - * 轮 - */ - private Integer round; - - /** - * 次 - */ - private Integer second; - -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberAchieveService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberAchieveService.java index dcf6e2e3..246c0ca8 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberAchieveService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberAchieveService.java @@ -3,10 +3,8 @@ package com.hzs.member.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.sale.order.SaOrder; import com.hzs.member.achieve.controller.vo.*; import com.hzs.member.achieve.param.MemberAchieveDisParam; -import com.hzs.member.achieve.param.MemberAchieveParam; import com.hzs.member.achieve.param.MonthAchieveParam; import com.hzs.member.achieve.vo.*; import com.hzs.member.settlecenter.param.PlacementDataParam; @@ -19,15 +17,9 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.util.Date; import java.util.List; -import java.util.Map; /** - *

* 会员业绩记录 服务类 - *

- * - * @author hzs - * @since 2022-10-26 */ public interface ICuMemberAchieveService extends IService { @@ -36,171 +28,16 @@ public interface ICuMemberAchieveService extends IService { * * @param pkMember 会员主键 * @param pkCountry 公司 - * @return: CuMemberAchieve - * @Author: sui q - * @Date: 2022/10/26 15:04 */ CuMemberAchieve queryCuMemberAchieveByPkMember(Long pkMember, Integer pkCountry); - /** - * 计算业绩(根据订单,用于秒接) - * - * @param saOrder 订单 - * @return: void - * @Author: sui q - * @Date: 2022/10/31 10:03 - */ - void calculateAchieveBySaOrder(SaOrder saOrder); - - /** - * 计算业绩(根据订单列表,7天内所有订单) - * - * @param saOrderMap 订单列表 - * @return: void - * @Author: sui q - * @Date: 2022/10/31 10:01 - */ - void calculateAchieveBySaOrder(Map> saOrderMap); - - /** - * 创建每月的会员业绩记录表 - * - * @param date 日期 - * @return: void - * @Author: sui q - * @Date: 2022/10/31 15:17 - */ - String createCuMemberAchieve(String date); - - /** - * 创建每年的业绩统计年表,用于放月表 - * - * @param tableName 表名 - * @return: void - * @Author: sui q - * @Date: 2022/11/7 14:10 - */ - void createCuMemberMonthTable(String tableName); - /* - * @description:更新会员业绩表 每月月统计报表 - * @author: sui q - * @date: 2023/8/29 10:57 - * @param: null null - **/ - void mergeCuMemberMonth(Integer day, String date); - - /** - * 将结算日表的值插入到结算月表中 - * - * @param targetTableName 目标表 网体月表 - * @param sourceTableName 来源表 结算日表 - * @param period 期间 - * @return: void - * @Author: sui q - * @Date: 2023/2/16 11:35 - */ - void insertCuMemberAchieveBySettleDate(String targetTableName, String sourceTableName, Integer period); - - /** - * 将结算日表的值插入到结算月表中 - * - * @param targetTableName 目标表 网体月表 - * @param sourceTableName 来源表 结算日表 - * @param period 期间 - * @return: void - * @Author: sui q - * @Date: 2023/2/16 11:35 - */ - void mergeCuMemberAchieveBySettleDate(String targetTableName, String sourceTableName, Integer period); - - /** - * 根据每日日业绩开始更新会员业绩 新增业绩、累计业绩 - * - * @param memberAchieveParamMap 修改的结算 - * @param tablaName 修改的结算期间表 - * @return: Boolean - * @Author: sui q - * @Date: 2022/11/2 11:30 - */ - Boolean updateCuMemberAchieveEveryDay(Map memberAchieveParamMap, String tablaName); - - - /** - * 根据每日日业绩开始回退更新会员业绩 新增业绩、累计业绩 - * - * @param memberAchieveParamMap 修改的结算 - * @param tablaName 修改的结算期间表 - * @return: Boolean - * @Author: sui q - * @Date: 2022/11/2 11:30 - */ - void updateCuMemberBackOldAchieveEveryDay(Map memberAchieveParamMap, String tablaName); - - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - * @return: void - * @Author: sui q - * @Date: 2022/10/31 16:26 - */ - void updateCuMemberSettleInitAchieve(String targetTable); - - /** - * 将昨天日表数据插入今天日表中, 昨日日表更新今天日表网体表 - * 根据昨天结算表数据更新今天结算表的业绩数据 - * - * @param sourceTable 来源表,记录10天跟月表一摸一样的滚动表数据 - * @param targetTable 目标表 记录10天跟月表一摸一样的滚动表数据 - * @return: void - * @Author: sui q - * @Date: 2022/10/31 16:26 - */ - void updateCuMemberSettleAchieveByBeforeDay(String sourceTable, String targetTable); - - /** - * 根据特殊业务更新业绩 - * - * @param targetTable 结算表 - * @param period 期间 - * @param pkId 主键 - * @return: void - * @Author: sui q - * @Date: 2023/3/11 13:42 - */ - void updateCuMemberSettleAchieveBySpecialBus(String targetTable, Integer period, Long pkId); - - /* - * @description: 根据到期日期更新业绩,到期后需要还原到实际累计金额 - * @author: sui q - * @date: 2023/4/8 15:32 - * @param: null null - **/ - void updateCuMemberSettleAchieveByDueDate(String currentTableName, String yesTableName, Date currentDate); - - /* - * description: 业绩分布-安置图 - * @author: sui q - * @date: 2023/4/6 18:01 - * @param: null null - **/ - CuMemberDisVO queryCuMemberAchieveDis(MemberAchieveDisParam memberAchieveDisParam); - - /* - * @description: 点击架构树显示会员的业绩情况 - * @author: sui q - * @date: 2023/5/10 16:04 - * @param: null null + * 点击架构树显示会员的业绩情况 **/ CuMemberDisVO queryCuMemberDis(MemberAchieveDisParam memberAchieveDisParam); /* - * description: 查询会员伞下血缘业绩 - * @author: sui q - * @date: 2023/4/7 15:13 - * @param: null null + * 查询会员伞下血缘业绩 **/ BigDecimal queryCuMemberUnderBloodAchieveByPkMember(MemberAchieveDisParam memberAchieveDisParam); @@ -212,14 +49,6 @@ public interface ICuMemberAchieveService extends IService { */ List selectNewAddAchieve(CuMemberNewAddAchieveVO cuMemberNewAddAchieveVO); - /** - * 根据天数查询新增业绩 - * - * @param cuMemberNewAddAchieveVO 端新增业绩 - * @return List - */ - List selectNewAddAchieveByDay(CuMemberNewAddAchieveVO cuMemberNewAddAchieveVO); - /** * 会员端首页荣誉奖衔 * @@ -251,77 +80,44 @@ public interface ICuMemberAchieveService extends IService { LocalDate getStartDateByType(Integer dayType, LocalDate localDate); /** - * @description: 业绩分布-新增业绩统计 - * @author: zhang jing - * @date: 2023/5/19 10:29 - * @param: [] - * @return: com.hzs.member.achieve.controller.vo.PlaceNewAddAchieveVO + * 业绩分布-新增业绩统计 **/ PlaceNewAddAchieveVO placeNewAddAchieveStat(PlaceNewAddAchieveVO pna); Date getDateFromYearAndMonth(String year, String month); /** - * @description: 月度业绩-左右区人数详情(最新) - * @author: zhang jing - * @date: 2023/9/28 11:38 - * @param: [pna] - * @return: java.util.List + * 月度业绩-左右区人数详情(最新) **/ List placeNewAddAchieveDetails(PlaceNewAddAchieveVO pna); /** - * @description: 月度业绩-左右区人数详情(历史) - * @author: zhang jing - * @date: 2023/9/28 11:38 - * @param: [pna] - * @return: java.util.List + * 月度业绩-左右区人数详情(历史) **/ List placeNewAddAchieveHistoryDetails(PlaceNewAddAchieveVO pna); /** - * @description:月度业绩-左右区业绩详情 - * @author: zhang jing - * @date: 2023/11/30 9:17 - * @param: [pna] - * @return: java.util.List + * 月度业绩-左右区业绩详情 **/ List leftRightAchieveDetails(PlaceNewAddAchieveVO pna); /** - * @description:月度业绩-左右区血缘业绩详情 - * @author: zhang jing - * @date: 2023/11/30 11:15 - * @param: [pna] - * @return: java.util.List + * 月度业绩-左右区血缘业绩详情 **/ List leftRightDirectAchieveDetails(PlaceNewAddAchieveVO pna); /** - * @description:月度业绩-查询血缘业绩详情 - * @author: zhang jing - * @date: 2023/11/30 14:13 - * @param: [pna] - * @return: java.util.List + * 月度业绩-查询血缘业绩详情 **/ List directAchieveDetails(PlaceNewAddAchieveVO pna); - /** - * @description: 业绩分布-直推业绩(右图) - * @author: zhang jing - * @date: 2023/5/20 16:22 - * @param: [pa] - * @return: com.hzs.member.achieve.controller.vo.ParentAchieveVO + * 业绩分布-直推业绩(右图) **/ ParentAchieveVO parentAchieveRight(ParentAchieveVO pa); /** - * @description: 业绩分布-直推业绩(左图) - * @author: zhang jing - * @date: 2023/5/23 19:49 - * @param: [pa] - * @return: java.util.List + * 业绩分布-直推业绩(左图) **/ List parentAchieveLeft(ParentAchieveVO pa); @@ -352,7 +148,6 @@ public interface ICuMemberAchieveService extends IService { */ RealPerformanceVo queryRealPerformance(Long pkMember, Integer pkCountry, Integer month); - /** * 会员真实业绩饼状图 * @@ -363,15 +158,6 @@ public interface ICuMemberAchieveService extends IService { */ AzAchievementPie queryRealPerformancePic(Long pkMember, Integer pkCountry, Integer month); - /* - * @description: 更新会员的业绩 - * @author: sui q - * @date: 2023/8/12 15:46 - * @param: null null - **/ - void updateCuMemberAchieve(); - - /** * 查询安置图表 * @@ -380,7 +166,6 @@ public interface ICuMemberAchieveService extends IService { */ PlacementImageDataVO selectPlaceImage(PlacementDataParam param); - /** * 查询推荐体第图表 * @@ -389,7 +174,6 @@ public interface ICuMemberAchieveService extends IService { */ List selectRecommendVertexImage(PlacementDataParam param); - /** * 查询推荐团队图表 * @@ -399,46 +183,20 @@ public interface ICuMemberAchieveService extends IService { List selectRecommendTeamImage(PlacementDataParam param); /* - * @description: 查询月统计数据,按照月倒叙 - * @author: sui q - * @date: 2023/8/29 16:10 - * @param: null null + * 查询月统计数据,按照月倒叙 **/ List queryMemberMonthAchieve(Long pkMember, String month); /* - * @description: 查询会员一代伞下 - * @author: sui q - * @date: 2023/8/29 18:07 - * @param: null null - **/ - List queryPkMemberMonthAchieve(String month, Long pkMember); - - /* - * @description: 查询月统计数据,查询明细 - * @author: sui q - * @date: 2023/8/29 17:43 - * @param: null null - **/ - List queryMemberMonthAchieveDetail(List memberList, MonthAchieveParam monthAchieveParam); - - /* - * @description: 查询月统计数据,查询明细,安置伞下 - * @author: sui q - * @date: 2023/9/6 21:12 - * @param: null null + * 查询月统计数据,查询明细,安置伞下 **/ List queryPlaceParentMemberMonthAchieve(MonthAchieveParam monthAchieveParam); /* - * @description: 查询月统计数据,查询明细,安置伞下 - * @author: sui q - * @date: 2023/9/6 21:12 - * @param: null null + * 查询月统计数据,查询明细,安置伞下 **/ List queryParentMemberMonthAchieve(MonthAchieveParam monthAchieveParam); - /** * 根据实时小区业绩获取奖衔 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberMonthAchieveService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberMonthAchieveService.java index 1beda7d7..6b1d2f71 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberMonthAchieveService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberMonthAchieveService.java @@ -2,38 +2,14 @@ package com.hzs.member.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.CuMemberMonthAchieve; -import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt; -import com.hzs.member.achieve.controller.vo.ParentAchieveVO; import com.hzs.member.achieve.controller.vo.RealPerformanceVo; -import java.util.Date; -import java.util.List; /** * 会员月数据 服务类 */ public interface ICuMemberMonthAchieveService extends IService { - /** - * 每日生成业绩、月表统计数据 - */ - void insertCuMemberAchieveByEveryDay(Date settleDate); - - /** - * 每天插入会员月表,计算推荐业绩,复购业绩,1-6号计算前7天 - */ - void insertCuMemberMonthAchieve(Date settleDate); - - /** - * 每天统计月表数据 - */ - void insertCuMemberCuMemberMonthYearAchieve(Date settleDate); - - /** - * 根据条件查询会员月业绩 - */ - List queryCuMemberMonthAchieveRecommend(ParentAchieveVO parentAchieveVO); - /** * 查询会员真实业绩 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberTreeService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberTreeService.java index 6f8a0ce8..9e5bdc2b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberTreeService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/ICuMemberTreeService.java @@ -19,28 +19,6 @@ public interface ICuMemberTreeService extends IService { */ Integer queryExistOracleTable(String tableName); - /** - * 创建会员网体推荐人索引 - * - * @param tableName 日期 - */ - void createCuMemberTableUniqueIndex(String tableName); - - /** - * 创建表的序列 - * - * @param tableName 表名 - * @param tableNameSeq 序列名 - */ - void createCuMemberTableSequence(String tableName, String tableNameSeq); - - /** - * 查询历史会员网体信息,查询某一天免考的会员 - * - * @param tableName 结算表 - */ - List queryExemptCuMemberSettle(String tableName); - /** * 查询会员结算表,查询出结算表中会员伞下左右区满足等级 * @@ -113,32 +91,4 @@ public interface ICuMemberTreeService extends IService { */ CuMemberRetailSExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember); - /** - * 删除日表数据 - * - * @param tableName 表名 - */ - void truncateCuMemberTreeTable(String tableName); - - /** - * 创建会员网体推荐人索引 - * - * @param tableName 日期 - */ - void createCuMemberTreeDayOnlyIndex(String tableName); - - /** - * 创建会员网体推荐人索引 - * - * @param tableName 日期 - */ - void createCuMemberTreeParentIndex(String tableName); - - /** - * 创建会员网体安置人索引 - * - * @param tableName 日期 - */ - void createCuMemberTreePlaceIndex(String tableName); - } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java index 1c79d98d..773f3550 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -18,7 +18,6 @@ import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.member.ext.CuMemberTeamExt; -import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.service.ITransactionCommonService; @@ -26,7 +25,6 @@ import com.hzs.member.account.service.ICuMemberBaseService; import com.hzs.member.achieve.controller.vo.*; import com.hzs.member.achieve.mapper.CuMemberAchieveMapper; import com.hzs.member.achieve.param.MemberAchieveDisParam; -import com.hzs.member.achieve.param.MemberAchieveParam; import com.hzs.member.achieve.param.MonthAchieveParam; import com.hzs.member.achieve.service.ICuMemberAchieveService; import com.hzs.member.achieve.service.ICuMemberMonthAchieveService; @@ -67,66 +65,41 @@ import java.util.stream.Collectors; /** * 会员业绩记录 服务实现类 - * - * @author hzs - * @since 2022-10-26 */ @Slf4j @Service public class CuMemberAchieveServiceImpl extends ServiceImpl implements ICuMemberAchieveService { - private ICuMemberTreeService cuMemberTreeService; - - private CuMemberBonusSettle cuMemberBonusSettle; - - private ICuMemberService cuMemberService; - @Autowired - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; + private ICuMemberTreeService iCuMemberTreeService; + @Autowired + private ICuMemberService iCuMemberService; + @Autowired + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired private ICuMemberBaseService iCuMemberBaseService; @Autowired - private ICuMemberMonthAchieveService memberMonthAchieveService; + private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; + @Autowired + private ITransactionCommonService iTransactionCommonService; @DubboReference ICountryServiceApi iCountryServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; + IAwardsServiceApi iAwardsServiceApi; @DubboReference IVertexServiceApi iVertexServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; @DubboReference - IMemberTeamServiceApi teamServiceApi; + IMemberTeamServiceApi iMemberTeamServiceApi; - @Autowired - public void setCuMemberService(ICuMemberService cuMemberService) { - this.cuMemberService = cuMemberService; - } - - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) { - this.cuMemberBonusSettle = cuMemberBonusSettle; - } - - @Autowired - public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { - this.cuMemberTreeService = cuMemberTreeService; - } - - @Autowired - ITransactionCommonService iTransactionCommonService; @Override public CuMemberAchieve queryCuMemberAchieveByPkMember(Long pkMember, Integer pkCountry) { Date currentDate = DateUtils.currentDate(); // 查看秒接表,秒接表不存在查询昨天的结算表 - int currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate)).getPkId(); + int currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate)).getPkId(); String currentTableName = TableNameConstants.CU_MEMBER_SECOND + currentPeriod; CuMemberAchieve cuMemberAchieve = baseMapper.queryCuMemberAchieveByPkMember(pkMember, pkCountry, currentTableName); if (cuMemberAchieve != null) { @@ -136,193 +109,24 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl> saOrderMap) { - // 为了结算效率 将表拆为 月表,日表 - // 结算日期 当天日期的所有订单 - saOrderMap.forEach((settleDate, saOrderList) -> { - // 根据日期获取头一天的业绩记录,业绩表进行分表处理 规则为 CU_MEMBER_ACHIEVE202210 - Set pkMemberSet = new HashSet<>(); - saOrderList.forEach(saOrder -> pkMemberSet.add(saOrder.getPkMember())); - // 查询数据库 会员历史网体、等级、奖衔、 -// Future> dataBaseFuture = null; -// if (CollectionUtils.isNotEmpty(contentList)) { -// dataBaseFuture = ThreadUtils.executorService.submit(() -> this.queryTransactionListByDataBase(contentList, fromLanguage, toLanguage)); -// } - }); - // 会员网体记录表中查询会员网体,会员网体记录每月一张表 - // 历史奖衔、等级从奖衔升级表、等级登记表中获得 - - } - - @Override - public String createCuMemberAchieve(String date) { - // 创建业绩月表记录表 - String tableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(date); - Integer num = cuMemberTreeService.queryExistOracleTable(tableName); - if (num == null || num <= 0) { - baseMapper.createCuMemberAchieveTable(tableName); - cuMemberTreeService.createCuMemberTableUniqueIndex(tableName); - cuMemberTreeService.createCuMemberTableSequence(tableName, TableNameConstants.CU_MEMBER_ACHIEVE_SEQ); - } - return tableName; - } - - @Override - public void createCuMemberMonthTable(String tableName) { - baseMapper.createCuMemberMonthTable(tableName); - } - - @Override - public void mergeCuMemberMonth(Integer day, String date) { - String tableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(date); - CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date); - // 每月6号删除上月数据,重新生成 - if (day == 6) { - Integer number = cuMemberTreeService.queryExistOracleTable(tableName); - if (number != null && number > 0) { - cuMemberTreeService.truncateCuMemberTreeTable(tableName); - } - } - baseMapper.mergeCuMemberMonth(DateUtils.getMonth(date), cuMemberSettlePeriod.getPkId()); - } - - @Override - public void insertCuMemberAchieveBySettleDate(String targetTableName, String sourceTableName, Integer period) { - baseMapper.insertCuMemberAchieveBySettleDate(targetTableName, sourceTableName, period); - } - - @Override - public void mergeCuMemberAchieveBySettleDate(String targetTableName, String sourceTableName, Integer period) { - baseMapper.mergeCuMemberAchieveBySettleDate(targetTableName, sourceTableName, period); - } - - /* - * @description:更新为初始化的数据,防止当天新增的数据 - * @author: sui q - * @date: 2023/8/11 14:56 - * @param: null null - **/ - @Override - public void updateCuMemberSettleInitAchieve(String targetTable) { - baseMapper.updateCuMemberSettleInitAchieve(targetTable); - } - - @Override - public void updateCuMemberSettleAchieveByBeforeDay(String sourceTable, String targetTable) { - baseMapper.updateCuMemberSettleAchieveByBeforeDay(sourceTable, targetTable); - } - - @Override - public void updateCuMemberSettleAchieveBySpecialBus(String targetTable, Integer period, Long pkId) { - baseMapper.updateCuMemberSettleAchieveBySpecialBus(targetTable, period, pkId); - } - - @Override - public void updateCuMemberSettleAchieveByDueDate(String currentTableName, String yesTableName, Date currentDate) { - baseMapper.updateCuMemberSettleAchieveByDueDate(currentTableName, yesTableName, currentDate); - } - - @Override - public Boolean updateCuMemberAchieveEveryDay(Map memberAchieveParamMap, String tablaName) { - 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); - }); - return true; - } - - @Override - public void updateCuMemberBackOldAchieveEveryDay(Map memberAchieveParamMap, String tablaName) { - 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 CuMemberDisVO queryCuMemberAchieveDis(MemberAchieveDisParam memberAchieveDisParam) { - // 判断时间 当前时间查询cu_member - CuMemberAchieveDisVO leftMemberAchieveDisVO = new CuMemberAchieveDisVO(); - CuMemberAchieveDisVO rightMemberAchieveDisVO = new CuMemberAchieveDisVO(); - List cuMemberExtList = cuMemberService.queryMemberByCondition(CuMember.builder().pkId(memberAchieveDisParam.getPkMember()).build()); - CuMemberExt cuMember = cuMemberExtList.get(0); - String image = setGradeImageUrl(cuMember.getCategory(), cuMember.getGradeValue()); - CuMemberDisVO cuMemberDisVO = CuMemberDisVO.builder() - .memberName(cuMember.getMemberName()) - .memberCode(cuMember.getMemberCode()) - .imageUrl(image) - .build(); - List lastCuMemberList = cuMemberService.queryCuMemberLastPlaceParent(memberAchieveDisParam.getPkMember()); - if (CollectionUtil.isNotEmpty(lastCuMemberList)) { - for (CuMemberExt cuMemberExt : lastCuMemberList) { - String imageUrl = setGradeImageUrl(cuMemberExt.getCategory(), cuMemberExt.getGradeValue()); - packageLastMember(leftMemberAchieveDisVO, rightMemberAchieveDisVO, cuMemberExt.getPlaceDept(), - cuMemberExt.getMemberCode(), - cuMemberExt.getMemberName(), - imageUrl); - } - } - if (StringUtils.isEmpty(leftMemberAchieveDisVO.getLastMemberCode())) { - leftMemberAchieveDisVO.setLastMemberCode(cuMember.getMemberCode()); - leftMemberAchieveDisVO.setLastMemberName(cuMember.getMemberName()); - String imageUrl = setGradeImageUrl(cuMember.getCategory(), cuMember.getGradeValue()); - leftMemberAchieveDisVO.setLastImageUrl(imageUrl); - } - cuMemberDisVO.setLeftMember(leftMemberAchieveDisVO); - if (StringUtils.isEmpty(rightMemberAchieveDisVO.getLastMemberCode())) { - rightMemberAchieveDisVO.setLastMemberCode(cuMember.getMemberCode()); - rightMemberAchieveDisVO.setLastMemberName(cuMember.getMemberName()); - String imageUrl = setGradeImageUrl(cuMember.getCategory(), cuMember.getGradeValue()); - rightMemberAchieveDisVO.setLastImageUrl(imageUrl); - } - cuMemberDisVO.setRightMember(rightMemberAchieveDisVO); - return cuMemberDisVO; - } - @Override public CuMemberDisVO queryCuMemberDis(MemberAchieveDisParam memberAchieveDisParam) { // Date currentDate = DateUtils.currentDate(); // if (DateUtils.compareDateBefore(memberAchieveDisParam.getSettleDate(), currentDate)) { // // 从历史表中获取 -// CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberAchieveDisParam.getSettleDate())); +// CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberAchieveDisParam.getSettleDate())); // String tableName = TableNameConstants.CU_MEMBER_SETTLE + cuMemberSettlePeriod.getPkId(); -// CuMemberExt member = cuMemberService.getMemberByCode(memberAchieveDisParam.getMemberCode()); -// List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberTree(tableName, member.getPkId(), null); +// CuMemberExt member = iCuMemberService.getMemberByCode(memberAchieveDisParam.getMemberCode()); +// List cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberTree(tableName, member.getPkId(), null); // return BeanUtil.copyProperties(cuMemberSettleExtList.get(0), CuMemberDisVO.class); // }else{ - CuMember cuMember = cuMemberService.queryMember(memberAchieveDisParam.getMemberCode()); + CuMember cuMember = iCuMemberService.queryMember(memberAchieveDisParam.getMemberCode()); CuMemberDisVO cuMemberDisVO = BeanUtil.copyProperties(cuMember, CuMemberDisVO.class); cuMemberDisVO.setMemberCode(cuMember.getMemberCode()); cuMemberDisVO.setMemberName(cuMember.getMemberName()); @@ -335,53 +139,18 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl selectNewAddAchieve(CuMemberNewAddAchieveVO cuMemberNewAddAchieveVO) { - LocalDate endDate = LocalDate.now(); LocalDate startDate = getStartDateByType(cuMemberNewAddAchieveVO.getDayType(), endDate); return selectNewAddAchieveByDate(cuMemberNewAddAchieveVO, endDate, startDate); } - - @Override - public List selectNewAddAchieveByDay(CuMemberNewAddAchieveVO cuMemberNewAddAchieveVO) { - LocalDate endDate = LocalDate.now(); - LocalDate startDate = endDate.minus(cuMemberNewAddAchieveVO.getDays(), ChronoUnit.DAYS); - return selectNewAddAchieveByDate(cuMemberNewAddAchieveVO, endDate, startDate); - } - /** * 根据日期查询会员的新增业绩 * @@ -512,7 +281,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl awardsMap = awardsList.stream().collect(Collectors.toMap(BdAwards::getAwardsValue, o -> o)); if (pkAwards != null) { - BdAwards bdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData(); + BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData(); List list = awardsList.stream().filter(a -> a.getAwardsValue() > bdAwards.getAwardsValue()).collect(Collectors.toList()); //当奖衔最大级别时,目标值-1 @@ -562,20 +331,13 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl awardsList = awardsServiceApi.queryAwards(pkCountry).getData(); + List awardsList = iAwardsServiceApi.queryAwards(pkCountry).getData(); cuMemberAwardsUnderVO.setAwardsList(awardsList); //获取当前会员的奖衔 cuMemberAwardsUnderVO.setPkAwards(getMemberAwards(awardsList, cuMemberAwardsUnderVO.getSumRealPv())); @@ -639,7 +401,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl awardsList, BigDecimal sumRealPv) { for (BdAwards awards : awardsList) { BigDecimal communityCheck = awards.getCommunityCheck(); @@ -656,10 +417,10 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl awardsList = awardsServiceApi.queryAwards(pkCountry).getData(); + List awardsList = iAwardsServiceApi.queryAwards(pkCountry).getData(); //升序排序 awardsList.sort(Comparator.comparing(BdAwards::getAwardsValue)); @@ -675,8 +436,8 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl list = awardsList.stream().filter(awards -> awards.getAwardsValue() > bdAwards.getAwardsValue()).collect(Collectors.toList()); BigDecimal targetPv = awardsMap.get(list.get(0).getAwardsValue()).getCommunityCheck(); @@ -689,7 +450,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); + R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); //查询左右区业绩 PlaceNewAddAchieveVO achieve = selectNewABAchieve(pna); @@ -1101,7 +845,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl - **/ @Override public List placeNewAddAchieveDetails(PlaceNewAddAchieveVO pna) { return baseMapper.placeNewAddAchieveDetails(pna); } - /** - * @description: 月度业绩-左右区人数详情(历史) - * @author: zhang jing - * @date: 2023/11/29 11:38 - * @param: [pna] - * @return: java.util.List - **/ @Override public List placeNewAddAchieveHistoryDetails(PlaceNewAddAchieveVO pna) { return baseMapper.placeNewAddAchieveHistoryDetails(pna); } - /** - * @description: 月度业绩-左右区业绩详情 - * @author: zhang jing - * @date: 2023/11/30 9:18 - * @param: [pna] - * @return: java.util.List - **/ @Override public List leftRightAchieveDetails(PlaceNewAddAchieveVO pna) { return baseMapper.leftRightAchieveDetails(pna); } - /** - * @description: 月度业绩-左右区血缘业绩详情 - * @author: zhang jing - * @date: 2023/11/30 11:25 - * @param: [pna] - * @return: java.util.List - **/ @Override public List leftRightDirectAchieveDetails(PlaceNewAddAchieveVO pna) { return baseMapper.leftRightDirectAchieveDetails(pna); } - /** - * @description: 月度业绩-查询血缘业绩详情 - * @author: zhang jing - * @date: 2023/11/30 14:15 - * @param: [pna] - * @return: java.util.List - **/ @Override public List directAchieveDetails(PlaceNewAddAchieveVO pna) { return baseMapper.directAchieveDetails(pna); } - - /** - * @description: 业绩分布-直推业绩(右图) - * @author: zhang jing - * @date: 2023/5/20 16:20 - * @param: [pa] - * @return: com.hzs.member.achieve.controller.vo.ParentAchieveVO - **/ @Override public ParentAchieveVO parentAchieveRight(ParentAchieveVO pa) { pa = getDateStr(pa); - R currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); + R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); //结束期数 - int endPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId(); + int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId(); pa.setPeriod(endPeriod); //直推等级人数和业绩 @@ -1371,25 +1065,18 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl - **/ @Override public List parentAchieveLeft(ParentAchieveVO pa) { pa = getDateStr(pa); //获取期数 - int endPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId(); + int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId(); pa.setPeriod(endPeriod); - CuMember member = cuMemberService.getMember(pa.getPkMember()); + CuMember member = iCuMemberService.getMember(pa.getPkMember()); List parentList = new ArrayList<>(); ParentAchieveVO par = new ParentAchieveVO(); par.setMemberName(member.getMemberName()); par.setPkMember(member.getPkId()); - R currency = currencyServiceApi.getCurrency(pa.getPkCountry()); + R currency = iCurrencyServiceApi.getCurrency(pa.getPkCountry()); //查询本人直推业绩 List endSelfParentList = selfParentCounAchieve(pa); par.setUmbrellaList(endSelfParentList); @@ -1500,7 +1187,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl currencyDto = currencyServiceApi.getCurrency(pkCountry); + R currencyDto = iCurrencyServiceApi.getCurrency(pkCountry); CurrencyDTO currency = currencyDto.getData(); //当月 RealPerformanceVo realPerformanceVo = null; @@ -1662,7 +1347,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl currencyDto = currencyServiceApi.getCurrency(pkCountry); + R currencyDto = iCurrencyServiceApi.getCurrency(pkCountry); CurrencyDTO currency = currencyDto.getData(); //当月 AzAchievementPie achievementPie; - // Integer count = baseMapper.selectExistTable(achieveTable); //左区人数 - Long leftCount = cuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.LEFT_DEPT.getValue()); + Long leftCount = iCuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.LEFT_DEPT.getValue()); // 右区人数 - Long rightCount = cuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.RIGHT_DEPT.getValue()); -// if (count.equals(1)) { -// achievementPie = getQueryRealPerformancePic(pkMember, pkCountry, achieveTable); -// } + Long rightCount = iCuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.RIGHT_DEPT.getValue()); DateTime dateTime = DateUtil.offsetDay(DateUtils.currentDate(), -1); String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, dateTime); - CuMemberSettlePeriod csPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time); + CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time); String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId(); - CuMemberSettleExt memberSettleExt = cuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); + CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); BigDecimal aSumRealPv = BigDecimal.ZERO; BigDecimal bSumRealPv = BigDecimal.ZERO; if (memberSettleExt.getASumRealPv() != null) { @@ -1810,7 +1491,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl vertexDTOList = iVertexServiceApi.findAllByPkCountry(param.getPkSettleCountry()).getData(); @@ -2203,7 +1869,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl teamList = teamServiceApi.queryCuMemberTeam(param.getPkSettleCountry()).getData(); + List teamList = iMemberTeamServiceApi.queryCuMemberTeam(param.getPkSettleCountry()).getData(); Map teamMap = teamList.stream().collect(Collectors.toMap(CuMemberTeamExt::getPkId, o -> o)); for (Map.Entry>> entry : futureMap.entrySet()) { @@ -2247,16 +1913,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl queryPkMemberMonthAchieve(String month, Long pkMember) { - return baseMapper.queryPkMemberMonthAchieve(month, pkMember); - } - - @Override - public List queryMemberMonthAchieveDetail(List memberList, MonthAchieveParam monthAchieveParam) { - return baseMapper.queryMemberMonthAchieveDetail(monthAchieveParam, memberList); - } - @Override public List queryPlaceParentMemberMonthAchieve(MonthAchieveParam monthAchieveParam) { return baseMapper.queryPlaceParentMemberMonthAchieve(monthAchieveParam); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java index c135f7d7..acc9d18d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java @@ -4,23 +4,17 @@ import com.hzs.common.core.constant.MagicNumberConstants; import org.springframework.stereotype.Component; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.Set; /** - * @Description: 奖金计算工具类 - * @Author: sui q - * @Time: 2022/11/2 11:25 - * @Classname: CuMemberBonusSettle - * @PackageName: com.hzs.member.achieve.service.impl + * 奖金计算工具类 */ @Component public class CuMemberBonusSettle { public List> handleCutList(List baseEntityList, Integer... batchNum) { int batchUpdateNum = MagicNumberConstants.BATCH_UPDATE_NUM; - if(batchNum != null && batchNum.length >0){ + if (batchNum != null && batchNum.length > 0) { batchUpdateNum = batchNum[0]; } List> returnList = new ArrayList<>(); @@ -39,8 +33,4 @@ public class CuMemberBonusSettle { return returnList; } - public List> handleCutList(Set baseEntityList, Integer... batchNum) { - List oriList = Arrays.asList(baseEntityList.toArray()); - return handleCutList(oriList, batchNum); - } } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberMonthAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberMonthAchieveServiceImpl.java index 820ae70b..a4ec7de8 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberMonthAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberMonthAchieveServiceImpl.java @@ -1,29 +1,11 @@ package com.hzs.member.achieve.service.impl; -import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.constant.MagicNumberConstants; -import com.hzs.common.core.constant.TableNameConstants; -import com.hzs.common.core.enums.HonorWallType; -import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.member.achieve.CuMemberMonthAchieve; -import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; -import com.hzs.common.domain.member.ext.CuMemberMonthAchieveExt; -import com.hzs.common.domain.member.honor.CuHonorWall; -import com.hzs.common.domain.member.honor.CuMemberHonorWall; -import com.hzs.member.achieve.controller.vo.ParentAchieveVO; import com.hzs.member.achieve.controller.vo.RealPerformanceVo; import com.hzs.member.achieve.mapper.CuMemberMonthAchieveMapper; -import com.hzs.member.achieve.service.ICuMemberAchieveService; import com.hzs.member.achieve.service.ICuMemberMonthAchieveService; -import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; -import com.hzs.member.achieve.service.ICuMemberTreeService; -import com.hzs.member.base.service.ICuHonorWallService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; /** * 会员月数据 服务实现类 @@ -31,181 +13,9 @@ import java.util.*; @Service public class CuMemberMonthAchieveServiceImpl extends ServiceImpl implements ICuMemberMonthAchieveService { - @Autowired - private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; - @Autowired - private ICuHonorWallService iCuHonorWallService; - @Autowired - private ICuMemberTreeService iCuMemberTreeService; - @Autowired - private ICuMemberAchieveService iCuMemberAchieveService; - - @Override - @Transactional(rollbackFor = Exception.class) - public void insertCuMemberAchieveByEveryDay(Date settleDate) { - // 推荐业绩,复购业绩, - insertCuMemberMonthAchieve(settleDate); - // 月表统计数据 - insertCuMemberCuMemberMonthYearAchieve(settleDate); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void insertCuMemberMonthAchieve(Date settleDate) { - // 判断日期 1月7日 发放去年奖章 1 4 7 10 计算季度 - // 1-6号计算上个月 - int month = DateUtils.currentMonth(settleDate); - int day = DateUtils.currentDay(settleDate); - String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate); - String table = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(settleDateStr); - // 获得当前月第一天 - String currentMonthDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentMonthFirstDate(settleDate)); - CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate); - if (day <= 6) { - // 计算上月 - String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate); - String beforeTable = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(beforeFirstMonthDate); - CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate); - baseMapper.insertCuMemberMonthAchieve(beforeTable, beforePeriod.getPkId(), DateUtils.getMonth(beforeFirstMonthDate)); - } - // 计算当前月 - String settleMonth = DateUtils.getMonth(currentMonthDate); - baseMapper.insertCuMemberMonthAchieve(table, cuMemberSettlePeriod.getPkId(), settleMonth); - // 每月7号发放徽章,发放上个月的 - if (day == 7) { - // 查询徽章 - List cuHonorWallList = iCuHonorWallService.queryCuHonorWall(); - Map honorWallMap = new HashMap<>(); - cuHonorWallList.forEach(cuHonorWall -> { - String key = cuHonorWall.getPkCountry().toString() + cuHonorWall.getType() + cuHonorWall.getValue(); - honorWallMap.put(key, cuHonorWall); - }); - List cuMemberHonorWallList = new ArrayList<>(); - // 上月期间,作为结束期间 - String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate); - CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate); - // 月徽章 - grantHonorWall(beforePeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth, - HonorWallType.RECOMMEND_MONTH.getValue(), HonorWallType.ANTIFADING_MONTH.getValue(), honorWallMap, cuMemberHonorWallList); - // 再发季度徽章 - if (month == 1 || month == 4 || month == 7 || month == 10) { - // 3个月期间,作为开始期间 - String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate); - CuMemberSettlePeriod quarterPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate); - grantHonorWall(quarterPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth, - HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList); - if (month == 1) { - // 再发年度徽章 - // 3个月期间,作为开始期间 - String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate); - CuMemberSettlePeriod yearPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate); - if (yearPeriod != null) { - grantHonorWall(yearPeriod.getPkId(), cuMemberSettlePeriod.getPkId(), settleMonth, - HonorWallType.RECOMMEND_QUARTER.getValue(), HonorWallType.ANTIFADING_QUARTER.getValue(), honorWallMap, cuMemberHonorWallList); - } - } - } - } - } - - @Override - public void insertCuMemberCuMemberMonthYearAchieve(Date settleDate) { - // 1-6号修改上月数据+当月数据 7号及以后只修改当月数据 - // 创建业绩每月统计报表-年表 - // 月表 - int day = DateUtils.currentDay(settleDate); - String monthTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate)); - Integer number = iCuMemberTreeService.queryExistOracleTable(monthTableName); - if (number == null || number <= 0) { - // 创建表 - iCuMemberAchieveService.createCuMemberMonthTable(monthTableName); - iCuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName); - iCuMemberTreeService.createCuMemberTreeParentIndex(monthTableName); - iCuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName); - } - if (day >= 1 && day <= 6) { - iCuMemberAchieveService.mergeCuMemberMonth(day, DateUtils.beforeMonthLastDateStr(settleDate)); - } - iCuMemberAchieveService.mergeCuMemberMonth(0, DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate)); - } - - @Override - public List queryCuMemberMonthAchieveRecommend(ParentAchieveVO parentAchieveVO) { - packageParamPeriod(parentAchieveVO); - return baseMapper.queryCuMemberMonthAchieveRecommend(parentAchieveVO); - } - - private void packageParamPeriod(ParentAchieveVO parentAchieveVO) { - Date settleDate = DateUtils.currentDate(); - if (Objects.equals(HonorWallType.RECOMMEND_MONTH.getValue(), parentAchieveVO.getWallType()) || - Objects.equals(HonorWallType.ANTIFADING_MONTH.getValue(), parentAchieveVO.getWallType())) { - //1号取上月的 - // 月 - Date date = DateUtils.currentMonthFirstDate(settleDate); - if (DateUtils.compareDateEqual(settleDate, date)) { - // 取上月第一天 - date = DateUtils.beforeMonthFirstDate(settleDate); - } - String currentMonthDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date); - CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthDate); - parentAchieveVO.setStartPeriod(cuMemberSettlePeriod.getPkId()); - parentAchieveVO.setEndPeriod(cuMemberSettlePeriod.getPkId()); - } else { - // 季度 - // 上月期间,作为结束期间 - String beforeFirstMonthDate = DateUtils.beforeMonthFirstDateStr(settleDate); - CuMemberSettlePeriod beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeFirstMonthDate); - parentAchieveVO.setEndPeriod(beforePeriod.getPkId()); - if (Objects.equals(HonorWallType.RECOMMEND_QUARTER.getValue(), parentAchieveVO.getWallType()) || - Objects.equals(HonorWallType.ANTIFADING_QUARTER.getValue(), parentAchieveVO.getWallType())) { - // 3个月期间,作为开始期间 - String quarterFirstMonthDate = DateUtils.beforeMonthFirstDateStr(3, settleDate); - CuMemberSettlePeriod quarterPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(quarterFirstMonthDate); - parentAchieveVO.setStartPeriod(quarterPeriod.getPkId()); - } else { - String yearFirstMonthDate = DateUtils.beforeMonthFirstDateStr(12, settleDate); - CuMemberSettlePeriod yearPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yearFirstMonthDate); - parentAchieveVO.setStartPeriod(yearPeriod.getPkId()); - } - } - } - @Override public RealPerformanceVo queryCuMemberMonthAchieveInfo(Long pkMember, String achieveTable) { return baseMapper.queryCuMemberMonthAchieveInfo(pkMember, achieveTable); } - private void grantHonorWall(Integer startPeriod, Integer endPeriod, String settleMonth, Integer recommend, Integer repurchase, - Map honorWallMap, List cuMemberHonorWallList) { - // 先发月徽章 查询值,查询前3名 - List cuMemberMonthAchieveList = baseMapper.queryCuMemberMonthAchieveByDate(startPeriod, endPeriod, recommend, repurchase); - if (CollectionUtil.isNotEmpty(cuMemberMonthAchieveList)) { - Map> monthAchieveMap = new HashMap<>(); - cuMemberMonthAchieveList.forEach(cuMemberMonthAchieve -> { - if (monthAchieveMap.containsKey(cuMemberMonthAchieve.getWallType())) { - monthAchieveMap.get(cuMemberMonthAchieve.getWallType()).add(cuMemberMonthAchieve); - } else { - List cuMemberMonthAchieveExtList = new ArrayList<>(); - cuMemberMonthAchieveExtList.add(cuMemberMonthAchieve); - monthAchieveMap.put(cuMemberMonthAchieve.getWallType(), cuMemberMonthAchieveExtList); - } - }); - monthAchieveMap.forEach((wallType, cuMemberMonthAchieveExtList) -> { - for (int i = 1; i <= cuMemberMonthAchieveExtList.size(); i++) { - CuMemberMonthAchieveExt cuMemberMonthAchieveExt = cuMemberMonthAchieveExtList.get(i - 1); - String key = cuMemberMonthAchieveExt.getPkCountry().toString() + cuMemberMonthAchieveExt.getWallType() + i; - if (honorWallMap.containsKey(key)) { - CuMemberHonorWall cuMemberHonorWall = CuMemberHonorWall.builder() - .pkMember(cuMemberMonthAchieveExt.getPkMember()) - .pkHonorWall(honorWallMap.get(key).getPkId()) - .settleMonth(settleMonth) - .build(); - cuMemberHonorWall.setPkCountry(cuMemberMonthAchieveExt.getPkCountry()); - cuMemberHonorWall.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuMemberHonorWallList.add(cuMemberHonorWall); - } - } - }); - } - } } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberTreeServiceImpl.java index 5cbf5450..862ffddf 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -26,25 +26,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryExemptCuMemberSettle(String tableName) { - List cuMemberSettleExtList = baseMapper.queryExemptCuMemberSettle(tableName); - if (cuMemberSettleExtList == null) { - return Collections.emptyList(); - } - return cuMemberSettleExtList; - } - @Override public Boolean queryCuMemberSettlePlaceUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember) { return baseMapper.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, awardsValue, placeDept, pkMember) > 0; @@ -108,24 +89,4 @@ public class CuMemberTreeServiceImpl extends ServiceImpl { - - -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index 553dd7bf..6ae40f09 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -40,11 +40,6 @@ public interface CuMemberMapper extends BaseMapper { */ List queryMemberInfoByCondition(CuMember cuMember); - /* - * 根据条件查询会员信息,查询单表 - **/ - List queryMemberByCondition(CuMember cuMember); - /** * 查找安置人伞上 * @@ -253,11 +248,6 @@ public interface CuMemberMapper extends BaseMapper { */ List queryMemberSelect(@Param("param") MemberSelectParam param, @Param("pkCountry") Integer pkCountry); - /* - * 查询历史网体的最末安置人,左右区一起查出来 - **/ - List queryCuMemberLastPlaceParent(@Param("pkMember") Long pkMember); - /** * 查询会员真实信息 * @@ -307,20 +297,6 @@ public interface CuMemberMapper extends BaseMapper { @Param("checkEmpty") Boolean checkEmpty, @Param("excludeMemberEmpty") Long excludeMemberEmpty); - /** - * 校验会员编号是否存在 - * - * @param phoneList 会员联系方式列表 - * @param checkEmpty 是否需要校验批量空单数据 - * @param excludeMemberEmpty 排除的批次 - * @param systemType 系统类型 - * @return - */ - List checkMemberPhoneExist(@Param("phoneList") Collection phoneList, - @Param("checkEmpty") Boolean checkEmpty, - @Param("excludeMemberEmpty") Long excludeMemberEmpty, - @Param("systemType") Integer systemType); - /** * 查询全部用户 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuHonorWallService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuHonorWallService.java deleted file mode 100644 index c57175cf..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuHonorWallService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hzs.member.base.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.ext.CuHonorWallExt; -import com.hzs.common.domain.member.honor.CuHonorWall; - -import java.util.List; - -/** - * 荣誉墙 服务类 - * - * @author hzs - * @since 2023-04-26 - */ -public interface ICuHonorWallService extends IService { - - /* - * @description: 查询所有的徽章 - * @author: sui q - * @date: 2023/6/7 14:30 - * @param: null null - **/ - List queryCuHonorWall(); - -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index abf348bf..a1f0d14a 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -66,11 +66,6 @@ public interface ICuMemberService extends IService { */ List getMemberInfoByCondition(CuMember cuMember); - /* - * 根据条件查询会员信息,查询单表 - **/ - List queryMemberByCondition(CuMember cuMember); - /** * 获取会员缓存 * @@ -471,11 +466,6 @@ public interface ICuMemberService extends IService { */ boolean updateMemberNameAndPhone(Long pkMember, String memberName, String phone, Long pkModified); - /* - * 查询历史网体的最末安置人,左右区一起查出来 - **/ - List queryCuMemberLastPlaceParent(Long pkMember); - /** * 查询会员真实信息 * @@ -523,16 +513,6 @@ public interface ICuMemberService extends IService { */ Map checkMemberCodeExist(Collection codeList, Boolean checkEmpty, Long excludeMemberEmpty); - /** - * 校验会员联系方式是否存在 - * - * @param phoneList 会员联系方式列表 - * @param checkEmpty 是否需要校验批量空单数据 - * @param excludeMemberEmpty 排除的批次 - * @return - */ - Map checkMemberPhoneExist(Collection phoneList, Boolean checkEmpty, Long excludeMemberEmpty, Integer systemType); - /** * 查询全部用户 * @@ -853,15 +833,6 @@ public interface ICuMemberService extends IService { */ String checkRegisterRelation(String phone, Long pkParent); - /** - * 根据推荐人,校验手机号必须唯一 - * - * @param phone 联系方式 - * @param parentMember 推荐人 - * @return - */ - String checkRegisterRelation(String phone, CuMember parentMember); - /** * 添加等级升级记录 **/ diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuHonorWallServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuHonorWallServiceImpl.java deleted file mode 100644 index 77f305df..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuHonorWallServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hzs.member.base.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.domain.member.ext.CuHonorWallExt; -import com.hzs.common.domain.member.honor.CuHonorWall; -import com.hzs.member.base.mapper.CuHonorWallMapper; -import com.hzs.member.base.service.ICuHonorWallService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 荣誉墙 服务实现类 - * - * @author hzs - * @since 2023-04-26 - */ -@Service -public class CuHonorWallServiceImpl extends ServiceImpl implements ICuHonorWallService { - - @Override - public List queryCuHonorWall() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("pk_id,PK_COUNTRY,TYPE,VALUE,IMG"); - return baseMapper.selectList(queryWrapper); - } - -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index f9b04571..34435c2f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -170,11 +170,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return baseMapper.queryMemberInfoByCondition(cuMember); } - @Override - public List queryMemberByCondition(CuMember cuMember) { - return baseMapper.queryMemberByCondition(cuMember); - } - @Override public CuMember getMember(String memberCode) { return baseMapper.queryLoginMember(memberCode, null); @@ -2465,11 +2460,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return update(updateWrapper); } - @Override - public List queryCuMemberLastPlaceParent(Long pkMember) { - return baseMapper.queryCuMemberLastPlaceParent(pkMember); - } - @Override public List selectByMemberRealInfo(MemberRealInfoParam memberRealInfoParam) { return baseMapper.selectByMemberRealInfo(memberRealInfoParam); @@ -2503,19 +2493,6 @@ public class CuMemberServiceImpl extends ServiceImpl i return resultMap; } - @Override - public Map checkMemberPhoneExist(Collection phoneList, Boolean checkEmpty, Long excludeMemberEmpty, Integer systemType) { - Map resultMap = new HashMap<>(); - - List list = baseMapper.checkMemberPhoneExist(phoneList, checkEmpty, excludeMemberEmpty, systemType); - if (CollectionUtil.isNotEmpty(list)) { - for (MemberCountDTO memberCountDTO : list) { - resultMap.put(memberCountDTO.getPhone(), memberCountDTO.getMemberCount()); - } - } - return resultMap; - } - @Override public List findAll() { return baseMapper.findAll(); @@ -3111,14 +3088,6 @@ public class CuMemberServiceImpl extends ServiceImpl i } } - @Override - public String checkRegisterRelation(String phone, CuMember parentMember) { - if (null != parentMember) { - return this.checkRegisterRelation(phone, parentMember.getSystemType()); - } - return "推荐人不存在"; - } - /** * 校验系统类型手机号是否可以注册 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberAssessDetailMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberAssessDetailMapper.java deleted file mode 100644 index 3122766f..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberAssessDetailMapper.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hzs.member.detail.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.hzs.common.domain.member.detail.CuMemberAssessDetail; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import org.apache.ibatis.annotations.Param; - -import java.util.Date; -import java.util.List; - -/** - *

- * 考核业绩变化明细表 Mapper 接口 - *

- * - * @author hzs - * @since 2022-10-28 - */ -public interface CuMemberAssessDetailMapper extends BaseMapper { - - /* - * @description: 根据期间删除会员考核记录 - * @author: sui q - * @date: 2023/5/25 10:52 - * @param: null null - **/ - void deleteCuMemberAssessDetailByPeriod(@Param("tableName") String tableName, @Param("period") Integer period); - - /* - * @description: 每月考试将订单插入会员考核明细 - * @author: sui q - * @date: 2023/5/25 11:36 - * @param: null null - **/ - void insertCuMemberAssesDetailByOrder(@Param("tableName") String tableName, @Param("period") Integer period, - @Param("startDate") Date startDate, @Param("endDate") Date endDate); - - /** - * 插入考核记录 - * @param tableName 表名 - * @param period 期间 - * @param cuMemberList 需要重新考核的会员 - * @param assessType 类型 - * @return: void - * @Author: sui q - * @Date: 2022/11/9 15:56 - */ - void insertCuMemberAssessDetailByPeriod(@Param("tableName") String tableName, @Param("period") Integer period, - @Param("cuMemberList") List cuMemberList, @Param("assessType") Integer assessType); - - /** - * 新增或修改会员考核明细表,根据期间,重算就是修改 - * @param tableName 来源表 - * @param period 期间 - * @return: Integer - * @Author: sui q - * @Date: 2022/11/8 11:21 - */ - Integer updateCuMemberAssessDetailByPeriod(@Param("tableName") String tableName, @Param("period") Integer period); - - /** - * 批量删除会员考核明细 - * @param revokeDetailList 退单的明细数据 - * @return: Integer - * @Author: sui q - * @Date: 2022/11/9 15:37 - */ - Integer updateCuMemberAssessDetailByRevoke(@Param("revokeDetailList") List revokeDetailList); -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java deleted file mode 100644 index 5448a2a3..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessDetailService.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hzs.member.detail.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.common.domain.member.detail.CuMemberAssessDetail; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import org.apache.ibatis.annotations.Param; - -import java.util.Date; -import java.util.List; - -/** - *

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

- * - * @author hzs - * @since 2022-10-28 - */ -public interface ICuMemberAssessDetailService extends IService { - - /* - * @description: 根据期间删除会员考核记录 - * @author: sui q - * @date: 2023/5/25 10:52 - * @param: null null - **/ - void deleteCuMemberAssessDetailByPeriod(String tableName, Integer period); - - /* - * @description: 每月考试将订单插入会员考核明细 - * @author: sui q - * @date: 2023/5/25 11:36 - * @param: null null - **/ - void insertCuMemberAssesDetailByOrder(String tableName, Integer period, Date startDate, Date endDate); - - /** - * 插入考核记录 - * @param tableName 表名 - * @param period 期间 - * @param newCuMemberSettleExtList 会员列表 - * @return: void - * @Author: sui q - * @Date: 2022/11/9 15:56 - */ - void insertCuMemberAssessDetailByPeriod(String tableName, Integer period, List newCuMemberSettleExtList); - - /** - * 新增或修改会员考核明细表,根据期间,重算就是修改 - * @param tableName 来源表 - * @param period 期间 - * @Author: sui q - * @Date: 2022/11/8 11:21 - */ - void updateCuMemberAssessDetailByPeriod(String tableName, Integer period); - - /** - * 删除可能会发生变动的会员的考核明细 - * @param revokeDetailList 变动的记录 - * @Author: sui q - * @Date: 2022/11/9 15:31 - */ - void deleteCuMemberAssessDetailByList(List revokeDetailList); -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessService.java index d4206518..66525d36 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberAssessService.java @@ -2,56 +2,15 @@ package com.hzs.member.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.member.detail.vo.CuMemberAssessVO; -import java.util.Date; import java.util.List; -import java.util.Map; /** * 会员信息-会员考核记录 服务类 */ public interface ICuMemberAssessService extends IService { - /** - * 每月初,初始化考核数据,根据月底网体数据,先进行奖金计算在进行考核,考核在计算奖金之后 - * - * @param settleDate 结算日期 - * @param period 结算期间 - */ - void initCuMemberAssessData(String settleDate, int period); - - /** - * 复购考核每月第一考核调用此方法 - */ - void calculationCuMemberAssess(Date currentDate); - - /** - * 重算考核 奖金用、每天的重算复购考核用(复购考核、分红考核),只重算免考的 - * - * @param currentDate 哪一天进行重新复购考核,拿昨天的值跟现在的值对比 - */ - void retryCalculationAssess(Date currentDate, Boolean flag); - - /** - * 根据会员主键查询考核结果 - * - * @param assessTableName 考核表 - * @param period 期间 - * @param assessType 考核类型 - * @param cuMemberSettleExtList 会员列表 - */ - Map queryCuMemberAssessByMember(String assessTableName, Integer period, Integer assessType, List cuMemberSettleExtList); - - /** - * 查询会员分红考核结果,只查询出免考或者考核通过的,用于分红 - * - * @param tableName 表名 - * @param period 期间 - */ - List queryCuMemberShareAssess(String tableName, Integer period); - /** * 会员-考核明细列表 **/ @@ -72,10 +31,4 @@ public interface ICuMemberAssessService extends IService { **/ CuMemberAssessVO getOrderAssessList(CuMemberAssessVO cuMemberAssessVO); - List getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO); - - /* - * 查询满足分红考核的人数,达标人数 - **/ - List queryCuMemberAssTotal(String startDate, Integer pkCountry); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java deleted file mode 100644 index 3bf9c225..00000000 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hzs.member.detail.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.constant.MagicNumberConstants; -import com.hzs.common.core.enums.EAssessmentType; -import com.hzs.common.domain.member.detail.CuMemberAssessDetail; -import com.hzs.common.domain.member.ext.CuMemberSettleExt; -import com.hzs.member.achieve.service.impl.CuMemberBonusSettle; -import com.hzs.member.detail.mapper.CuMemberAssessDetailMapper; -import com.hzs.member.detail.service.ICuMemberAssessDetailService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - *

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

- * - * @author hzs - * @since 2022-10-28 - */ -@Service -public class CuMemberAssessDetailServiceImpl extends ServiceImpl implements ICuMemberAssessDetailService { - - @Autowired - private CuMemberBonusSettle cuMemberBonusSettle; - - - @Override - public void deleteCuMemberAssessDetailByPeriod(String tableName, Integer period) { - baseMapper.deleteCuMemberAssessDetailByPeriod(tableName, period); - } - - @Override - public void insertCuMemberAssesDetailByOrder(String tableName, Integer period, Date startDate, Date endDate) { - baseMapper.insertCuMemberAssesDetailByOrder(tableName, period, startDate, endDate); - } - - @Override - public void insertCuMemberAssessDetailByPeriod(String tableName, Integer period, List newCuMemberSettleExtList) { - List purchaseMemberList = new ArrayList<>(); - List shareMemberList = new ArrayList<>(); - newCuMemberSettleExtList.forEach(cuMemberSettleExt -> { - if (EAssessmentType.REPURCHASE_ASSESS.getValue() == cuMemberSettleExt.getAssessType()) { - purchaseMemberList.add(cuMemberSettleExt); - } else { - shareMemberList.add(cuMemberSettleExt); - } - }); - if (purchaseMemberList.size() > 0) { - List> purchaseHandleCutList = cuMemberBonusSettle.handleCutList(purchaseMemberList); - purchaseHandleCutList.forEach(cuMemberBonusSettleList -> - baseMapper.insertCuMemberAssessDetailByPeriod(tableName, period, cuMemberBonusSettleList, EAssessmentType.REPURCHASE_ASSESS.getValue()) ); - } - if (shareMemberList.size() > 0) { - List> shareHandleCutList = cuMemberBonusSettle.handleCutList(shareMemberList); - shareHandleCutList.forEach(cuMemberBonusSettleList -> - baseMapper.insertCuMemberAssessDetailByPeriod(tableName, period, cuMemberBonusSettleList, EAssessmentType.SHARE_ASSESS.getValue())); - } - } - - @Override - public void updateCuMemberAssessDetailByPeriod(String tableName, Integer period) { - baseMapper.updateCuMemberAssessDetailByPeriod(tableName, period); - } - - @Override - public void deleteCuMemberAssessDetailByList(List revokeDetailList) { - List> handleCutList = cuMemberBonusSettle.handleCutList(revokeDetailList, - MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - handleCutList.forEach(list -> { - baseMapper.updateCuMemberAssessDetailByRevoke(list); - }); - } -} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessServiceImpl.java index 053ba91e..b3529aec 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessServiceImpl.java @@ -2,32 +2,16 @@ package com.hzs.member.detail.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.member.achieve.service.ICuMemberSettlePeriodService; -import com.hzs.member.achieve.service.ICuMemberTreeService; -import com.hzs.member.achieve.service.impl.CuMemberBonusSettle; import com.hzs.member.detail.mapper.CuMemberAssessMapper; -import com.hzs.member.detail.service.ICuMemberAssessDetailService; import com.hzs.member.detail.service.ICuMemberAssessService; import com.hzs.member.detail.vo.CuMemberAssessVO; -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.*; /** @@ -36,105 +20,8 @@ import java.util.*; @Service public class CuMemberAssessServiceImpl extends ServiceImpl implements ICuMemberAssessService { - private ICuMemberTreeService cuMemberTreeService; - - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - - private ICuMemberAssessDetailService cuMemberAssessDetailService; - @Autowired - private CuMemberBonusSettle cuMemberBonusSettle; - - @DubboReference - IAwardsServiceApi awardsServiceApi; - - @Autowired - public void setCuMemberAssessDetailService(ICuMemberAssessDetailService cuMemberAssessDetailService) { - this.cuMemberAssessDetailService = cuMemberAssessDetailService; - } - - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { - this.cuMemberTreeService = cuMemberTreeService; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void initCuMemberAssessData(String settleDate, int period) { - // 复购考核,初始化值,值的来源是cu_member_tree上月最后一天的那一期的网体数据 - // 初始化值跟最终运算需要分开,防止凌晨12点正好有人支付。 - // 根据网体获得需要考核的人员,所有人员 - // 免考状态为 免考的顺道修改为考核通过 - // 每年一张表,查询的时候只能查询进2年的值 - // 结算的是月底那天需要进行考核 - Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); - // 每年1月1日开始创建表 - // 判断当前时间是每年第一天,需要初始化表 - if (DateUtils.currentDay(currentDate) == 1) { - // 考核表 - String tableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.currentYear(currentDate); - Integer num = cuMemberTreeService.queryExistOracleTable(tableName); - if (num == null || num <= 0) { - // 判断是否存在年表 - baseMapper.createCuMemberAssessTable(tableName); - baseMapper.createCuMemberTableUniqueIndex(tableName); - cuMemberTreeService.createCuMemberTableSequence(tableName, TableNameConstants.CU_MEMBER_ASSESS_SEQ); - } - calculationCuMemberAssess(currentDate); - } - - } - - /** - * 复购考核每月第一次考核调用此方法 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void calculationCuMemberAssess(Date currentDate) { - // 查询当前时间的第一天跟最后一天 - // 需要验证考核国家是否有复购考核 分红考核 - // 考核日期不能跨越考核,只能当月考核,当月考核上月 - if (DateUtils.currentDay(currentDate) == 1) { - String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate); - Integer currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId(); - String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate); - // 清空数据 根据期数清空cu_member_assess cu_member_assess_detail表数据 - initCurrentAssess(currentDate, currentTableName, currentPeriod); - // 初始化复购考核的上月结余 - initCurrentAssessByBeforeMonth(currentDate, currentTableName, currentPeriod, EAssessmentType.REPURCHASE_ASSESS.getValue()); - // 初始化分红考核的上月结余 - initCurrentAssessByBeforeMonth(currentDate, currentTableName, currentPeriod, EAssessmentType.SHARE_ASSESS.getValue()); - // 更新当月结余 结余会同时更新复购跟分红,只需要更新一次 - // 1 有免考状态的 本月使用是 0,考核状态是免考通过,免考将所有的值更改一下期末 期末= 期初+本月 - // 注意 不修改考核状态为通过的值,可能存在之前考核通过,又手动免考的人 - baseMapper.updateAssessPeriodExemptBalanceByUsed(currentTableName, currentPeriod); - // 2 需要扣除通过的,需要记录流水 - // 记录流水,新增或修改 - cuMemberAssessDetailService.updateCuMemberAssessDetailByPeriod(currentTableName, currentPeriod); - baseMapper.updateAssessPeriodCheckBalanceByUsed(currentTableName, currentPeriod); - } - } - - @Override - public Map queryCuMemberAssessByMember(String assessTableName, Integer period, Integer assessType, List cuMemberSettleExtList) { - List cuMemberAssessList = new ArrayList<>(); - List> listList = cuMemberBonusSettle.handleCutList(cuMemberSettleExtList); - listList.forEach(list -> - cuMemberAssessList.addAll(baseMapper.queryCuMemberAssessByMember(assessTableName, period, assessType, list))); - Map cuMemberAssessMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberAssessList.size())); - cuMemberAssessList.forEach(cuMemberAssess -> cuMemberAssessMap.put(cuMemberAssess.getPkMember(), cuMemberAssess)); - return cuMemberAssessMap; - } - - @Override - public List queryCuMemberShareAssess(String tableName, Integer period) { - return baseMapper.queryCuMemberShareAssess(tableName, period); - } + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Override public List selectAssessList(CuMemberAssessVO cuMemberAssessVO, List orderTypeList) { @@ -185,17 +72,17 @@ public class CuMemberAssessServiceImpl extends ServiceImpl oldCuMemberAssessList = baseMapper.queryExemptAssessCuMember(tableName, monthFirstPeriod); -// b)查询前一天的会员免考记录,查询结算日会员免考记录 - List oldCuMemberSettleExtList = cuMemberTreeService.queryExemptCuMemberSettle(beforeTableName); -// c)比较会员2天免考发生的状态,只需要计算变化的值,去掉没有发生变化的值 - List newCuMemberSettleExtList = new ArrayList<>(); - if (oldCuMemberAssessList.size() > 0 && oldCuMemberSettleExtList != null && oldCuMemberSettleExtList.size() > 0) { - Map cuMemberAssessMap = new HashMap<>(ComputeUtil.mapInitCapacity(oldCuMemberAssessList.size())); - oldCuMemberAssessList.forEach(cuMemberAssess -> - cuMemberAssessMap.put(cuMemberAssess.getPkMember().toString() + cuMemberAssess.getAssessType().toString(), cuMemberAssess)); - oldCuMemberSettleExtList.forEach(cuMemberSettleExt -> { - String key = cuMemberSettleExt.getPkMember().toString() + cuMemberSettleExt.getAssessType().toString(); - if (!cuMemberAssessMap.containsKey(key)) { - newCuMemberSettleExtList.add(cuMemberSettleExt); - } - }); - } -// e)查询有没有撤单,更新撤单的数据 - List cuMemberAssessExtList = handleCuMemberAssessByRevokeOrder(currentDate, newCuMemberSettleExtList, tableName, monthFirstPeriod, settleTableName); - if (cuMemberAssessExtList.size() > 0) { - // 将变更的插入临时表 - baseMapper.insertTmpCuMemberAssess(cuMemberAssessExtList); - // 根据临时表里面的值进行更新会员表 - baseMapper.updateAssessPeriodByRevokeOrder(tableName); - } -// f)前一天免考后一天不免考,需要做重新考核,看上月是否可以考核通过 - if (newCuMemberSettleExtList.size() > 0) { - // 处理考核数据 - // 记录流水,新增或修改 - cuMemberAssessDetailService.insertCuMemberAssessDetailByPeriod(tableName, monthFirstPeriod, newCuMemberSettleExtList); - List> cutCuMemberSettleExtList = cuMemberBonusSettle.handleCutList(newCuMemberSettleExtList); - cutCuMemberSettleExtList.forEach(assessExtList -> - baseMapper.updateAssessPeriodCheckBalanceByTmp(tableName, monthFirstPeriod, assessExtList)); - } - // 网体数据修改,修改复购免考类型 0=正常 1=手动免考 2=注册免考 3=晋升免考,修改是否复购免考(0=是,1=否) - } - - /** - * 根据撤销订单,进行重算考核数据 - * - * @param currentDate 考核日期 - * @param cuMemberSettleExtList 前一天的会员免考记录 - * @param tableName 会员 - * @param currentPeriod 考核期间 - * @param settleTableName 考核表 - */ - 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); - CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeLastDate); - int period = cuMemberSettlePeriod.getPkId(); - String sourceTable = TableNameConstants.CU_MEMBER_SETTLE + period; - // 清空子表、主表数据 - cuMemberAssessDetailService.deleteCuMemberAssessDetailByPeriod(currentTableName, currentPeriod); -// baseMapper.deleteCuMemberAssessByPeriod(currentTableName, currentPeriod); - // 初始化复购考核 - String month = DateUtils.getMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate)); - // 结算日期后一天 - baseMapper.insertRepCuMemberAssess(currentTableName, sourceTable, currentPeriod, month); - // 初始化分红考核 - baseMapper.insertShareCuMemberAssess(currentTableName, sourceTable, currentPeriod, month); - // 初始化订单数据,将当月新增加入数据库 - // 上月第一天,上月最后一天 - Date beforeFirstDate = DateUtils.beforeMonthFirstDate(currentDate); - Date currentFirstDate = DateUtils.currentMonthFirstDate(currentDate); - cuMemberAssessDetailService.insertCuMemberAssesDetailByOrder(currentTableName, currentPeriod, beforeFirstDate, currentFirstDate); - } - - /** - * 初始化期初数据,将上月结余作为本月期初,更新当月新增 - * - * @param currentDate 结算日期 - * @param currentTableName 当前月结算表 - * @param currentPeriod 当前结算期间 - * @param assessmentType 考核类型 0=复购考核 1=分红考核 - */ - private void initCurrentAssessByBeforeMonth(Date currentDate, String currentTableName, Integer currentPeriod, Integer assessmentType) { - List orderTypeList = new ArrayList<>(); - if (EAssessmentType.REPURCHASE_ASSESS.getValue() == assessmentType) { - orderTypeList.add(EOrderType.REPURCHASE_ORDER.getValue()); - orderTypeList.add(EOrderType.MALL_ORDER.getValue()); - orderTypeList.add(EOrderType.COOPERATE_ORDER.getValue()); - } else { - orderTypeList.add(EOrderType.WELFARE_ORDER.getValue()); - } - // 更新考核值,期初是上月考核表的当月剩余业绩 - // 获取结算日月初第一天,获取期间 - // 获取结算日上月最后一天,获取期间 - Date beforeMonthFirstDate = DateUtils.beforeMonthFirstDate(currentDate); - String beforeMonthFirstDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, beforeMonthFirstDate); - Integer beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeMonthFirstDateStr).getPkId(); - String beforeTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(beforeMonthFirstDateStr); - Date currentMonthFirstDate = DateUtils.currentMonthFirstDate(currentDate); - // 初始化复购考核的上月结余 // 更新当月结余 - baseMapper.updateAssessPeriodBeginByBeforeMonth(beforeTableName, currentTableName, beforePeriod, currentPeriod, assessmentType); - // 更新当月新增 - baseMapper.updateAssessPeriodAddBySaOrder(currentTableName, currentPeriod, assessmentType, - beforeMonthFirstDate, currentMonthFirstDate, orderTypeList); - } - @Override public CuMemberAssessVO getOrderAssessList(CuMemberAssessVO cuMemberAssessVO) { return baseMapper.getOrderAssessList(cuMemberAssessVO); } - @Override - public List getOrderByAssessList(CuMemberAssessVO cuMemberAssessVO) { - return baseMapper.getOrderByAssessList(cuMemberAssessVO); - } - - @Override - public List queryCuMemberAssTotal(String startDate, Integer pkCountry) { - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(startDate).getPkId(); - String tableTable = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(startDate); - return baseMapper.queryCuMemberAssTotal(tableTable, period, pkCountry); - } } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiSelfModifyAddressController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiSelfModifyAddressController.java index 548b4439..8e849dd6 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiSelfModifyAddressController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/self/controller/api/ApiSelfModifyAddressController.java @@ -5,13 +5,11 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.hzs.activity.pick.IAcPickServiceApi; import com.hzs.common.core.constant.msg.CommonMsgConstants; import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EApprovalBusiness; import com.hzs.common.core.enums.EApproveRechargeStatus; -import com.hzs.common.core.enums.EOrderType; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; @@ -28,28 +26,20 @@ import com.hzs.member.self.vo.*; import com.hzs.sale.order.ISaOrderItemsServiceApi; import com.hzs.sale.order.ISaOrderServiceApi; import com.hzs.sale.order.dto.OrderItemsParamDTO; -import com.hzs.sale.order.dto.OrderParamDTO; import com.hzs.sale.order.dto.WaresOrderDTO; import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.ICurrencyServiceApi; -import com.hzs.system.config.IServiceChargeServiceApi; -import com.hzs.system.sys.IApprovalServiceApi; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** - * @description: 自助服务-修改收货地址 - * @author: zhang jing - * @date: 2023/4/17 11:57 - * @param: - * @return: + * 自助服务-修改收货地址 **/ @Slf4j @RequestMapping("/api/self-modify-address") @@ -60,27 +50,17 @@ public class ApiSelfModifyAddressController extends BaseController { private ICuSelfServiceLogService serviceLogService; @DubboReference - private IAreaServiceApi iAreaServiceApi; + IAreaServiceApi iAreaServiceApi; @DubboReference - private IServiceChargeServiceApi serviceChargeServiceApi; + ISaOrderServiceApi iSaOrderServiceApi; @DubboReference - private IApprovalServiceApi iApprovalServiceApi; + ISaOrderItemsServiceApi iSaOrderItemsServiceApi; @DubboReference - private ISaOrderServiceApi iSaOrderServiceApi; - @DubboReference - private ISaOrderItemsServiceApi iSaOrderItemsServiceApi; - @DubboReference - private IAcPickServiceApi acPickServiceApi; - @DubboReference - private ICurrencyServiceApi iCurrencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; /** - * @description: 自助服务-查询已申请修改收货地址 - * @author: zhang jing - * @date: 2023/4/17 14:40 - * @param: [cuSelfServiceLogVO] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 自助服务-查询已申请修改收货地址 **/ @GetMapping("/list") public TableDataInfo list(SelfModifyAddressVO selfModifyAddressVO) { @@ -128,33 +108,10 @@ public class ApiSelfModifyAddressController extends BaseController { /** - * @description: 自助服务-申请修改收货地址-发起签呈申请 - * @author: zhang jing DATA_SOURCES - * @date: 2023/4/17 14:48 - * @param: [cuSelfServiceLogVO] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 自助服务-申请修改收货地址-发起签呈申请 **/ @PostMapping("/putin") - public AjaxResult putin(@RequestBody SelfModifyAddressVO selVO) throws Exception { - System.out.println( - "getRecName " + selVO.getRecName() + - "getRecPhone " + selVO.getRecPhone() + - "getRecAddress " + selVO.getRecAddress() + - "getOrderCode " + selVO.getOrderCode() + - "getNewRecName " + selVO.getNewRecName() + - "getNewRecPhone " + selVO.getNewRecPhone() + - "getNewRecAddress " + selVO.getNewRecAddress() + -// "getNewPostage " + selVO.getNewPostage() + - "getPostage " + selVO.getPostage() + - "getRecProvince " + selVO.getRecProvince() + - "getRecCity " + selVO.getRecCity() + - "getRecCounty " + selVO.getRecCounty() + - "getNewRecProvince " + selVO.getNewRecProvince() + - "getNewRecCity " + selVO.getNewRecCity() + - "getNewRecCounty " + selVO.getNewRecCounty() + - "getPayTime " + selVO.getPayTime() - - ); + public AjaxResult putin(@RequestBody SelfModifyAddressVO selVO) { //校验是否重复提交记录 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("ORDER_CODE", "APPROVE_STATUS") @@ -259,19 +216,5 @@ public class ApiSelfModifyAddressController extends BaseController { return AjaxResult.success(serviceLogService.putin(selVO)); } - /** - * 检查输入的条件 - * - * @param orderParam 条件 - * @return boolean - */ - protected Boolean checkRecPostageMsgBoolean(OrderParamDTO orderParam) { - return orderParam.getSpecialArea() != null - && orderParam.getDeliveryWay() != null && orderParam.getTransType() != null - && orderParam.getRecProvince() != null && orderParam.getRecCity() != null - && orderParam.getOrderItemsParams() != null - && orderParam.getOrderItemsParams().size() > 0; - } - } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberMonthAchieveMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberMonthAchieveMapper.xml index acd051d0..d83aa470 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberMonthAchieveMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberMonthAchieveMapper.xml @@ -4,76 +4,32 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - merge into CU_MEMBER_MONTH_ACHIEVE a - using( - select pk_member,#{period} period,RECOMMEND_MONEY,RECOMMEND_ACHIEVE,REPURCHASE_MONEY,REPURCHASE_ACHIEVE,pk_country from( - select pk_member,pk_country,sum(REGISTER_NEW_AMOUNT+UPGRADE_NEW_AMOUNT) RECOMMEND_MONEY,sum(REGISTER_NEW_PV+UPGRADE_NEW_PV) RECOMMEND_ACHIEVE, - sum(REPURCHASE_NEW_AMOUNT+HI_FUN_NEW_AMOUNT+MALL_NEW_AMOUNT) REPURCHASE_MONEY,sum(REPURCHASE_PV+HI_FUN_NEW_PV+MALL_NEW_PV) REPURCHASE_ACHIEVE from ${tableName} - where REGISTER_NEW_AMOUNT+UPGRADE_NEW_AMOUNT>0 or REPURCHASE_NEW_AMOUNT+HI_FUN_NEW_AMOUNT+MALL_NEW_AMOUNT>0 - group by pk_member,pk_country) - ) b - on (a.pk_member=b.pk_member and a.period=b.period) - when matched then - update set a.RECOMMEND_MONEY = b.RECOMMEND_MONEY, a.RECOMMEND_ACHIEVE=b.RECOMMEND_ACHIEVE, - a.REPURCHASE_MONEY=b.REPURCHASE_MONEY,a.REPURCHASE_ACHIEVE=b.REPURCHASE_ACHIEVE - WHEN NOT MATCHED THEN - insert(PK_ID, PK_MEMBER, PERIOD, SETTLE_MONTH, RECOMMEND_MONEY,RECOMMEND_ACHIEVE,REPURCHASE_MONEY, - REPURCHASE_ACHIEVE,PK_COUNTRY,PK_CREATOR) - values (CU_MEMBER_MONTH_ACHIEVE_SEQ.NEXTVAL, - b.pk_member,b.period,#{month},b.RECOMMEND_MONEY,b.RECOMMEND_ACHIEVE,b.REPURCHASE_MONEY, - b.REPURCHASE_ACHIEVE,b.PK_COUNTRY,1) - - - diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml index a887708c..3b29d3f6 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml @@ -138,6 +138,7 @@ , + pk_rate NUMBER(6) , @@ -194,6 +195,7 @@ round NUMBER(6) default 0 not null, second NUMBER(4) default 1 not null + r_a_balance NUMBER(17,6) default 0 not null, @@ -213,99 +215,6 @@ 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} - FOR EACH ROW - DECLARE - v_newVal NUMBER(12) := 0; - v_incval - NUMBER(12) := 0; - BEGIN - 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; - LOOP - EXIT WHEN v_incval >= v_newVal; - SELECT ${tableNameSeq}.nextval - INTO v_incval - FROM dual; - END LOOP; - END IF; - :new - .pk_id := v_newVal; - END IF; - END; - - - - select pk_member,pk_parent,member_code,member_name,pk_awards,account_status, - register_authority,customer_type,income_status,pk_settle_country,purchase_status,share_status,is_maker_space, - a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, - register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, - repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_grade, - min_achieve,round,second - from ${settleTableName} - where pay_status = 1 - start with pk_member = #{item} - connect by pk_member = prior pk_parent - - - - - create index ${tableName}_parent - on ${tableName} ( - pk_parent - ) - - - - 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 - ) - - - - - - - - truncate table ${tableName} - - - - - - - - - - @@ -79,45 +72,4 @@
- - - merge into AC_PICK_MEMBER_LOG apml - using ( - - select ap.pk_id PK_PICK, - ap.pk_member pk_member, - #{item.orderCode} PICK_ORDER, - #{item.usedQuantity} used_quantity, - ap.pk_country pk_country - from ac_pick ap - where ap.pick_type = #{item.pickType} - and ap.pk_base_config = #{item.pkBaseConfig} - and ap.pk_data_id = #{item.pkDataId} - and ap.pk_member = #{item.pkMember} - - ) tmp - on (0 = 1) - WHEN NOT MATCHED THEN - insert - (PK_ID, - PK_MEMBER, - PK_PICK, - PICK_QUANTITY, - PICK_TIME, - PICK_ORDER, - PK_COUNTRY, - DEL_FLAG, - SOURCE) - values - (ac_pick_member_log_seq.nextval, - tmp.pk_member, - tmp.pk_pick, - tmp.used_quantity, - sysdate, - tmp.pick_order, - tmp.pk_country, - 0, - #{source}) - - diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index 9675c338..85694ae6 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 @@ -1159,38 +1159,6 @@ order by order_type - - - - - - - - - - + select sc.*,ba.ACCOUNT_NAME accountName from BD_SERVICE_CHARGE sc + left join BD_ACCOUNT ba on ba.PK_ID = sc.PK_ACCOUNT + where 1 = 1 and sc.DEL_FLAG = 0 AND sc.TYPE = #{type} diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdStoreLevelMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdStoreLevelMapper.xml index 1059427b..36412976 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdStoreLevelMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdStoreLevelMapper.xml @@ -2,30 +2,5 @@ - - - - - - - - - - - - - - - - - - - diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java index 8764894d..a380a975 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java @@ -8,161 +8,161 @@ public class SaOrderMsgConstants { /** * 支付页面长时间不确认,需要重新下单 -- 该订单长时间没有支付,已经失效,请重新下单! */ -public static final String ORDER_MEMBER_CACHE = "该订单长时间没有支付,已经失效,请重新下单!"; + public static final String ORDER_MEMBER_CACHE = "该订单长时间没有支付,已经失效,请重新下单!"; /** * 订单类型是否传输 -- 订单类型不能为空,请刷新重试! */ -public static final String ORDER_TYPE_EMPTY = "订单类型不能为空,请刷新重试!"; + public static final String ORDER_TYPE_EMPTY = "订单类型不能为空,请刷新重试!"; /** * 订单编号不能为空 -- 订单编号不能为空,请刷新重试! */ -public static final String ORDER_CODE_EMPTY = "订单编号不能为空,请刷新重试!"; + public static final String ORDER_CODE_EMPTY = "订单编号不能为空,请刷新重试!"; /** * 验证推荐人是否又推荐某等级权限 -- 分享订单生成失败,请重新下单 */ -public static final String SHARE_ORDER_FAIL = "分享订单生成失败,请重新下单"; + public static final String SHARE_ORDER_FAIL = "分享订单生成失败,请重新下单"; /** * 根据订单编号查询订单 -- 没有找寻到该订单编号,请刷新重试! */ -public static final String ORDER_EMPTY = "没有找寻到该订单编号,请刷新重试!"; + public static final String ORDER_EMPTY = "没有找寻到该订单编号,请刷新重试!"; /** * 根据订单编号查询订单 -- 自助服务,只能处理当天的订单,请重新选择! */ -public static final String ORDER_CURRENT_DATE = "自助服务,只能处理当天的订单,请重新选择!"; + public static final String ORDER_CURRENT_DATE = "自助服务,只能处理当天的订单,请重新选择!"; /** * 根据订单编号查询订单 -- 自提订单只能同意/驳回发起的自提订单,请重新选择! */ -public static final String SELF_ORDER_APPROVE = "自提订单只能同意/驳回发起的自提订单,请重新选择!"; + public static final String SELF_ORDER_APPROVE = "自提订单只能同意/驳回发起的自提订单,请重新选择!"; /** * 所属专区不能为空 -- 所属专区不能为空! */ -public static final String SPECIAL_AREA_NOT_EMPTY = "所属专区不能为空!"; + public static final String SPECIAL_AREA_NOT_EMPTY = "所属专区不能为空!"; /** * 没有选择商品 -- 没有选择商品! */ -public static final String SHOPPING_CAR = "没有选择商品!"; + public static final String SHOPPING_CAR = "没有选择商品!"; /** * 只能撤销7天内支付的订单 -- 只能撤销7天内支付的订单! */ -public static final String CANCEL_SEVEN_PAY_ORDER = "只能撤销7天内支付的订单!"; + public static final String CANCEL_SEVEN_PAY_ORDER = "只能撤销7天内支付的订单!"; /** * 只能撤销7天内支付的订单 -- 周结只能撤销当前周期内支付的订单! */ -public static final String WEEK_CANCEL_SEVEN_PAY_ORDER = "周结只能撤销当前周期内支付的订单!"; + public static final String WEEK_CANCEL_SEVEN_PAY_ORDER = "周结只能撤销当前周期内支付的订单!"; /** * 注册订单下面存在撤销的报单中心,不能撤单 -- 存在含有报单中心的订单,不能撤单! */ -public static final String EXIST_CENTER_ORDER = "存在含有报单中心的订单,不能撤单!"; + public static final String EXIST_CENTER_ORDER = "存在含有报单中心的订单,不能撤单!"; /** * 注册订单下面存在撤销的报单中心,不能撤单 -- 只有注册订单支持单点撤单或者合并撤单! */ -public static final String REGISTER_ORDER_CANCEL = "只有注册订单支持单点撤单或者合并撤单!"; + public static final String REGISTER_ORDER_CANCEL = "只有注册订单支持单点撤单或者合并撤单!"; /** * 除了注册订单,是否存在其他未撤销的订单 -- 会员存在其他未撤销的订单,不能撤销注册订单! */ -public static final String MEMBER_OTHER_ORDER = "会员存在其他未撤销的订单,不能撤销注册订单!"; + public static final String MEMBER_OTHER_ORDER = "会员存在其他未撤销的订单,不能撤销注册订单!"; /** * 撤销升级订单,只能从最新的升级订单开始撤销 -- 撤销升级订单,只能从最新的订单开始撤销,最新的升级订单编号:%s! */ -public static final String MEMBER_CANCEL_UPGRADE_ORDER = "撤销升级订单,只能从最新的订单开始撤销,最新的升级订单编号:%s!"; + public static final String MEMBER_CANCEL_UPGRADE_ORDER = "撤销升级订单,只能从最新的订单开始撤销,最新的升级订单编号:%s!"; /** * 撤销订单,验证该订单是否存在其他的签呈 -- 订单存在进行中审批,不能再次发起! */ -public static final String ORDER_EXIST_OTHER_APPROVE = "订单存在进行中审批,不能再次发起!"; + public static final String ORDER_EXIST_OTHER_APPROVE = "订单存在进行中审批,不能再次发起!"; /** * 需要查询或者处理的订单已经不存在了 -- 订单已不存在 */ -public static final String ORDER_NOT_EXIST = "订单已不存在"; + public static final String ORDER_NOT_EXIST = "订单已不存在"; /** * 退单进,未支付的订单不能进行操作 -- 未支付订单,不能进行退单 */ -public static final String ORDER_UNPAID_NOT_RETURN = "未支付订单,不能进行退单"; + public static final String ORDER_UNPAID_NOT_RETURN = "未支付订单,不能进行退单"; /** * 物流清单已经发货,不能进行自提 -- 已经发货,不能自提 */ -public static final String DELIVER_NOT_SELF = "已经发货,不能自提"; + public static final String DELIVER_NOT_SELF = "已经发货,不能自提"; /** * 物流清单自提发起签呈,如果订单状态发生变化,不能进行自提 -- 订单发生变化,请刷新后重试 */ -public static final String DELIVER_SELF_CHECK_CHARGE = "订单发生变化,请刷新后重试"; + public static final String DELIVER_SELF_CHECK_CHARGE = "订单发生变化,请刷新后重试"; /** * 物流清单自提发起签呈,如果申请自提人不是需要人,不能进行自提 -- 订单支付人不相同,不能同时自提 */ -public static final String DELIVER_SELF_CHECK_CREATE = "订单支付人不相同,不能同时自提"; + public static final String DELIVER_SELF_CHECK_CREATE = "订单支付人不相同,不能同时自提"; /** * 物流清单追溯码添加存在重复 -- 追溯码存在重复 */ -public static final String DELIVER_CHECK_BARCODE_REPEAT = "追溯码存在重复"; + public static final String DELIVER_CHECK_BARCODE_REPEAT = "追溯码存在重复"; /** * 物流清单绑定追溯码不存在 -- 追溯码不存在 */ -public static final String DELIVER_CHECK_BARCODE_NOT_EXIST = "追溯码不存在"; + public static final String DELIVER_CHECK_BARCODE_NOT_EXIST = "追溯码不存在"; /** * 物流清单追溯码已使用 -- 追溯码已使用 */ -public static final String DELIVER_CHECK_BARCODE_USED = "追溯码已使用"; + public static final String DELIVER_CHECK_BARCODE_USED = "追溯码已使用"; /** * 物流清单追溯码与产品不对应 -- 追溯码与产品不对应 */ -public static final String DELIVER_CHECK_BARCODE_NOT = "追溯码与产品不对应"; + public static final String DELIVER_CHECK_BARCODE_NOT = "追溯码与产品不对应"; /** * 删除发货单校验明细是否存在 -- 发货单不存在 */ -public static final String DELIVER_NOT_EXIST = "发货单不存在"; + public static final String DELIVER_NOT_EXIST = "发货单不存在"; /** * 删除发货单校验是否已经发货 -- 发货单已发货 */ -public static final String DELIVER_SHIPPED = "发货单已发货"; + public static final String DELIVER_SHIPPED = "发货单已发货"; /** * 发货单重置条码失败 -- 重置条码失败 */ -public static final String DELIVER_CLEAR_CODE = "重置条码失败"; + public static final String DELIVER_CLEAR_CODE = "重置条码失败"; /** * 扣费业务处理余额不足,是否继续 -- 余额不足,是否继续 */ -public static final String BALANCE_ENOUGH_CONTINUE = "余额不足,是否继续"; + public static final String BALANCE_ENOUGH_CONTINUE = "余额不足,是否继续"; /** * 前台订单操作,判断状态 -- 订单状态不正确 */ -public static final String ORDER_STATUS_NOT = "订单状态不正确"; + public static final String ORDER_STATUS_NOT = "订单状态不正确"; /** * 待支付订单支付时,校验商品已经下架,不能继续购买 -- 订单下商品已下架,不能购买 */ -public static final String ORDER_ITEM_OFF = "订单下商品已下架,不能购买"; + public static final String ORDER_ITEM_OFF = "订单下商品已下架,不能购买"; /** * 待支付订单支付时,校验商品已经下架,不能继续购买 -- 订单已经绑定条形码,建议解绑后在撤单! */ -public static final String ORDER_BIND_BAR_CODE = "订单已经绑定条形码,建议解绑后在撤单!"; + public static final String ORDER_BIND_BAR_CODE = "订单已经绑定条形码,建议解绑后在撤单!"; /** * 请填写驳回信息 -- 请填写驳回信息 */ -public static final String REJECT_MSG_NOT_NULL = "请填写驳回信息"; + public static final String REJECT_MSG_NOT_NULL = "请填写驳回信息"; /** * 该订单不是最新订单无法撤单 -- 该订单不是最新订单无法撤单 */ -public static final String CHECK_MEMBER_LAST_ORDER = "该订单不是最新订单无法撤单"; + public static final String CHECK_MEMBER_LAST_ORDER = "该订单不是最新订单无法撤单"; /** * 该会员安置或推荐存在会员不能撤单 -- 该会员安置或推荐存在会员不能撤单 */ @@ -171,6 +171,6 @@ public static final String CHECK_MEMBER_LAST_ORDER = "该订单不是最新订 /** * 商品预售数量不足 */ -public static final String WARES_PRE_SALE_QUANTITY_LACK = "商品预售数量不足"; + public static final String WARES_PRE_SALE_QUANTITY_LACK = "商品预售数量不足"; } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/ScmMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/ScmMsgConstants.java index 0a655a30..b085b259 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/ScmMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/ScmMsgConstants.java @@ -1,28 +1,23 @@ package com.hzs.common.core.constant.msg; /** - * @description: 供应链模块后台返回到前台的提示语 - * @author: sui q - * @time: 2023/11/20 15:25 - * @classname: ScmMsgConstants - * @package_name: com.hzs.common.core.constant.msg - * version 1.0.0 + * 供应链模块后台返回到前台的提示语 */ public class ScmMsgConstants { - public static final String PO_ORDER_NOT_EXIST = "没有查询到采购订单,不能操作!"; + public static final String PO_ORDER_NOT_EXIST = "没有查询到采购订单,不能操作!"; - public static final String SO_ORDER_NOT_EXIST = "没有查询到销售订单,不能操作!"; + public static final String SO_ORDER_NOT_EXIST = "没有查询到销售订单,不能操作!"; - public static final String IO_ORDER_NOT_EXIST = "没有查询到业务领用订单,不能操作!"; + public static final String IO_ORDER_NOT_EXIST = "没有查询到业务领用订单,不能操作!"; - public static final String SUPPLIER_NOT_QUERY = "没有查询到供应商,请重新选择供应商!"; + public static final String SUPPLIER_NOT_QUERY = "没有查询到供应商,请重新选择供应商!"; - public static final String CUSTOMER_NOT_QUERY = "没有查询到客户,请重新选择客户!"; + public static final String CUSTOMER_NOT_QUERY = "没有查询到客户,请重新选择客户!"; - public static final String CORP_NOT_QUERY = "没有查询到库存公司,请重新选择库存公司!"; + public static final String CORP_NOT_QUERY = "没有查询到库存公司,请重新选择库存公司!"; - public static final String STOREHOUSE_NOT_QUERY = "没有查询到选择的仓库,请重新选择仓库!"; + public static final String STOREHOUSE_NOT_QUERY = "没有查询到选择的仓库,请重新选择仓库!"; public static final String PURCHASE_BODY_NOT_EMPTY = "采购入库单明细没有选择来源于同供应商采购订单明细,请重新选择!"; @@ -32,27 +27,27 @@ public class ScmMsgConstants { public static final String PRODUCT_HAS_EXIST = "选择的产品已经存在,请重新选择!"; - public static final String IC_PURCHASE_NOT_EXIST = "没有查询到采购入库单,不能操作!"; + public static final String IC_PURCHASE_NOT_EXIST = "没有查询到采购入库单,不能操作!"; - public static final String IC_PURCHASE_OUT_NOT_EXIST = "没有查询到采购退货单,不能操作!"; + public static final String IC_PURCHASE_OUT_NOT_EXIST = "没有查询到采购退货单,不能操作!"; public static final String PURCHASE_EXISTS_AGENT = "该采购入库单存在已经提交的签呈,不能再次发起签呈!"; public static final String IO_ORDER_EXISTS_AGENT = "该业务领用订单存在已经提交的签呈,不能再次发起签呈!"; - public static final String IC_GENERAL_IN_NOT_EXIST = "没有查询到其他入库单,不能操作!"; + public static final String IC_GENERAL_IN_NOT_EXIST = "没有查询到其他入库单,不能操作!"; - public static final String IC_GENERAL_OUT_NOT_EXIST = "没有查询到其他出库单,不能操作!"; + public static final String IC_GENERAL_OUT_NOT_EXIST = "没有查询到其他出库单,不能操作!"; - public static final String TRANSFER_ORDER_NOT_EXIST = "没有查询到调拨订单,不能操作!"; + public static final String TRANSFER_ORDER_NOT_EXIST = "没有查询到调拨订单,不能操作!"; public static final String TRANSFER_ORDER_EXISTS_AGENT = "该调拨订单存在已经提交的签呈,不能再次发起签呈!"; - public static final String TRANSFER_IN_NOT_EXIST = "没有查询到调拨入库单,不能操作!"; + public static final String TRANSFER_IN_NOT_EXIST = "没有查询到调拨入库单,不能操作!"; - public static final String TRANSFER_OUT_NOT_EXIST = "没有查询到调拨出库单,不能操作!"; + public static final String TRANSFER_OUT_NOT_EXIST = "没有查询到调拨出库单,不能操作!"; - public static final String INVENTORY_ORDER_NOT_EXIST = "没有查询到库存盘点单,不能操作!"; + public static final String INVENTORY_ORDER_NOT_EXIST = "没有查询到库存盘点单,不能操作!"; public static final String TRANSFER_IN_EXISTS_AGENT = "该调拨入库单存在已经提交的签呈,不能再次发起签呈!"; @@ -64,13 +59,13 @@ public class ScmMsgConstants { public static final String IC_AVAILABLE_NUM_NOT_EMPTY = "产品可用量不足,不能扣减库存,不能出库!"; - public static final String AVAILABLE_NUM_NOT_EXIST = "没有查询到该仓库该产品的可用量,不能操作!"; + public static final String AVAILABLE_NUM_NOT_EXIST = "没有查询到该仓库该产品的可用量,不能操作!"; - public static final String SELECT_BATCH_CODE_NOT_EXIST = "没有查询到批次号,不能操作!"; + public static final String SELECT_BATCH_CODE_NOT_EXIST = "没有查询到批次号,不能操作!"; - public static final String BATCH_CODE_HAS_EXIST = "批次号已经存在,请修改批次号!"; + public static final String BATCH_CODE_HAS_EXIST = "批次号已经存在,请修改批次号!"; - public static final String AVAILABLE_NUM_EXIST = "已经存在该仓库该产品的可用量,不能新增!"; + public static final String AVAILABLE_NUM_EXIST = "已经存在该仓库该产品的可用量,不能新增!"; public static final String AVAILABLE_NUM_NOT_ENOUGH = "商品可售量不足,不能购买!"; @@ -84,9 +79,9 @@ public class ScmMsgConstants { public static final String INVENTORY_IN = "盘盈账面数量必须小于调整数量!"; - public static final String SALE_OUT_NOT_EXIST = "没有查询到销售出库单,不能操作!"; + public static final String SALE_OUT_NOT_EXIST = "没有查询到销售出库单,不能操作!"; - public static final String BACK_SALE_OUT_NOT_EXIST = "没有查询到销售退货单,不能操作!"; + public static final String BACK_SALE_OUT_NOT_EXIST = "没有查询到销售退货单,不能操作!"; public static final String BACK_SALE_OUT_EXISTS_AGENT = "该销售退货单存在已经提交的签呈,不能再次发起签呈!"; @@ -99,7 +94,7 @@ public class ScmMsgConstants { public static final String TH_MARGIN_MARGIN = "保证金金额不能为空"; public static final String TH_MARGIN_REPEAT = "该供应商保证金缴纳已添加"; - public static final String IC_ON_HAND_NUM_VALID_PERIOD ="产品快到有效期,及时清理库存!"; + public static final String IC_ON_HAND_NUM_VALID_PERIOD = "产品快到有效期,及时清理库存!"; public static final String IC_ON_HAND_NUM_NOT_EMPTY_WARN = "产品现存量不足预警值,及时补充库存!"; public static final String SETTLE_ORDER_NOT_EXISTS = "结算单不存在,不能结算!"; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderStatus.java index e95c5764..0def30bd 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderStatus.java @@ -8,11 +8,7 @@ import java.util.ArrayList; import java.util.List; /** - * @Description: 订单状态 - * @Author: sui q - * @Time: 2022/8/31 9:14 - * @Classname: EOrderStatus - * @PackageName: com.hzs.common.core.enums + * 订单状态 */ @AllArgsConstructor @Getter @@ -88,9 +84,9 @@ public enum EOrderStatus { return apiList; } - public static EOrderStatus getEOrderStatus(int value){ + public static EOrderStatus getEOrderStatus(int value) { for (EOrderStatus eOrderStatus : EOrderStatus.values()) { - if (eOrderStatus.value == value){ + if (eOrderStatus.value == value) { return eOrderStatus; } } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/HonorWallType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/HonorWallType.java index 8b91395f..41a62401 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/HonorWallType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/HonorWallType.java @@ -3,13 +3,6 @@ package com.hzs.common.core.enums; import lombok.AllArgsConstructor; import lombok.Getter; -/** - * @Description: - * @Author: yuhui - * @Time: 2023/4/26 19:36 - * @Classname: honorWallType - * @PackageName: com.hzs.common.core.enums - */ @AllArgsConstructor @Getter public enum HonorWallType { @@ -18,47 +11,19 @@ public enum HonorWallType { /** * 等级 */ - GRADE(1, "等级"), + GRADE(1, "等级"), /** * 奖衔 */ - AWARDS(2, "奖衔"), + AWARDS(2, "奖衔"), /** * 时长 */ - DURATION(3, "时长"), + DURATION(3, "时长"), - /** - * 推荐月 - */ - RECOMMEND_MONTH(4, "推荐月"), - - /** - * 推荐季度 - */ - RECOMMEND_QUARTER(5, "推荐季度"), - - /** - * 推荐年 - */ - RECOMMEND_YEAR(6, "推荐年"), - - /** - * 抗衰月 - */ - ANTIFADING_MONTH(7, "抗衰月"), - - /** - * 抗衰季度 - */ - ANTIFADING_QUARTER(8, "抗衰季度"), - - /** - * 抗衰年 - */ - ANTIFADING_YEAR(9, "抗衰年"); + ; /** * 实际值 @@ -70,13 +35,4 @@ public enum HonorWallType { */ private final String label; - public static HonorWallType getHonorWallType(int value){ - for (HonorWallType honorWallType : HonorWallType.values()) { - if (honorWallType.getValue() == value){ - return honorWallType; - } - } - return null; - } - } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/risk/CuMemberRiskControl.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/risk/CuMemberRiskControl.java index d7740341..fa2da201 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/risk/CuMemberRiskControl.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/risk/CuMemberRiskControl.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; + import java.util.Date; + import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.core.web.domain.BaseEntity; @@ -13,12 +15,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 会员奖金-K值风控设置 - *

- * - * @author zhangjing - * @since 2024-04-08 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuAwardsControl.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuAwardsControl.java index 09c0b873..7714e063 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuAwardsControl.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuAwardsControl.java @@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 真实奖衔控制 - *

- * - * @author hzs - * @since 2023-04-07 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPush.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPush.java index bbe9fc03..bef2fd60 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPush.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusPush.java @@ -11,12 +11,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员奖金-直推收益明细表 - *

- * - * @author hzs - * @since 2022-11-10 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberRepeatBonus.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberRepeatBonus.java deleted file mode 100644 index 6fcd3e1e..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberRepeatBonus.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.hzs.common.domain.member.bonus; - -import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableField; -import com.hzs.common.core.web.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - *

- * 会员奖金-4-n碰次重算奖金表 - *

- * - * @author hzs - * @since 2024-07-23 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("CU_MEMBER_REPEAT_BONUS") -public class CuMemberRepeatBonus extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 会员主键 - */ - @TableField("PK_MEMBER") - private Long pkMember; - - /** - * 期间 - */ - @TableField("PERIOD") - private Integer period; - - /** - * 汇率 - */ - @TableField("PK_RATE") - private Integer pkRate; - - /** - * 直推收益 - */ - @TableField("DIRECT_INCOME") - private BigDecimal directIncome; - - /** - * 拓展收益 - */ - @TableField("EXPAND_INCOME") - private BigDecimal expandIncome; - - /** - * 辅导收益 - */ - @TableField("COACH_INCOME") - private BigDecimal coachIncome; - - /** - * 分红收益 - */ - @TableField("SHARE_INCOME") - private BigDecimal shareIncome; - - /** - * 报单收益 - */ - @TableField("SERVICE_INCOME") - private BigDecimal serviceIncome; - - /** - * 商城重消 - */ - @TableField("BACK_POINTS") - private BigDecimal backPoints; - - /** - * 平台服务费 - */ - @TableField("SERVICE_SPEND") - private BigDecimal serviceSpend; - - /** - * 首购实发小计 - */ - @TableField("PUR_REAL_SUBTOTAL") - private BigDecimal purRealSubtotal; - - /** - * 创客空间直推收益 - */ - @TableField("MAKER_DIRECT_INCOME") - private BigDecimal makerDirectIncome; - - /** - * 创客空间共享收益 - */ - @TableField("MAKER_SHARE_INCOME") - private BigDecimal makerShareIncome; - - /** - * 创客空间收益小计 - */ - @TableField("MAKER_REAL_SUBTOTAL") - private BigDecimal makerRealSubtotal; - - /** - * 实发收益总计 - */ - @TableField("REAL_INCOME_TOTAL") - private BigDecimal realIncomeTotal; - - -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberRetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberRetail.java deleted file mode 100644 index dd6a0145..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberRetail.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hzs.common.domain.member.bonus; - -import com.baomidou.mybatisplus.annotation.TableField; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * @description: 会员验证数据 - * @author: sui q - * @time: 2025/2/20 15:15 - * @classname: CuMemberRetail - * @package_name: com.hzs.common.domain.member.bonus - * version 1.0.0 - */ -@Data -public class CuMemberRetail implements Serializable { - - private Integer bigBoxNum; - - private Integer smallBoxNum; - - private Integer realBoxNum; - - private BigDecimal teamMonthPv; - - private BigDecimal bigAreaPv; - - private BigDecimal smallAreaPv; - - /** - * 验证状态 - */ - private Boolean validateFlag; -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssessDetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssessDetail.java index f4b7020f..4f82e1b7 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssessDetail.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssessDetail.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.util.Date; + import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.core.web.domain.BaseEntity; @@ -11,12 +12,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 考核业绩变化明细表 - *

- * - * @author hzs - * @since 2022-10-28 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuBonusExpandExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuBonusExpandExt.java deleted file mode 100644 index 7b56bb8b..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuBonusExpandExt.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.hzs.common.domain.member.ext; - -import com.hzs.common.domain.member.bonus.CuBonusExpand; -import lombok.Data; - -/** - * @description: 4-n增加碰次设置 扩展表 - * @author: sui q - * @time: 2024/7/23 10:10 - * @classname: CuBonusExpandExt - * @package_name: com.hzs.common.domain.member.ext - * version 1.0.0 - */ -@Data -public class CuBonusExpandExt extends CuBonusExpand { - - /** - * 体系名称 - */ - private String vertexName; - - /** - * 会员编号 - */ - private String memberCode; - /** - * 会员姓名 - */ - private String memberName; -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuHonorWallExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuHonorWallExt.java deleted file mode 100644 index 413ce31c..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuHonorWallExt.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hzs.common.domain.member.ext;/** - * @Description: - * @Author: yuhui - * @Time: 2023/5/11 14:51 - * @Classname: CuHonorWallExt - * @PackageName: com.hzs.common.domain.member.ext - */ - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.hzs.common.domain.member.honor.CuHonorWall; -import lombok.Data; - -import java.util.Date; - -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.common.domain.member.ext - *@Author: yh - *@CreateTime: 2023-05-11 14:51 - *@Description: TODO - *@Version: 1.0 - */ -@Data -public class CuHonorWallExt extends CuHonorWall { - - /** - * 备注 - */ - private String remarks ; - - /** - * 0 拥有 1 未拥有 - */ - private Integer isHave; - - private Long pkMember; - - /** - * 拥有时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date haveTime; -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberHonorWallExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberHonorWallExt.java deleted file mode 100644 index 4e9763a0..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberHonorWallExt.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hzs.common.domain.member.ext;/** - * @Description: - * @Author: yuhui - * @Time: 2023/4/26 20:35 - * @Classname: CuMemberHonorWallExt - * @PackageName: com.hzs.common.domain.member.ext - */ - -import com.hzs.common.domain.member.honor.CuMemberHonorWall; -import lombok.Data; - -/** - *@BelongsProject: hzs_cloud - *@BelongsPackage: com.hzs.common.domain.member.ext - *@Author: yh - *@CreateTime: 2023-04-26 20:35 - *@Description: TODO - *@Version: 1.0 - */ -@Data -public class CuMemberHonorWallExt extends CuMemberHonorWall { - - /** - * 荣誉展示图片 - */ - private String img; - - /** - * 条件标题 - */ - private String title; -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberMonthAchieveExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberMonthAchieveExt.java index a98a4191..650ea4e0 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberMonthAchieveExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberMonthAchieveExt.java @@ -7,12 +7,7 @@ import lombok.EqualsAndHashCode; import java.math.BigDecimal; /** - * @description: 月业绩统计扩展表 - * @author: sui q - * @time: 2023/6/7 14:47 - * @classname: CuMemberMonthAchieveExt - * @package_name: com.hzs.common.domain.member.ext - * version 1.0.0 + * 月业绩统计扩展表 */ @EqualsAndHashCode(callSuper = true) @Data diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/honor/CuHonorWall.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/honor/CuHonorWall.java deleted file mode 100644 index 24534e57..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/honor/CuHonorWall.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hzs.common.domain.member.honor; - -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.hzs.common.core.web.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - *

- * 荣誉墙 - *

- * - * @author hzs - * @since 2023-04-26 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("CU_HONOR_WALL") -@KeySequence("CU_HONOR_WALL_SEQ") -public class CuHonorWall extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 用户ID - */ - @TableId("PK_ID") - private Long pkId; - - /** - * 类型 1 等级 2 奖衔 3 时长 4 推荐月 5 推荐季度 6 推荐年 7 抗衰月 8 抗衰季度 9 抗衰年 - */ - @TableField("TYPE") - private Integer type; - - /** - * 类型属性值 - */ - @TableField("VALUE") - private Integer value; - - /** - * 展示图片 - */ - @TableField("IMG") - private String img; - - /** - * 展示名称 - */ - @TableField("NAME") - private String name; - - /** - * 展示标题(条件标题) - */ - @TableField("TITLE") - private String title; -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/honor/CuMemberHonorWall.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/honor/CuMemberHonorWall.java deleted file mode 100644 index 89c63ef9..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/honor/CuMemberHonorWall.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.hzs.common.domain.member.honor; - -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; -import com.hzs.common.core.web.domain.BaseEntity; -import lombok.*; -import lombok.experimental.Accessors; - -/** - *

- * 会员荣誉墙关联表 - *

- * - * @author hzs - * @since 2023-04-26 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("CU_MEMBER_HONOR_WALL") -@KeySequence("CU_MEMBER_HONOR_WALL_SEQ") -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class CuMemberHonorWall extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 用户ID - */ - @TableId("PK_ID") - private Long pkId; - - /** - * 会员主键 - */ - @TableField("PK_MEMBER") - private Long pkMember; - - /** - * 荣誉墙主键 - */ - @TableField("PK_HONOR_WALL") - private Long pkHonorWall; - - /** - * 结算月份 - */ - @TableField("SETTLE_MONTH") - private String settleMonth; - -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/scm/ic/IcAvailableNum.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/scm/ic/IcAvailableNum.java index 97e1df4b..66751e49 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/scm/ic/IcAvailableNum.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/scm/ic/IcAvailableNum.java @@ -13,12 +13,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 可用量 - *

- * - * @author hzs - * @since 2023-12-09 */ @Data @EqualsAndHashCode(callSuper = true) @@ -80,12 +75,12 @@ public class IcAvailableNum extends BaseEntity { @TableField("AVAILABLE_NUM") private BigDecimal availableNum; - @TableField(exist=false) + @TableField(exist = false) private List scmItemSpecsList; /** * 预售状态 */ - @TableField(exist=false) + @TableField(exist = false) private Integer preSaleStatus; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/serviceCharge/BdServiceCharge.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/serviceCharge/BdServiceCharge.java index 990adf95..e6fda934 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/serviceCharge/BdServiceCharge.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/serviceCharge/BdServiceCharge.java @@ -11,9 +11,6 @@ import lombok.experimental.Accessors; /** * 办理业务手续费配置主表 - * - * @author hzs - * @since 2023-01-03 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/ext/BdStoreLevelExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/ext/BdStoreLevelExt.java deleted file mode 100644 index 64b5a2a3..00000000 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/ext/BdStoreLevelExt.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hzs.common.domain.system.config.ext; - -import com.hzs.common.domain.system.config.BdStoreLevel; -import com.hzs.common.domain.system.config.BdStoreLevelDetail; -import lombok.Data; - -import java.util.List; - -/** - * @description: 店铺等级扩展表 - * @author: sui q - * @time: 2023/5/8 16:03 - * @classname: BdStoreLevelExt - * @package_name: com.hzs.common.domain.system.config.ext - * version 1.0.0 - */ -@Data -public class BdStoreLevelExt extends BdStoreLevel { - - /** - * 店铺等级详情 - */ - private List storeLevelDetailList; -}