forked from angelo/java-retail-app
## 部分接口及内容修改;
This commit is contained in:
parent
601ca0de92
commit
65d95f3195
|
@ -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);
|
||||
|
||||
}
|
|
@ -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();
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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<>();
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -13,12 +13,7 @@ import java.io.Serializable;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员业绩记录
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-10-26
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
|
|
|
@ -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> {
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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> {
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -19,13 +19,6 @@ public interface IBonusGrantService {
|
|||
*/
|
||||
void publishBonusByPeriod(Integer pkCountry, String settleDate);
|
||||
|
||||
/**
|
||||
* 手动不公布奖金
|
||||
*
|
||||
* @param settleDate 日期
|
||||
*/
|
||||
void noPublishBonusByPeriod(Integer pkCountry, String settleDate);
|
||||
|
||||
/**
|
||||
* 每天发放奖金
|
||||
*
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
/**
|
||||
* 更新奖金状态
|
||||
*
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -23,5 +23,4 @@ public interface ICuMemberSpeRetailService extends IService<CuMemberSpeRetail> {
|
|||
|
||||
int checkCuMemberActivate(String memberCode);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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());
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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=" ">
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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("查询提货邮费失败");
|
||||
}
|
||||
|
||||
}
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
/**
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
||||
/**
|
||||
* 开放使用会员编号(用于支付登录查看数据)
|
||||
*/
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 真实奖衔控制
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 特殊商品分配奖金
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2024-10-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 特殊商品分配ev奖金明细
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2024-10-30
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -11,12 +11,7 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -11,12 +11,7 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-拓展收益明细表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -11,12 +11,7 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-直推收益明细表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-10
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-直推历史轮次记录
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-09-10
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -13,12 +13,7 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-分红奖金配置明细
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-07-03
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue