## 奖金来源添加重消收益、平台服务费(102);

This commit is contained in:
cabbage 2025-05-20 14:28:13 +08:00
parent aed49d2a57
commit c7cdecf5db
25 changed files with 83 additions and 179 deletions

View File

@ -14,9 +14,6 @@ import java.util.Set;
/**
* 会员网体历史记录 服务类
*
* @author hzs
* @since 2022-10-31
*/
public interface ICuMemberTreeService extends IService<CuMemberTree> {
@ -144,7 +141,6 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
/*
* @description: 回退会员奖衔
* @param: null null
**/
void updateBackCuMemberSettleRangeAward(String rangeTableName, Integer period);

View File

@ -35,15 +35,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
/**
* 会员奖金-会员奖金汇总表 前端控制器
*
* @author hzs
* @since 2022-11-11
*/
@RestController
@RequestMapping("/manage/bonus")
@ -224,15 +222,13 @@ public class CuMemberBonusController extends BaseController {
TableDataInfo tableDataInfo = iCuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
List<MemberBonusDetailSerVO> memberBonusDetailSerVOList = (List<MemberBonusDetailSerVO>) tableDataInfo.getRows();
// 获取需要翻译的枚举翻译
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values());
Map<Integer, String> transactionLongMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) {
if (transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) {
memberBonusDetailSerVO.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType()));
}
if (transactionMap.containsKey(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())) {
memberBonusDetailSerVO.setIncomeStatusVal(transactionMap.get(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus()));
}
memberBonusDetailSerVO.setOrderTypeVal(EOrderType.getLabelByValue(memberBonusDetailSerVO.getOrderType()));
memberBonusDetailSerVO.setIncomeStatusVal(EBonusIncomeStatus.getLabelByValue(memberBonusDetailSerVO.getIncomeStatus()));
memberBonusDetailSerVO.setBackPoints(memberBonusDetailSerVO.getIncomeTax().divide(new BigDecimal("2")));
memberBonusDetailSerVO.setServiceSpend(memberBonusDetailSerVO.getIncomeTax().divide(new BigDecimal("2")));
if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())) {
memberBonusDetailSerVO.setPkSettleGradeVal(transactionLongMap.get(memberBonusDetailSerVO.getPkSettleGrade()));
}

View File

@ -10,9 +10,6 @@ import java.util.List;
/**
* 会员奖金-辅导收益明细表 Mapper 接口
*
* @author hzs
* @since 2022-11-15
*/
public interface CuMemberBonusCoachMapper extends BaseMapper<CuMemberBonusCoach> {

View File

@ -9,30 +9,21 @@ 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);
@ -40,45 +31,34 @@ public interface CuMemberBonusDetailMapper extends BaseMapper<CuMemberBonusDetai
* 批量插入会员奖金主表
*
* @param cuMemberBonusDetail 会员奖金
* @return: void
* @Author: sui q
* @Date: 2022/12/13 13:56
*/
void insertCuMemberBonusDetail(@Param("item") CuMemberBonusDetail cuMemberBonusDetail);
/**
* 根据查询条件查询会员奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 9:18
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByCondition(BonusParam bonusParam);
/**
* 会员端根据查询条件查询会员奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 9:18
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByBonusItems(BonusParam bonusParam);
/**
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusDetailExt> queryMemberBonusDetailByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
}

View File

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

View File

@ -1,7 +1,6 @@
package com.hzs.bonus.bonus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.bonus.bonus.param.TripleCycleListParam;
import com.hzs.common.domain.member.bonus.CuMemberBonusPush;
import com.hzs.common.domain.member.ext.CuMemberBonusPushExt;
import com.hzs.bonus.bonus.param.BonusParam;
@ -10,58 +9,43 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <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);
void insertCuMemberBonusPush(@Param("item") CuMemberBonusPush cuMemberBonusPush);
}

View File

@ -9,12 +9,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员奖金-奖金收益明细表(复购极差) Mapper 接口
* </p>
*
* @author hzs
* @since 2022-12-30
*/
public interface CuMemberBonusRangeMapper extends BaseMapper<CuMemberBonusRange> {
@ -22,9 +17,6 @@ public interface CuMemberBonusRangeMapper extends BaseMapper<CuMemberBonusRange>
* 删除会员奖金汇总表
*
* @param period 结算期间
* @return: void
* @Author: sui q
* @Date: 2022/12/13 11:54
*/
void deleteCuMemberBonusRange(Integer period);
@ -39,9 +31,6 @@ public interface CuMemberBonusRangeMapper extends BaseMapper<CuMemberBonusRange>
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusRangeExt> queryMemberBonusRangeByBonusItems(BonusParam bonusParam);
@ -49,9 +38,6 @@ public interface CuMemberBonusRangeMapper extends BaseMapper<CuMemberBonusRange>
* 根据查询条件查询固定的奖金明细
*
* @param bonusParam 查询条件
* @return: List<CuMemberBonusDetail>
* @Author: sui q
* @Date: 2023/1/14 11:18
*/
List<CuMemberBonusRangeExt> queryMemberBonusRangeByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
}

View File

@ -5,9 +5,7 @@ import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
/**
* @Description: 奖金结算服务类
* @Classname: IBonusSettleService
* @PackageName: com.hzs.member.achieve.service
* 奖金结算服务类
*/
public interface IBonusSettleService {
@ -29,13 +27,11 @@ public interface IBonusSettleService {
/*
* @description: 根据订单实时计算奖衔
* @param: null null
**/
void calculateCuMemberRangAwardsBySaOrder(String orderCode);
/*
* @description: 4-n配置修改后重算首购奖金
* @param: null null
**/
void repeatCuMemberBonusByExpand(String settleDate, List<SaOrderExt> saOrderExtList);
}

View File

@ -69,9 +69,7 @@ import java.time.temporal.ChronoUnit;
import java.util.*;
/**
* @Description:奖金结算服务类
* @Classname: BonusSettleService
* @PackageName: com.hzs.member.achieve.service.impl
* 奖金结算服务类
*/
@Service
@Slf4j

View File

@ -16,17 +16,14 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 返回后端用户端查询奖金明细vo
* @Author: sui q
* @Time: 2022/12/20 9:56
* @Classname: MemberBonusDetailVO
* @PackageName: com.hzs.member.bonus.vo
* 返回后端用户端查询奖金明细vo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberBonusDetailSerVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
@ -65,7 +62,6 @@ public class MemberBonusDetailSerVO implements Serializable {
/**
* 来源国家名称
*/
@Excel(name = "来源国家")
private String sourceCountryName;
/**
@ -106,19 +102,16 @@ public class MemberBonusDetailSerVO implements Serializable {
/**
* 订单金额
*/
@Excel(name = "来源金额($)", scale = 2)
private BigDecimal orderAmountDollar;
/**
* 订单业绩
*/
@Excel(name = "来源业绩($)", scale = 2)
private BigDecimal orderAchieve;
/**
* 结算国家
*/
@Excel(name = "结算国家")
private String settleCountry;
/**
@ -206,6 +199,17 @@ public class MemberBonusDetailSerVO implements Serializable {
@Excel(name = "税前收益", scale = 2)
private BigDecimal pretaxIncomeOri;
/**
* 重消收益
*/
@Excel(name = "重消收益", scale = 2)
private BigDecimal backPoints;
/**
* 平台服务费
*/
@Excel(name = "平台服务费", scale = 2)
private BigDecimal serviceSpend;
/**
* 实际收益
*/
@ -215,34 +219,28 @@ public class MemberBonusDetailSerVO implements Serializable {
/**
* 拓展无封 (拓展收益按等级正常比例结算拓展收益按等级正常比例结算 无封顶)
*/
@Excel(name = "拓展无封($)", scale = 2)
private BigDecimal expandNoCapping;
/**
* 拓展封顶 (拓展收益按等级正常比例结算不按4-N结算根据配置的封顶值限制最大收益)
*/
@Excel(name = "拓展封顶($)", scale = 2)
private BigDecimal expandCapping;
/**
* 拓展正常减半 (拓展收益按等级正常比例结算不按4-N结算根据配置的封顶值限制最大收益拓展封顶/2)
*/
@Excel(name = "拓展正常减半($)", scale = 2)
private BigDecimal expandNormalHalf;
/**
* 拓展实际减半 (拓展收益按4-结算根据配置的封顶值限制最大收益税前收益/2)
*/
@Excel(name = "拓展实际减半($)", scale = 2)
private BigDecimal expandNormalReal;
/**
* 税前收益
*/
@Excel(name = "税前收益($)", scale = 2)
private BigDecimal pretaxIncome;
/**
* 实际收益
*/
@Excel(name = "实际收益($)", scale = 2)
private BigDecimal realIncome;
/**
@ -362,4 +360,12 @@ public class MemberBonusDetailSerVO implements Serializable {
public BigDecimal getOrderAchieve() {
return null != orderAchieve ? orderAchieve : BigDecimal.ZERO;
}
public BigDecimal getBackPoints() {
return incomeTax.divide(new BigDecimal("2"));
}
public BigDecimal getServiceSpend() {
return incomeTax.divide(new BigDecimal("2"));
}
}

View File

@ -54,4 +54,23 @@ public enum EBonusIncomeStatus {
* 国际化翻译key值
*/
private final String key;
/**
* 根据值返回名称
*
* @param value
* @return
*/
public static String getLabelByValue(Integer value) {
if (null == value) {
return "";
}
for (EBonusIncomeStatus enums : EBonusIncomeStatus.values()) {
if (enums.getValue() == value) {
return enums.getLabel();
}
}
return "";
}
}

View File

@ -100,14 +100,32 @@ public enum EOrderType {
* @return
*/
public static EOrderType getEnumByValue(int value) {
for (EOrderType eOrderType : EOrderType.values()) {
if (eOrderType.getValue() == value) {
return eOrderType;
for (EOrderType enums : EOrderType.values()) {
if (enums.getValue() == value) {
return enums;
}
}
return null;
}
/**
* 根据值返回名称
*
* @param value
* @return
*/
public static String getLabelByValue(Integer value) {
if (null == value) {
return "";
}
for (EOrderType enums : EOrderType.values()) {
if (enums.getValue() == value) {
return enums.getLabel();
}
}
return "";
}
public static List<EOrderType> getOrderTypeSpecial() {
List<EOrderType> resultList = new ArrayList<>();

View File

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

View File

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

View File

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

View File

@ -12,9 +12,6 @@ import lombok.experimental.Accessors;
/**
* 会员奖金-拓展收益延缓表
*
* @author bd
* @since 2025-04-16
*/
@Builder
@AllArgsConstructor

View File

@ -12,9 +12,6 @@ import lombok.experimental.Accessors;
/**
* 会员奖金-拓展收益延缓明细表
*
* @author bd
* @since 2025-04-16
*/
@Builder
@AllArgsConstructor

View File

@ -11,12 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-奖金收益明细表(报单费分红嗨粉)
* </p>
*
* @author hzs
* @since 2022-11-17
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

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

View File

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

View File

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

View File

@ -12,9 +12,6 @@ import lombok.experimental.Accessors;
/**
* 会员奖金-奖金收益明细表(复购极差)
*
* @author hzs
* @since 2022-12-30
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -1,6 +1,7 @@
package com.hzs.common.domain.member.bonus;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
@ -9,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-4-n碰次重算奖金表
* </p>
*
* @author hzs
* @since 2024-07-23
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

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

View File

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