Compare commits
	
		
			No commits in common. "2ca27c894c1d3a2a3de28d90309597e39387c901" and "4ff70049094b93b11081bf4ff0d8d3a4a44f53e3" have entirely different histories.
		
	
	
		
			2ca27c894c
			...
			4ff7004909
		
	
		| 
						 | 
				
			
			@ -5,7 +5,11 @@ import com.hzs.common.core.domain.R;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 新零售会员dubbo服务
 | 
			
		||||
 * @Description: 新零售会员dubbo服务
 | 
			
		||||
 * @Author: jiang chao
 | 
			
		||||
 * @Time: 2024/12/31 13:40
 | 
			
		||||
 * @Classname: IMemberRetailApi
 | 
			
		||||
 * @PackageName: com.hzs.retail.member
 | 
			
		||||
 */
 | 
			
		||||
public interface IMemberRetailApi {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +20,7 @@ public interface IMemberRetailApi {
 | 
			
		|||
     */
 | 
			
		||||
    R<?> checkRegion();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 取消收益区域
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,12 @@ 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> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,35 +9,48 @@ 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,49 +9,76 @@ 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,7 +9,12 @@ 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> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -17,6 +22,9 @@ public interface CuMemberBonusExpandMapper extends BaseMapper<CuMemberBonusExpan
 | 
			
		|||
     * 删除会员奖金汇总表
 | 
			
		||||
     *
 | 
			
		||||
     * @param period 结算期间
 | 
			
		||||
     * @return: void
 | 
			
		||||
     * @Author: sui q
 | 
			
		||||
     * @Date: 2022/12/13 11:54
 | 
			
		||||
     */
 | 
			
		||||
    void deleteCuMemberBonusExpand(Integer period);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -24,13 +32,30 @@ 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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -38,6 +63,9 @@ 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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,13 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
 | 
			
		|||
     */
 | 
			
		||||
    List<Long> batchQueryCuMemberBonusSeq(Integer rowNum);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据查询条件查询会员奖金
 | 
			
		||||
     *
 | 
			
		||||
     * @param bonusParam 查询条件
 | 
			
		||||
     */
 | 
			
		||||
    List<CuMemberBonus> queryMemberBonusTotalByCondition(BonusParam bonusParam);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据查询条件查询会员奖金
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +46,7 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
 | 
			
		|||
     **/
 | 
			
		||||
    CuMemberBonusExt queryMemberBonusByConditionForServerSum(@Param("bonusParam") BonusParam bonusParam);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据查询条件查询会员奖金
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -82,5 +90,10 @@ 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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
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> {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,12 +6,20 @@ 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,13 +8,28 @@ 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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,22 +6,36 @@ 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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,21 +7,30 @@ 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,7 +7,12 @@ import java.util.List;
 | 
			
		|||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员奖金-奖金收益明细表(报单费) 服务类
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2022-11-17
 | 
			
		||||
 */
 | 
			
		||||
public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetail> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +20,9 @@ public interface ICuMemberBonusDetailService extends IService<CuMemberBonusDetai
 | 
			
		|||
     * 删除会员奖金汇总表
 | 
			
		||||
     *
 | 
			
		||||
     * @param period 结算期间
 | 
			
		||||
     * @return: void
 | 
			
		||||
     * @Author: sui q
 | 
			
		||||
     * @Date: 2022/12/13 11:54
 | 
			
		||||
     */
 | 
			
		||||
    void deleteCuMemberBonusDetail(Integer period);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +30,19 @@ 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,7 +7,12 @@ import java.util.List;
 | 
			
		|||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员奖金-拓展收益明细表 服务类
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2022-11-15
 | 
			
		||||
 */
 | 
			
		||||
public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpand> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +20,9 @@ public interface ICuMemberBonusExpandService extends IService<CuMemberBonusExpan
 | 
			
		|||
     * 删除会员奖金汇总表
 | 
			
		||||
     *
 | 
			
		||||
     * @param period 结算期间
 | 
			
		||||
     * @return: void
 | 
			
		||||
     * @Author: sui q
 | 
			
		||||
     * @Date: 2022/12/13 11:54
 | 
			
		||||
     */
 | 
			
		||||
    void deleteCuMemberBonusExpand(Integer period);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +30,19 @@ 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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -8,6 +8,7 @@ import com.hzs.common.domain.member.ext.CuMemberBonusExt;
 | 
			
		|||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -140,6 +141,11 @@ 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();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,17 +6,28 @@ 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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,13 +8,29 @@ 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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -11,13 +11,18 @@ 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 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -159,12 +159,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 区域处理
 | 
			
		||||
        List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
 | 
			
		||||
        // 区域会员map(key:区域分组ID + 区ID ,value: 区域会员结算数据)
 | 
			
		||||
        // 查询区域配置
 | 
			
		||||
        Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
 | 
			
		||||
        List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, saOrderExt.getRecCounty());
 | 
			
		||||
        countyRangeExtList.forEach(cuMemberRetailRangeExt ->
 | 
			
		||||
                countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
 | 
			
		||||
                countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
 | 
			
		||||
        // 计算区域奖
 | 
			
		||||
        CuMemberBonusDetail cuMemberBonusDetail = calculateRetailAreaBonus(countyRangeExtMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusMap, saOrderExt);
 | 
			
		||||
        if (cuMemberBonusDetail != null) {
 | 
			
		||||
| 
						 | 
				
			
			@ -265,9 +264,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
        // 订单业绩
 | 
			
		||||
        BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
 | 
			
		||||
        // 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
 | 
			
		||||
        sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().subtract(boxNum));
 | 
			
		||||
        sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().subtract(boxNum));
 | 
			
		||||
        sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().subtract(boxNum));
 | 
			
		||||
        sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum().add(boxNum));
 | 
			
		||||
        sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum().add(boxNum));
 | 
			
		||||
        sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getMonthBoxNum().add(boxNum));
 | 
			
		||||
        sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
 | 
			
		||||
        sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
 | 
			
		||||
        sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
 | 
			
		||||
| 
						 | 
				
			
			@ -482,10 +481,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
 | 
			
		||||
            // 区域处理
 | 
			
		||||
            List<CuMemberRetailRangeExt> countyRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByCounty(rangeTableName);
 | 
			
		||||
            // 区域会员map(key:区域分组ID + 区ID ,value: 区域会员结算数据)
 | 
			
		||||
            // 区域会员map(key:系统+区ID ,value: 区域会员结算数据)
 | 
			
		||||
            Map<String, CuMemberRetailRangeExt> countyRangeExtMap = new HashMap<>();
 | 
			
		||||
            countyRangeExtList.forEach(cuMemberRetailRangeExt ->
 | 
			
		||||
                    countyRangeExtMap.put(cuMemberRetailRangeExt.getRegionVertexPkId() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
 | 
			
		||||
                    countyRangeExtMap.put(cuMemberRetailRangeExt.getSystemType() + "_" + cuMemberRetailRangeExt.getRegionAddress(), cuMemberRetailRangeExt));
 | 
			
		||||
 | 
			
		||||
            // 会员等级升级记录
 | 
			
		||||
            List<CuMemberGrade> cuMemberGradeList = new ArrayList<>();
 | 
			
		||||
| 
						 | 
				
			
			@ -837,9 +836,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
                targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
 | 
			
		||||
                targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthAmount(), orderAmount));
 | 
			
		||||
                // 累计盒数
 | 
			
		||||
                targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().subtract(boxNum));
 | 
			
		||||
                targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().subtract(boxNum));
 | 
			
		||||
                targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().subtract(boxNum));
 | 
			
		||||
                targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum().add(boxNum));
 | 
			
		||||
                targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum().add(boxNum));
 | 
			
		||||
                targetMemberRangeExt.setTeamMonthBoxNum(targetMemberRangeExt.getTeamMonthBoxNum().add(boxNum));
 | 
			
		||||
                // 计算等级
 | 
			
		||||
                calculateBackGrade(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName,
 | 
			
		||||
                        cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, targetMemberRangeExt);
 | 
			
		||||
| 
						 | 
				
			
			@ -1318,7 +1317,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
 | 
			
		||||
        CuMemberRetailRangeExt sourceRetailRangeExt = memberRangeExtMap.get(saOrder.getPkMember());
 | 
			
		||||
        // 获取对应区域会员
 | 
			
		||||
        CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getRegionVertexPkId() + "_" + saOrder.getRecCounty());
 | 
			
		||||
        CuMemberRetailRangeExt cuMemberRetailRangeExt = countyRangeExtMap.get(sourceRetailRangeExt.getSystemType() + "_" + saOrder.getRecCounty());
 | 
			
		||||
        if (null == cuMemberRetailRangeExt) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,14 +13,23 @@ 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 {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private CuMemberBonusSettle cuMemberBonusSettle;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
 | 
			
		||||
        this.cuMemberBonusSettle = cuMemberBonusSettle;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void deleteCuMemberBonusCoach(Integer period) {
 | 
			
		||||
        baseMapper.deleteCuMemberBonusCoach(period);
 | 
			
		||||
| 
						 | 
				
			
			@ -28,16 +37,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,14 +13,23 @@ 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 {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private CuMemberBonusSettle cuMemberBonusSettle;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
 | 
			
		||||
        this.cuMemberBonusSettle = cuMemberBonusSettle;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void deleteCuMemberBonusDetail(Integer period) {
 | 
			
		||||
        baseMapper.deleteCuMemberBonusDetail(period);
 | 
			
		||||
| 
						 | 
				
			
			@ -28,16 +37,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);
 | 
			
		||||
| 
						 | 
				
			
			@ -45,4 +54,8 @@ public class CuMemberBonusDetailServiceImpl extends ServiceImpl<CuMemberBonusDet
 | 
			
		|||
                baseMapper.batchInsertCuMemberBonusDetail(list));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void insertCuMemberBonusDetail(CuMemberBonusDetail cuMemberBonusDetail) {
 | 
			
		||||
        baseMapper.insertCuMemberBonusDetail(cuMemberBonusDetail);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,12 @@ 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 {
 | 
			
		||||
| 
						 | 
				
			
			@ -32,16 +37,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);
 | 
			
		||||
| 
						 | 
				
			
			@ -49,5 +54,9 @@ public class CuMemberBonusExpandServiceImpl extends ServiceImpl<CuMemberBonusExp
 | 
			
		|||
                baseMapper.batchInsertCuMemberBonusExpand(list));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void insertCuMemberBonusExpand(List<CuMemberBonusExpand> cuMemberBonusExpandList) {
 | 
			
		||||
        baseMapper.insertCuMemberBonusExpand(cuMemberBonusExpandList);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
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);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -621,6 +621,14 @@ 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();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,17 +36,21 @@ 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
 | 
			
		||||
    ISaOrderServiceApi saOrderServiceApi;
 | 
			
		||||
    private ISaOrderServiceApi saOrderServiceApi;
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IAwardsServiceApi awardsServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    ICurrencyServiceApi currencyServiceApi;
 | 
			
		||||
    private IAwardsServiceApi awardsServiceApi;
 | 
			
		||||
 | 
			
		||||
    private ICuMemberShareDetailService cuMemberShareDetailService;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -56,6 +60,9 @@ public class CuMemberShareBonusServiceImpl extends ServiceImpl<CuMemberShareBonu
 | 
			
		|||
 | 
			
		||||
    private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    private ICurrencyServiceApi currencyServiceApi;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
 | 
			
		||||
        this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +88,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");
 | 
			
		||||
| 
						 | 
				
			
			@ -89,28 +96,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());
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -122,7 +129,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");
 | 
			
		||||
| 
						 | 
				
			
			@ -142,7 +149,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());
 | 
			
		||||
| 
						 | 
				
			
			@ -155,10 +162,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);
 | 
			
		||||
| 
						 | 
				
			
			@ -168,10 +175,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);
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,16 +1,25 @@
 | 
			
		|||
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 {
 | 
			
		||||
| 
						 | 
				
			
			@ -20,4 +29,23 @@ 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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
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);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -8,51 +8,78 @@ import java.util.Date;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核明细表 Mapper 接口
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
public interface CuRegionAssessDetailMapper extends BaseMapper<CuRegionAssessDetail> {
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  考核开始日期
 | 
			
		||||
     * @description: 考核开始日期
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 17:13
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void deleteAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  删除重复的数据
 | 
			
		||||
     * @description: 删除重复的数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/15 16:11
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void updateAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 批量生成考核明细seq
 | 
			
		||||
     *
 | 
			
		||||
     * @param rowNum
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  批量插入区域考核数据
 | 
			
		||||
     * @description: 批量插入区域考核数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 14:31
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void batchInsertCuRegionAssessDetail(@Param("cuRegionAssessDetailList") List<?> cuRegionAssessDetailList);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  根据上月数据更新考核明细数据
 | 
			
		||||
     * @description: 根据上月数据更新考核明细数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 16:44
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void mergeCuRegionAssessDetailTeamPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  根据上月数据更新考核明细数据
 | 
			
		||||
     * @description: 根据上月数据更新考核明细数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 16:44
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void mergeCuRegionAssessDetailSmallAreaPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  初始化考核,先置为考核失败
 | 
			
		||||
     * @description: 初始化考核,先置为考核失败
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 17:30
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void updateCuRegionAssessDetailInit(@Param("assessDate") Date assessDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  根据月后业绩考核,汇总满足30w,小区10w
 | 
			
		||||
     * @description: 根据月后业绩考核,汇总满足30w,小区10w
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 17:36
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void updateCuRegionAssessDetailByPv(@Param("assessDate") Date assessDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * @description: 根据月后业绩考核,汇总满足30w,小区10w
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 17:36
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void updateCuRegionAssessDetailByHand(@Param("assessDate") Date assessDate);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,22 +11,36 @@ import java.util.Date;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核 Mapper 接口
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
public interface CuRegionAssessMapper extends BaseMapper<CuRegionAssess> {
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  查询考核结果
 | 
			
		||||
     * @description: 查询考核结果
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/15 17:22
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    List<CuRegionAssessExt> queryRegionAssessByCondition(@Param("regionAssessParam") CuRegionAssessParam regionAssessParam);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  考核开始日期
 | 
			
		||||
     * @description: 考核开始日期
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 17:13
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void deleteAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  考核开始日期
 | 
			
		||||
     * @description: 考核开始日期
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 17:13
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void updateAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -34,31 +48,49 @@ public interface CuRegionAssessMapper extends BaseMapper<CuRegionAssess> {
 | 
			
		|||
     * 批量获取cuMemberBonus主键
 | 
			
		||||
     *
 | 
			
		||||
     * @param rowNum 数量
 | 
			
		||||
     * @return: List<Integer>
 | 
			
		||||
     * @Author: sui q
 | 
			
		||||
     * @Date: 2022/12/13 13:47
 | 
			
		||||
     */
 | 
			
		||||
    List<Long> batchQueryCuRegionAssessSeq(Integer rowNum);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  批量插入区域考核数据
 | 
			
		||||
     * @description: 批量插入区域考核数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 14:31
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void batchInsertCuRegionAssess(@Param("cuRegionAssessList") List<?> cuRegionAssessList);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  更新达标次数
 | 
			
		||||
     * @description: 更新达标次数
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/15 10:44
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void mergeCuRegionAssess(@Param("assessDate") Date assessDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  查询待考核的区域
 | 
			
		||||
     * @description: 查询待考核的区域
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 17:31
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    List<CuMemberRetailRegion> queryCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  查询到期日期是上个月的区域
 | 
			
		||||
     * @description: 查询到期日期是上个月的区域
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/2/25 15:45
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    List<CuMemberRetailRegion> queryDueCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  查询手动设置考核的近6个月考核记录
 | 
			
		||||
     * @description: 查询手动设置考核的近6个月考核记录
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/2/26 9:21
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    List<CuRegionAssessExt> queryRegionAssessByDate(@Param("memberRetailRegionList") List<CuMemberRetailRegion> memberRetailRegionList, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,29 +7,46 @@ import java.util.Date;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核明细表 服务类
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
public interface ICuRegionAssessDetailService extends IService<CuRegionAssessDetail> {
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  考核开始日期
 | 
			
		||||
     * @description: 考核开始日期
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 17:13
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  删除重复的数据
 | 
			
		||||
     * @description: 删除重复的数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/15 16:11
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate);
 | 
			
		||||
 | 
			
		||||
    List<Long> batchQueryCuRegionAssessDetailSeq(Integer rowNum);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  批量插入区域考核数据
 | 
			
		||||
     * @description: 批量插入区域考核数据
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 14:31
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void batchInsertCuRegionAssessDetail(List<?> cuRegionAssessDetailList);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  根据上月数据考核区域
 | 
			
		||||
     * @description: 根据上月数据考核区域
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/14 16:44
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void assessCuRegionAssessDetail(String rangeTableName, Date assessDate);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,34 +5,51 @@ import com.hzs.bonus.detail.vo.CuRegionAssessVO;
 | 
			
		|||
import com.hzs.bonus.param.CuRegionAssessParam;
 | 
			
		||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
 | 
			
		||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
 | 
			
		||||
import org.apache.ibatis.annotations.Param;
 | 
			
		||||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核 服务类
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
public interface ICuRegionAssessService extends IService<CuRegionAssess> {
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  每月考核区域是否达标
 | 
			
		||||
     * @description: 每月考核区域是否达标
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 16:46
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void assessRegionByEveryMonth(String settleDate, String rangeTableName);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 定时处理会员收益区域(处理前三天)
 | 
			
		||||
     *
 | 
			
		||||
     * @description: 定时处理会员收益区域(处理前三天)
 | 
			
		||||
     * @author: zhang jing
 | 
			
		||||
     * @date: 2025/3/7 10:08
 | 
			
		||||
     * @param: [startDate]
 | 
			
		||||
     * @return: void
 | 
			
		||||
     **/
 | 
			
		||||
    void validateHandAreaAssess(Date startDate, Date endDate);
 | 
			
		||||
    void validateHandAreaAssess(Date startDate,Date endDate);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  考核开始日期
 | 
			
		||||
     * @description: 考核开始日期
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/13 17:13
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     *  查询考核结果
 | 
			
		||||
     * @description: 查询考核结果
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2025/1/15 17:22
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     **/
 | 
			
		||||
    List<CuRegionAssessExt> queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,12 @@ import java.util.Date;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核明细表 服务实现类
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class CuRegionAssessDetailServiceImpl extends ServiceImpl<CuRegionAssessDetailMapper, CuRegionAssessDetail> implements ICuRegionAssessDetailService {
 | 
			
		||||
| 
						 | 
				
			
			@ -45,5 +50,8 @@ public class CuRegionAssessDetailServiceImpl extends ServiceImpl<CuRegionAssessD
 | 
			
		|||
        baseMapper.updateCuRegionAssessDetailInit(assessDate);
 | 
			
		||||
        // 验证汇总业绩和小区业绩是否满足条件,汇总业绩满足30000,小区满足100000,变更为考核通过
 | 
			
		||||
        baseMapper.updateCuRegionAssessDetailByPv(assessDate);
 | 
			
		||||
        // 手动开区域由免考修改为正常考核。到期后,验证近6个月的考核结果,达标3次,继续有奖衔,否则没有
 | 
			
		||||
//        baseMapper.updateCuRegionAssessDetailByHand(assessDate);
 | 
			
		||||
        // 更新主表,更新达标次数
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,9 @@
 | 
			
		|||
package com.hzs.bonus.detail.service.impl;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
			
		||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
 | 
			
		||||
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
 | 
			
		||||
import com.hzs.bonus.detail.mapper.CuRegionAssessMapper;
 | 
			
		||||
import com.hzs.bonus.detail.service.ICuRegionAssessDetailService;
 | 
			
		||||
| 
						 | 
				
			
			@ -11,13 +12,14 @@ import com.hzs.bonus.detail.vo.CuRegionAssessDetailVO;
 | 
			
		|||
import com.hzs.bonus.detail.vo.CuRegionAssessVO;
 | 
			
		||||
import com.hzs.bonus.param.CuRegionAssessParam;
 | 
			
		||||
import com.hzs.common.core.constant.MagicNumberConstants;
 | 
			
		||||
import com.hzs.common.core.constant.TableNameConstants;
 | 
			
		||||
import com.hzs.common.core.enums.EDataSource;
 | 
			
		||||
import com.hzs.common.core.utils.DateUtils;
 | 
			
		||||
import com.hzs.common.domain.member.detail.CuRegionAssess;
 | 
			
		||||
import com.hzs.common.domain.member.detail.CuRegionAssessDetail;
 | 
			
		||||
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
 | 
			
		||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
 | 
			
		||||
import com.hzs.retail.member.IMemberRetailApi;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.apache.dubbo.config.annotation.DubboReference;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
| 
						 | 
				
			
			@ -27,17 +29,21 @@ import java.time.temporal.ChronoUnit;
 | 
			
		|||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核 服务实现类
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Service
 | 
			
		||||
public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper, CuRegionAssess> implements ICuRegionAssessService {
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IMemberRetailApi iMemberRetailApi;
 | 
			
		||||
    private IMemberRetailApi memberRetailApi;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ICuRegionAssessDetailService iCuRegionAssessDetailService;
 | 
			
		||||
    private ICuRegionAssessDetailService cuRegionAssessDetailService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private CuMemberBonusSettle cuMemberBonusSettle;
 | 
			
		||||
| 
						 | 
				
			
			@ -48,23 +54,14 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
 | 
			
		|||
        // 每月1号进行考核,结算上月最后一期的时候进行区域达标考核
 | 
			
		||||
        Date assDate = DateUtils.parseStringToDate(settleDate);
 | 
			
		||||
        Date assessDate = DateUtils.afterDate(1, ChronoUnit.DAYS, assDate);
 | 
			
		||||
 | 
			
		||||
        log.info("assDate : {}", DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, assDate));
 | 
			
		||||
        log.info("assessDate : {}", DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, assessDate));
 | 
			
		||||
 | 
			
		||||
        if (DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, assessDate).endsWith("01")) {
 | 
			
		||||
            // 当月第一天
 | 
			
		||||
            Date startDate = DateUtils.currentMonthFirstDate(assDate);
 | 
			
		||||
 | 
			
		||||
            log.info("startDate : {}", DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, startDate));
 | 
			
		||||
 | 
			
		||||
            // 清空 1 号到 今天 的考核数据
 | 
			
		||||
            iCuRegionAssessDetailService.updateAssessRegionDetailByDate(startDate, assessDate);
 | 
			
		||||
            // 清空数据,7天内重算,查找结算开始日期相同的是第一次考核,清空明细表、主表
 | 
			
		||||
            // 清空数据,之前有区域,然后掉区域了,新的月份又有了 update
 | 
			
		||||
            cuRegionAssessDetailService.updateAssessRegionDetailByDate(startDate, assessDate);
 | 
			
		||||
            baseMapper.updateAssessRegionByDate(startDate, assessDate);
 | 
			
		||||
            deleteAssessRegionByDate(assessDate, 1);
 | 
			
		||||
 | 
			
		||||
            // 生成6期待考核数据,查询上月的区域,第一次考核的时候,明细生成6期
 | 
			
		||||
            // 查询目前有效的区域配置
 | 
			
		||||
            List<CuMemberRetailRegion> memberRetailRegionList = baseMapper.queryCuMemberRetailRegion(startDate, assessDate);
 | 
			
		||||
            if (memberRetailRegionList.size() > 0) {
 | 
			
		||||
                Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
 | 
			
		||||
| 
						 | 
				
			
			@ -95,19 +92,18 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
 | 
			
		|||
                }
 | 
			
		||||
                saveCuRegionAssess(regionAssessMap, regionAssessDetailList);
 | 
			
		||||
            }
 | 
			
		||||
            iCuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate);
 | 
			
		||||
            cuRegionAssessDetailService.assessCuRegionAssessDetail(rangeTableName, assessDate);
 | 
			
		||||
            baseMapper.mergeCuRegionAssess(assessDate);
 | 
			
		||||
 | 
			
		||||
            // 取消区域列表
 | 
			
		||||
            List<Long> cancelRegionList = new ArrayList<>();
 | 
			
		||||
            // 开始考核,将 上月最后一天,奖衔、业绩同步到考核表中
 | 
			
		||||
            // 查询主表考核结束日期=考核日期的,这部分需要生成下6期,最后一期结算完,验证是否达标,达标后继续生成下一期,不达标取消区域
 | 
			
		||||
            // 查询考核结束日期次数不达标的区域,进行区域取消处理
 | 
			
		||||
            List<CuRegionAssess> cuRegionAssessList = queryCuRegionAssessByEndDate(assessDate);
 | 
			
		||||
            List<Long> cancelRegionList = new ArrayList<>();
 | 
			
		||||
            Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
 | 
			
		||||
            List<CuRegionAssessDetail> regionAssessDetailList = new ArrayList<>();
 | 
			
		||||
            for (CuRegionAssess cuRegionAssess : cuRegionAssessList) {
 | 
			
		||||
                if (cuRegionAssess.getReachNum() < 3) {
 | 
			
		||||
                // 手动开区域的不参与考核,只有会员端选区域的参与考核
 | 
			
		||||
                if (cuRegionAssess.getReachNum() < 3 && cuRegionAssess.getSource() == 1) {
 | 
			
		||||
                    cancelRegionList.add(cuRegionAssess.getPkRegion());
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -140,13 +136,16 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
 | 
			
		|||
            // 查询到期日期的区域,验证近6个月的达标次数,不达标取消
 | 
			
		||||
//            validateHandAreaAssess(assessDate, startDate, cancelRegionList);
 | 
			
		||||
            if (cancelRegionList.size() > 0) {
 | 
			
		||||
                if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
 | 
			
		||||
                if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
 | 
			
		||||
                    throw new RuntimeException("区域更新失败");
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 定时处理会员收益区域(处理前三天)
 | 
			
		||||
     **/
 | 
			
		||||
    @Override
 | 
			
		||||
    public void validateHandAreaAssess(Date startDate, Date endDate) {
 | 
			
		||||
        List<Long> cancelRegionList = new ArrayList<>();
 | 
			
		||||
| 
						 | 
				
			
			@ -170,7 +169,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
 | 
			
		|||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (cancelRegionList.size() > 0) {
 | 
			
		||||
            if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
 | 
			
		||||
            if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
 | 
			
		||||
                throw new RuntimeException("区域更新失败");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -194,20 +193,21 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
 | 
			
		|||
        }
 | 
			
		||||
        // 主表
 | 
			
		||||
        List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuRegionAssessList);
 | 
			
		||||
        lists.forEach(list -> baseMapper.batchInsertCuRegionAssess(list));
 | 
			
		||||
 | 
			
		||||
        List<Long> idList = iCuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
 | 
			
		||||
        lists.forEach(list ->
 | 
			
		||||
                baseMapper.batchInsertCuRegionAssess(list));
 | 
			
		||||
        List<Long> idList = cuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
 | 
			
		||||
        for (int j = 0; j < regionAssessDetailList.size(); j++) {
 | 
			
		||||
            regionAssessDetailList.get(j).setPkId(idList.get(j));
 | 
			
		||||
        }
 | 
			
		||||
        // 明细表
 | 
			
		||||
        List<List<?>> detailList = cuMemberBonusSettle.handleCutList(regionAssessDetailList);
 | 
			
		||||
        detailList.forEach(detail -> iCuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
 | 
			
		||||
        detailList.forEach(detail ->
 | 
			
		||||
                cuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    List<CuRegionAssess> queryCuRegionAssessByEndDate(Date settleDate) {
 | 
			
		||||
        LambdaQueryWrapper<CuRegionAssess> queryWrapper = new LambdaQueryWrapper<>();
 | 
			
		||||
        queryWrapper.eq(CuRegionAssess::getAssessEndDate, settleDate);
 | 
			
		||||
        QueryWrapper<CuRegionAssess> queryWrapper = new QueryWrapper<>();
 | 
			
		||||
        queryWrapper.eq("ASSESS_END_DATE", settleDate);
 | 
			
		||||
        return baseMapper.selectList(queryWrapper);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -215,7 +215,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
 | 
			
		|||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod) {
 | 
			
		||||
        // 7天内重算
 | 
			
		||||
        iCuRegionAssessDetailService.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
 | 
			
		||||
        cuRegionAssessDetailService.deleteAssessRegionDetailByDate(assessStartDate, assessPeriod);
 | 
			
		||||
        baseMapper.deleteAssessRegionByDate(assessStartDate, assessPeriod);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,7 +63,6 @@
 | 
			
		|||
        <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">
 | 
			
		||||
| 
						 | 
				
			
			@ -358,8 +357,7 @@
 | 
			
		|||
            bw.month_repurchase_ratio,
 | 
			
		||||
            bw.benefit_avg_ratio,
 | 
			
		||||
            bw.benefit_share_ratio,
 | 
			
		||||
            br.name country_name,
 | 
			
		||||
            bv.region_vertex_pk_id
 | 
			
		||||
            br.name country_name
 | 
			
		||||
            from (
 | 
			
		||||
            select * from ${tableName}
 | 
			
		||||
            start with pk_member = #{item}
 | 
			
		||||
| 
						 | 
				
			
			@ -373,8 +371,6 @@
 | 
			
		|||
            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>
 | 
			
		||||
| 
						 | 
				
			
			@ -530,11 +526,10 @@
 | 
			
		|||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="batchQueryMemberRetailRangeByCounty" resultMap="CuMemberRetailRangeExt">
 | 
			
		||||
        select a.pk_member,
 | 
			
		||||
               a.pk_parent,
 | 
			
		||||
               a.member_code,
 | 
			
		||||
               a.member_name,
 | 
			
		||||
               a.pk_vertex,
 | 
			
		||||
        select pk_member,
 | 
			
		||||
               pk_parent,
 | 
			
		||||
               member_code,
 | 
			
		||||
               member_name,
 | 
			
		||||
               a.pk_rate,
 | 
			
		||||
               a.pk_grade,
 | 
			
		||||
               a.pk_awards,
 | 
			
		||||
| 
						 | 
				
			
			@ -544,7 +539,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,
 | 
			
		||||
| 
						 | 
				
			
			@ -556,8 +551,7 @@
 | 
			
		|||
               bw.month_repurchase_ratio,
 | 
			
		||||
               bw.benefit_avg_ratio,
 | 
			
		||||
               bw.benefit_share_ratio,
 | 
			
		||||
               a.system_type,
 | 
			
		||||
               bv.region_vertex_pk_id
 | 
			
		||||
               a.system_type
 | 
			
		||||
        from ${rangeTableName} a
 | 
			
		||||
                 inner join bd_awards bw
 | 
			
		||||
                            on bw.pk_id = a.pk_awards
 | 
			
		||||
| 
						 | 
				
			
			@ -567,8 +561,6 @@
 | 
			
		|||
                            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
 | 
			
		||||
| 
						 | 
				
			
			@ -599,8 +591,7 @@
 | 
			
		|||
               bw.month_repurchase_ratio,
 | 
			
		||||
               bw.benefit_avg_ratio,
 | 
			
		||||
               bw.benefit_share_ratio,
 | 
			
		||||
               nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status,
 | 
			
		||||
               bv.region_vertex_pk_id
 | 
			
		||||
               nvl(nvl(sc.enable_status, r.enable_status), 1) enable_status
 | 
			
		||||
        from cu_member cm
 | 
			
		||||
                 inner join bd_awards bw
 | 
			
		||||
                            on bw.pk_id = cm.pk_awards
 | 
			
		||||
| 
						 | 
				
			
			@ -616,8 +607,6 @@
 | 
			
		|||
                           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
 | 
			
		||||
| 
						 | 
				
			
			@ -672,8 +661,7 @@
 | 
			
		|||
               bw.benefit_share_ratio,
 | 
			
		||||
               bws.awards_value                                  share_awards_value,
 | 
			
		||||
               br.name                                           country_name,
 | 
			
		||||
               cr.county                                         region_address,
 | 
			
		||||
               bv.region_vertex_pk_id
 | 
			
		||||
               cr.county                                         region_address
 | 
			
		||||
        from (
 | 
			
		||||
                 select *
 | 
			
		||||
                 from ${secondTableName} start with pk_member = #{pkMember}
 | 
			
		||||
| 
						 | 
				
			
			@ -693,8 +681,6 @@
 | 
			
		|||
                           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>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,6 +72,17 @@
 | 
			
		|||
        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,7 +77,19 @@
 | 
			
		|||
        </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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -244,6 +244,37 @@
 | 
			
		|||
        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 < #{endDate, jdbcType=DATE}
 | 
			
		||||
        </if>
 | 
			
		||||
        group by cb.period,cp.settle_date
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="queryMemberBonusByCondition" resultMap="CuMemberBonus">
 | 
			
		||||
        select cp.settle_date,
 | 
			
		||||
        cb.direct_income,
 | 
			
		||||
| 
						 | 
				
			
			@ -560,6 +591,18 @@
 | 
			
		|||
        from dual connect by rownum <= #{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 < #{endPeriod}
 | 
			
		||||
        group by cb.pk_member
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <update id="recalculateTeamNewBoxNum">
 | 
			
		||||
        MERGE INTO ${retailsTableName} s
 | 
			
		||||
            USING (
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
<?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>
 | 
			
		||||
| 
						 | 
				
			
			@ -4,53 +4,51 @@
 | 
			
		|||
 | 
			
		||||
    <!-- 通用查询映射结果 -->
 | 
			
		||||
    <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,45 +4,62 @@
 | 
			
		|||
 | 
			
		||||
    <!-- 通用查询映射结果 -->
 | 
			
		||||
    <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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
<?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>
 | 
			
		||||
| 
						 | 
				
			
			@ -4,133 +4,101 @@
 | 
			
		|||
 | 
			
		||||
    <!-- 通用查询映射结果 -->
 | 
			
		||||
    <resultMap id="CuRegionAssessDetail" type="com.hzs.common.domain.member.detail.CuRegionAssessDetail">
 | 
			
		||||
        <id column="PK_ID" property="pkId"/>
 | 
			
		||||
        <result column="PK_MEMBER" property="pkMember"/>
 | 
			
		||||
        <result column="DEL_FLAG" property="delFlag"/>
 | 
			
		||||
        <result column="PK_COUNTRY" property="pkCountry"/>
 | 
			
		||||
        <result column="CREATION_TIME" property="creationTime"/>
 | 
			
		||||
        <result column="PK_CREATOR" property="pkCreator"/>
 | 
			
		||||
        <result column="MODIFIED_TIME" property="modifiedTime"/>
 | 
			
		||||
        <result column="PK_MODIFIED" property="pkModified"/>
 | 
			
		||||
        <result column="PK_REGION_ASSESS" property="pkRegionAssess"/>
 | 
			
		||||
        <result column="ASSESS_DATE" property="assessDate"/>
 | 
			
		||||
        <result column="PK_AWARDS" property="pkAwards"/>
 | 
			
		||||
        <result column="TEAM_MONTH_PV" property="teamMonthPv"/>
 | 
			
		||||
        <result column="SMALL_AREA_PV" property="smallAreaPv"/>
 | 
			
		||||
        <result column="ASSESS_STATUS" property="assessStatus"/>
 | 
			
		||||
        <id column="PK_ID" property="pkId" />
 | 
			
		||||
        <result column="PK_MEMBER" property="pkMember" />
 | 
			
		||||
        <result column="DEL_FLAG" property="delFlag" />
 | 
			
		||||
        <result column="PK_COUNTRY" property="pkCountry" />
 | 
			
		||||
        <result column="CREATION_TIME" property="creationTime" />
 | 
			
		||||
        <result column="PK_CREATOR" property="pkCreator" />
 | 
			
		||||
        <result column="MODIFIED_TIME" property="modifiedTime" />
 | 
			
		||||
        <result column="PK_MODIFIED" property="pkModified" />
 | 
			
		||||
        <result column="PK_REGION_ASSESS" property="pkRegionAssess" />
 | 
			
		||||
        <result column="ASSESS_DATE" property="assessDate" />
 | 
			
		||||
        <result column="PK_AWARDS" property="pkAwards" />
 | 
			
		||||
        <result column="TEAM_MONTH_PV" property="teamMonthPv" />
 | 
			
		||||
        <result column="SMALL_AREA_PV" property="smallAreaPv" />
 | 
			
		||||
        <result column="ASSESS_STATUS" property="assessStatus" />
 | 
			
		||||
    </resultMap>
 | 
			
		||||
 | 
			
		||||
    <insert id="batchInsertCuRegionAssessDetail">
 | 
			
		||||
        insert ALL
 | 
			
		||||
        <foreach item="item" index="index" collection="cuRegionAssessDetailList" separator=" ">
 | 
			
		||||
            into cu_region_assess_detail (
 | 
			
		||||
            pk_id, pk_member, pk_region_assess, assess_date,
 | 
			
		||||
            pk_creator, pk_country)
 | 
			
		||||
            values (
 | 
			
		||||
            #{item.pkId}, #{item.pkMember}, #{item.pkRegionAssess}, #{item.assessDate},
 | 
			
		||||
            #{item.pkCreator}, #{item.pkCountry})
 | 
			
		||||
        <foreach item="item" index="index" collection="cuRegionAssessDetailList" separator=" " >
 | 
			
		||||
            into cu_region_assess_detail(pk_id,pk_member,pk_region_assess,assess_date,pk_creator,pk_country) values
 | 
			
		||||
            (
 | 
			
		||||
            #{item.pkId},#{item.pkMember},#{item.pkRegionAssess},#{item.assessDate},#{item.pkCreator},#{item.pkCountry}
 | 
			
		||||
            )
 | 
			
		||||
        </foreach>
 | 
			
		||||
        SELECT 1 FROM dual
 | 
			
		||||
    </insert>
 | 
			
		||||
 | 
			
		||||
    <update id="mergeCuRegionAssessDetailTeamPv">
 | 
			
		||||
        merge into cu_region_assess_detail a
 | 
			
		||||
            using (
 | 
			
		||||
                select cd.pk_id,
 | 
			
		||||
                       cr.pk_member,
 | 
			
		||||
                       cr.pk_awards,
 | 
			
		||||
                       (cr.month_consume_pv + cr.team_month_pv) team_month_pv
 | 
			
		||||
                from cu_region_assess_detail cd
 | 
			
		||||
                         inner join ${rangeTableName} cr
 | 
			
		||||
                                    on cd.pk_member = cr.pk_member
 | 
			
		||||
                where cd.del_flag = 0
 | 
			
		||||
                  and cd.assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
            using(
 | 
			
		||||
                select cd.pk_id,cr.pk_member,cr.pk_awards,
 | 
			
		||||
                       (cr.month_consume_pv+cr.team_month_pv) team_month_pv  from cu_region_assess_detail cd
 | 
			
		||||
                  inner join ${rangeTableName} cr
 | 
			
		||||
                  on cd.pk_member=cr.pk_member
 | 
			
		||||
                where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
            ) b
 | 
			
		||||
            on (a.pk_id = b.pk_id)
 | 
			
		||||
            on(a.pk_id=b.pk_id)
 | 
			
		||||
            when matched then
 | 
			
		||||
                update set a.pk_awards = b.pk_awards, a.team_month_pv = b.team_month_pv
 | 
			
		||||
            WHERE a.pk_awards != b.pk_awards
 | 
			
		||||
            OR a.team_month_pv != b.team_month_pv
 | 
			
		||||
                update set a.pk_awards=b.pk_awards,a.team_month_pv=b.team_month_pv
 | 
			
		||||
            WHERE a.pk_awards != b.pk_awards OR a.team_month_pv != b.team_month_pv
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <update id="mergeCuRegionAssessDetailSmallAreaPv">
 | 
			
		||||
        merge into cu_region_assess_detail a
 | 
			
		||||
            using (
 | 
			
		||||
                select pk_id, max(big_area_pv) big_area_pv
 | 
			
		||||
                from (
 | 
			
		||||
                         select cd.pk_id, b.*
 | 
			
		||||
                         from cu_region_assess_detail cd
 | 
			
		||||
                                  inner join (
 | 
			
		||||
                             select pk_parent pk_member, (month_consume_pv + team_month_pv) big_area_pv
 | 
			
		||||
                             from ${rangeTableName}
 | 
			
		||||
                             union
 | 
			
		||||
                             select pk_member, month_consume_pv big_area_pv
 | 
			
		||||
                             from ${rangeTableName}
 | 
			
		||||
                         ) b
 | 
			
		||||
                                             on cd.pk_member = b.pk_member
 | 
			
		||||
                         where cd.del_flag = 0
 | 
			
		||||
                           and cd.assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
                     )
 | 
			
		||||
            using(
 | 
			
		||||
                select pk_id,max(big_area_pv) big_area_pv from(
 | 
			
		||||
            select cd.pk_id,b.* from cu_region_assess_detail cd
 | 
			
		||||
            inner join(
 | 
			
		||||
            select pk_parent pk_member,(month_consume_pv+team_month_pv) big_area_pv from ${rangeTableName}
 | 
			
		||||
            union
 | 
			
		||||
            select pk_member,month_consume_pv big_area_pv from ${rangeTableName}) b
 | 
			
		||||
            on cd.pk_member=b.pk_member
 | 
			
		||||
            where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
            )
 | 
			
		||||
                group by pk_id
 | 
			
		||||
            ) b
 | 
			
		||||
            on (a.pk_id = b.pk_id)
 | 
			
		||||
            on(a.pk_id=b.pk_id)
 | 
			
		||||
            when matched then
 | 
			
		||||
                update set a.small_area_pv = a.team_month_pv - b.big_area_pv
 | 
			
		||||
                update set a.small_area_pv=a.team_month_pv-b.big_area_pv
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <update id="updateCuRegionAssessDetailInit">
 | 
			
		||||
        update cu_region_assess_detail
 | 
			
		||||
        set assess_status = 2
 | 
			
		||||
        where del_flag = 0
 | 
			
		||||
          and assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
        update cu_region_assess_detail set assess_status=2 where del_flag=0 and assess_date=#{assessDate, jdbcType=DATE}
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <update id="updateCuRegionAssessDetailByPv">
 | 
			
		||||
        update cu_region_assess_detail
 | 
			
		||||
        set assess_status = 0
 | 
			
		||||
        where del_flag = 0
 | 
			
		||||
          and team_month_pv >= 300000
 | 
			
		||||
          and small_area_pv >= 100000
 | 
			
		||||
        update cu_region_assess_detail set assess_status=0
 | 
			
		||||
        where del_flag=0 and team_month_pv>=46875 and small_area_pv>=15625
 | 
			
		||||
          and assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <update id="updateAssessRegionDetailByDate">
 | 
			
		||||
        update cu_region_assess_detail
 | 
			
		||||
        set del_flag      = 1,
 | 
			
		||||
            modified_time = sysdate
 | 
			
		||||
        where pk_region_assess in (
 | 
			
		||||
            select ca.pk_id
 | 
			
		||||
            from cu_region_assess ca
 | 
			
		||||
                     inner join (
 | 
			
		||||
                select pk_id
 | 
			
		||||
                from cu_member_retail_region
 | 
			
		||||
                where effective = 0
 | 
			
		||||
                  and del_flag = 0
 | 
			
		||||
                  and nvl(modified_time, creation_time) >= #{assessStartDate, jdbcType=DATE}
 | 
			
		||||
                  and nvl(modified_time, creation_time) < #{assessEndDate, jdbcType=DATE}
 | 
			
		||||
            ) b
 | 
			
		||||
                                on ca.pk_region = b.pk_id
 | 
			
		||||
            where ca.del_flag = 0
 | 
			
		||||
              and ca.assess_start_date != #{assessEndDate,jdbcType=DATE})
 | 
			
		||||
    <update id="updateCuRegionAssessDetailByHand">
 | 
			
		||||
        update cu_region_assess_detail set assess_status=0
 | 
			
		||||
        where del_flag=0 and assess_date = #{assessDate, jdbcType=DATE}
 | 
			
		||||
        and pk_region_assess in(select pk_id from cu_region_assess where del_flag=0 and source=2)
 | 
			
		||||
    </update>
 | 
			
		||||
    <update id="updateAssessRegionDetailByDate">
 | 
			
		||||
        update cu_region_assess_detail set del_flag=1,modified_time=sysdate where pk_region_assess in(
 | 
			
		||||
        select ca.pk_id from cu_region_assess ca
 | 
			
		||||
        inner join (
 | 
			
		||||
        select pk_id from cu_member_retail_region
 | 
			
		||||
        where effective=0 and del_flag=0
 | 
			
		||||
        and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE}
 | 
			
		||||
        and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE}
 | 
			
		||||
        ) b
 | 
			
		||||
        on ca.pk_region =b.pk_id
 | 
			
		||||
        where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <delete id="deleteAssessRegionDetailByDate">
 | 
			
		||||
        delete from cu_region_assess_detail
 | 
			
		||||
        where del_flag = 0 and
 | 
			
		||||
        pk_region_assess in (
 | 
			
		||||
        select pk_id from cu_region_assess
 | 
			
		||||
        where del_flag = 0
 | 
			
		||||
        and assess_start_date = #{assessStartDate, jdbcType=DATE}
 | 
			
		||||
        <choose>
 | 
			
		||||
            <when test="assessPeriod == 1">and assess_period = #{assessPeriod}</when>
 | 
			
		||||
            <otherwise>and assess_period >= #{assessPeriod}</otherwise>
 | 
			
		||||
        </choose>
 | 
			
		||||
        delete from cu_region_assess_detail where del_flag=0 and
 | 
			
		||||
        pk_region_assess in(
 | 
			
		||||
           select pk_id from cu_region_assess where del_flag=0 and
 | 
			
		||||
               assess_start_date=#{assessStartDate, jdbcType=DATE}
 | 
			
		||||
            <choose>
 | 
			
		||||
                <when test="assessPeriod == 1">and assess_period=#{assessPeriod}</when>
 | 
			
		||||
                <otherwise>and assess_period >= #{assessPeriod}</otherwise>
 | 
			
		||||
            </choose>
 | 
			
		||||
        )
 | 
			
		||||
    </delete>
 | 
			
		||||
 | 
			
		||||
    <select id="batchQueryCuRegionAssessDetailSeq" resultType="java.lang.Long">
 | 
			
		||||
        select cu_region_assess_detail_seq.nextval
 | 
			
		||||
        from dual connect by rownum <= #{rowNum}
 | 
			
		||||
        select cu_region_assess_detail_seq.nextval from dual connect by rownum <= #{rowNum}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,119 +4,96 @@
 | 
			
		|||
 | 
			
		||||
    <!-- 通用查询映射结果 -->
 | 
			
		||||
    <resultMap id="CuRegionAssessExt" type="com.hzs.common.domain.member.detail.ext.CuRegionAssessExt">
 | 
			
		||||
        <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="PK_CREATOR" property="pkCreator"/>
 | 
			
		||||
        <result column="MODIFIED_TIME" property="modifiedTime"/>
 | 
			
		||||
        <result column="PK_MODIFIED" property="pkModified"/>
 | 
			
		||||
        <result column="PK_MEMBER" property="pkMember"/>
 | 
			
		||||
        <result column="PK_REGION" property="pkRegion"/>
 | 
			
		||||
        <result column="ASSESS_PERIOD" property="assessPeriod"/>
 | 
			
		||||
        <result column="ASSESS_START_DATE" property="assessStartDate"/>
 | 
			
		||||
        <result column="ASSESS_END_DATE" property="assessEndDate"/>
 | 
			
		||||
        <result column="REACH_NUM" property="reachNum"/>
 | 
			
		||||
        <result column="SOURCE" property="source"/>
 | 
			
		||||
        <result column="MEMBER_CODE" property="memberCode"/>
 | 
			
		||||
        <result column="MEMBER_NAME" property="memberName"/>
 | 
			
		||||
        <result column="PROVINCE_NAME" property="provinceName"/>
 | 
			
		||||
        <result column="CITY_NAME" property="cityName"/>
 | 
			
		||||
        <result column="COUNTY_NAME" property="countyName"/>
 | 
			
		||||
        <result column="ASSESS_ADDRESS" property="assessAddress"/>
 | 
			
		||||
        <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="PK_CREATOR" property="pkCreator" />
 | 
			
		||||
        <result column="MODIFIED_TIME" property="modifiedTime" />
 | 
			
		||||
        <result column="PK_MODIFIED" property="pkModified" />
 | 
			
		||||
        <result column="PK_MEMBER" property="pkMember" />
 | 
			
		||||
        <result column="PK_REGION" property="pkRegion" />
 | 
			
		||||
        <result column="ASSESS_PERIOD" property="assessPeriod" />
 | 
			
		||||
        <result column="ASSESS_START_DATE" property="assessStartDate" />
 | 
			
		||||
        <result column="ASSESS_END_DATE" property="assessEndDate" />
 | 
			
		||||
        <result column="REACH_NUM" property="reachNum" />
 | 
			
		||||
        <result column="SOURCE" property="source" />
 | 
			
		||||
        <result column="MEMBER_CODE" property="memberCode" />
 | 
			
		||||
        <result column="MEMBER_NAME" property="memberName" />
 | 
			
		||||
        <result column="PROVINCE_NAME" property="provinceName" />
 | 
			
		||||
        <result column="CITY_NAME" property="cityName" />
 | 
			
		||||
        <result column="COUNTY_NAME" property="countyName" />
 | 
			
		||||
        <result column="ASSESS_ADDRESS" property="assessAddress" />
 | 
			
		||||
        <collection property="cuRegionAssessDetailList" ofType="com.hzs.common.domain.member.detail.CuRegionAssessDetail">
 | 
			
		||||
            <result column="ASSESS_DATE" property="assessDate"/>
 | 
			
		||||
            <result column="PK_AWARDS" property="pkAwards"/>
 | 
			
		||||
            <result column="TEAM_MONTH_PV" property="teamMonthPv"/>
 | 
			
		||||
            <result column="SMALL_AREA_PV" property="smallAreaPv"/>
 | 
			
		||||
            <result column="ASSESS_STATUS" property="assessStatus"/>
 | 
			
		||||
            <result column="ASSESS_DATE" property="assessDate" />
 | 
			
		||||
            <result column="PK_AWARDS" property="pkAwards" />
 | 
			
		||||
            <result column="TEAM_MONTH_PV" property="teamMonthPv" />
 | 
			
		||||
            <result column="SMALL_AREA_PV" property="smallAreaPv" />
 | 
			
		||||
            <result column="ASSESS_STATUS" property="assessStatus" />
 | 
			
		||||
        </collection>
 | 
			
		||||
    </resultMap>
 | 
			
		||||
 | 
			
		||||
    <insert id="batchInsertCuRegionAssess">
 | 
			
		||||
        insert ALL
 | 
			
		||||
        <foreach item="item" index="index" collection="cuRegionAssessList" separator=" ">
 | 
			
		||||
            into cu_region_assess (
 | 
			
		||||
            pk_id, pk_member, assess_period, pk_region,
 | 
			
		||||
            assess_start_date, assess_end_date,
 | 
			
		||||
            source, pk_creator, pk_country)
 | 
			
		||||
            values (
 | 
			
		||||
            #{item.pkId}, #{item.pkMember}, #{item.assessPeriod}, #{item.pkRegion},
 | 
			
		||||
            #{item.assessStartDate}, #{item.assessEndDate},
 | 
			
		||||
            #{item.source}, #{item.pkCreator}, #{item.pkCountry})
 | 
			
		||||
        <foreach item="item" index="index" collection="cuRegionAssessList" separator=" " >
 | 
			
		||||
            into cu_region_assess(pk_id,pk_member,assess_period,pk_region,assess_start_date,assess_end_date,
 | 
			
		||||
            source,pk_creator,pk_country) values
 | 
			
		||||
            (
 | 
			
		||||
            #{item.pkId},#{item.pkMember},#{item.assessPeriod},#{item.pkRegion},#{item.assessStartDate},#{item.assessEndDate},
 | 
			
		||||
            #{item.source},#{item.pkCreator},#{item.pkCountry}
 | 
			
		||||
            )
 | 
			
		||||
        </foreach>
 | 
			
		||||
        SELECT 1 FROM dual
 | 
			
		||||
    </insert>
 | 
			
		||||
 | 
			
		||||
    <update id="mergeCuRegionAssess">
 | 
			
		||||
        merge into CU_REGION_ASSESS a
 | 
			
		||||
            using (
 | 
			
		||||
                select cd.pk_region_assess, sum(1) REACH_NUM
 | 
			
		||||
                from cu_region_assess_detail cd
 | 
			
		||||
                         inner join cu_region_assess ca
 | 
			
		||||
                                    on cd.pk_region_assess = ca.pk_id
 | 
			
		||||
                where cd.ASSESS_STATUS = 0
 | 
			
		||||
                  and cd.del_flag = 0
 | 
			
		||||
                  and ca.del_flag = 0
 | 
			
		||||
                  and ca.assess_start_date <= #{assessDate,jdbcType=DATE}
 | 
			
		||||
                  and ca.assess_end_date >= #{assessDate,jdbcType=DATE}
 | 
			
		||||
            using(
 | 
			
		||||
                select cd.pk_region_assess,sum(1) REACH_NUM from cu_region_assess_detail cd
 | 
			
		||||
                inner join cu_region_assess ca
 | 
			
		||||
                on cd.pk_region_assess=ca.pk_id
 | 
			
		||||
                where cd.ASSESS_STATUS=0 and cd.del_flag=0 and ca.del_flag=0
 | 
			
		||||
                and ca.assess_start_date <= #{assessDate,jdbcType=DATE}
 | 
			
		||||
                and ca.assess_end_date >= #{assessDate,jdbcType=DATE}
 | 
			
		||||
                group by cd.pk_region_assess
 | 
			
		||||
            ) b
 | 
			
		||||
            on (a.pk_id = b.pk_region_assess)
 | 
			
		||||
            on (a.pk_id=b.pk_region_assess)
 | 
			
		||||
            when matched then
 | 
			
		||||
                update set a.REACH_NUM = b.REACH_NUM
 | 
			
		||||
                update set a.REACH_NUM=b.REACH_NUM
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <update id="updateAssessRegionByDate">
 | 
			
		||||
        update cu_region_assess
 | 
			
		||||
        set del_flag      = 1,
 | 
			
		||||
            modified_time = sysdate
 | 
			
		||||
        where pk_id in (
 | 
			
		||||
            select ca.pk_id
 | 
			
		||||
            from cu_region_assess ca
 | 
			
		||||
                     inner join (
 | 
			
		||||
                select pk_id
 | 
			
		||||
                from cu_member_retail_region
 | 
			
		||||
                where effective = 0
 | 
			
		||||
                  and del_flag = 0
 | 
			
		||||
                  and nvl(modified_time, creation_time) >= #{assessStartDate,jdbcType=DATE}
 | 
			
		||||
                  and nvl(modified_time, creation_time) < #{assessEndDate,jdbcType=DATE}
 | 
			
		||||
            ) b
 | 
			
		||||
                                on ca.pk_region = b.pk_id
 | 
			
		||||
            where ca.del_flag = 0
 | 
			
		||||
              and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
 | 
			
		||||
        update cu_region_assess set del_flag=1,modified_time=sysdate where pk_id in(
 | 
			
		||||
        select ca.pk_id from cu_region_assess ca
 | 
			
		||||
        inner join (
 | 
			
		||||
        select pk_id from cu_member_retail_region
 | 
			
		||||
        where effective=0 and del_flag=0
 | 
			
		||||
        and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE}
 | 
			
		||||
        and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE}
 | 
			
		||||
        ) b
 | 
			
		||||
        on ca.pk_region =b.pk_id
 | 
			
		||||
        where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <delete id="deleteAssessRegionByDate">
 | 
			
		||||
        delete from cu_region_assess where del_flag=0 and
 | 
			
		||||
        assess_start_date=#{assessStartDate, jdbcType=DATE}
 | 
			
		||||
            assess_start_date=#{assessStartDate, jdbcType=DATE}
 | 
			
		||||
        <choose>
 | 
			
		||||
            <when test="assessPeriod == 1">and assess_period=#{assessPeriod}</when>
 | 
			
		||||
            <otherwise>and assess_period >= #{assessPeriod}</otherwise>
 | 
			
		||||
        </choose>
 | 
			
		||||
    </delete>
 | 
			
		||||
 | 
			
		||||
    <select id="queryCuMemberRetailRegion" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
 | 
			
		||||
        select *
 | 
			
		||||
        from cu_member_retail_region
 | 
			
		||||
        where effective = 0
 | 
			
		||||
          and del_flag = 0
 | 
			
		||||
          and nvl(modified_time, creation_time) >= #{startDate, jdbcType=DATE}
 | 
			
		||||
          and nvl(modified_time, creation_time) < #{endDate, jdbcType=DATE}
 | 
			
		||||
        select * from cu_member_retail_region where effective=0 and del_flag=0
 | 
			
		||||
        and nvl(modified_time,creation_time)>= #{startDate, jdbcType=DATE}
 | 
			
		||||
        and nvl(modified_time,creation_time) < #{endDate, jdbcType=DATE}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="batchQueryCuRegionAssessSeq" resultType="java.lang.Long">
 | 
			
		||||
        select cu_region_assess_seq.nextval
 | 
			
		||||
        from dual connect by rownum <= #{rowNum}
 | 
			
		||||
        select cu_region_assess_seq.nextval from dual connect by rownum <= #{rowNum}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="queryRegionAssessByCondition" resultMap="CuRegionAssessExt">
 | 
			
		||||
        select cm.member_code,cm.member_name,ca.reach_num,ca.assess_period,
 | 
			
		||||
        ca.assess_start_date,ca.assess_end_date,ca.reach_num,
 | 
			
		||||
        (province.name||city.name||county.name) assess_address,
 | 
			
		||||
        cd.assess_date,cd.assess_status,cd.team_month_pv,cd.small_area_pv,
 | 
			
		||||
        cd.assess_status /* province.name,city.name,county.name,*/
 | 
			
		||||
        from cu_region_assess ca
 | 
			
		||||
               ca.assess_start_date,ca.assess_end_date,ca.reach_num,
 | 
			
		||||
               (province.name||city.name||county.name) assess_address,
 | 
			
		||||
               cd.assess_date,cd.assess_status,cd.team_month_pv,cd.small_area_pv,
 | 
			
		||||
               cd.assess_status /* province.name,city.name,county.name,*/
 | 
			
		||||
         from cu_region_assess ca
 | 
			
		||||
        inner join cu_region_assess_detail cd
 | 
			
		||||
        on ca.pk_id=cd.pk_region_assess
 | 
			
		||||
        inner join cu_member cm
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +103,7 @@
 | 
			
		|||
        left join bd_area province on province.PK_ID=cr.province
 | 
			
		||||
        left join bd_area city on city.PK_ID=cr.city
 | 
			
		||||
        left join bd_area county on county.PK_ID=cr.county
 | 
			
		||||
        where ca.del_flag=0 and cd.del_flag=0 and cm.del_flag=0 and cr.del_flag=0
 | 
			
		||||
        where ca.del_flag=0 and cd.del_flag=0  and cm.del_flag=0 and cr.del_flag=0
 | 
			
		||||
        <if test="regionAssessParam.assessDate != null">
 | 
			
		||||
            and cd.assess_date <= #{regionAssessParam.assessDate,jdbcType=DATE}
 | 
			
		||||
        </if>
 | 
			
		||||
| 
						 | 
				
			
			@ -144,25 +121,22 @@
 | 
			
		|||
        </if>
 | 
			
		||||
    </select>
 | 
			
		||||
    <select id="queryDueCuMemberRetailRegion" resultType="com.hzs.common.domain.retail.member.CuMemberRetailRegion">
 | 
			
		||||
        select *
 | 
			
		||||
        from cu_member_retail_region
 | 
			
		||||
        where effective = 0
 | 
			
		||||
          and del_flag = 0
 | 
			
		||||
          and effective_end_date >= #{startDate, jdbcType=DATE}
 | 
			
		||||
          and effective_end_date < #{endDate, jdbcType=DATE}
 | 
			
		||||
        select * from cu_member_retail_region where effective=0 and del_flag=0
 | 
			
		||||
        and effective_end_date>= #{startDate, jdbcType=DATE}
 | 
			
		||||
        and effective_end_date < #{endDate, jdbcType=DATE}
 | 
			
		||||
    </select>
 | 
			
		||||
    <select id="queryRegionAssessByDate"
 | 
			
		||||
            resultType="com.hzs.common.domain.member.detail.ext.CuRegionAssessExt">
 | 
			
		||||
        select cd.pk_member,count(cd.pk_id) pk_id from cu_region_assess ca
 | 
			
		||||
        inner join cu_region_assess_detail cd
 | 
			
		||||
        on ca.pk_id=cd.pk_region_assess
 | 
			
		||||
          inner join cu_region_assess_detail cd
 | 
			
		||||
                     on ca.pk_id=cd.pk_region_assess
 | 
			
		||||
        where ca.del_flag=0 and cd.del_flag=0
 | 
			
		||||
        and cd.assess_date>=#{startDate, jdbcType=DATE} and cd.assess_date <=#{endDate, jdbcType=DATE}
 | 
			
		||||
        and assess_status=0 and ca.pk_member in
 | 
			
		||||
          and cd.assess_date>=#{startDate, jdbcType=DATE} and cd.assess_date <=#{endDate, jdbcType=DATE}
 | 
			
		||||
          and assess_status=0 and ca.pk_member in
 | 
			
		||||
        <foreach collection="memberRetailRegionList" item="item" open="(" close=")" separator=",">
 | 
			
		||||
            #{item.pkMember}
 | 
			
		||||
        </foreach>
 | 
			
		||||
        group by cd.pk_member
 | 
			
		||||
          group by cd.pk_member
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 新零售会员dubbo服务
 | 
			
		||||
 * @Description: 新零售会员dubbo服务
 | 
			
		||||
 * @Author: jiang chao
 | 
			
		||||
 * @Time: 2024/12/31 13:40
 | 
			
		||||
 * @Classname: MemberRetailProvider
 | 
			
		||||
 * @PackageName: com.hzs.retail.member.provider
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@DubboService
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2648,18 +2648,10 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
 | 
			
		|||
                    throw new ServiceException("当前已经是可以购买的最高等级");
 | 
			
		||||
                }
 | 
			
		||||
                // 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数
 | 
			
		||||
                BigDecimal oldBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
 | 
			
		||||
                if (null != oldBoxNum) {
 | 
			
		||||
                    baseBoxNum = lastUpdateGrade.getBoxNumber().add(oldBoxNum);
 | 
			
		||||
                } else {
 | 
			
		||||
                    baseBoxNum = lastUpdateGrade.getBoxNumber();
 | 
			
		||||
                }
 | 
			
		||||
                baseBoxNum = lastUpdateGrade.getBoxNumber().add(saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType));
 | 
			
		||||
            } else {
 | 
			
		||||
                // 没有手动升级记录
 | 
			
		||||
                BigDecimal oldBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
 | 
			
		||||
                if (null != oldBoxNum) {
 | 
			
		||||
                    baseBoxNum = oldBoxNum;
 | 
			
		||||
                }
 | 
			
		||||
                baseBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return baseBoxNum;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -251,11 +251,4 @@ public class CuMemberRetailRange extends BaseEntity {
 | 
			
		|||
 | 
			
		||||
    @TableField("small_team_pv")
 | 
			
		||||
    private BigDecimal smallTeamPv;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 区域分组ID
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("region_vertex_pk_id")
 | 
			
		||||
    private Integer regionVertexPkId;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,12 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 特殊商品分配ev奖金明细
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2024-10-30
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,12 @@ import lombok.*;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员奖金-拓展收益明细表
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2022-11-15
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,12 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员奖金-直推历史轮次记录
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-09-10
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,12 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员奖金-分红奖金配置
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-07-03
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,12 @@ import lombok.*;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员奖金-理论最大分红奖金
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-01-06
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,7 @@ package com.hzs.common.domain.member.detail;
 | 
			
		|||
 | 
			
		||||
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,7 +10,12 @@ import lombok.*;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
 | 
			
		|||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.hzs.common.core.web.domain.BaseEntity;
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +12,12 @@ import lombok.*;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 新零售会员区域考核明细表
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2025-01-13
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			@ -52,7 +56,7 @@ public class CuRegionAssessDetail extends BaseEntity {
 | 
			
		|||
    private Date assessDate;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 会员奖衔
 | 
			
		||||
     * 会员等级
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("PK_AWARDS")
 | 
			
		||||
    private Integer pkAwards;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,20 +4,19 @@ import cn.hutool.http.HttpUtil;
 | 
			
		|||
import cn.hutool.json.JSONArray;
 | 
			
		||||
import cn.hutool.json.JSONObject;
 | 
			
		||||
import cn.hutool.json.JSONUtil;
 | 
			
		||||
import com.hzs.bonus.settle.IMemberSettleBonusApi;
 | 
			
		||||
import com.hzs.common.core.domain.R;
 | 
			
		||||
import com.hzs.common.core.utils.DateUtils;
 | 
			
		||||
import com.hzs.common.core.web.domain.AjaxResult;
 | 
			
		||||
import com.hzs.member.account.IMemberJobServiceApi;
 | 
			
		||||
import com.hzs.system.base.IAreaServiceApi;
 | 
			
		||||
import com.hzs.system.base.dto.AreaDTO;
 | 
			
		||||
import com.hzs.third.job.OrderJob;
 | 
			
		||||
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.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import java.time.temporal.ChronoUnit;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -33,16 +32,6 @@ public class JobTestController {
 | 
			
		|||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IMemberJobServiceApi iMemberJobServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IMemberSettleBonusApi iMemberSettleBonusApi;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/test-settle")
 | 
			
		||||
    public AjaxResult testSettle() {
 | 
			
		||||
        Date startDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate());
 | 
			
		||||
        iMemberSettleBonusApi.autoCalculateBonus(startDate);
 | 
			
		||||
        return AjaxResult.success();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 测试行政区划更新
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue