## 区域分红支持分组处理;

This commit is contained in:
cabbage 2025-07-01 15:53:53 +08:00
parent d00a640aa9
commit c8291be5ca
43 changed files with 166 additions and 727 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -20,13 +20,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
*/
List<Long> batchQueryCuMemberBonusSeq(Integer rowNum);
/**
* 根据查询条件查询会员奖金
*
* @param bonusParam 查询条件
*/
List<CuMemberBonus> queryMemberBonusTotalByCondition(BonusParam bonusParam);
/**
* 根据查询条件查询会员奖金
*
@ -46,7 +39,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
**/
CuMemberBonusExt queryMemberBonusByConditionForServerSum(@Param("bonusParam") BonusParam bonusParam);
/**
* 根据查询条件查询会员奖金
*
@ -90,10 +82,5 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
*/
void mergeBackRangeBonusIncome(@Param("pkOrder") Long pkOrder, @Param("bonusValue") Integer bonusValue);
/**
* 查询会员一周周期的拓展累计复购拓展累计
*/
List<CuMemberBonus> queryWeekMemberBonus(@Param("startPeriod") int startPeriod, @Param("endPeriod") int endPeriod);
void recalculateTeamNewBoxNum(@Param("pkId") Long pkId, @Param("retailsTableName") String retailsTableName);
}

View File

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

View File

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

View File

@ -8,28 +8,13 @@ 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
**/
List<CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period);
}

View File

@ -1,24 +0,0 @@
package com.hzs.bonus.bonus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.bonus.CuMemberShareMax;
/**
* <p>
* 会员奖金-最大分红奖金 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-01-06
*/
public interface CuMemberShareMaxMapper extends BaseMapper<CuMemberShareMax> {
/**
* 物理删除理论最大分红金额
* @param period 期间
* @return: void
* @Author: sui q
* @Date: 2023/1/7 10:31
*/
void deleteCuMemberShareMax(Integer period);
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -8,7 +8,6 @@ import com.hzs.common.domain.member.ext.CuMemberBonusExt;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -141,11 +140,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
*/
void mergeBackMemberBonusIncome(Long pkOrder);
/**
* 查询会员一周周期的拓展累计复购拓展累计
*/
Map<Long, CuMemberBonus> queryWeekMemberBonus(int startPeriod, int endPeriod);
void calculateBonusTotal(CuMemberBonusExt cuMemberBonusExt, CuMemberBonusExt memberBonusExt);
CuMemberBonusExt initCuMemberBonus();

View File

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

View File

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

View File

@ -1,24 +0,0 @@
package com.hzs.bonus.bonus.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.bonus.CuMemberShareMax;
/**
* <p>
* 会员奖金-最大分红奖金 服务类
* </p>
*
* @author hzs
* @since 2023-01-06
*/
public interface ICuMemberShareMaxService extends IService<CuMemberShareMax> {
/**
* 插入理论最大的可以进行分红的奖金
* @param cuMemberShareMax 最大分红的奖金
* @return: void
* @Author: sui q
* @Date: 2023/1/6 17:23
*/
void insertMaxShareBonus(CuMemberShareMax cuMemberShareMax);
}

View File

@ -11,18 +11,13 @@ import com.hzs.common.domain.member.bonus.BdWaresBonusItems;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
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 {

View File

@ -159,11 +159,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
// 查询区域配置
Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
// 区域处理
List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
// 区域会员mapkey:区域分组ID + 区ID ,value: 区域会员结算数据
Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// 计算区域奖
CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusMap, saOrderExt);
if (cuMemberBonusDetail != null) {
@ -481,10 +482,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 区域处理
List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
// 区域会员mapkey:系统+区ID ,value: 区域会员结算数据
// 区域会员mapkey:区域分组ID + 区ID ,value: 区域会员结算数据
Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
countyRangeExtList.forEach(cuMemberRetailRangeExt ->
countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
// 会员等级升级记录
List<CuMemberGrade> cuMemberGradeList = new ArrayList<>();
@ -1317,7 +1318,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
CuMemberRetailRangeExt sourceRetailRangeExt = memberRangeExtMap.get(saOrder.getPkMember());
// 获取对应区域会员
CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getSystemType() + "_" + saOrder.getRecCounty());
CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getRegionVertexPkId() + "_" + saOrder.getRecCounty());
if (null == cuMemberRetailRangeExt) {
return null;
}

View File

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

View File

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

View File

@ -13,12 +13,7 @@ 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 {
@ -37,16 +32,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 +49,5 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExp
baseMapper.batchInsertCuMemberBonusExpand(list));
}
@Override
public void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList) {
baseMapper.insertCuMemberBonusExpand(cuMemberBonusExpandList);
}
}

View File

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

View File

@ -621,14 +621,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_AREA_INCOME.getValue());
}
@Override
public Map<Long, CuMemberBonus> queryWeekMemberBonus(int startPeriod, int endPeriod) {
List<CuMemberBonus> cuMemberBonusList = baseMapper.queryWeekMemberBonus(startPeriod, endPeriod);
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberBonusList.size()));
cuMemberBonusList.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus));
return cuMemberBonusMap;
}
@Override
public void recalculateTeamNewBoxNum(List<Long> pkIdList) {
String retailsTableName = getDayTableName();

View File

@ -36,21 +36,17 @@ import java.math.BigDecimal;
import java.util.*;
/**
* <p>
* 会员奖金-分红奖金配置 服务实现类
* </p>
*
* @author hzs
* @since 2023-07-03
*/
@Service
public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonusMapper, CuMemberShareBonus> implements ICuMemberShareBonusService {
@DubboReference
private ISaOrderServiceApi saOrderServiceApi;
ISaOrderServiceApi saOrderServiceApi;
@DubboReference
private IAwardsServiceApi awardsServiceApi;
IAwardsServiceApi awardsServiceApi;
@DubboReference
ICurrencyServiceApi currencyServiceApi;
private ICuMemberShareDetailService cuMemberShareDetailService;
@ -60,9 +56,6 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
@DubboReference
private ICurrencyServiceApi currencyServiceApi;
@Autowired
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
@ -88,7 +81,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 +89,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 +122,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 +142,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 +155,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 +168,10 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
// 处理预发金额 预发合计
for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) {
int count = bdAwardsList.size();
if(count > 0) {
if (count > 0) {
cuMemberShareDetail.setExpectShareSubtotal(ComputeUtil.computeDivide(cuMemberShareBonusExt.getExpectShareTotal(), BigDecimal.valueOf(count)));
cuMemberShareDetail.setExpectShareIncome(ComputeUtil.computeDivide(cuMemberShareDetail.getExpectShareSubtotal(), BigDecimal.valueOf(cuMemberShareDetail.getPromoteTotal())));
}else{
} else {
cuMemberShareDetail.setExpectShareSubtotal(BigDecimal.ZERO);
cuMemberShareDetail.setExpectShareIncome(BigDecimal.ZERO);
}

View File

@ -1,25 +1,16 @@
package com.hzs.bonus.bonus.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.bonus.service.ICuMemberShareDetailService;
import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.domain.member.bonus.CuMemberShareDetail;
import com.hzs.common.domain.member.ext.CuMemberShareDetailExt;
import com.hzs.bonus.bonus.mapper.CuMemberShareDetailMapper;
import org.springframework.stereotype.Service;
import java.util.HashMap;
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 +20,4 @@ public class CuMemberShareDetailServiceImpl extends ServiceImpl<CuMemberShareDet
baseMapper.saveMemberShareBonus(cuMemberShareDetailList);
}
/*
* @description: 根据期间查询奖衔设置的分红配置
* @author: sui q
* @date: 2023/8/11 15:35
* @param: null null
**/
@Override
public Map<String, CuMemberShareDetail> queryCuMemberShareBonusByPeriod(Integer period){
List<CuMemberShareDetail> cuMemberShareDetailList = baseMapper.queryCuMemberShareBonusByPeriod(period);
Map<String, CuMemberShareDetail> cuMemberShareDetailMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberShareDetailList.size()));
if(CollectionUtil.isNotEmpty(cuMemberShareDetailList)){
for (CuMemberShareDetail cuMemberShareDetail : cuMemberShareDetailList) {
String key =cuMemberShareDetail.getPkCountry().toString() + cuMemberShareDetail.getPkAwards();
cuMemberShareDetailMap.put(key, cuMemberShareDetail);
}
}
return cuMemberShareDetailMap;
}
}

View File

@ -1,29 +0,0 @@
package com.hzs.bonus.bonus.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.bonus.service.ICuMemberShareMaxService;
import com.hzs.common.domain.member.bonus.CuMemberShareMax;
import com.hzs.bonus.bonus.mapper.CuMemberShareMaxMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
* 会员奖金-最大分红奖金 服务实现类
* </p>
*
* @author hzs
* @since 2023-01-06
*/
@Service
public class CuMemberShareMaxServiceImpl extends ServiceImpl<CuMemberShareMaxMapper, CuMemberShareMax> implements ICuMemberShareMaxService {
@Override
@Transactional(rollbackFor = Exception.class)
public void insertMaxShareBonus(CuMemberShareMax cuMemberShareMax) {
// 删除
baseMapper.deleteCuMemberShareMax(cuMemberShareMax.getPeriod());
baseMapper.insert(cuMemberShareMax);
}
}

View File

@ -63,6 +63,7 @@
<result column="small_box_num" property="smallBoxNum"/>
<result column="big_team_pv" property="bigTeamPv"/>
<result column="small_team_pv" property="smallTeamPv"/>
<result column="region_vertex_pk_id" property="smallTeamPv"/>
</resultMap>
<update id="mergeMemberRetailRangeInit">
@ -357,7 +358,8 @@
bw.month_repurchase_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
br.name country_name
br.name country_name,
bv.region_vertex_pk_id
from (
select * from ${tableName}
start with pk_member = #{item}
@ -371,6 +373,8 @@
on bwa.pk_id = a.pk_share_awards and bwa.del_flag = 0
left join bd_area br
on br.pk_id = a.region_address and br.del_flag = 0
left join bd_vertex bv
on bv.pk_id = a.pk_vertex
where ba.del_flag = 0 and bw.del_flag = 0
</foreach>
</select>
@ -526,10 +530,11 @@
</select>
<select id="batchQueryMemberRetailRangeByCounty" resultMap="CuMemberRetailRangeExt">
select pk_member,
pk_parent,
member_code,
member_name,
select a.pk_member,
a.pk_parent,
a.member_code,
a.member_name,
a.pk_vertex,
a.pk_rate,
a.pk_grade,
a.pk_awards,
@ -539,7 +544,7 @@
a.pk_country,
a.pk_settle_country,
a.region_address,
ba.name country_name,
ba.name country_name,
bg.grade_value,
bg.grade_name,
bw.awards_value,
@ -551,7 +556,8 @@
bw.month_repurchase_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
a.system_type
a.system_type,
bv.region_vertex_pk_id
from ${rangeTableName} a
inner join bd_awards bw
on bw.pk_id = a.pk_awards
@ -561,6 +567,8 @@
on bg.pk_id = a.pk_grade
inner join bd_area ba
on ba.pk_id = a.region_address
left join bd_vertex bv
on bv.pk_id = a.pk_vertex
where bw.del_flag = 0
and bg.del_flag = 0
and ba.del_flag = 0
@ -591,7 +599,8 @@
bw.month_repurchase_ratio,
bw.benefit_avg_ratio,
bw.benefit_share_ratio,
nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status
nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status,
bv.region_vertex_pk_id
from cu_member cm
inner join bd_awards bw
on bw.pk_id = cm.pk_awards
@ -607,6 +616,8 @@
on r.pk_member = cm.pk_id
left join ${secondRangeTableName} sc
on sc.pk_member = cm.pk_id
left join bd_vertex bv
on bv.pk_id = cm.pk_vertex
where bw.del_flag = 0
and bg.del_flag = 0
and ba.del_flag = 0
@ -661,7 +672,8 @@
bw.benefit_share_ratio,
bws.awards_value share_awards_value,
br.name country_name,
cr.county region_address
cr.county region_address,
bv.region_vertex_pk_id
from (
select *
from ${secondTableName} start with pk_member = #{pkMember}
@ -681,6 +693,8 @@
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
left join bd_area br
on br.pk_id = cr.county and br.del_flag = 0
left join bd_vertex bv
on bv.pk_id = cm.pk_vertex
where bg.del_flag = 0
</select>

View File

@ -4,16 +4,16 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.BdWaresBonusItems">
<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_BONUS" property="pkWaresBonus" />
<result column="ASS_ACHIEVE" property="assAchieve" />
<result column="ALGEBRA" property="algebra" />
<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_BONUS" property="pkWaresBonus"/>
<result column="ASS_ACHIEVE" property="assAchieve"/>
<result column="ALGEBRA" property="algebra"/>
</resultMap>
</mapper>

View File

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

View File

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

View File

@ -244,37 +244,6 @@
b.retail_real_subtotal)
</insert>
<select id="queryMemberBonusTotalByCondition" resultMap="CuMemberBonus">
select cb.period,sum(direct_income) direct_income,sum(expand_income) expand_income,sum(expand_no_capping) expand_no_capping,
sum(expand_capping) expand_capping,sum(coach_income) coach_income,sum(share_income) share_income,
sum(service_income) service_income,sum(back_points) back_points,sum(service_spend) service_spend,
sum(pur_real_subtotal) pur_real_subtotal,sum(repur_range_income) repur_range_income,sum(repur_expand_income) repur_expand_income,
sum(repur_real_subtotal) repur_real_subtotal,sum(cloud_direct_income) cloud_direct_income,sum(cloud_pur_income) cloud_pur_income,
sum(cloud_repur_income) cloud_repur_income,sum(cloud_real_subtotal) cloud_real_subtotal,sum(repur_coupon) repur_coupon,
sum(repur_coupon_share) repur_coupon_share,sum(repur_coupon_subtotal) repur_coupon_subtotal,
sum(global_points) global_points,sum(car_award_points) car_award_points,sum(hi_fun_income) hi_fun_income,
sum(real_income_total) real_income_total,cp.settle_date from cu_member_bonus cb
inner join cu_member cm
on cb.pk_member = cm.pk_id
inner join cu_member_settle_period cp
on cb.period = cp.pk_id
where cb.del_flag=0 and cm.del_flag=0
and cp.del_flag=0 and cb.income_status=0
<if test="pkVertex != null and pkVertex != ''">
and cm.pk_vertex = #{pkVertex}
</if>
<if test="pkTeamCode != null and pkTeamCode != ''">
and cm.pk_team_code = #{pkTeamCode}
</if>
<if test="startDate != null">
and cp.settle_date >=#{startDate, jdbcType=DATE}
</if>
<if test="endDate != null">
and cp.settle_date &lt; #{endDate, jdbcType=DATE}
</if>
group by cb.period,cp.settle_date
</select>
<select id="queryMemberBonusByCondition" resultMap="CuMemberBonus">
select cp.settle_date,
cb.direct_income,
@ -591,18 +560,6 @@
from dual connect by rownum &lt;= #{rowNum}
</select>
<select id="queryWeekMemberBonus" resultMap="CuMemberBonus">
select cb.pk_member, sum(expand_income) expand_income, sum(repur_expand_income) repur_expand_income
from cu_member_bonus cb
inner join BD_SYSTEM_CONFIG sy
on cb.pk_country = sy.pk_country
where sy.key = 'EXPAND_CAP_METHOD1'
and sy.value = '2'
and cb.period >= #{startPeriod}
and cb.period &lt; #{endPeriod}
group by cb.pk_member
</select>
<update id="recalculateTeamNewBoxNum">
MERGE INTO ${retailsTableName} s
USING (

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberBonusPushHisMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.CuMemberBonusPushHis">
<id column="PK_ID" property="pkId" />
<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="CAL_ACHIEVE" property="calAchieve" />
<result column="ROUND" property="round" />
<result column="SECOND" property="second" />
</resultMap>
</mapper>

View File

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

View File

@ -4,62 +4,45 @@
<!-- 通用查询映射结果 -->
<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>
</mapper>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.bonus.bonus.mapper.CuMemberShareMaxMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.bonus.CuMemberShareMax">
<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="ORDER_ACHIEVE" property="orderAchieve" />
<result column="SHARE_INCOME" property="shareIncome" />
</resultMap>
<delete id="deleteCuMemberShareMax">
delete from CU_MEMBER_SHARE_MAX where period = #{period} and del_flag=0
</delete>
</mapper>

View File

@ -251,4 +251,11 @@ public class CuMemberRetailRange extends BaseEntity {
@TableField("small_team_pv")
private BigDecimal smallTeamPv;
/**
* 区域分组ID
*/
@TableField("region_vertex_pk_id")
private Integer regionVertexPkId;
}

View File

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

View File

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

View File

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

View File

@ -11,12 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员奖金-理论最大分红奖金
* </p>
*
* @author hzs
* @since 2023-01-06
*/
@Data
@EqualsAndHashCode(callSuper = true)