3
0
Fork 0

## 部分接口及内容修改;

This commit is contained in:
cabbage 2025-06-20 16:23:07 +08:00
parent 601ca0de92
commit 65d95f3195
96 changed files with 243 additions and 4187 deletions

View File

@ -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<List<AcPickMemberLog>> queryPickMemberLog(List<SaOrderExt> saOrderExtList);
/**
* 根据订单查询邮费
*
* @param orderCode 订单编号
* @param recProvince
* @param recCity
* @param pkCountry 国家
* @return
*/
R<BigDecimal> queryOrderPostage(String orderCode, Integer recProvince, Integer recCity, Integer pkCountry);
}

View File

@ -3,22 +3,13 @@ package com.hzs.activity.pick;
import com.hzs.common.core.domain.R;
/**
* @description: 会员提货赠送活动日志接口服务
* @author: zhang jing
* @date: 2025/1/15 16:58
* @param:
* @return:
* 会员提货赠送活动日志接口服务
**/
public interface IAcRetailPickLogServiceApi {
/**
* @description: 处理会员提货赠送活动日志
* @author: zhang jing
* @date: 2025/1/15 17:13
* @param: []
* @return: com.hzs.common.core.domain.R<?>
* 处理会员提货赠送活动日志
**/
R<?> deliveryLog();
}

View File

@ -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<OrderItemsParamDTO> 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<String> getValidSaveField() {
List<String> fieldList = getValidConfirmField();
fieldList.add("payPwd");
return fieldList;
}
@JsonIgnore
public List<String> getFunValidConfirmField() {
List<String> fieldList = getList();
fieldList.add("memberName");
fieldList.add("phone");
fieldList.add("parent");
return fieldList;
}
@JsonIgnore
public List<String> getValidConfirmField() {
List<String> fieldList = getFunValidConfirmField();
fieldList.add("placeParent");
fieldList.add("placeDept");
return fieldList;
}
@Ignore
private List<String> getList() {
return new ArrayList<>();
}
}

View File

@ -1,39 +0,0 @@
package com.hzs.sale.order.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description:
* @Author: sui q
* @Time: 2022/12/30 17:14
* @Classname: SaOrderRangeDto
* @PackageName: com.hzs.sale.order.dto
*/
@Data
public class SaOrderRangeDto implements Serializable {
private Long pkOrderItems;
private String orderCode;
private Integer pkWaresSpecsSku;
private Integer quantity;
private BigDecimal orderPrice;
private BigDecimal orderAchieve;
private Integer pkRange;
private Integer rangeValue;
private BigDecimal rangePrice;
private BigDecimal rangeAchieve;
private Integer pkCountry;
}

View File

@ -1,10 +1,4 @@
package com.hzs.sale.order.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2024/5/14 10:48
* @Classname: SingleItemStatDTO
* @PackageName: com.hzs.sale.order.dto
*/
package com.hzs.sale.order.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
@ -13,14 +7,6 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.order.dto
*@Author: yh
*@CreateTime: 2024-05-14 10:48
*@Description: TODO
*@Version: 1.0
*/
@Data
public class SingleItemStatDTO implements Serializable {

View File

@ -1,24 +1,10 @@
package com.hzs.sale.order.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2024/5/14 14:16
* @Classname: SingleItemStatParamDTO
* @PackageName: com.hzs.sale.order.dto
*/
package com.hzs.sale.order.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.order.dto
*@Author: yh
*@CreateTime: 2024-05-14 14:16
*@Description: TODO
*@Version: 1.0
*/
@Data
public class SingleItemStatParamDTO implements Serializable {

View File

@ -9,29 +9,17 @@ import java.util.List;
import java.util.Map;
/**
* @description: 根据国家查询极差配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
* 根据国家查询极差配置列表api
**/
public interface IRangeServiceApi {
/**
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdAwards>>
* 根据国家查询极差配置列表
**/
R<List<BdRangeExt>> queryRange(Integer pkCountry);
/**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键
*
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
R<Map<String, RangeDTO>> queryRangeDto();
@ -41,9 +29,6 @@ public interface IRangeServiceApi {
* @param pkCountry 国家
* @param rangeType 极差类型
* @param pkLevel 等级
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel);
}

View File

@ -1,19 +1,12 @@
package com.hzs.system.config.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description: 极差的配置
* @Author: sui q
* @Time: 2023/1/3 13:42
* @Classname: RangeDTO
* @PackageName: com.hzs.system.config.dto
* 极差的配置
*/
@Data
public class RangeDTO implements Serializable {

View File

@ -5,13 +5,6 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description:
* @Author: sui q
* @Time: 2023/3/4 16:00
* @Classname: BdCurrencyDTO
* @PackageName: com.hzs.system.sys.dto
*/
@Data
public class BdCurrencyDTO implements Serializable {

View File

@ -13,12 +13,7 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 会员业绩记录
* </p>
*
* @author hzs
* @since 2022-10-26
*/
@Data
@Builder

View File

@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.bonus.BdWaresBonusItems;
/**
* <p>
* 特殊商品分配ev奖金明细 Mapper 接口
* </p>
*
* @author hzs
* @since 2024-10-30
*/
public interface BdWaresBonusItemsMapper extends BaseMapper<BdWaresBonusItems> {

View File

@ -8,28 +8,17 @@ import com.hzs.common.domain.member.ext.BdWaresBonusExt;
import java.util.List;
/**
* <p>
* 特殊商品分配奖金 Mapper 接口
* </p>
*
* @author hzs
* @since 2024-10-30
*/
public interface BdWaresBonusMapper extends BaseMapper<BdWaresBonus> {
/*
* @description: 查询特殊品奖金配置
* @author: sui q
* @date: 2024/10/30 10:55
* @param: null null
* 查询特殊品奖金配置
**/
List<BdWaresBonusExt> querySpecialWaresBonus(BdWaresBonusParam waresBonusParam);
/*
* @description: 查询能设置奖金的特殊品
* @author: sui q
* @date: 2024/11/8 10:19
* @param: null null
* 查询能设置奖金的特殊品
**/
List<BdWaresBonusExt> queryAllSpecialWaresBonus();
}

View File

@ -9,48 +9,35 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-辅导收益明细表 Mapper 接口
* </p>
*
* @author hzs
* @since 2022-11-15
*/
public interface CuMemberBonusCoachMapper extends BaseMapper<CuMemberBonusCoach> {
/**
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusCoach(Integer period);
/**
* 批量插入会员奖金主表
*
* @param cuMemberBonusCoachList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonusCoach(@Param("cuMemberBonusCoachList") List<?> cuMemberBonusCoachList);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItems(BonusParam bonusParam);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
}

View File

@ -9,76 +9,49 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-奖金收益明细表(报单费) Mapper 接口
* </p>
*
* @author hzs
* @since 2022-11-17
*/
public interface CuMemberBonusDetailMapper extends BaseMapper<CuMemberBonusDetail> {
/**
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusDetail(Integer period);
/**
* 批量插入会员奖金主表
*
* @param cuMemberBonusDetailList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonusDetail(@Param("cuMemberBonusDetailList") List<?> cuMemberBonusDetailList);
/**
* 批量插入会员奖金主表
*
* @param cuMemberBonusDetail 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void insertCuMemberBonusDetail(@Param("item") CuMemberBonusDetail cuMemberBonusDetail);
/**
* 根据查询条件查询会员奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 9:18
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByCondition(BonusParam bonusParam);
/**
* 会员端根据查询条件查询会员奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 9:18
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByBonusItems(BonusParam bonusParam);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
}

View File

@ -9,12 +9,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-拓展收益明细表 Mapper 接口
* </p>
*
* @author hzs
* @since 2022-11-15
*/
public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpand> {
@ -22,9 +17,6 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusExpand(Integer period);
@ -32,30 +24,13 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
* 批量插入会员奖金主表
*
* @param cuMemberBonusExpandList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonusExpand(@Param("cuMemberBonusExpandList") List<?> cuMemberBonusExpandList);
/**
* 批量插入会员奖金,拓展
*
* @param cuMemberBonusExpandList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusExpandExt> queryMemberBonusExpandByBonusItems(BonusParam bonusParam);
@ -63,9 +38,6 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusExpandExt> queryMemberBonusExpandByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
}

View File

@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.bonus.CuMemberBonusPushHis;
/**
* <p>
* 会员奖金-直推历史轮次记录 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-09-10
*/
public interface CuMemberBonusPushHisMapper extends BaseMapper<CuMemberBonusPushHis> {

View File

@ -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,36 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-直推收益明细表 Mapper 接口
* </p>
*
* @author hzs
* @since 2022-11-10
*/
public interface CuMemberBonusPushMapper extends BaseMapper<CuMemberBonusPush> {
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusPushExt> queryMemberBonusPushByBonusItems(BonusParam bonusParam);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusPushExt> 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);
}

View File

@ -7,20 +7,12 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-4-n碰次重算奖金表 Mapper 接口
* </p>
*
* @author hzs
* @since 2024-07-23
*/
public interface CuMemberRepeatBonusMapper extends BaseMapper<CuMemberRepeatBonus> {
/*
* @description: 批量插入重算奖金数据
* @author: sui q
* @date: 2024/7/23 11:46
* @param: null null
* 批量插入重算奖金数据
**/
void insertCuMemberRepeatBonus(@Param("cuMemberRepeatBonusList") List<CuMemberRepeatBonus> cuMemberRepeatBonusList);
}

View File

@ -6,20 +6,12 @@ import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 会员奖金-分红奖金配置 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-07-03
*/
public interface CuMemberShareBonusMapper extends BaseMapper<CuMemberShareBonus> {
/*
* @description: 查询会员分享奖金
* @author: sui q
* @date: 2023/7/3 15:28
* @param: null null
* 查询会员分享奖金
**/
CuMemberShareBonusExt queryCuMemberShareBonus(@Param("pkCountry") Integer pkCountry, @Param("settleMonth") String settleMonth);
}

View File

@ -8,28 +8,17 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-分红奖金配置明细 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-07-03
*/
public interface CuMemberShareDetailMapper extends BaseMapper<CuMemberShareDetail> {
/*
* @description: 更新分享明细
* @author: sui q
* @date: 2023/7/3 14:11
* @param: null null
**/
/**
* 更新分享明细
*/
void saveMemberShareBonus(@Param("cuMemberShareDetailList") List<CuMemberShareDetailExt> cuMemberShareDetailList);
/*
* @description: 根据期间查询对应的奖衔 period当前月第一天
* @author: sui q
* @date: 2023/8/11 15:42
* @param: null null
**/
/**
* 根据期间查询对应的奖衔 period当前月第一天
*/
List<CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period);
}

View File

@ -1,24 +0,0 @@
package com.hzs.bonus.bonus.param;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @description: 计算乐学易考特殊极差的param
* @author: sui q
* @time: 2023/6/3 14:37
* @classname: LeXueRangeParam
* @package_name: com.hzs.member.bonus.param
* version 1.0.0
*/
@Data
public class LeXueRangeParam implements Serializable {
private List<AcPickExt> acPickExtList;
private List<AcPickMemberLog> acPickMemberLogList;
}

View File

@ -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;
}

View File

@ -6,36 +6,22 @@ import com.hzs.common.domain.member.bonus.BdWaresBonusItems;
import java.util.List;
/**
* <p>
* 特殊商品分配ev奖金明细 服务类
* </p>
*
* @author hzs
* @since 2024-10-30
*/
public interface IBdWaresBonusItemsService extends IService<BdWaresBonusItems> {
/*
* @description: 插入奖金特殊项奖金
* @author: sui q
* @date: 2024/11/7 15:04
* @param: null null
* 插入奖金特殊项奖金
**/
void insetWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList);
/*
* @description: 插入奖金特殊项奖金
* @author: sui q
* @date: 2024/11/7 15:04
* @param: null null
* 插入奖金特殊项奖金
**/
void updateWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList);
/*
* @description: 插入奖金特殊项奖金
* @author: sui q
* @date: 2024/11/7 15:04
* @param: null null
* 插入奖金特殊项奖金
**/
void deleteWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList, Long pkWaresBonus, Long userId);

View File

@ -8,52 +8,32 @@ import com.hzs.common.domain.member.ext.BdWaresBonusExt;
import java.util.List;
/**
* <p>
* 特殊商品分配奖金 服务类
* </p>
*
* @author hzs
* @since 2024-10-30
*/
public interface IBdWaresBonusService extends IService<BdWaresBonus> {
/*
* @description: 查询特殊品奖金配置
* @author: sui q
* @date: 2024/10/30 10:55
* @param: null null
* 查询特殊品奖金配置
**/
List<BdWaresBonusExt> querySpecialWaresBonus(BdWaresBonusParam waresBonusParam);
/*
* @description: 根据主键删除特殊商品奖金配置
* @author: sui q
* @date: 2024/11/8 9:58
* @param: null null
* 根据主键删除特殊商品奖金配置
**/
void deleteSpecialWaresBonus(Long pkId, Long userId);
/*
* @description: 根据商品id查询是否已经存在数据
* @author: sui q
* @date: 2024/11/7 15:51
* @param: null null
* 根据商品id查询是否已经存在数据
**/
BdWaresBonus queryWaresBonusById(BdWaresBonusParam waresBonusParam);
/*
* @description: 插入商品奖金根据参数
* @author: sui q
* @date: 2024/11/7 13:47
* @param: null null
* 插入商品奖金根据参数
**/
void insertOrUpdateBdWaresBonusByParam(BdWaresBonusParam bdWaresBonusParam, Long userId);
/*
* @description: 查询能设置奖金的特殊品
* @author: sui q
* @date: 2024/11/8 10:19
* @param: null null
* 查询能设置奖金的特殊品
**/
List<BdWaresBonusExt> querySpecialWaresBonus();
}

View File

@ -19,13 +19,6 @@ public interface IBonusGrantService {
*/
void publishBonusByPeriod(Integer pkCountry, String settleDate);
/**
* 手动不公布奖金
*
* @param settleDate 日期
*/
void noPublishBonusByPeriod(Integer pkCountry, String settleDate);
/**
* 每天发放奖金
*

View File

@ -7,30 +7,21 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-辅导收益明细表 服务类
* </p>
*
* @author hzs
* @since 2022-11-15
*/
public interface ICuMemberBonusCoachService extends IService<CuMemberBonusCoach> {
/**
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusCoach(Integer period);
/**
* 批量插入会员奖金主表
*
* @param cuMemberBonusCoachList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonusCoach(List<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet);
}

View File

@ -7,12 +7,7 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-奖金收益明细表(报单费) 服务类
* </p>
*
* @author hzs
* @since 2022-11-17
*/
public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetail> {
@ -20,9 +15,6 @@ public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetai
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusDetail(Integer period);
@ -30,19 +22,6 @@ public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetai
* 批量插入会员奖金主表
*
* @param cuMemberBonusDetailList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonusDetail(List<CuMemberBonusDetail> cuMemberBonusDetailList, Set<Long> memberIdSet);
/**
* 批量插入会员奖金主表
*
* @param cuMemberBonusDetail 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void insertCuMemberBonusDetail(CuMemberBonusDetail cuMemberBonusDetail);
}

View File

@ -7,12 +7,7 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-拓展收益明细表 服务类
* </p>
*
* @author hzs
* @since 2022-11-15
*/
public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpand> {
@ -20,9 +15,6 @@ public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpan
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusExpand(Integer period);
@ -30,19 +22,7 @@ public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpan
* 批量插入会员奖金主表
*
* @param cuMemberBonusExpandList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void batchInsertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList, Set<Long> memberIdSet);
/**
* 批量插入会员奖金主表
*
* @param cuMemberBonusExpandList 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList);
}

View File

@ -6,20 +6,8 @@ import com.hzs.common.domain.member.bonus.CuMemberBonusPushHis;
import java.util.List;
/**
* <p>
* 会员奖金-直推历史轮次记录 服务类
* </p>
*
* @author hzs
* @since 2023-09-10
*/
public interface ICuMemberBonusPushHisService extends IService<CuMemberBonusPushHis> {
/*
* @description: 查询会员历史推荐
* @author: sui q
* @date: 2023/9/10 14:23
* @param: null null
**/
List<CuMemberBonusPushHis> queryCuMemberBonusPushHis(Long pkMember);
}

View File

@ -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;
/**
* <p>
* 会员奖金-直推收益明细表 服务类
* </p>
*
* @author hzs
* @since 2022-11-10
*/
public interface ICuMemberBonusPushService extends IService<CuMemberBonusPush> {
/**
* 删除会员奖金汇总表
*
* @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<CuMemberBonusPush> cuMemberBonusPushList, Set<Long> memberIdSet);
/**
* 插入会员直推奖
* @param cuMemberBonusPush 直推奖金
* @return: void
* @Author: sui q
* @Date: 2023/2/17 9:48
*/
void insertCuMemberBonusPush(CuMemberBonusPush cuMemberBonusPush);
}

View File

@ -24,13 +24,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
*/
List<Long> batchQueryCuMemberBonusSeq(Integer rowNum);
/**
* 根据查询条件查询每日奖金汇总
*
* @param bonusParam 查询条件
*/
List<MemberBonusVO> queryMemberBonusTotalVoByCondition(BonusParam bonusParam);
/**
* 根据查询条件查询会员奖金
*
@ -111,14 +104,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
*/
List<CuMemberBonus> queryCuMemberBonus(int period, List<CuMemberBonus> cuMemberBonusList);
/**
* 根据国家期间查询存在首购奖金的会员
*
* @param period 期间
* @param pkCountryList 国家
*/
List<CuMemberBonus> queryExistsPurchaseBonusMember(Integer period, List<Integer> pkCountryList);
/**
* 更新奖金状态
*

View File

@ -6,20 +6,12 @@ import com.hzs.common.domain.member.bonus.CuMemberRepeatBonus;
import java.util.List;
/**
* <p>
* 会员奖金-4-n碰次重算奖金表 服务类
* </p>
*
* @author hzs
* @since 2024-07-23
*/
public interface ICuMemberRepeatBonusService extends IService<CuMemberRepeatBonus> {
/*
* @description: 批量插入重算奖金数据
* @author: sui q
* @date: 2024/7/23 11:46
* @param: null null
* 批量插入重算奖金数据
**/
void insertCuMemberRepeatBonus(List<CuMemberRepeatBonus> cuMemberRepeatBonusList);
}

View File

@ -6,28 +6,17 @@ import com.hzs.common.domain.member.ext.CuMemberShareBonusExt;
import com.hzs.bonus.bonus.param.CuMemberShareBonusParam;
/**
* <p>
* 会员奖金-分红奖金配置 服务类
* </p>
*
* @author hzs
* @since 2023-07-03
*/
public interface ICuMemberShareBonusService extends IService<CuMemberShareBonus> {
/*
* @description: 保存会员分红奖金及明细
* @author: sui q
* @date: 2023/7/3 14:04
* @param: null null
* 保存会员分红奖金及明细
**/
void saveMemberShareBonus(CuMemberShareBonusParam cuMemberShareBonusParam);
/*
* @description: 查询分红配置的参数
* @author: sui q
* @date: 2023/7/3 15:24
* @param: null null
* 查询分红配置的参数
**/
CuMemberShareBonusExt queryCuMemberShareBonus(Integer pkCountry, String settleMonth);

View File

@ -5,32 +5,15 @@ import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
import com.hzs.common.domain.member.ext.CuMemberShareDetailExt;
import java.util.List;
import java.util.Map;
/**
* <p>
* 会员奖金-分红奖金配置明细 服务类
* </p>
*
* @author hzs
* @since 2023-07-03
*/
public interface ICuMemberShareDetailService extends IService<CuMemberShareDetail> {
/*
* @description: 更新分享明细
* @author: sui q
* @date: 2023/7/3 14:11
* @param: null null
* 更新分享明细
**/
void saveMemberShareBonus(List<CuMemberShareDetailExt> cuMemberShareDetailList);
/*
* @description: 根据期间查询奖衔设置的分红配置
* key 国家+奖衔 明细
* @author: sui q
* @date: 2023/8/11 15:35
* @param: null null
**/
Map<String, CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period);
}

View File

@ -23,5 +23,4 @@ public interface ICuMemberSpeRetailService extends IService<CuMemberSpeRetail> {
int checkCuMemberActivate(String memberCode);
}

View File

@ -17,12 +17,7 @@ import java.util.Set;
import java.util.stream.Collectors;
/**
* <p>
* 特殊商品分配ev奖金明细 服务实现类
* </p>
*
* @author hzs
* @since 2024-10-30
*/
@Service
public class BdWaresBonusItemsServiceImpl extends ServiceImpl<BdWaresBonusItemsMapper, BdWaresBonusItems> implements IBdWaresBonusItemsService {
@ -43,7 +38,7 @@ public class BdWaresBonusItemsServiceImpl extends ServiceImpl<BdWaresBonusItemsM
@Transactional(rollbackFor = Exception.class)
public void deleteWaresBonusItems(List<BdWaresBonusItems> waresBonusItemsList, Long pkWaresBonus, Long userId) {
UpdateWrapper<BdWaresBonusItems> updateWrapper = new UpdateWrapper<>();
if(waresBonusItemsList != null && waresBonusItemsList.size() > 0) {
if (waresBonusItemsList != null && waresBonusItemsList.size() > 0) {
Set<Long> itemIdList = waresBonusItemsList.stream().map(BdWaresBonusItems::getPkId).collect(Collectors.toSet());
updateWrapper.notIn(SystemFieldConstants.PK_ID, itemIdList);
}

View File

@ -23,12 +23,7 @@ import java.util.Date;
import java.util.List;
/**
* <p>
* 特殊商品分配奖金 服务实现类
* </p>
*
* @author hzs
* @since 2024-10-30
*/
@Service
public class BdWaresBonusServiceImpl extends ServiceImpl<BdWaresBonusMapper, BdWaresBonus> implements IBdWaresBonusService {

View File

@ -128,18 +128,6 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
publishBonus(cuMemberSettlePeriod);
}
@Override
public void noPublishBonusByPeriod(Integer pkCountry, String settleDate) {
CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate);
if (EYesNo.YES.getIntValue() == cuMemberSettlePeriod.getIsPublish()) {
return;
}
// 更新期间表状态
cuMemberSettlePeriod.setIsPublish(EYesNo.PROHIBIT.getIntValue());
cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime());
iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod);
}
private CuMemberSettlePeriodExt getCuMemberSettlePeriod(Integer pkCountry, String settleDate) {
CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = iCuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate));
cuMemberSettlePeriodByDate.setPkModified(MagicNumberConstants.PK_ADMIN);

View File

@ -10,25 +10,21 @@ 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;
@ -74,19 +70,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
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;
}
/**
* 计算某条订单的推荐奖金
@ -150,13 +133,9 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 验证是不是固定值固定值直接取比例或者值
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());
@ -266,9 +245,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
* @param firPurchaseOrderList 首单
* @param cuMemberBonusMap 所有计算出来的奖金汇总
* 计算拓展收益
* @return: void
* @Author: sui q
* @Date: 2022/11/10 14:17
*/
List<CuMemberBonusExpand> calculateExpandBonus(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleDate, String settleTableName, BonusConfigDTO bonusConfigDTO,
Map<String, String> systemConfigMap, List<SaOrderExt> firPurchaseOrderList,
@ -323,13 +299,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
}
// 先准备值准备好值后开始计算计算碰次
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() ||
@ -357,7 +327,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
targetMemberSettleExt.setABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getABalance(), saOrderExt.getUploadAchieve()));
}
targetMemberSettleExt.setRABalance(ComputeUtil.computeAdd(targetMemberSettleExt.getRABalance(), saOrderExt.getUploadAchieve()));
// }
} else {
// 右区
if (riskControlMap.containsKey(targetMemberSettleExt.getPkMember())) {
@ -371,24 +340,10 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
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++;
}
// 判断左右区是否有值左右区有值有碰次
@ -483,209 +438,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
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<CuMemberBonusCoach> calculateCoachBonus(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO,
List<SaOrderExt> firPurchaseOrderList, List<CuMemberBonusExpand> cuMemberBonusExpandList, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap) {
Map<Long, SaOrderExt> 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<CuMemberBonusCoach>
* @Author: sui q
* @Date: 2023/2/8 17:16
*/
List<CuMemberBonusCoach> calculateCoachBonusOne(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, List<CuMemberBonusExpand> cuMemberBonusExpandList, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
Map<Long, SaOrderExt> saOrderExtMap, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap) {
List<CuMemberBonusCoach> cuMemberBonusCoachList = new ArrayList<>();
if (cuMemberBonusExpandList.size() > 0) {
Set<Long> expandMemberSet = getMemberExpandBonus(cuMemberBonusMap, cuMemberBonusExpandList);
List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, expandMemberSet);
// 初始化父类网体的值
getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList);
List<CuMemberSettleExt> queryMemberList = getQueryMemberSettleExtList(cuMemberSettleExtMap, cuMemberSettleExtList);
// 获取复购考核结果
Map<Long, CuMemberAssess> cuMemberAssessMap = getLongCuMemberAssessMap(settleDateStr, queryMemberList);
// 开始计算辅导奖往上找10代血缘判断血缘的奖衔是否>= 5的倍数
Map<Long, CuMemberSettleExt> bonusIdSettleMap = getMemberExpandBonus(cuMemberSettleExtMap);
for (CuMemberBonusExpand cuMemberBonusExpand : cuMemberBonusExpandList) {
// 国内没有领导奖
if (cuMemberBonusExpand.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
continue;
}
List<CuMemberBonusCoach> coachBonusList = calculateBonusCoach(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExtMap, cuMemberAssessMap, bonusIdSettleMap, cuMemberBonusExpand, cuAwardsControlMap, riskControlMap);
if (coachBonusList.size() > 0) {
cuMemberBonusCoachList.addAll(coachBonusList);
}
}
}
return cuMemberBonusCoachList;
}
/**
* 计算领导奖
*
* @return: List<CuMemberBonusCoach>
* @Author: sui q
* @Date: 2023/2/8 17:16
*/
private List<CuMemberBonusCoach> calculateBonusCoach(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Long, SaOrderExt> saOrderExtMap, Map<Long, CuMemberAssess> cuMemberAssessMap, Map<Long, CuMemberSettleExt> bonusIdSettleMap,
CuMemberBonusExpand cuMemberBonusExpand, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap) {
CuMemberSettleExt sourceMemberSettleExt = bonusIdSettleMap.get(cuMemberBonusExpand.getPkBonus());
Long pkMember = cuMemberSettleExtMap.get(cuMemberBonusExpand.getPkBonus()).getPkParent();
// 获得量奖的人往上找10代血缘
// 用于回写血缘总共多少代
List<CuMemberBonusCoach> 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<Long, CuAwardsControl> 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<CuMemberBonusCoach> handleCoachRemark(List<CuMemberBonusCoach> backMemberBonusCoachList, int i) {
List<CuMemberBonusCoach> cuMemberBonusCoachList = new ArrayList<>();
for (CuMemberBonusCoach cuMemberBonusCoach : backMemberBonusCoachList) {
cuMemberBonusCoach.setCoachGeneration(i);
cuMemberBonusCoach.setRemark(cuMemberBonusCoach.getRemark().replace("#", cuMemberBonusCoach.getCoachGeneration().toString()));
cuMemberBonusCoachList.add(cuMemberBonusCoach);
}
return cuMemberBonusCoachList;
}
/**
* 计算报单服务费
*
@ -741,13 +493,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
}
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();
@ -772,278 +517,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
return cuMemberBonusDetail;
}
/**
* 计算全球积分车奖积分
*/
List<CuMemberBonusDetail> calculateGlobalCarBonusOne(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr,
BonusConfigDTO bonusConfigDTO, List<CuMemberBonus> cuMemberBonusList,
Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap) {
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
if (cuMemberBonusList != null && cuMemberBonusList.size() > 0) {
Set<Long> memberSet = new HashSet<>();
cuMemberBonusList.forEach(cuMemberBonus ->
memberSet.add(cuMemberBonus.getPkMember()));
List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, memberSet);
// 获取复购考核结果
Map<Long, CuMemberAssess> cuMemberAssessMap = getLongCuMemberAssessMap(settleDateStr, cuMemberSettleExtList);
// 初始化父类网体的值
getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList);
// 开始计算全球积分车奖积分往上找10代血缘判断血缘的奖衔是否>= 5的倍数
for (CuMemberBonus cuMemberBonus : cuMemberBonusList) {
// List<CuMemberBonusDetail> bonusDetailList = calculateGlobalCarBonusDetail(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, cuMemberBonus, EBonusItems.GLOBAL_POINTS.getValue(), cuMemberAssessMap);
// if (bonusDetailList.size() > 0) {
// cuMemberBonusDetailList.addAll(bonusDetailList);
// }
// List<CuMemberBonusDetail> carBonusDetailList = calculateGlobalCarBonusDetail(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, cuMemberBonus, EBonusItems.CAR_BONUS_POINTS.getValue(), cuMemberAssessMap);
// if (carBonusDetailList.size() > 0) {
// cuMemberBonusDetailList.addAll(carBonusDetailList);
// }
}
}
return cuMemberBonusDetailList;
}
/**
* 计算全球积分车奖积分
*/
List<CuMemberBonusDetail> calculateGlobalCarBonusDetail(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap,
BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, CuMemberBonus sourceMemberBonus,
Integer incomeType, Map<Long, CuMemberAssess> cuMemberAssessMap) {
List<CuMemberBonusDetail> 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<Long, CuAwardsControl> cuAwardsControlMap = new HashMap<>(10);
Map<String, BdCurrencyDTO> 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<CuMemberBonusDetail> calculateShareBonus(String settleDateStr, BonusConfigDTO bonusConfigDTO, Integer period,
Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Long, CuAwardsControl> 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<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.queryMemberSettleByAwards(settleTableName, rangeTableName, beforeMonthFirstPeriod, beforeMonthLastPeriod);
Map<Long, CuMemberAssess> cuMemberAssessMap = getCuMemberAssessService().queryCuMemberAssessByMember(assessTableName, assessPeriod, EAssessmentType.REPURCHASE_ASSESS.getValue(), cuMemberSettleExtList);
// List<CuMemberAssess> cuMemberAssessList = getCuMemberAssessService().queryCuMemberShareAssess(assessTableName, assessPeriod);
List<CuMemberBonusDetail> 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<String, CuMemberShareDetail> cuMemberShareDetailMap = cuMemberShareDetailService.queryCuMemberShareBonusByPeriod(assessPeriod);
// if (CollectionUtil.isNotEmpty(cuMemberAssessList)) {
// Set<Long> serviceMemberSet = new HashSet<>();
// cuMemberAssessList.forEach(cuMemberAssess -> serviceMemberSet.add(cuMemberAssess.getPkMember()));
// List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.batchQueryMemberSettleByMemberPk(settleTableName, serviceMemberSet);
// // 初始化父类网体的值
// Map<Long, CuMemberSettleExt> 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;
}
/**
* 计算量碰
*
@ -1062,15 +535,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
BonusConfigDTO bonusConfigDTO, Map<String, String> systemConfigMap, List<CuMemberBonusExpand> cuMemberBonusExpandList, SaOrderExt saOrderExt, int touchNum, int i,
CuMemberSettleExt sourceMemberSettleExt, CuMemberSettleExt targetMemberSettleExt, BdGrade bdGrade, BigDecimal countryExpandRatio, BigDecimal addTouch, Map<Long, CuMemberAssess> 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());

View File

@ -1,11 +1,9 @@
package com.hzs.bonus.bonus.service.impl;
import com.hzs.bonus.achieve.param.MemberAchieveParam;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
import com.hzs.bonus.detail.service.ICuMemberAssessService;
import com.hzs.common.core.constant.BonusFieldConstants;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.constant.TableNameConstants;
import com.hzs.common.core.constant.msg.BonusMsgConstants;
@ -30,7 +28,6 @@ import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.dto.BonusConfigDTO;
import com.hzs.system.config.dto.BonusExpandDTO;
import com.hzs.system.config.dto.RangeDTO;
import com.hzs.system.sys.dto.BdCurrencyDTO;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
@ -52,14 +49,6 @@ public abstract class BonusSettleHandle {
@Autowired
private ICuMemberAssessService cuMemberAssessService;
public ICuMemberSettlePeriodService getCuMemberSettlePeriodService() {
return cuMemberSettlePeriodService;
}
public ICuMemberAssessService getCuMemberAssessService() {
return cuMemberAssessService;
}
/**
* 获取等级对应的拓展奖配置
*
@ -70,44 +59,11 @@ public abstract class BonusSettleHandle {
return bonusConfigDTO.getGradeMap().get(memberSettleExt.getPkSettleCountry().toString() + "_" + memberSettleExt.getPkGrade());
}
/**
* 获取主任奖衔值对应的辅导奖配置
*
* @param bonusConfigDTO 奖金参数汇总
* @param memberSettleExt 会员
*/
protected BdAwards getDirectorAwardsCouch(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt) {
return bonusConfigDTO.getAwardsValueMap().get(memberSettleExt.getPkSettleCountry().toString() + ERangeType.AWARDS.getValue() + EAwards.HEADER.getValue());
}
/**
* 获取奖衔对应的辅导奖配置
*
* @param bonusConfigDTO 奖金参数汇总
* @param memberSettleExt 会员
*/
protected BdAwards getAwardsCouch(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Map<Long, CuAwardsControl> cuAwardsControlMap) {
Integer pkAwards = getPkRealAwards(memberSettleExt.getPkMember(), memberSettleExt.getPkAwards(), cuAwardsControlMap);
return bonusConfigDTO.getAwardsMap().get(memberSettleExt.getPkSettleCountry().toString() + ERangeType.AWARDS.getValue() + pkAwards);
}
private Integer getPkRealAwards(Long pkMember, Integer pkAwards, Map<Long, CuAwardsControl> cuAwardsControlMap) {
if (cuAwardsControlMap.containsKey(pkMember)) {
if (cuAwardsControlMap.get(pkMember).getMentoringAward() != null) {
pkAwards = cuAwardsControlMap.get(pkMember).getMentoringAward();
}
// int giveRealAwards = EAwards.MEMBER.getValue();
// int pkControlAwards = EAwards.MANAGER.getEnable();
// if(cuAwardsControlMap.get(pkMember).getRealAwards() != null) {
// giveRealAwards = cuAwardsControlMap.get(pkMember).getRealAwards();
// }
// if(cuAwardsControlMap.get(pkMember).getMentoringAward() != null) {
// pkControlAwards = cuAwardsControlMap.get(pkMember).getExtremeAwards();
// }
// if (pkAwards <= giveRealAwards && pkAwards < pkControlAwards) {
// // 实际奖衔 <= 赠与奖衔时用实际奖衔和集成奖衔取大的
// pkAwards = pkControlAwards;
// }
}
return pkAwards;
}
@ -137,31 +93,6 @@ public abstract class BonusSettleHandle {
return countryExpandRatio;
}
/**
* 获得国家对应的4-n参数比例
*
* @param bonusConfigDTO 奖金配置汇总
* @param memberSettleExt 会员
* @param endTouch 4-n的次数
* @param bdGrade 等级
*/
protected BigDecimal getCountryRepurchaseExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Integer endTouch, BdGrade bdGrade, BigDecimal addTouch, BigDecimal editExpandRatio) {
BonusExpandDTO bonusExpand = bonusConfigDTO.getBonusExpandMap().get(memberSettleExt.getPkSettleCountry());
BigDecimal totalTouch = ComputeUtil.computeAdd(BigDecimal.valueOf(endTouch), addTouch);
BigDecimal expandRatio = bonusExpand.getExpandRatio();
if (memberSettleExt.getPkVertex() != null && memberSettleExt.getPkVertex().equals(377L)) {
expandRatio = BigDecimal.valueOf(13);
} else if (ComputeUtil.compareValue(editExpandRatio)) {
expandRatio = editExpandRatio;
}
// 验证是否是爱美视团队
BigDecimal countryExpandRatio = ComputeUtil.computeDivide(expandRatio, BigDecimal.valueOf(endTouch));
if (ComputeUtil.compareValue(countryExpandRatio, bdGrade.getRepurchaseRatio())) {
return bdGrade.getRepurchaseRatio();
}
return countryExpandRatio;
}
/**
* 获得奖项主键验证该国是否有该奖项
*
@ -187,40 +118,6 @@ public abstract class BonusSettleHandle {
return bonusConfigDTO.getBonusItemsExtMap().get(pkCountry.toString() + bonusItems).getPkId();
}
/**
* 获得有量奖的会员
*
* @param cuMemberBonusMap 奖金汇总表
* @param cuMemberBonusExpandList 量奖明细
*/
protected Set<Long> getMemberExpandBonus(Map<Long, CuMemberBonus> cuMemberBonusMap, List<CuMemberBonusExpand> cuMemberBonusExpandList) {
Map<Long, CuMemberBonus> pkMemberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberBonusMap.size()));
cuMemberBonusMap.forEach((key, cuMemberBonus) -> {
// 判断 cuMemberSettleExtMap中这个人是否是免考免考的不查询考核是否通过过滤数据
pkMemberSettleMap.put(cuMemberBonus.getPkId(), cuMemberBonus);
});
Set<Long> expandMemberSet = new HashSet<>();
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
// 只查询有量奖的人的考核记录, 国内没有领导奖
if (!cuMemberBonusExpand.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && pkMemberSettleMap.containsKey(cuMemberBonusExpand.getPkBonus())) {
expandMemberSet.add(pkMemberSettleMap.get(cuMemberBonusExpand.getPkBonus()).getPkMember());
}
});
return expandMemberSet;
}
/**
* 获得有量奖的会员
*
* @param cuMemberSettleExtMap 奖金汇总表
*/
protected Map<Long, CuMemberSettleExt> getMemberExpandBonus(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap) {
Map<Long, CuMemberSettleExt> pkMemberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberSettleExtMap.size()));
cuMemberSettleExtMap.forEach((key, cuMemberSettleExt) ->
pkMemberSettleMap.put(cuMemberSettleExt.getPkMember(), cuMemberSettleExt));
return pkMemberSettleMap;
}
/**
* 记录需要修改的会员结算表数据, 安置的
*
@ -293,54 +190,6 @@ public abstract class BonusSettleHandle {
});
}
/**
* 记录需要修改的会员结算表数据, 安置的
*
* @param cuMemberSettleExtMap 会员结算
* @param cuMemberSettleExtList 查询出来的结算数据
*/
protected void getSecondMemberSettle(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, List<CuMemberSettleExt> cuMemberSettleExtList) {
cuMemberSettleExtList.forEach(cuMemberSettleExt -> {
if (cuMemberSettleExtMap.containsKey(cuMemberSettleExt.getPkMember())) {
CuMemberSettleExt memberSettleExt = cuMemberSettleExtMap.get(cuMemberSettleExt.getPkMember());
if (memberSettleExt.getPkParent() == null) {
memberSettleExt.setPkParent(cuMemberSettleExt.getPkParent());
}
if (memberSettleExt.getPkPlaceParent() == null) {
memberSettleExt.setPkPlaceParent(cuMemberSettleExt.getPkPlaceParent());
}
if (memberSettleExt.getPlaceDept() == null) {
memberSettleExt.setPlaceDept(cuMemberSettleExt.getPlaceDept());
}
if (memberSettleExt.getPkGrade() == null) {
memberSettleExt.setPkGrade(cuMemberSettleExt.getPkGrade());
}
if (memberSettleExt.getGradeValue() == null) {
memberSettleExt.setGradeValue(cuMemberSettleExt.getGradeValue());
}
if (memberSettleExt.getPkAwards() == null) {
memberSettleExt.setPkAwards(cuMemberSettleExt.getPkAwards());
}
if (memberSettleExt.getRegisterAuthority() == null) {
memberSettleExt.setRegisterAuthority(cuMemberSettleExt.getRegisterAuthority());
}
if (memberSettleExt.getCustomerType() == null) {
memberSettleExt.setCustomerType(cuMemberSettleExt.getCustomerType());
}
if (memberSettleExt.getIsMakerSpace() == null) {
memberSettleExt.setIsMakerSpace(cuMemberSettleExt.getIsMakerSpace());
}
} else {
cuMemberSettleExt.setRegisterBloNewPv(BigDecimal.ZERO);
cuMemberSettleExt.setUpgradeBloNewPv(BigDecimal.ZERO);
cuMemberSettleExt.setRepurchaseBloNewPv(BigDecimal.ZERO);
cuMemberSettleExt.setHiFunBloNewPv(BigDecimal.ZERO);
cuMemberSettleExt.setMallBloNewPv(BigDecimal.ZERO);
cuMemberSettleExtMap.put(cuMemberSettleExt.getPkMember(), cuMemberSettleExt);
}
});
}
/**
* 获得 直推收益的备注
*
@ -399,86 +248,12 @@ public abstract class BonusSettleHandle {
cuMemberBonusExpand.setRemark(remark);
}
/**
* 获得 拓展收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusPush 拓展奖
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void repurchasePushRemark(SaOrderExt saOrderExt, CuMemberBonusPush cuMemberBonusPush,
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt, String msg) {
String remark = String.format(msg, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusPush.getCalAchieve(), cuMemberBonusPush.getCalValue());
cuMemberBonusPush.setRemark(remark);
}
/**
* 获得 拓展收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusExpand 拓展奖
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void repurchaseExpandRemark(SaOrderExt saOrderExt, CuMemberBonusExpand cuMemberBonusExpand,
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.REPURCHASE_EXPAND, cuMemberBonusExpand.getCurrentTouch(), cuMemberBonusExpand.getExpandTouch(), saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusExpand.getCalAchieve(), cuMemberBonusExpand.getCalValue());
cuMemberBonusExpand.setRemark(remark);
}
/**
* 获得 辅导收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusCoach 辅导奖
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void coachRemark(SaOrderExt saOrderExt, CuMemberBonusCoach cuMemberBonusCoach,
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.COACH, cuMemberBonusCoach.getCurrentGeneration(), saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue());
cuMemberBonusCoach.setRemark(remark);
}
/**
* @param saOrderExt 订单编号
* @param cuMemberBonusCoach 辅导奖
* @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人
* 获得 辅导收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void coachRangeRemark(SaOrderExt saOrderExt, CuMemberBonusCoach cuMemberBonusCoach,
CuMemberRangeExt sourceMemberRangeExt, CuMemberRangeExt targetMemberRangeExt) {
String remark = String.format(BonusMsgConstants.RANGE_COACH, cuMemberBonusCoach.getCurrentGeneration(), cuMemberBonusCoach.getCoachGeneration(),
saOrderExt.getOrderCode(),
sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue());
cuMemberBonusCoach.setRemark(remark);
}
/**
* @param saOrderExt 订单编号
* @param cuMemberBonusDetail 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
* 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void serviceRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
@ -495,9 +270,6 @@ public abstract class BonusSettleHandle {
* @param sourceCuMemberRangeExt 提供奖金的人
* @param targetCuMemberRangeExt 获得奖金的人
* 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void rangeServiceRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
CuMemberRangeExt sourceCuMemberRangeExt, CuMemberRangeExt targetCuMemberRangeExt) {
@ -508,132 +280,6 @@ public abstract class BonusSettleHandle {
cuMemberBonusDetail.setRemark(remark);
}
/**
* 获得 报单服务费收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusDetail 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void haiFunRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.HAI_FUN, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusDetail.getPretaxIncome());
cuMemberBonusDetail.setRemark(remark);
}
/**
* 获得 嗨粉推荐的收益
*
* @param saOrderExt 订单编号
* @param cuMemberBonusDetail 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void hiFunRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.HI_FUN, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusDetail.getRealIncome());
cuMemberBonusDetail.setRemark(remark);
}
/**
* 获得 分红收益的备注
*
* @param cuMemberBonusDetail 分红
* @param settleDate 结算日期
*/
protected void shareRemark(CuMemberBonusDetail cuMemberBonusDetail, String settleDate) {
String remark = String.format(BonusMsgConstants.SHARE, DateUtils.getMonth(settleDate),
cuMemberBonusDetail.getPretaxIncome());
cuMemberBonusDetail.setRemark(remark);
}
/**
* @param cuMemberBonusDetail 分红
* @param settleDate 结算日期
* 获得 分红收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void shareCouponRemark(CuMemberBonusDetail cuMemberBonusDetail, String settleDate) {
String remark = String.format(BonusMsgConstants.SHARE_COUPON, DateUtils.getMonth(settleDate),
cuMemberBonusDetail.getPretaxIncome());
cuMemberBonusDetail.setRemark(remark);
}
/**
* @param cuMemberBonusDetail 分红
* @param settleDate 结算日期
* 获得 分红收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void storeRemark(CuMemberBonusDetail cuMemberBonusDetail, String settleDate) {
String remark = String.format(BonusMsgConstants.STORE, DateUtils.getMonth(settleDate),
cuMemberBonusDetail.getPretaxIncome());
cuMemberBonusDetail.setRemark(remark);
}
/**
* @param cuMemberBonusDetail 分红
* 获得 分红收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void globalShareRemark(CuMemberBonusDetail cuMemberBonusDetail, String msg) {
String remark = String.format(msg, cuMemberBonusDetail.getPretaxIncome());
cuMemberBonusDetail.setRemark(remark);
}
/**
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
* 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void rangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt, Map<String, RangeDTO> rangePkDtoMap) {
RangeDTO beforeOrderRangeDto = rangePkDtoMap.get(targetCuMemberSettleExt.getPkSettleCountry().toString() + cuMemberBonusRange.getPkBeforeRange());
RangeDTO orderRangeDto = rangePkDtoMap.get(sourceCuMemberSettleExt.getPkSettleCountry().toString() + cuMemberBonusRange.getPkRange());
String remark = String.format(BonusMsgConstants.SHARE_RANGE, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusRange.getCalAchieve(), beforeOrderRangeDto == null ? "" : beforeOrderRangeDto.getRangeName(), orderRangeDto == null ? "" : orderRangeDto.getRangeName());
cuMemberBonusRange.setRemark(remark);
}
/**
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
* 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void rangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt, RangeDTO parentRangeDto, RangeDTO beforeRangeDto) {
String remark = String.format(BonusMsgConstants.SHARE_RANGE, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusRange.getCalAchieve(), beforeRangeDto.getRangeName(), parentRangeDto.getRangeName());
cuMemberBonusRange.setRemark(remark);
}
/**
* 获得 直推级差收益的备注
*
@ -651,23 +297,6 @@ public abstract class BonusSettleHandle {
cuMemberBonusRange.setRemark(remark);
}
/**
* 获得 报单服务费收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceMemberRangeExt 提供奖金的人
* @param targetMemberRangeExt 获得奖金的人
*/
protected void rangeBenefitRetailRemark(SaOrder saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt,
CuMemberRetailRangeExt targetMemberRangeExt) {
String remark = String.format(BonusMsgConstants.RETAIL_RANGE, saOrderExt.getOrderCode(),
sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
cuMemberBonusRange.getCalAchieve(), sourceMemberRangeExt.getAwardsName(), targetMemberRangeExt.getAwardsName());
cuMemberBonusRange.setRemark(remark);
}
/**
* 获得 平级收益的备注
*
@ -685,49 +314,12 @@ public abstract class BonusSettleHandle {
cuMemberBonusRange.setRemark(remark);
}
/**
* 获得 报单服务费收益的备注
*
* @param saOrderExt 订单编号
* @param cuMemberBonusRange 报单服务费
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void xueRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt) {
String remark = String.format(BonusMsgConstants.LE_XUE_SHARE_RANGE, saOrderExt.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
ComputeUtil.computeDivide(targetCuMemberSettleExt.getRetailPrice(), BigDecimal.ONE), targetCuMemberSettleExt.getGradeValue());
cuMemberBonusRange.setRemark(remark);
}
/**
* 获得 报单服务费收益的备注
*
* @param saOrder 订单编号
* @param cuMemberBonusDetail 云代首购
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
*/
protected void cloudAgentRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt, String msg) {
String remark = String.format(msg, saOrder.getOrderCode(),
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
cuMemberBonusDetail.getCalAchieve(), cuMemberBonusDetail.getCalValue());
cuMemberBonusDetail.setRemark(remark);
}
/**
* @param saOrder 订单编号
* @param cuMemberBonusDetail 云代首购
* @param sourceCuMemberSettleExt 提供奖金的人
* @param targetCuMemberSettleExt 获得奖金的人
* 获得 报单服务费收益的备注
* @return: String
* @Author: sui q
* @Date: 2022/11/17 11:22
*/
protected void repurchaseCouponsRemark(SaOrder saOrder, CuMemberBonusDetail cuMemberBonusDetail, CuMemberSettleExt sourceCuMemberSettleExt,
CuMemberSettleExt targetCuMemberSettleExt) {
@ -742,9 +334,6 @@ public abstract class BonusSettleHandle {
* @param settleDateStr 结算日期
* @param cuMemberSettleExtList 会员列表
* 获取会员列表的考核结果
* @return: Map<Long, CuMemberAssess>
* @Author: sui q
* @Date: 2022/11/17 14:25
*/
protected Map<Long, CuMemberAssess> getLongCuMemberAssessMap(String settleDateStr, List<CuMemberSettleExt> cuMemberSettleExtList) {
if (cuMemberSettleExtList.size() == 0) {
@ -882,43 +471,10 @@ public abstract class BonusSettleHandle {
cuMemberBonusExpand.setExpandNormalReal(ComputeUtil.computeMultiplyHalf(cuMemberBonusExpand.getPretaxIncome()));
}
protected void packageCuMemberBonusRepurchaseExpand(CuMemberBonusExpand cuMemberBonusExpand, CuMemberBonus cuMemberBonus,
BigDecimal expandCapping, BigDecimal income, BigDecimal actualIncome) {
cuMemberBonusExpand.setExpandNoCapping(income);
cuMemberBonusExpand.setExpandCapping(income);
BigDecimal expandIncome = ComputeUtil.computeAdd(cuMemberBonus.getExpandCapping(), income);
if (ComputeUtil.compareValue(expandIncome, expandCapping)) {
cuMemberBonusExpand.setExpandCapping(ComputeUtil.computeSubtractAbs(cuMemberBonus.getExpandCapping(), income));
}
cuMemberBonusExpand.setPretaxIncome(actualIncome);
cuMemberBonusExpand.setExpandNormalHalf(ComputeUtil.computeMultiplyHalf(cuMemberBonusExpand.getExpandCapping()));
cuMemberBonusExpand.setExpandNormalReal(ComputeUtil.computeMultiplyHalf(cuMemberBonusExpand.getPretaxIncome()));
}
/**
* @param cuMemberSettleExtMap 树关系
* @param settleTableName 结算表
* @param saOrderList 订单
* 根据订单获取会员的血缘父级用于嗨粉推荐复购极差
* @return: void
* @Author: sui q
* @Date: 2023/1/4 14:10
*/
protected List<CuMemberSettleExt> getMemberParentBySaOrder(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, List<SaOrderExt> saOrderList) {
Set<Long> memberSet = new HashSet<>();
saOrderList.forEach(saOrderExt -> memberSet.add(saOrderExt.getPkMember()));
List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, memberSet);
getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList);
return cuMemberSettleExtList;
}
/**
* @param awardsMap 奖衔
* @param parentMemberTree 会员树历史记录
* 获取会员的极差等级验证会员是否有奖衔
* @return: String
* @Author: sui q
* @Date: 2023/1/4 14:22
*/
protected String getMemberCountryKey(Map<String, BdAwards> awardsMap, CuMemberTree parentMemberTree, Map<Long, CuAwardsControl> cuAwardsControlMap) {
Integer pkAwards = getPkRealAwards(parentMemberTree.getPkMember(), parentMemberTree.getPkAwards(), cuAwardsControlMap);
@ -930,28 +486,6 @@ public abstract class BonusSettleHandle {
return key;
}
protected RangeDTO getRangeDto(Map<String, RangeDTO> rangeDtoMap, Map<String, BdAwards> awardsMap, CuMemberTree parentMemberTree, Map<Long, CuAwardsControl> cuAwardsControlMap) {
String key = getMemberCountryKey(awardsMap, parentMemberTree, cuAwardsControlMap);
return rangeDtoMap.get(key);
}
/**
* @param awardsMap 奖衔
* @param parentMemberTree 会员树历史记录
* 获取会员的极差等级验证会员是否有奖衔
* @return: String
* @Author: sui q
* @Date: 2023/1/4 14:22
*/
protected String getMemberKey(Map<String, BdAwards> awardsMap, CuMemberTree parentMemberTree) {
String key = Integer.toString(ERangeType.AWARDS.getValue()) + parentMemberTree.getPkAwards();
String awardKey = parentMemberTree.getPkSettleCountry().toString() + parentMemberTree.getPkAwards().toString();
if (EAwards.MEMBER.getValue() == awardsMap.get(awardKey).getAwardsValue()) {
key = Integer.toString(ERangeType.GRADE.getValue()) + parentMemberTree.getPkGrade();
}
return key;
}
/**
* 奖金明细 报单服务费分红云代首购云代复购海豆收益
*
@ -981,25 +515,6 @@ public abstract class BonusSettleHandle {
return cuMemberBonusDetail;
}
/**
* 获得需要查询的会员免考通过的不需要查询考核记录
*
* @param cuMemberSettleExtMap 存储目前有的会员数据
* @param cuMemberSettleExtList 需要查询的会员数据
*/
protected List<CuMemberSettleExt> getQueryMemberSettleExtList(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, List<CuMemberSettleExt> cuMemberSettleExtList) {
// 过滤数据免考的会员不进行查询
List<CuMemberSettleExt> queryMemberList = new ArrayList<>();
cuMemberSettleExtList.forEach(cuMemberSettleExt -> {
CuMemberSettleExt memberSettleExt = cuMemberSettleExtMap.get(cuMemberSettleExt.getPkMember());
// 免考的不查询
if (memberSettleExt == null || EYesNo.NO.getIntValue() == memberSettleExt.getPurchaseStatus()) {
queryMemberList.add(cuMemberSettleExt);
}
});
return queryMemberList;
}
/**
* 设置奖金扣项计算税前收益扣税实际收益, 设置主表
*
@ -1028,16 +543,6 @@ public abstract class BonusSettleHandle {
cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
}
/**
* 复购计算 扣项小计总计
*/
protected void setPurchaseTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
cuMemberBonus.setRepurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRepurRealSubtotal(), realIncome));
cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
}
/**
* 云代计算 扣项小计总计
*/
@ -1065,7 +570,6 @@ public abstract class BonusSettleHandle {
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
cuMemberBonus.setRepurCouponSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRepurCouponSubtotal(), realIncome));
// cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
}
/**
@ -1107,43 +611,6 @@ public abstract class BonusSettleHandle {
}
}
/**
* 根据订单分类分为首购复购真实获取新增业绩
*
* @param orderExtList 订单列表
*/
public void assortSaOrder(Map<Long, MemberAchieveParam> cuMemberAchieveHashMap, List<SaOrderExt> orderExtList, BonusConfigDTO bonusConfigDTO, Boolean isFirst) {
// 注册+升级+云代注册+云代升级 首购 注册+升级其他 复购 首购+复购 = 真实
for (SaOrderExt saOrderExt : orderExtList) {
MemberAchieveParam cuMemberAchieve;
if (cuMemberAchieveHashMap.containsKey(saOrderExt.getPkMember())) {
cuMemberAchieve = cuMemberAchieveHashMap.get(saOrderExt.getPkMember());
// 所有的都算真实业绩
} else {
cuMemberAchieve = MemberAchieveParam.builder()
.pkRate(saOrderExt.getPkRate())
.pkMember(saOrderExt.getPkMember())
.newAmount(BigDecimal.ZERO)
.newPv(BigDecimal.ZERO)
.repNewAmount(BigDecimal.ZERO)
.repNewPv(BigDecimal.ZERO)
.newRealAmount(BigDecimal.ZERO)
.newRealPv(BigDecimal.ZERO)
.build();
cuMemberAchieveHashMap.put(saOrderExt.getPkMember(), cuMemberAchieve);
}
if (isFirst) {
cuMemberAchieve.setNewAmount(ComputeUtil.computeAdd(cuMemberAchieve.getNewAmount(), saOrderExt.getOrderAmount()));
cuMemberAchieve.setNewPv(ComputeUtil.computeAdd(cuMemberAchieve.getNewPv(), saOrderExt.getOrderAchieve()));
} else {
cuMemberAchieve.setRepNewAmount(ComputeUtil.computeAdd(cuMemberAchieve.getRepNewAmount(), saOrderExt.getOrderAmount()));
cuMemberAchieve.setRepNewPv(ComputeUtil.computeAdd(cuMemberAchieve.getRepNewPv(), saOrderExt.getOrderAchieve()));
}
cuMemberAchieve.setNewRealAmount(ComputeUtil.computeAdd(cuMemberAchieve.getNewRealAmount(), saOrderExt.getOrderAmount()));
cuMemberAchieve.setNewRealPv(ComputeUtil.computeAdd(cuMemberAchieve.getNewRealPv(), saOrderExt.getOrderAchieve()));
}
}
protected BigDecimal convertLocalCurrency(SaOrder saOrderExt, BonusConfigDTO bonusConfigDTO) {
Map<String, BdCurrencyDTO> currencyDtoMap = bonusConfigDTO.getCurrencyDtoMap();
String key = saOrderExt.getPkCountry().toString() + saOrderExt.getPkRate();

View File

@ -5,9 +5,7 @@ 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.base.service.ICuMemberService;
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;
@ -33,7 +31,6 @@ 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;
@ -77,8 +74,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
@Autowired
private BonusSettleFirstPurchaseHandle bonusSettleFirstPurchaseHandle;
@Autowired
private BonusSettlePurchaseHandle bonusSettlePurchaseHandle;
@Autowired
private ICuMemberRiskControlService cuMemberRiskControlService;
private ICuMemberBonusService cuMemberBonusService;
@ -438,11 +433,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
bonusRecordDetailVO.getCuMemberBonusExpandList().addAll(cuMemberBonusExpandList);
}
}
//*********************************计算领导奖************************/
// 判断是否有量奖有量奖有辅导奖
// List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList,
// cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap);
// bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList);
//*********************************计算服务奖************************/
List<CuMemberBonusDetail> cuMemberBonusDetailList = bonusSettleFirstPurchaseHandle.calculateServiceBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, firPurchaseOrderList, period, cuMemberBonusMap);
bonusRecordDetailVO.setCuMemberBonusDetailList(cuMemberBonusDetailList);
@ -456,10 +446,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
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()));
@ -481,13 +467,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
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());
@ -495,97 +474,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
cuMemberBonusDetail.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getServiceIncome(), memberBonusDetailCalVO.getRealIncome()));
cuMemberBonusDetail.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), ComputeUtil.computeDivide(saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate())));
});
// //*********************************计算分红奖,理论最大值************************/
// Map<Integer, List<SaOrderExt>> 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<SaOrderExt> 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);
// });
}
/**
* 计算首购订单的奖金
*
* @param settleTableName 结算日表
* @param settleDate 结算日期
* @param bonusConfigDTO 各个国家奖金参数
* @param purchaseOrderList 首购订单
*/
private LeXueRangeParam calculatePurchaseOrder(Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDate, Map<String, RangeDTO> rangeDtoMap,
Map<String, BdAwards> awardsMap, BonusConfigDTO bonusConfigDTO, Map<String, String> systemConfigMap, List<SaOrderExt> purchaseOrderList, Integer period, Map<Long, CuMemberBonus> weekMemberBonusMap,
Map<Long, CuMemberBonus> cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuBonusExpandExt> cuBonusExpandExtMap) {
//****************************复购直推*****************************/ 查找10代血缘验证复购考核考核通过的给与奖金 紧缩
// List<CuMemberBonusPush> cuMemberBonusPushList = bonusSettlePurchaseHandle.calculateRepurchasePushBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap);
// if (cuMemberBonusPushList.size() > 0) {
// if (bonusRecordDetailVO.getCuMemberBonusPushList() == null) {
// bonusRecordDetailVO.setCuMemberBonusPushList(cuMemberBonusPushList);
// } else {
// bonusRecordDetailVO.getCuMemberBonusPushList().addAll(cuMemberBonusPushList);
// }
// }
//****************************复购量奖*****************************/
List<CuMemberBonusExpand> cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandBonus(riskControlMap, cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, systemConfigMap, purchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, cuBonusExpandExtMap);
if (cuMemberBonusExpandList.size() > 0) {
if (bonusRecordDetailVO.getCuMemberBonusExpandList() == null) {
bonusRecordDetailVO.setCuMemberBonusExpandList(cuMemberBonusExpandList);
} else {
bonusRecordDetailVO.getCuMemberBonusExpandList().addAll(cuMemberBonusExpandList);
}
}
LeXueRangeParam leXueRangeParam = new LeXueRangeParam();
//****************************复购极差*****************************/
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap,
bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap, cuAwardsControlMap, leXueRangeParam);
bonusRecordDetailVO.setCuMemberBonusRangeList(cuMemberBonusRangeList);
Map<Long, MemberBonusDetailCalVO> memberBonusDetailCalVoMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size()));
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusExpand);
memberBonusDetailCalVO.setRepExpandIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRepExpandIncome(), cuMemberBonusExpand.getRealIncome()));
});
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusRange);
memberBonusDetailCalVO.setRepRangeIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRepRangeIncome(), cuMemberBonusRange.getRealIncome()));
});
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size()));
purchaseOrderList.forEach(saOrderExt ->
saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
// 复购拓展
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
});
// 复购极差
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusRange.getPkOrder());
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
cuMemberBonusRange.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepRangeIncome(), memberBonusDetailCalVO.getRealIncome()));
cuMemberBonusRange.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
});
// 插入奖金表 奖金明细表
return leXueRangeParam;
}
/**

View File

@ -13,12 +13,7 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-辅导收益明细表 服务实现类
* </p>
*
* @author hzs
* @since 2022-11-15
*/
@Service
public class CuMemberBonusCoachServiceImpl extends ServiceImpl<CuMemberBonusCoachMapper, CuMemberBonusCoach> implements ICuMemberBonusCoachService {
@ -37,16 +32,16 @@ public class CuMemberBonusCoachServiceImpl extends ServiceImpl<CuMemberBonusCoac
@Override
public void batchInsertCuMemberBonusCoach(List<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet) {
if(cuMemberBonusCoachList.size() == 0){
if (cuMemberBonusCoachList.size() == 0) {
return;
}
List<CuMemberBonusCoach> cuMemberBonusCoaches = new ArrayList<>();
for (CuMemberBonusCoach cuMemberBonusCoach : cuMemberBonusCoachList) {
if(memberIdSet.contains(cuMemberBonusCoach.getPkBonus())){
if (memberIdSet.contains(cuMemberBonusCoach.getPkBonus())) {
cuMemberBonusCoaches.add(cuMemberBonusCoach);
}
}
if(cuMemberBonusCoaches.size()==0){
if (cuMemberBonusCoaches.size() == 0) {
return;
}
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusCoaches);

View File

@ -13,22 +13,13 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-奖金收益明细表(报单费) 服务实现类
* </p>
*
* @author hzs
* @since 2022-11-17
*/
@Service
public class CuMemberBonusDetailServiceImpl extends ServiceImpl<CuMemberBonusDetailMapper, CuMemberBonusDetail> implements ICuMemberBonusDetailService {
private CuMemberBonusSettle cuMemberBonusSettle;
@Autowired
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
this.cuMemberBonusSettle = cuMemberBonusSettle;
}
private CuMemberBonusSettle cuMemberBonusSettle;
@Override
public void deleteCuMemberBonusDetail(Integer period) {
@ -37,16 +28,16 @@ public class CuMemberBonusDetailServiceImpl extends ServiceImpl<CuMemberBonusDet
@Override
public void batchInsertCuMemberBonusDetail(List<CuMemberBonusDetail> cuMemberBonusDetailList, Set<Long> memberIdSet) {
if(cuMemberBonusDetailList.size() == 0){
if (cuMemberBonusDetailList.size() == 0) {
return;
}
List<CuMemberBonusDetail> cuMemberBonusDetails = new ArrayList<>();
for (CuMemberBonusDetail cuMemberBonusDetail : cuMemberBonusDetailList) {
if(memberIdSet.contains(cuMemberBonusDetail.getPkBonus())){
if (memberIdSet.contains(cuMemberBonusDetail.getPkBonus())) {
cuMemberBonusDetails.add(cuMemberBonusDetail);
}
}
if(cuMemberBonusDetails.size()==0){
if (cuMemberBonusDetails.size() == 0) {
return;
}
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusDetails);
@ -54,8 +45,4 @@ public class CuMemberBonusDetailServiceImpl extends ServiceImpl<CuMemberBonusDet
baseMapper.batchInsertCuMemberBonusDetail(list));
}
@Override
public void insertCuMemberBonusDetail(CuMemberBonusDetail cuMemberBonusDetail) {
baseMapper.insertCuMemberBonusDetail(cuMemberBonusDetail);
}
}

View File

@ -13,22 +13,13 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-拓展收益明细表 服务实现类
* </p>
*
* @author hzs
* @since 2022-11-15
*/
@Service
public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExpandMapper, CuMemberBonusExpand> implements ICuMemberBonusExpandService {
private CuMemberBonusSettle cuMemberBonusSettle;
@Autowired
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
this.cuMemberBonusSettle = cuMemberBonusSettle;
}
private CuMemberBonusSettle cuMemberBonusSettle;
@Override
public void deleteCuMemberBonusExpand(Integer period) {
@ -37,16 +28,16 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExp
@Override
public void batchInsertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList, Set<Long> memberIdSet) {
if(cuMemberBonusExpandList.size() == 0){
if (cuMemberBonusExpandList.size() == 0) {
return;
}
List<CuMemberBonusExpand> memberBonusExpands = new ArrayList<>();
for (CuMemberBonusExpand cuMemberBonusExpand : cuMemberBonusExpandList) {
if(memberIdSet.contains(cuMemberBonusExpand.getPkBonus())){
if (memberIdSet.contains(cuMemberBonusExpand.getPkBonus())) {
memberBonusExpands.add(cuMemberBonusExpand);
}
}
if(memberBonusExpands.size()==0){
if (memberBonusExpands.size() == 0) {
return;
}
List<List<?>> lists = cuMemberBonusSettle.handleCutList(memberBonusExpands);
@ -54,9 +45,5 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExp
baseMapper.batchInsertCuMemberBonusExpand(list));
}
@Override
public void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList) {
baseMapper.insertCuMemberBonusExpand(cuMemberBonusExpandList);
}
}

View File

@ -1,32 +1,15 @@
package com.hzs.bonus.bonus.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.bonus.service.ICuMemberBonusPushHisService;
import com.hzs.common.core.constant.MemberFieldConstants;
import com.hzs.common.domain.member.bonus.CuMemberBonusPushHis;
import com.hzs.bonus.bonus.mapper.CuMemberBonusPushHisMapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 会员奖金-直推历史轮次记录 服务实现类
* </p>
*
* @author hzs
* @since 2023-09-10
*/
@Service
public class CuMemberBonusPushHisServiceImpl extends ServiceImpl<CuMemberBonusPushHisMapper, CuMemberBonusPushHis> implements ICuMemberBonusPushHisService {
@Override
public List<CuMemberBonusPushHis> queryCuMemberBonusPushHis(Long pkMember) {
QueryWrapper<CuMemberBonusPushHis> queryWrapper = new QueryWrapper<>();
queryWrapper.select("(round+1) round,second,cal_achieve");
queryWrapper.eq(MemberFieldConstants.PK_MEMBER, pkMember);
queryWrapper.orderByDesc("round,second");
return baseMapper.selectList(queryWrapper);
}
}

View File

@ -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,22 +13,13 @@ import java.util.List;
import java.util.Set;
/**
* <p>
* 会员奖金-直推收益明细表 服务实现类
* </p>
*
* @author hzs
* @since 2022-11-10
*/
@Service
public class CuMemberBonusPushServiceImpl extends ServiceImpl<CuMemberBonusPushMapper, CuMemberBonusPush> implements ICuMemberBonusPushService {
private CuMemberBonusSettle cuMemberBonusSettle;
@Autowired
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
this.cuMemberBonusSettle = cuMemberBonusSettle;
}
private CuMemberBonusSettle cuMemberBonusSettle;
@Override
public void deleteCuMemberBonusPush(Integer period) {
@ -39,16 +28,16 @@ public class CuMemberBonusPushServiceImpl extends ServiceImpl<CuMemberBonusPushM
@Override
public void batchInsertCuMemberBonusPush(List<CuMemberBonusPush> cuMemberBonusPushList, Set<Long> memberIdSet) {
if(cuMemberBonusPushList.size() == 0){
if (cuMemberBonusPushList.size() == 0) {
return;
}
List<CuMemberBonusPush> addMemberBonusPushList = new ArrayList<>();
for (CuMemberBonusPush cuMemberBonusPush : cuMemberBonusPushList) {
if(memberIdSet.contains(cuMemberBonusPush.getPkBonus())){
if (memberIdSet.contains(cuMemberBonusPush.getPkBonus())) {
addMemberBonusPushList.add(cuMemberBonusPush);
}
}
if(addMemberBonusPushList.size() ==0){
if (addMemberBonusPushList.size() == 0) {
return;
}
List<List<?>> lists = cuMemberBonusSettle.handleCutList(addMemberBonusPushList);
@ -56,9 +45,4 @@ public class CuMemberBonusPushServiceImpl extends ServiceImpl<CuMemberBonusPushM
baseMapper.batchInsertCuMemberBonusPush(list));
}
@Override
public void insertCuMemberBonusPush(CuMemberBonusPush cuMemberBonusPush) {
baseMapper.insertCuMemberBonusPush(cuMemberBonusPush);
}
}

View File

@ -15,7 +15,6 @@ import com.hzs.bonus.bonus.service.IBonusSettleService;
import com.hzs.bonus.bonus.service.ICuMemberBonusService;
import com.hzs.bonus.bonus.vo.MemberBonusDetailSerVO;
import com.hzs.bonus.bonus.vo.MemberBonusDetailVO;
import com.hzs.bonus.bonus.vo.MemberBonusVO;
import com.hzs.common.core.constant.*;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
@ -27,7 +26,6 @@ import com.hzs.common.domain.member.ext.*;
import com.hzs.common.domain.system.config.BdBonusItems;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.ISystemConfigServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IBonusItemsServiceApi;
import lombok.extern.slf4j.Slf4j;
@ -49,8 +47,6 @@ import java.util.stream.Collectors;
@Slf4j
public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, CuMemberBonus> implements ICuMemberBonusService {
@DubboReference
ISystemConfigServiceApi iSystemConfigServiceApi;
@DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
@ -120,34 +116,13 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
return baseMapper.batchQueryCuMemberBonusSeq(rowNum);
}
@Override
public List<MemberBonusVO> queryMemberBonusTotalVoByCondition(BonusParam bonusParam) {
List<MemberBonusVO> memberBonusVoList = new ArrayList<>();
List<CuMemberBonus> cuMemberBonusList = baseMapper.queryMemberBonusTotalByCondition(bonusParam);
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusVO memberBonusVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusVO.class);
memberBonusVoList.add(memberBonusVO);
});
return memberBonusVoList;
}
@Override
public List<CuMemberBonusExt> queryMemberBonusVoByCondition(BonusParam bonusParam) {
// String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
// // 周结的话不能查询当前周的数据只能查询上周的数据
// bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
// }
return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam);
}
private List<CuMemberBonusExt> handleMemberBonusPurchase(List<CuMemberBonusExt> cuMemberBonusExtList, BonusParam bonusParam) {
// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
// Collections.reverse(cuMemberBonusExtList);
// return cuMemberBonusExtList;
// }
List<CuMemberBonusExt> memberBonusExtList = new ArrayList<>();
Map<String, CuMemberBonusExt> cuMemberBonusExtMap = new HashMap<>();
cuMemberBonusExtList.forEach(cuMemberBonusExt -> cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
@ -568,16 +543,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
return baseMapper.selectList(queryWrapper);
}
@Override
public List<CuMemberBonus> queryExistsPurchaseBonusMember(Integer period, List<Integer> pkCountryList) {
QueryWrapper<CuMemberBonus> queryWrapper = new QueryWrapper<>();
queryWrapper.select("pk_member,pk_country,direct_income,expand_income,coach_income,share_income,pur_real_subtotal");
queryWrapper.eq(MemberFieldConstants.PERIOD, period);
queryWrapper.in(SystemFieldConstants.PK_COUNTRY, pkCountryList);
queryWrapper.gt("PUR_REAL_SUBTOTAL", 0);
return baseMapper.selectList(queryWrapper);
}
@Override
public Boolean updateCuMemberBonusStatus(Integer pkCountry, Integer grantStatus, Integer oldGrantStatus, Integer startPeriod, Integer endPeriod) {
return baseMapper.updateCuMemberBonusStatus(pkCountry, grantStatus, oldGrantStatus, startPeriod, endPeriod) > 0 ? Boolean.TRUE : Boolean.FALSE;

View File

@ -9,12 +9,7 @@ import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 会员奖金-4-n碰次重算奖金表 服务实现类
* </p>
*
* @author hzs
* @since 2024-07-23
*/
@Service
public class CuMemberRepeatBonusServiceImpl extends ServiceImpl<CuMemberRepeatBonusMapper, CuMemberRepeatBonus> implements ICuMemberRepeatBonusService {

View File

@ -36,21 +36,17 @@ import java.math.BigDecimal;
import java.util.*;
/**
* <p>
* 会员奖金-分红奖金配置 服务实现类
* </p>
*
* @author hzs
* @since 2023-07-03
*/
@Service
public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonusMapper, CuMemberShareBonus> implements ICuMemberShareBonusService {
@DubboReference
private ISaOrderServiceApi saOrderServiceApi;
ISaOrderServiceApi saOrderServiceApi;
@DubboReference
private IAwardsServiceApi awardsServiceApi;
IAwardsServiceApi awardsServiceApi;
@DubboReference
ICurrencyServiceApi currencyServiceApi;
private ICuMemberShareDetailService cuMemberShareDetailService;
@ -60,8 +56,6 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
@DubboReference
private ICurrencyServiceApi currencyServiceApi;
@Autowired
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
@ -88,7 +82,7 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
public void saveMemberShareBonus(CuMemberShareBonusParam cuMemberShareBonusParam) {
CuMemberShareBonusExt cuMemberShareBonusExt = queryCuMemberShareBonus(cuMemberShareBonusParam.getPkCountry(), cuMemberShareBonusParam.getSettleMonth());
CuMemberShareBonus cuMemberShareBonus = BeanUtil.copyProperties(cuMemberShareBonusExt, CuMemberShareBonus.class);
if(cuMemberShareBonus.getPkId() == null){
if (cuMemberShareBonus.getPkId() == null) {
cuMemberShareBonus.setPkCountry(cuMemberShareBonusParam.getPkCountry());
cuMemberShareBonus.setPkCreator(cuMemberShareBonusParam.getPkCreator());
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(cuMemberShareBonusExt.getSettleMonth() + "-01");
@ -96,28 +90,28 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberShareBonusParam.getPkCountry()).getData();
cuMemberShareBonus.setPkRate(currencyDTO.getPkId());
baseMapper.insert(cuMemberShareBonus);
}else{
} else {
cuMemberShareBonus.setPkModified(cuMemberShareBonusParam.getPkCreator());
cuMemberShareBonus.setModifiedTime(DateUtils.currentDateTime());
baseMapper.updateById(cuMemberShareBonus);
}
if(CollectionUtil.isNotEmpty(cuMemberShareBonusExt.getCuMemberShareDetailList())){
if (CollectionUtil.isNotEmpty(cuMemberShareBonusExt.getCuMemberShareDetailList())) {
Map<Integer, CuMemberShareDetailParam> cuMemberShareDetailParamMap = new HashMap<>();
cuMemberShareBonusParam.getCuMemberShareDetailList().forEach(cuMemberShareDetailParam ->
cuMemberShareDetailParamMap.put(cuMemberShareDetailParam.getPkAwards(), cuMemberShareDetailParam));
Date currentDateTime = DateUtils.currentDateTime();
for(CuMemberShareDetailExt cuMemberShareDetail : cuMemberShareBonusExt.getCuMemberShareDetailList()){
if(cuMemberShareDetailParamMap.containsKey(cuMemberShareDetail.getPkAwards())){
for (CuMemberShareDetailExt cuMemberShareDetail : cuMemberShareBonusExt.getCuMemberShareDetailList()) {
if (cuMemberShareDetailParamMap.containsKey(cuMemberShareDetail.getPkAwards())) {
CuMemberShareDetailParam cuMemberShareDetailParam = cuMemberShareDetailParamMap.get(cuMemberShareDetail.getPkAwards());
cuMemberShareDetail.setRealShareIncome(cuMemberShareDetailParam.getRealShareIncome());
cuMemberShareDetail.setRealShareSubtotal(ComputeUtil.computeMultiply(cuMemberShareDetailParam.getRealShareIncome(), cuMemberShareDetail.getReachTotal()));
}
if(cuMemberShareDetail.getPkId() == null){
if (cuMemberShareDetail.getPkId() == null) {
cuMemberShareDetail.setPkCountry(cuMemberShareBonusParam.getPkCountry());
cuMemberShareDetail.setPkShareBonus(cuMemberShareBonus.getPkId());
cuMemberShareDetail.setCreationTime(currentDateTime);
cuMemberShareDetail.setPkCreator(cuMemberShareBonusParam.getPkCreator());
}else{
} else {
cuMemberShareDetail.setPkModified(cuMemberShareBonusParam.getPkCreator());
cuMemberShareDetail.setModifiedTime(DateUtils.currentDateTime());
}
@ -129,7 +123,7 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
@Override
public CuMemberShareBonusExt queryCuMemberShareBonus(Integer pkCountry, String settleMonth) {
CuMemberShareBonusExt cuMemberShareBonusExt = baseMapper.queryCuMemberShareBonus(pkCountry, settleMonth);
if(cuMemberShareBonusExt == null){
if (cuMemberShareBonusExt == null) {
cuMemberShareBonusExt = new CuMemberShareBonusExt();
cuMemberShareBonusExt.setSettleMonth(settleMonth);
Date endDate = DateUtils.parseDate(settleMonth + "-01");
@ -149,7 +143,7 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
cuMemberAssMap.put(cuMemberAssess.getPkAwards(), cuMemberAssess.getAssessStatus()));
// 查询奖衔 达标人数
for (BdAwards bdAwards : bdAwardsList) {
if(EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()){
if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) {
continue;
}
shareRatio = ComputeUtil.computeAdd(shareRatio, bdAwards.getAbonusRatio());
@ -162,10 +156,10 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO);
cuMemberShareDetail.setRealShareIncome(BigDecimal.ZERO);
cuMemberShareDetail.setRealShareSubtotal(BigDecimal.ZERO);
if(cuMemberMap.containsKey(bdAwards.getPkId())){
if (cuMemberMap.containsKey(bdAwards.getPkId())) {
cuMemberShareDetail.setPromoteTotal(cuMemberMap.get(bdAwards.getPkId()));
}
if(cuMemberAssMap.containsKey(bdAwards.getPkId())){
if (cuMemberAssMap.containsKey(bdAwards.getPkId())) {
cuMemberShareDetail.setReachTotal(cuMemberAssMap.get(bdAwards.getPkId()));
}
cuMemberShareDetailList.add(cuMemberShareDetail);
@ -175,10 +169,10 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
// 处理预发金额 预发合计
for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) {
int count = bdAwardsList.size();
if(count > 0) {
if (count > 0) {
cuMemberShareDetail.setExpectShareSubtotal(ComputeUtil.computeDivide(cuMemberShareBonusExt.getExpectShareTotal(), BigDecimal.valueOf(count)));
cuMemberShareDetail.setExpectShareIncome(ComputeUtil.computeDivide(cuMemberShareDetail.getExpectShareSubtotal(), BigDecimal.valueOf(cuMemberShareDetail.getPromoteTotal())));
}else{
} else {
cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO);
cuMemberShareDetail.setExpectShareIncome(BigDecimal.ZERO);
}

View File

@ -14,12 +14,7 @@ import java.util.List;
import java.util.Map;
/**
* <p>
* 会员奖金-分红奖金配置明细 服务实现类
* </p>
*
* @author hzs
* @since 2023-07-03
*/
@Service
public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDetailMapper, CuMemberShareDetail> implements ICuMemberShareDetailService {
@ -29,23 +24,4 @@ public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDet
baseMapper.saveMemberShareBonus(cuMemberShareDetailList);
}
/*
* @description: 根据期间查询奖衔设置的分红配置
* @author: sui q
* @date: 2023/8/11 15:35
* @param: null null
**/
@Override
public Map<String, CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period){
List<CuMemberShareDetail> cuMemberShareDetailList = baseMapper.queryCuMemberShareBonusByPeriod(period);
Map<String, CuMemberShareDetail> cuMemberShareDetailMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberShareDetailList.size()));
if(CollectionUtil.isNotEmpty(cuMemberShareDetailList)){
for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) {
String key =cuMemberShareDetail.getPkCountry().toString() + cuMemberShareDetail.getPkAwards();
cuMemberShareDetailMap.put(key, cuMemberShareDetail);
}
}
return cuMemberShareDetailMap;
}
}

View File

@ -1,57 +0,0 @@
package com.hzs.bonus.census.param;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Description:
* @Author: yuhui
* @Time: 2023/2/22 10:25
* @Classname: CensusSummaryParam
* @PackageName: com.hzs.member.censusSummary.param
*/
@Data
public class CensusSummaryParam {
/**
* 结算期数
*/
private Long memberSettlePeriodId;
/**
* 币种展示
*/
private Long pkCurrency;
/**
* 所属国家
*/
private Integer pkCountry;
/**
* 开始时间
*/
private Date startDate;
/**
* 结束时间
*/
private Date endDate;
/**
* 查询时间
*/
private String time;
/**
* 体系
*/
private List<Long> pkVertex;
/**
* 团队
*/
private List<Long> pkMemberTeam;
}

View File

@ -1,166 +0,0 @@
package com.hzs.bonus.census.vo;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Description:
* @Author: yuhui
* @Time: 2023/2/6 15:36
* @Classname: censusSummaryVo
* @PackageName: com.hzs.member.censusSummary.vo
*/
@Data
public class CensusSummaryVo {
/**
* 结算期数
*/
@Excel(name = "结算期数")
private Integer numberPeriods;
/**
* 结算日期
*/
// @TableField("SETTLE_DATE")
@Excel(name = "结算时间")
private String settleDate;
/**
* 注册金额
*/
@Excel(name = "注册金额(¥)")
private BigDecimal registerAmount;
/**
* 升级金额
*/
@Excel(name = "升级金额(¥)")
private BigDecimal upgradeAmount;
/**
* 首购金额()
*/
@Excel(name = "首购金额(¥)")
private BigDecimal firstPurchaseAmount;
/**
* 直供金额
*/
@Excel(name = "直供金额(¥)")
private BigDecimal directSupplyAmount;
/**
* 嗨粉金额
*/
@Excel(name = "嗨粉金额(¥)")
private BigDecimal fansAmount;
/**
* 复购金额
*/
private BigDecimal repurchaseAmount;
/**
* 三方金额
*/
@Excel(name = "三方金额(¥)")
private BigDecimal tripartiteAmount;
/**
* 注册金额($)
*/
@Excel(name = "注册金额($)")
private BigDecimal registerAmountDollar;
/**
* 升级金额($)
*/
@Excel(name = "升级金额($)")
private BigDecimal upgradeAmountDollar;
/**
* 首购金额
*/
@Excel(name = "首购金额($)")
private BigDecimal firstPurchaseAmountDollar;
/**
* 直供金额($)
*/
@Excel(name = "直供金额($)")
private BigDecimal directSupplyAmountDollar;
/**
* 嗨粉金额($)
*/
@Excel(name = "嗨粉金额($)")
private BigDecimal fansAmountDollar;
/**
* 复购金额($)
*/
private BigDecimal repurchaseAmountDollar;
/**
* 三方金额
*/
@Excel(name = "三方金额($)")
private BigDecimal tripartiteAmountDollar;
/**
* 注册业绩
*/
private BigDecimal registerPv;
/**
*升级业绩
*/
private BigDecimal upgradePv;
/**
* 首购业绩
*/
@Excel(name = "首购业绩")
private BigDecimal firstPurchasePv;
/**
*
* 直供业绩
*/
private BigDecimal directSupplyPv;
/**
* 嗨粉业绩
*/
private BigDecimal hiFunPv;
/**
* 复购pv
*/
private BigDecimal repurchasePv;
/**
* 三方业绩
*/
@Excel(name = "三方业绩")
private BigDecimal tripartitePv;
/**
* 金额总计
*/
@Excel(name = "金额总计")
private BigDecimal amountTotal;
/**
* 金额总计($)
*/
private BigDecimal amountTotalDollar;
/**
* 业绩汇总
*/
private BigDecimal pvTotal;
}

View File

@ -18,12 +18,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* @description: 考核会员端
* @author: sui q
* @time: 2025/1/16 11:12
* @classname: ApiCuRegionAssessController
* @package_name: com.hzs.bonus.detail.controller.api
* version 1.0.0
* 考核会员端
*/
@RestController
@RequestMapping("/api/region")
@ -36,7 +31,7 @@ public class ApiCuRegionAssessController extends BaseController {
* 查询会员昨天奖金的值
*/
@GetMapping("/query")
public TableDataInfo listRegionAssess(){
public TableDataInfo listRegionAssess() {
CuRegionAssessParam cuRegionAssessParam = new CuRegionAssessParam();
cuRegionAssessParam.setPkCountry(SecurityUtils.getPkCountry());
cuRegionAssessParam.setPkMember(SecurityUtils.getUserId());

View File

@ -12,13 +12,6 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description:
* @Author: sui q
* @Time: 2022/11/8 13:50
* @Classname: CuMemberAssessController
* @PackageName: com.hzs.member.detail.controller.manage
*/
@RestController
@RequestMapping("/manage/assess")
public class CuMemberAssessController extends BaseController {

View File

@ -4,22 +4,23 @@
<!-- 通用查询映射结果 -->
<resultMap id="BdWaresBonusExt" type="com.hzs.common.domain.member.ext.BdWaresBonusExt">
<id column="PK_ID" property="pkId" />
<result column="DEL_FLAG" property="delFlag" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="CREATION_TIME" property="creationTime" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="PK_WARES" property="pkWares" />
<result column="ORDER_ASS_ACHIEVE" property="orderAssAchieve" />
<result column="TOTAL_ALGEBRA" property="totalAlgebra" />
<id column="PK_ID" property="pkId"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="PK_WARES" property="pkWares"/>
<result column="ORDER_ASS_ACHIEVE" property="orderAssAchieve"/>
<result column="TOTAL_ALGEBRA" property="totalAlgebra"/>
<collection property="bdWaresBonusItemsList" ofType="com.hzs.common.domain.member.bonus.BdWaresBonusItems">
<result column="PK_ID_ITEM" property="pkId" />
<result column="ASS_ACHIEVE" property="assAchieve" />
<result column="ALGEBRA" property="algebra" />
<result column="PK_ID_ITEM" property="pkId"/>
<result column="ASS_ACHIEVE" property="assAchieve"/>
<result column="ALGEBRA" property="algebra"/>
</collection>
</resultMap>
<select id="querySpecialWaresBonus" resultMap="BdWaresBonusExt">
select bw.*,ba.wares_code,ba.wares_name,bt.pk_id pk_id_item,bt.ass_achieve,bt.algebra from bd_wares_bonus bw
inner join bd_wares_bonus_items bt
@ -35,11 +36,12 @@
</if>
order by bw.pk_wares,bt.algebra
</select>
<select id="queryAllSpecialWaresBonus" resultMap="BdWaresBonusExt">
select bw.pk_id,bw.wares_code, bw.wares_name
select bw.pk_id, bw.wares_code, bw.wares_name
from bd_wares bw
inner join bd_wares_extend be on bw.pk_id = be.pk_wares
left join bd_wares_bonus bwb on bw.pk_id = bwb.pk_wares and bwb.del_flag = 0
inner join bd_wares_extend be on bw.pk_id = be.pk_wares
left join bd_wares_bonus bwb on bw.pk_id = bwb.pk_wares and bwb.del_flag = 0
where bw.del_flag = 0
and be.del_flag = 0
and bw.special_area = 40

View File

@ -72,17 +72,6 @@
SELECT 1 FROM dual
</insert>
<insert id="insertCuMemberBonusDetail">
insert into cu_member_bonus_detail(pk_bonus, pk_order, pk_bonus_items, income_status,
cal_type, cal_achieve, cal_value, pretax_income,
income_tax, real_income, remark,
income_ratio, income_dial_ratio, order_dial_ratio, pk_country, pk_creator)
values (#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
#{item.calType}, #{item.calAchieve,jdbcType=NUMERIC}, #{item.calValue,jdbcType=NUMERIC}, #{item.pretaxIncome,jdbcType=NUMERIC},
#{item.incomeTax,jdbcType=NUMERIC}, #{item.realIncome,jdbcType=NUMERIC},
#{item.remark}, #{item.incomeRatio,jdbcType=NUMERIC}, #{item.incomeDialRatio,jdbcType=NUMERIC}, #{item.orderDialRatio,jdbcType=NUMERIC},
#{item.pkCountry}, #{item.pkCreator})
</insert>
<delete id="deleteCuMemberBonusDetail">
delete
from CU_MEMBER_BONUS_DETAIL

View File

@ -77,19 +77,7 @@
</foreach>
SELECT 1 FROM dual
</insert>
<insert id="insertCuMemberBonusExpand">
insert into cu_member_bonus_expand(pk_bonus, pk_order, pk_bonus_items, income_status,
cal_type, cal_achieve, cal_value, pretax_income,
income_tax, real_income, current_touch, expand_touch, expand_no_capping,
expand_capping, expand_normal_half, expand_normal_real, remark,
income_ratio, income_dial_ratio, order_dial_ratio, pk_country, pk_creator)
values (#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
#{item.calType}, #{item.calAchieve}, #{item.calValue}, #{item.pretaxIncome},
#{item.incomeTax}, #{item.realIncome}, #{item.currentTouch}, #{item.expandTouch},
#{item.expandNoCapping}, #{item.expandCapping}, #{item.expandNormalHalf}, #{item.expandNormalReal},
#{item.remark}, #{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
#{item.pkCountry}, #{item.pkCreator})
</insert>
<delete id="deleteCuMemberBonusExpand">
delete
from CU_MEMBER_BONUS_EXPAND

View File

@ -74,17 +74,7 @@
</foreach>
SELECT 1 FROM dual
</insert>
<insert id="insertCuMemberBonusPush">
insert into cu_member_bonus_push(pk_bonus, pk_order, pk_bonus_items, income_status,
cal_type, cal_achieve, cal_value, pretax_income,
income_tax, real_income, round, second, remark,
income_ratio, income_dial_ratio, order_dial_ratio, pk_country, pk_creator)
values (#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
#{item.calType}, #{item.calAchieve}, #{item.calValue}, #{item.pretaxIncome},
#{item.incomeTax}, #{item.realIncome}, #{item.round}, #{item.second},
#{item.remark}, #{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
#{item.pkCountry}, #{item.pkCreator})
</insert>
<delete id="deleteCuMemberBonusPush">
delete
from CU_MEMBER_BONUS_PUSH

View File

@ -4,28 +4,29 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.CuMemberRepeatBonus">
<result column="DEL_FLAG" property="delFlag" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="CREATION_TIME" property="creationTime" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_MEMBER" property="pkMember" />
<result column="PERIOD" property="period" />
<result column="PK_RATE" property="pkRate" />
<result column="DIRECT_INCOME" property="directIncome" />
<result column="EXPAND_INCOME" property="expandIncome" />
<result column="COACH_INCOME" property="coachIncome" />
<result column="SHARE_INCOME" property="shareIncome" />
<result column="SERVICE_INCOME" property="serviceIncome" />
<result column="BACK_POINTS" property="backPoints" />
<result column="SERVICE_SPEND" property="serviceSpend" />
<result column="PUR_REAL_SUBTOTAL" property="purRealSubtotal" />
<result column="MAKER_DIRECT_INCOME" property="makerDirectIncome" />
<result column="MAKER_SHARE_INCOME" property="makerShareIncome" />
<result column="MAKER_REAL_SUBTOTAL" property="makerRealSubtotal" />
<result column="REAL_INCOME_TOTAL" property="realIncomeTotal" />
<result column="DEL_FLAG" property="delFlag"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="PK_MEMBER" property="pkMember"/>
<result column="PERIOD" property="period"/>
<result column="PK_RATE" property="pkRate"/>
<result column="DIRECT_INCOME" property="directIncome"/>
<result column="EXPAND_INCOME" property="expandIncome"/>
<result column="COACH_INCOME" property="coachIncome"/>
<result column="SHARE_INCOME" property="shareIncome"/>
<result column="SERVICE_INCOME" property="serviceIncome"/>
<result column="BACK_POINTS" property="backPoints"/>
<result column="SERVICE_SPEND" property="serviceSpend"/>
<result column="PUR_REAL_SUBTOTAL" property="purRealSubtotal"/>
<result column="MAKER_DIRECT_INCOME" property="makerDirectIncome"/>
<result column="MAKER_SHARE_INCOME" property="makerShareIncome"/>
<result column="MAKER_REAL_SUBTOTAL" property="makerRealSubtotal"/>
<result column="REAL_INCOME_TOTAL" property="realIncomeTotal"/>
</resultMap>
<insert id="insertCuMemberRepeatBonus">
insert ALL
<foreach item="item" index="index" collection="cuMemberRepeatBonusList" separator=" ">

View File

@ -4,51 +4,53 @@
<!-- 通用查询映射结果 -->
<resultMap id="CuMemberShareBonusExt" type="com.hzs.common.domain.member.ext.CuMemberShareBonusExt">
<id column="PK_ID" property="pkId" />
<result column="DEL_FLAG" property="delFlag" />
<result column="CREATION_TIME" property="creationTime" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="PERIOD" property="period" />
<result column="PK_RATE" property="pkRate" />
<result column="SETTLE_MONTH" property="settleMonth" />
<result column="EXPECT_SHARE_TOTAL" property="expectShareTotal" />
<result column="REAL_SHARE_TOTAL" property="realShareTotal" />
<id column="PK_ID" property="pkId"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="PERIOD" property="period"/>
<result column="PK_RATE" property="pkRate"/>
<result column="SETTLE_MONTH" property="settleMonth"/>
<result column="EXPECT_SHARE_TOTAL" property="expectShareTotal"/>
<result column="REAL_SHARE_TOTAL" property="realShareTotal"/>
<collection property="cuMemberShareDetailList" ofType="com.hzs.common.domain.member.ext.CuMemberShareDetailExt">
<result column="PK_DETAIL_ID" property="pkId" />
<result column="PK_SHARE_BONUS" property="pkShareBonus" />
<result column="PK_AWARDS" property="pkAwards" />
<result column="pk_awards_val" property="pkAwardsVal" />
<result column="PROMOTE_TOTAL" property="promoteTotal" />
<result column="REACH_TOTAL" property="reachTotal" />
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome" />
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal" />
<result column="REAL_SHARE_INCOME" property="realShareIncome" />
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal" />
<result column="PK_DETAIL_ID" property="pkId"/>
<result column="PK_SHARE_BONUS" property="pkShareBonus"/>
<result column="PK_AWARDS" property="pkAwards"/>
<result column="pk_awards_val" property="pkAwardsVal"/>
<result column="PROMOTE_TOTAL" property="promoteTotal"/>
<result column="REACH_TOTAL" property="reachTotal"/>
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome"/>
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal"/>
<result column="REAL_SHARE_INCOME" property="realShareIncome"/>
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal"/>
</collection>
</resultMap>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
DEL_FLAG,
CREATION_TIME,
MODIFIED_TIME,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PERIOD, PK_RATE, SETTLE_MONTH, EXPECT_SHARE_TOTAL, REAL_SHARE_TOTAL
</sql>
<select id="queryCuMemberShareBonus" resultMap="CuMemberShareBonusExt">
select cb.*,cb.pk_id pk_detail_id,cd.pk_awards,pk_share_bonus,promote_total,reach_total,expect_share_income,
expect_share_subtotal,real_share_income,real_share_subtotal,ba.awards_name pk_awards_val from cu_member_share_bonus cb
inner join cu_member_share_detail cd
on cb.pk_id = cd.pk_share_bonus
left join bd_awards ba
on cd.pk_awards = ba.pk_id
where cb.del_flag=0 and cd.del_flag=0 and
cb.settle_month = #{settleMonth} and cb.pk_country = #{pkCountry}
select cb.*,
cb.pk_id pk_detail_id,
cd.pk_awards,
pk_share_bonus,
promote_total,
reach_total,
expect_share_income,
expect_share_subtotal,
real_share_income,
real_share_subtotal,
ba.awards_name pk_awards_val
from cu_member_share_bonus cb
inner join cu_member_share_detail cd
on cb.pk_id = cd.pk_share_bonus
left join bd_awards ba
on cd.pk_awards = ba.pk_id
where cb.del_flag = 0
and cd.del_flag = 0
and cb.settle_month = #{settleMonth}
and cb.pk_country = #{pkCountry}
order by pk_awards
</select>

View File

@ -4,62 +4,55 @@
<!-- 通用查询映射结果 -->
<resultMap id="CuMemberShareDetail" type="com.hzs.common.domain.member.bonus.CuMemberShareDetail">
<id column="PK_ID" property="pkId" />
<result column="PK_SHARE_BONUS" property="pkShareBonus" />
<result column="DEL_FLAG" property="delFlag" />
<result column="CREATION_TIME" property="creationTime" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="PK_AWARDS" property="pkAwards" />
<result column="PROMOTE_TOTAL" property="promoteTotal" />
<result column="REACH_TOTAL" property="reachTotal" />
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome" />
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal" />
<result column="REAL_SHARE_INCOME" property="realShareIncome" />
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal" />
<id column="PK_ID" property="pkId"/>
<result column="PK_SHARE_BONUS" property="pkShareBonus"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="PK_AWARDS" property="pkAwards"/>
<result column="PROMOTE_TOTAL" property="promoteTotal"/>
<result column="REACH_TOTAL" property="reachTotal"/>
<result column="EXPECT_SHARE_INCOME" property="expectShareIncome"/>
<result column="EXPECT_SHARE_SUBTOTAL" property="expectShareSubtotal"/>
<result column="REAL_SHARE_INCOME" property="realShareIncome"/>
<result column="REAL_SHARE_SUBTOTAL" property="realShareSubtotal"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
DEL_FLAG,
CREATION_TIME,
MODIFIED_TIME,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PK_AWARDS,PK_SHARE_BONUS, PROMOTE_TOTAL, REACH_TOTAL, EXPECT_SHARE_INCOME, EXPECT_SHARE_SUBTOTAL, REAL_SHARE_INCOME, REAL_SHARE_SUBTOTAL
</sql>
<update id="saveMemberShareBonus">
merge into cu_member_share_detail a
using(
<foreach collection="cuMemberShareDetailList" item="item" separator=" union ">
select #{item.pkAwards} pk_awards,#{item.pkShareBonus} pk_share_bonus,#{item.promoteTotal} promote_total,#{item.reachTotal} reach_total,
#{item.expectShareIncome} expect_share_income,#{item.expectShareSubtotal} expect_share_subtotal,
#{item.realShareIncome} real_share_income,#{item.realShareSubtotal} real_share_subtotal,
#{item.creationTime, jdbcType=TIMESTAMP} creation_time,#{item.pkCountry} pk_country,#{item.pkCreator,jdbcType=BIGINT} pk_creator,
#{item.modifiedTime, jdbcType=TIMESTAMP} modified_time,#{item.pkModified,jdbcType=BIGINT} pk_modified from dual
</foreach>
) b
<foreach collection="cuMemberShareDetailList" item="item" separator=" union ">
select #{item.pkAwards} pk_awards,#{item.pkShareBonus} pk_share_bonus,#{item.promoteTotal} promote_total,#{item.reachTotal} reach_total,
#{item.expectShareIncome} expect_share_income,#{item.expectShareSubtotal} expect_share_subtotal,
#{item.realShareIncome} real_share_income,#{item.realShareSubtotal} real_share_subtotal,
#{item.creationTime, jdbcType=TIMESTAMP} creation_time,#{item.pkCountry} pk_country,#{item.pkCreator,jdbcType=BIGINT} pk_creator,
#{item.modifiedTime, jdbcType=TIMESTAMP} modified_time,#{item.pkModified,jdbcType=BIGINT} pk_modified from dual
</foreach>
) b
on (a.pk_share_bonus=b.pk_share_bonus and a.pk_awards=b.pk_awards)
WHEN NOT MATCHED THEN
insert(pk_awards,pk_share_bonus, promote_total, reach_total, expect_share_income, expect_share_subtotal, real_share_income,
real_share_subtotal,creation_time,pk_country,pk_creator)
real_share_subtotal,creation_time,pk_country,pk_creator)
values
(b.pk_awards,b.pk_share_bonus,b.promote_total,b.reach_total, b.expect_share_income, b.expect_share_subtotal, b.real_share_income,
b.real_share_subtotal,b.creation_time,b.pk_country,b.pk_creator)
when matched then
update set a.promote_total=b.promote_total,a.reach_total=b.reach_total,a.expect_share_income=b.expect_share_income,
a.expect_share_subtotal=b.expect_share_subtotal,a.real_share_income=b.real_share_income,
a.real_share_subtotal=b.real_share_subtotal,a.modified_time=b.modified_time,a.pk_modified=b.pk_modified
a.expect_share_subtotal=b.expect_share_subtotal,a.real_share_income=b.real_share_income,
a.real_share_subtotal=b.real_share_subtotal,a.modified_time=b.modified_time,a.pk_modified=b.pk_modified
</update>
<select id="queryCuMemberShareBonusByPeriod" resultMap="CuMemberShareDetail">
select cd.* from CU_MEMBER_SHARE_BONUS ch
inner join CU_MEMBER_SHARE_DETAIL cd
on ch.pk_id =cd.pk_share_bonus
where ch.del_flag=0 and cd.del_flag=0
and ch.period=#{period}
select cd.*
from CU_MEMBER_SHARE_BONUS ch
inner join CU_MEMBER_SHARE_DETAIL cd
on ch.pk_id = cd.pk_share_bonus
where ch.del_flag = 0
and cd.del_flag = 0
and ch.period = #{period}
</select>
</mapper>

View File

@ -65,11 +65,7 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 空单处理服务
* @Author: jiang chao
* @Time: 2023/6/17 14:07
* @Classname: MemberEmptyServiceImpl
* @PackageName: com.hzs.member.empty.service.impl
* 空单处理服务
*/
@Slf4j
@Service

View File

@ -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()
);
//校验是否重复提交记录
QueryWrapper<CuSelfServiceLog> 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;
}
}

View File

@ -33,17 +33,4 @@ public interface AcPickMemberLogMapper extends BaseMapper<AcPickMemberLog> {
@Param("quantity") Integer quantity,
@Param("source") Integer source);
/**
* 批量插入提货日志
*
* @param acPickExtList 批量插入数据
* @param source 来源1=后台2=前台
* @return
*/
int insertBatchPick(@Param("list") List<AcPickExt> acPickExtList, @Param("source") Integer source);
/**
* 批量删除使用记录数据
*/
int deleteBatch(@Param("acPickMemberLogList") List<AcPickMemberLog> acPickMemberLogList);
}

View File

@ -1,62 +0,0 @@
package com.hzs.activity.pick.provider;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hzs.activity.pick.IAcPickServiceApi;
import com.hzs.activity.pick.service.IAcPickMemberLogService;
import com.hzs.activity.pick.service.IAcPickService;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.domain.activity.pick.AcPick;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 提货相关dubbo服务入口
* @Author: jiang chao
* @Time: 2023/5/15 11:21
* @Classname: AcPickProviderApi
* @PackageName: com.hzs.activity.pick.provider
*/
@Slf4j
@DubboService
public class AcPickProviderApi implements IAcPickServiceApi {
@Autowired
private IAcPickService iAcPickService;
@Autowired
private IAcPickMemberLogService acPickMemberLogService;
@Override
public R<List<AcPickMemberLog>> queryPickMemberLog(List<SaOrderExt> saOrderExtList) {
return R.ok(acPickMemberLogService.queryPickMemberLog(saOrderExtList));
}
@Override
public R<BigDecimal> queryOrderPostage(String orderCode, Integer recProvince, Integer recCity, Integer pkCountry) {
try {
LambdaQueryWrapper<AcPickMemberLog> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AcPickMemberLog::getPickOrder, orderCode);
AcPickMemberLog acPickMemberLog = acPickMemberLogService.getOne(queryWrapper);
if (null != acPickMemberLog) {
AcPick acPick = iAcPickService.getById(acPickMemberLog.getPkPick());
if (null != acPick) {
return R.ok(iAcPickService.postageHandle(acPick, acPickMemberLog.getPickQuantity(), recProvince, recCity, pkCountry));
}
}
return R.fail("提货数据不存在");
} catch (ServiceException se) {
log.error("撤销订单查询提货邮费异常: {}", se.getMessage(), se);
return R.fail(se.getMessage());
} catch (Exception e) {
log.error("撤销订单查询提货邮费异常", e);
}
return R.fail("查询提货邮费失败");
}
}

View File

@ -7,30 +7,16 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @description: 会员提货赠送活动日志dubbo服务
* @author: zhang jing
* @date: 2025/1/15 17:01
* @param:
* @return:
* 会员提货赠送活动日志dubbo服务
**/
@Slf4j
@DubboService
public class AcRetailPickLogServiceProvider implements IAcRetailPickLogServiceApi {
@Autowired
private IAcRetailPickLogService iAcRetailPickLogService;
/**
* @description: 处理会员提货赠送活动日志
* @author: zhang jing
* @date: 2025/1/15 17:12
* @param: []
* @return: com.hzs.common.core.domain.R<?>
**/
@Override
public R<?> deliveryLog() {
try {

View File

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.pick.vo.AcPickMemberLogVO;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
@ -30,23 +29,4 @@ public interface IAcPickMemberLogService extends IService<AcPickMemberLog> {
* @return
*/
int insertBatch(List<AcPickExt> acPickExtList, Integer quantity, Integer source);
/**
* 批量插入提货日志
*
* @param acPickExtList 批量插入数据
* @param source 来源1=后台2=前台
* @return
*/
int insertBatchPick(List<AcPickExt> acPickExtList, Integer source);
/**
* 批量删除使用记录数据
*/
int deleteBatch(List<AcPickMemberLog> acPickMemberLogList);
/**
* 查询会员提货使用记录
*/
List<AcPickMemberLog> queryPickMemberLog(List<SaOrderExt> saOrderExtList);
}

View File

@ -5,7 +5,6 @@ import com.hzs.activity.pick.param.AcPickQueryParam;
import com.hzs.activity.pick.param.AcPickSaveParam;
import com.hzs.activity.pick.vo.ApiPickListVO;
import com.hzs.common.domain.activity.pick.AcPick;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import com.hzs.system.sys.dto.LoginUser;
@ -16,9 +15,6 @@ import java.util.List;
/**
* 提货基础表 服务类
*
* @author hzs
* @since 2023-04-21
*/
public interface IAcPickService extends IService<AcPick> {
@ -85,7 +81,8 @@ public interface IAcPickService extends IService<AcPick> {
String pickSubmit(AcPickSaveParam param, LoginUser loginUser);
/**
* @description: 删除充值提货卡发起签呈
* 删除充值提货卡发起签呈
*
* @author: zhang jing
* @date: 2023/10/17 18:00
* @param: [anpParam]
@ -102,13 +99,8 @@ public interface IAcPickService extends IService<AcPick> {
String pickApprovalAgree(ApprovalBusinessResultDTO resultDTO);
/**
* @description: 审核删除充值提货卡
* @author: zhang jing
* @date: 2023/10/18 16:19
* @param: [resultDTO]
* @return: java.lang.String
* 审核删除充值提货卡
**/
String delpickApprovalAgree(ApprovalBusinessResultDTO resultDTO);
/**

View File

@ -1,25 +1,15 @@
package com.hzs.activity.pick.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.activity.pick.AcRetailPickLog;
/**
* <p>
* 会员提货赠送活动日志表 服务类
* </p>
*
* @author zhangjing
* @since 2025-01-15
*/
public interface IAcRetailPickLogService extends IService<AcRetailPickLog> {
/**
* @description: 处理会员提货赠送活动日志
* @author: zhang jing
* @date: 2025/1/15 17:14
* @param: []
* @return: void
* 处理会员提货赠送活动日志
**/
void deliveryLog();
void deliveryLog();
}

View File

@ -1,17 +1,14 @@
package com.hzs.activity.pick.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hzs.activity.pick.mapper.AcPickMemberLogMapper;
import com.hzs.activity.pick.service.IAcPickMemberLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.pick.vo.AcPickMemberLogVO;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* 会员提货记录 服务实现类
@ -29,30 +26,4 @@ public class AcPickMemberLogServiceImpl extends ServiceImpl<AcPickMemberLogMappe
return baseMapper.insertBatch(acPickExtList, quantity, source);
}
@Override
public int insertBatchPick(List<AcPickExt> acPickExtList, Integer source) {
return baseMapper.insertBatchPick(acPickExtList, source);
}
@Override
public int deleteBatch(List<AcPickMemberLog> acPickMemberLogList) {
return baseMapper.deleteBatch(acPickMemberLogList);
}
@Override
public List<AcPickMemberLog> queryPickMemberLog(List<SaOrderExt> saOrderExtList) {
LambdaQueryWrapper<AcPickMemberLog> queryWrapper = new LambdaQueryWrapper<>();
Set<String> orderCodeSet = saOrderExtList.stream().distinct().map(SaOrderExt::getOrderCode).collect(Collectors.toSet());
queryWrapper.in(AcPickMemberLog::getPickOrder, orderCodeSet);
Set<String> orderKey = new HashSet<>();
saOrderExtList.forEach(saOrderExt -> orderKey.add(saOrderExt.getOrderCode() + saOrderExt.getPkMember()));
List<AcPickMemberLog> retPickMemberLogList = new ArrayList<>();
List<AcPickMemberLog> acPickMemberLogList = baseMapper.selectList(queryWrapper);
for (AcPickMemberLog acPickMemberLog : acPickMemberLogList) {
if (!orderKey.contains(acPickMemberLog.getPickOrder() + acPickMemberLog.getPkMember())) {
retPickMemberLogList.add(acPickMemberLog);
}
}
return retPickMemberLogList;
}
}

View File

@ -26,9 +26,6 @@ import java.util.stream.Collectors;
/**
* 会员提货赠送活动日志表 服务实现类
*
* @author zhangjing
* @since 2025-01-15
*/
@Service
@Slf4j
@ -41,13 +38,6 @@ public class AcRetailPickLogServiceImpl extends ServiceImpl<AcRetailPickLogMappe
@Autowired
private IAcRetailPickService iAcRetailPickService;
/**
* @description: 处理会员提货赠送活动日志
* @author: zhang jing
* @date: 2025/2/6 10:54
* @param: []
* @return: void
**/
@Transactional(rollbackFor = Exception.class)
@Override
public void deliveryLog() {
@ -89,7 +79,6 @@ public class AcRetailPickLogServiceImpl extends ServiceImpl<AcRetailPickLogMappe
}
}
//查询符合提货赠送活动的会员订单
private void handleQualifiedOrders(AcRetailPickProductConfig productConfig, Date startDate, Date endDate, List<Integer> pkWaresList, Integer systemType) {
Date nowDate = new Date();
@ -99,5 +88,4 @@ public class AcRetailPickLogServiceImpl extends ServiceImpl<AcRetailPickLogMappe
iAcRetailPickService.handlePick(productConfig.getPkBaseId(), nowDate);
}
}

View File

@ -14,13 +14,6 @@
<result column="DEL_FLAG" property="delFlag"/>
<result column="SOURCE" property="source"/>
</resultMap>
<delete id="deleteBatch">
delete from AC_PICK_MEMBER_LOG
where pk_id in
<foreach collection="acPickMemberLogList" item="item" open="(" close=")" separator=",">
#{item.pkId}
</foreach>
</delete>
<!-- 查询提货日志 -->
<select id="queryMemberLog" resultType="com.hzs.activity.pick.vo.AcPickMemberLogVO">
@ -79,45 +72,4 @@
</update>
<!-- 批量插入提货日志 -->
<update id="insertBatchPick">
merge into AC_PICK_MEMBER_LOG apml
using (
<foreach collection="list" item="item" separator=" union ">
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}
</foreach>
) 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})
</update>
</mapper>

View File

@ -9,9 +9,6 @@ import java.util.List;
/**
* 极差配置 Mapper 接口
*
* @author zhangjing
* @since 2022-09-09
*/
public interface BdRangeMapper extends BaseMapper<BdRange> {
@ -21,9 +18,6 @@ public interface BdRangeMapper extends BaseMapper<BdRange> {
* @param pkCountry 国家
* @param rangeType 极差类型
* @param pkLevel 等级
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
List<RangeDTO> queryRangeDto(@Param("pkCountry") Integer pkCountry,
@Param("rangeType") Integer rangeType,

View File

@ -12,37 +12,27 @@ import java.util.List;
import java.util.Map;
/**
* @description: 极差配置
* @author: zhang jing
* @date: 2022/11/10 17:02
* @param:
* @return:
* 极差配置
**/
@DubboService
public class RangeServiceProvider implements IRangeServiceApi {
@Autowired
private IBdRangeService rangeService;
private IBdRangeService iBdRangeService;
/**
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/9/29 15:17
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdAwards>>
**/
@Override
public R<List<BdRangeExt>> queryRange(Integer pkCountry) {
return R.ok(rangeService.queryRange(pkCountry));
return R.ok(iBdRangeService.queryRange(pkCountry));
}
@Override
public R<Map<String, RangeDTO>> queryRangeDto() {
return R.ok(rangeService.queryRangeDto());
return R.ok(iBdRangeService.queryRangeDto());
}
@Override
public R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel) {
return R.ok(rangeService.getRangeDTO(pkCountry, rangeType, pkLevel));
return R.ok(iBdRangeService.getRangeDTO(pkCountry, rangeType, pkLevel));
}
}

View File

@ -9,48 +9,27 @@ import java.util.List;
import java.util.Map;
/**
* <p>
* 极差配置 服务类
* </p>
*
* @author zhangjing
* @since 2022-09-09
*/
public interface IBdRangeService extends IService<BdRange> {
/**
* @description: 新增极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
* 新增极差
**/
boolean saveRange(BdRangeExt rangeExt);
/**
* @description: 修改极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
* 修改极差
**/
boolean updateRange(BdRangeExt rangeExt);
/**
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/11/11 18:02
* @param: [pkCountry]
* @return: java.util.List<com.hzs.common.domain.system.config.BdRange>
* 根据国家查询极差配置列表
**/
List<BdRangeExt> queryRange(Integer pkCountry);
/**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键
*
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
Map<String, RangeDTO> queryRangeDto();
@ -60,9 +39,6 @@ public interface IBdRangeService extends IService<BdRange> {
* @param pkCountry 国家
* @param rangeType 极差类型
* @param pkLevel 等级主键
* @return: RangeDTO
* @Author: sui q
* @Date: 2023/2/4 15:54
*/
RangeDTO getRangeDTO(Integer pkCountry, Integer rangeType, Integer pkLevel);
}

View File

@ -7,20 +7,17 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.constant.Constants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.domain.system.config.BdRange;
import com.hzs.common.domain.system.config.BdRangeDetails;
import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.base.ITransactionServiceApi;
import com.hzs.system.config.dto.RangeDTO;
import com.hzs.system.config.mapper.BdRangeMapper;
import com.hzs.system.config.service.IBdRangeDetailsService;
import com.hzs.system.config.service.IBdRangeService;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -29,40 +26,19 @@ import java.util.concurrent.TimeUnit;
/**
* 极差配置 服务实现类
*
* @author zhangjing
* @since 2022-09-09
*/
@Slf4j
@Service
public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> implements IBdRangeService {
@Autowired
private IBdRangeDetailsService rangeDetailsService;
@DubboReference
ITransactionServiceApi iTransactionServiceApi;
private RedisService redisService;
private IBdRangeDetailsService iBdRangeDetailsService;
@Autowired
public void setRedisService(RedisService redisService) {
this.redisService = redisService;
}
private RedisService redisService;
/**
* @description: 新增极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
**/
@Override
public boolean saveRange(BdRangeExt rangeExt) {
//字段翻译保存到数据库
R<Integer> pkTransaction = iTransactionServiceApi.createTransaction(rangeExt.getPkCountry(), ETransactionKey.RANGE,
rangeExt.getRangeName(), EYesNo.YES, EYesNo.NO);
rangeExt.setPkTransaction(pkTransaction.getData());
LambdaQueryWrapper<BdRange> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdRange::getPkCountry, rangeExt.getPkCountry());
queryWrapper.eq(BdRange::getRangeValue, rangeExt.getRangeValue());
@ -80,7 +56,7 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails);
iBdRangeDetailsService.save(rangeDetails);
}
//奖衔
for (Integer aw : awardsList) {
@ -91,31 +67,20 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails);
iBdRangeDetailsService.save(rangeDetails);
}
}
redisService.deleteObject(CacheConstants.BD_RANGE + rangeExt.getPkCountry());
return true;
}
/**
* @description: 修改极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
**/
@Override
public boolean updateRange(BdRangeExt rangeExt) {
//字段翻译保存到数据库
R<Integer> pkTransaction = iTransactionServiceApi.createTransaction(rangeExt.getPkCountry(), ETransactionKey.RANGE,
rangeExt.getRangeName(), EYesNo.YES, EYesNo.NO);
rangeExt.setPkTransaction(pkTransaction.getData());
baseMapper.updateById(rangeExt);
LambdaUpdateWrapper<BdRangeDetails> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(BdRangeDetails::getDelFlag, EYesNo.NO.getIntValue());
updateWrapper.eq(BdRangeDetails::getPkRange, rangeExt.getPkId());
rangeDetailsService.update(updateWrapper);
iBdRangeDetailsService.update(updateWrapper);
List<Integer> gradeList = rangeExt.getGradeList();
List<Integer> awardsList = rangeExt.getAwardsList();
//等级
@ -127,7 +92,7 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails);
iBdRangeDetailsService.save(rangeDetails);
}
//奖衔
for (Integer aw : awardsList) {
@ -138,20 +103,12 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails);
iBdRangeDetailsService.save(rangeDetails);
}
redisService.deleteObject(CacheConstants.BD_RANGE + rangeExt.getPkCountry());
return true;
}
/**
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/11/11 18:07
* @param: [pkCountry]
* @return: java.util.List<com.hzs.common.domain.system.config.BdRange>
**/
@Override
public List<BdRangeExt> queryRange(Integer pkCountry) {
List<BdRangeExt> rangeList = redisService.getCacheList(CacheConstants.BD_RANGE + pkCountry);

View File

@ -34,7 +34,6 @@ import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 查询枚举的公共controller

View File

@ -1,6 +1,5 @@
package com.hzs.common.core.constant;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
@ -28,11 +27,6 @@ public class SysConstants {
*/
public static final String PAY_PASSWORD = "222222";
/**
* 血缘累计业绩30万
*/
public static final BigDecimal TOTAL_AREA_PV = new BigDecimal("300000");
/**
* 开放使用会员编号用于支付登录查看数据
*/

View File

@ -88,11 +88,9 @@ public enum ESystemConfig {
/**
* 注册专区 是否有待支付 0 1=
*/
REGISTER_ORDER_CONFIRM_PAY("1", "注册专区", 0, "PAYMENT_1"),
/**
* 1=12小时 2=24小时 3=48小时 4=72小时
*/
REGISTER_ORDER_CONFIRM_PAY("1", "注册专区", 0, "PAYMENT_1"),
REGISTER_ORDER_TIME("1", "注册专区时间", 0, "PAYMENT_2"),
UPGRADE_ORDER_CONFIRM_PAY("0", "升级专区", 0, "PAYMENT_3"),
UPGRADE_ORDER_TIME("0", "升级专区时间", 0, "PAYMENT_4"),

View File

@ -2,7 +2,9 @@ package com.hzs.common.domain.activity.pick;
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;
@ -12,9 +14,6 @@ import lombok.experimental.Accessors;
/**
* 提货基础表
*
* @author hzs
* @since 2023-04-21
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -7,11 +7,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* @Description: 提货基础表扩展
* @Author: jiang chao
* @Time: 2023/4/21 18:10
* @Classname: AcPickExt
* @PackageName: com.hzs.common.domain.activity.pick.ext
* 提货基础表扩展
*/
@EqualsAndHashCode(callSuper = true)
@Data

View File

@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 真实奖衔控制
* </p>
*
* @author hzs
* @since 2023-04-07
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 特殊商品分配奖金
* </p>
*
* @author hzs
* @since 2024-10-30
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 特殊商品分配ev奖金明细
* </p>
*
* @author hzs
* @since 2024-10-30
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -11,12 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-辅导收益明细表
* </p>
*
* @author hzs
* @since 2022-11-15
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -11,12 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-拓展收益明细表
* </p>
*
* @author hzs
* @since 2022-11-15
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -11,12 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-直推收益明细表
* </p>
*
* @author hzs
* @since 2022-11-10
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-直推历史轮次记录
* </p>
*
* @author hzs
* @since 2023-09-10
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -1,6 +1,7 @@
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;
@ -9,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-4-n碰次重算奖金表
* </p>
*
* @author hzs
* @since 2024-07-23
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-分红奖金配置
* </p>
*
* @author hzs
* @since 2023-07-03
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -13,12 +13,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-分红奖金配置明细
* </p>
*
* @author hzs
* @since 2023-07-03
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -2,15 +2,12 @@ package com.hzs.common.domain.member.ext;
import com.hzs.common.domain.member.bonus.CuBonusExpand;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @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
* 4-n增加碰次设置 扩展表
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class CuBonusExpandExt extends CuBonusExpand {

View File

@ -7,13 +7,6 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description:
* @Author: sui q
* @Time: 2023/1/31 17:38
* @Classname: CuMemberBonusPushExt
* @PackageName: com.hzs.common.domain.member.ext
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class CuMemberBonusPushExt extends CuMemberBonusPush {

View File

@ -10,11 +10,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 订单详情扩展
* @Author: jiang chao
* @Time: 2022/10/19 16:46
* @Classname: SaOrderItemExt
* @PackageName: com.hzs.common.domain.sale.ext
* 订单详情扩展
*/
@EqualsAndHashCode(callSuper = true)
@Data

View File

@ -15,12 +15,7 @@ import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* <p>
* 极差配置
* </p>
*
* @author zhangjing
* @since 2022-09-09
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ -37,7 +32,7 @@ public class BdRange extends BaseEntity {
/**
* 极差名称
*/
@Excel(name = "极差名称",sort=1)
@Excel(name = "极差名称", sort = 1)
@TableField("RANGE_NAME")
private String rangeName;
/**
@ -46,7 +41,7 @@ public class BdRange extends BaseEntity {
@TableField("RANGE_VALUE")
@Transaction(transactionKey = EnumsPrefixConstants.AWARDS)
private Integer rangeValue;
@Excel(name = "极差值",sort=2)
@Excel(name = "极差值", sort = 2)
@TableField(exist = false)
private String rangeValueVal;