## 去掉结算中关于奖衔相关处理;
This commit is contained in:
parent
6d19e27afb
commit
a90d130371
|
@ -3,131 +3,44 @@ package com.hzs.bonus.achieve.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* Mapper 接口
|
||||||
* Mapper 接口
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2024-10-15
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberRangeMapper extends BaseMapper<CuMemberRange> {
|
public interface CuMemberRangeMapper extends BaseMapper<CuMemberRange> {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 当天的数据更新为0
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/18 11:12
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeMemberRangeInit(@Param("rangeTableName") String rangeTableName, @Param("isSameMonth") Integer isSameMonth);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 免考的会员修改为考核通过
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/21 14:30
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void updateMemberRangeByPurchase(@Param("rangeTableName") String rangeTableName);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 将昨天的业绩信息迁移到今天
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/18 11:09
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeMemberRangeByYesterday(@Param("rangeTableName") String rangeTableName, @Param("yesterdayRangeTableName") String yesterdayRangeTableName,
|
|
||||||
@Param("isSameMonth") Integer isSameMonth);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 更新极差秒接表,用昨天的结算表
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/22 14:23
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeMemberSecondRangeByRange(@Param("rangeTableName") String rangeTableName, @Param("secondRangeTableName") String secondRangeTableName,
|
|
||||||
@Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 根据会员查询会员上的所有网体
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/15 15:21
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
List<CuMemberRangeExt> queryCuMemberRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List<?> saOrderExtList);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 根据会员查询会员上的所有网体, 按照pkParent作为key
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/15 15:21
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
List<CuMemberRangeExt> queryCuMemberSecondRangeParent(@Param("rangeTableName") String rangeTableName, @Param("secondTableName") String tableName, @Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 14:06
|
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
List<CuMemberRangeExt> queryCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("pkParent") Long pkParent, @Param("orderDate") Date orderDate);
|
List<CuMemberRangeExt> queryCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("pkParent") Long pkParent, @Param("orderDate") Date orderDate);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 14:06
|
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
List<CuMemberRangeExt> querySecondCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("secondTableName") String secondTableName, @Param("pkParent") Long pkParent);
|
List<CuMemberRangeExt> querySecondCuMemberRangeExtByParent(@Param("tableName") String tableName, @Param("secondTableName") String secondTableName, @Param("pkParent") Long pkParent);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 批量更新网体
|
* 批量更新网体
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 15:10
|
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
void mergeCuMemberRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
|
void mergeCuMemberRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 批量更新网体
|
* 批量更新网体
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 15:10
|
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
void mergeSecondCuMemberRangeExt(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<CuMemberRangeExt> cuMemberRangeExtList);
|
void mergeSecondCuMemberRangeExt(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<CuMemberRangeExt> cuMemberRangeExtList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员树的累计业绩
|
|
||||||
*
|
|
||||||
* @param secondTableName 结算日期
|
|
||||||
* @param cuMemberRangeExtList 树
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/12/9 16:57
|
|
||||||
*/
|
|
||||||
void mergeCuMemberSecondRange(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 验证血缘部门 有多少个满足等级
|
* 验证血缘部门 有多少个满足等级
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 16:02
|
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
Integer validateCuMemberPlaceAwards(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<CuMemberRangeExt> cuMemberRangeExtList,
|
Integer validateCuMemberPlaceAwards(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<CuMemberRangeExt> cuMemberRangeExtList,
|
||||||
@Param("pkRangeAwards") Integer pkRangeAwards, @Param("orderDate") Date orderDate);
|
@Param("pkRangeAwards") Integer pkRangeAwards, @Param("orderDate") Date orderDate);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @description: 验证血缘部门 有多少个满足等级
|
* 验证血缘部门 有多少个满足等级
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 16:02
|
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
Integer validateSecondCuMemberPlaceAwards(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<CuMemberRangeExt> cuMemberRangeExtList,
|
Integer validateSecondCuMemberPlaceAwards(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<CuMemberRangeExt> cuMemberRangeExtList,
|
||||||
@Param("pkRangeAwards") Integer pkRangeAwards);
|
@Param("pkRangeAwards") Integer pkRangeAwards);
|
||||||
|
|
|
@ -86,11 +86,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List<?> saOrderExtList);
|
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List<?> saOrderExtList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员查询会员上的所有网体
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberSpeRetailRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List<?> saOrderExtList);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
*/
|
*/
|
||||||
|
@ -108,16 +103,6 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
@Param("secondTableName") String secondTableName,
|
@Param("secondTableName") String secondTableName,
|
||||||
@Param("pkMember") Long pkMember);
|
@Param("pkMember") Long pkMember);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表,查询自己和伞下
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberSecondRange(@Param("rangeTableName") String rangeTableName, @Param("secondTableName") String secondTableName, @Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表,查询自己和伞下
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberSecondRangeYes(@Param("rangeTableName") String rangeTableName, @Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 秒结:推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
* 秒结:推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -99,23 +99,6 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
*/
|
*/
|
||||||
Integer queryExistOrderTableCount(String tableName);
|
Integer queryExistOrderTableCount(String tableName);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询出符合下一等级足够业绩的会员
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
*/
|
|
||||||
List<CuMemberSettleExt> queryCuMemberSettleEnoughAwardAchieve(String settleTableName);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 回退会员奖衔
|
|
||||||
**/
|
|
||||||
void updateBackCuMemberSettleAward(@Param("settleTableName") String settleTableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 回退会员奖衔
|
|
||||||
**/
|
|
||||||
void updateBackCuMemberSettleRangeAward(@Param("rangeTableName") String rangeTableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 回退会员奖衔
|
* 回退会员奖衔
|
||||||
**/
|
**/
|
||||||
|
@ -161,30 +144,6 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
*/
|
*/
|
||||||
List<CuMemberSettleExt> batchQueryMemberSettleParentByMemberPk(@Param("settleTableName") String settleTableName, @Param("memberPkList") List<?> serviceMemberSet);
|
List<CuMemberSettleExt> batchQueryMemberSettleParentByMemberPk(@Param("settleTableName") String settleTableName, @Param("memberPkList") List<?> serviceMemberSet);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员结算表,查询出结算表中会员伞下左右区满足等级
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param awardsValue 验证等级对应的值
|
|
||||||
* @param placeDept 部门
|
|
||||||
* @param pkMember 会员
|
|
||||||
*/
|
|
||||||
Integer queryCuMemberSettlePlaceUnderUmbrella(@Param("settleTableName") String settleTableName,
|
|
||||||
@Param("awardsValue") Integer awardsValue,
|
|
||||||
@Param("placeDept") Integer placeDept,
|
|
||||||
@Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员结算表,查询出结算表中会员血缘关系满足等级
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param pkMember 会员
|
|
||||||
*/
|
|
||||||
Integer queryCuMemberSettleBloodUnderUmbrella(@Param("settleTableName") String settleTableName,
|
|
||||||
@Param("awardsValue") Integer awardsValue,
|
|
||||||
@Param("placeDept") Integer placeDept,
|
|
||||||
@Param("pkMember") Long pkMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量根据订单信息查询会员结算表中的数据
|
* 批量根据订单信息查询会员结算表中的数据
|
||||||
*
|
*
|
||||||
|
@ -212,13 +171,6 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
List<CuMemberSettleExt> batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName,
|
List<CuMemberSettleExt> batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName,
|
||||||
@Param("pkMemberList") List<?> pkMemberList);
|
@Param("pkMemberList") List<?> pkMemberList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员网体奖衔数据,更新月表、结算表
|
|
||||||
*
|
|
||||||
* @param updateTableName 更新表名
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberSettleByPeriod(@Param("updateTableName") String updateTableName, @Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员树的累计业绩
|
* 更新会员树的累计业绩
|
||||||
*
|
*
|
||||||
|
|
|
@ -3,123 +3,43 @@ package com.hzs.bonus.achieve.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 服务类
|
* 服务类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2024-10-15
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberRangeService extends IService<CuMemberRange> {
|
public interface ICuMemberRangeService extends IService<CuMemberRange> {
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 将昨天的业绩信息迁移到今天
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/18 11:09
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeMemberRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 更新极差秒接表,用昨天的结算表
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/22 14:23
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeMemberSecondRangeByRange(String rangeTableName, String secondRangeTableName, Long pkMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员树的累计业绩
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
*
|
|
||||||
* @param settleTableName 结算日期
|
|
||||||
* @param cuMemberTreeMap 树
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/12/9 16:57
|
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRange(String settleTableName, Map<Long, CuMemberRangeExt> cuMemberTreeMap);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员树的累计业绩
|
|
||||||
*
|
|
||||||
* @param secondTableName 结算日期
|
|
||||||
* @param cuMemberTreeMap 树
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/12/9 16:57
|
|
||||||
*/
|
|
||||||
void updateCuMemberSecondRange(String secondTableName, Map<Long, CuMemberRangeExt> cuMemberTreeMap);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 根据会员查询会员上的所有网体, 按照pkParent作为key
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/15 15:21
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
Map<Long, List<CuMemberRangeExt>> queryCuMemberRangeParent(String tableName, List<SaOrderExt> saOrderExtList);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/15 15:21
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
Map<Long, List<CuMemberRangeExt>> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
|
||||||
* @author: sui q
|
|
||||||
* @date: 2024/10/16 14:06
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
List<CuMemberRangeExt> queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate);
|
List<CuMemberRangeExt> queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @description: 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
* @author: sui q
|
*/
|
||||||
* @date: 2024/10/16 14:06
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
List<CuMemberRangeExt> querySecondCuMemberRangeExtByParent(String tableName, String secondTableName, Long pkParent);
|
List<CuMemberRangeExt> querySecondCuMemberRangeExtByParent(String tableName, String secondTableName, Long pkParent);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @description: 批量更新网体
|
* 批量更新网体
|
||||||
* @author: sui q
|
*/
|
||||||
* @date: 2024/10/16 15:10
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeCuMemberRangeExt(String rangeTableName, List<CuMemberRangeExt> cuMemberRangeExtList);
|
void mergeCuMemberRangeExt(String rangeTableName, List<CuMemberRangeExt> cuMemberRangeExtList);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @description: 批量更新网体
|
* 批量更新网体
|
||||||
* @author: sui q
|
*/
|
||||||
* @date: 2024/10/16 15:10
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
void mergeSecondCuMemberRangeExt(String secondTableName, List<CuMemberRangeExt> cuMemberRangeExtList);
|
void mergeSecondCuMemberRangeExt(String secondTableName, List<CuMemberRangeExt> cuMemberRangeExtList);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @description: 验证血缘部门 有多少个满足等级
|
* 验证血缘部门 有多少个满足等级
|
||||||
* @author: sui q
|
*/
|
||||||
* @date: 2024/10/16 16:02
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
Integer validateCuMemberPlaceAwards(String rangeTableName, List<CuMemberRangeExt> cuMemberRangeExtList, Integer pkRangeAwards, Date orderDate);
|
Integer validateCuMemberPlaceAwards(String rangeTableName, List<CuMemberRangeExt> cuMemberRangeExtList, Integer pkRangeAwards, Date orderDate);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* @description: 验证血缘部门 有多少个满足等级
|
* 验证血缘部门 有多少个满足等级
|
||||||
* @author: sui q
|
*/
|
||||||
* @date: 2024/10/16 16:02
|
|
||||||
* @param: null null
|
|
||||||
**/
|
|
||||||
Integer validateSecondCuMemberPlaceAwards(String secondTableName, List<CuMemberRangeExt> cuMemberRangeExtList, Integer pkRangeAwards);
|
Integer validateSecondCuMemberPlaceAwards(String secondTableName, List<CuMemberRangeExt> cuMemberRangeExtList, Integer pkRangeAwards);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ package com.hzs.bonus.achieve.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberSpeRetail;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
@ -27,11 +26,6 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeParent(String tableName, List<SaOrderExt> saOrderExtList);
|
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeParent(String tableName, List<SaOrderExt> saOrderExtList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员查询会员上的所有网体, 按照pkParent作为key
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberSpeRetailRangeParent(String tableName, List<CuMemberSpeRetail> memberSpeRetailList);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
*/
|
*/
|
||||||
|
@ -47,11 +41,6 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember);
|
List<CuMemberRetailRangeExt> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表,查询自己和伞下
|
|
||||||
*/
|
|
||||||
List<CuMemberRetailRangeExt> queryCuMemberSecondRange(String rangeTableName, String secondTableName, Long pkMember);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
|
||||||
*/
|
*/
|
||||||
|
@ -65,14 +54,6 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRetailRange(String settleTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
|
void updateCuMemberRetailRange(String settleTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员树的累计业绩
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算日期
|
|
||||||
* @param cuMemberRetailRangeExtList 树
|
|
||||||
*/
|
|
||||||
void updateCuMemberRetailRange(String settleTableName, List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员树的累计业绩
|
* 更新会员树的累计业绩
|
||||||
*
|
*
|
||||||
|
|
|
@ -52,23 +52,6 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
||||||
*/
|
*/
|
||||||
void createCuMemberTableSequence(String tableName, String tableNameSeq);
|
void createCuMemberTableSequence(String tableName, String tableNameSeq);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询出符合下一等级足够业绩的会员
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
*/
|
|
||||||
List<CuMemberSettleExt> queryCuMemberSettleEnoughAwardAchieve(String settleTableName);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 回退会员奖衔
|
|
||||||
**/
|
|
||||||
void updateBackCuMemberSettleAward(String settleTableName, Integer period);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 回退会员奖衔
|
|
||||||
**/
|
|
||||||
void updateBackCuMemberSettleRangeAward(String rangeTableName, Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回退会员奖衔
|
* 回退会员奖衔
|
||||||
*/
|
*/
|
||||||
|
@ -84,31 +67,6 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
||||||
*/
|
*/
|
||||||
void updateCuMemberRetailRangeInitAward(String rangeTableName);
|
void updateCuMemberRetailRangeInitAward(String rangeTableName);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员结算表,查询出结算表中会员伞下左右区满足等级
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param placeDept 部门
|
|
||||||
* @param awardsValue 奖衔对应的值
|
|
||||||
* @param pkMember 会员
|
|
||||||
*/
|
|
||||||
Boolean queryCuMemberSettlePlaceUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员结算表,查询出结算表中会员血缘关系满足等级
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param pkMember 会员
|
|
||||||
*/
|
|
||||||
Boolean queryCuMemberSettleBloodUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员网体奖衔数据,更新月表、结算表
|
|
||||||
*
|
|
||||||
* @param periodList 期间
|
|
||||||
*/
|
|
||||||
void updateCuMemberSettleByPeriod(List<Integer> periodList);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单,查询出网体中记录的会员数据,推荐人、安置人
|
* 根据订单,查询出网体中记录的会员数据,推荐人、安置人
|
||||||
*
|
*
|
||||||
|
|
|
@ -3,25 +3,15 @@ package com.hzs.bonus.achieve.service.impl;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.mapper.CuMemberRangeMapper;
|
import com.hzs.bonus.achieve.mapper.CuMemberRangeMapper;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberRangeService;
|
import com.hzs.bonus.achieve.service.ICuMemberRangeService;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
|
||||||
import com.hzs.common.core.utils.ComputeUtil;
|
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* 服务实现类
|
||||||
* 服务实现类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2024-10-15
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberRangeServiceImpl extends ServiceImpl<CuMemberRangeMapper, CuMemberRange> implements ICuMemberRangeService {
|
public class CuMemberRangeServiceImpl extends ServiceImpl<CuMemberRangeMapper, CuMemberRange> implements ICuMemberRangeService {
|
||||||
|
@ -29,71 +19,6 @@ public class CuMemberRangeServiceImpl extends ServiceImpl<CuMemberRangeMapper, C
|
||||||
@Autowired
|
@Autowired
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mergeMemberRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
|
|
||||||
if(isSameMonth) {
|
|
||||||
baseMapper.mergeMemberRangeInit(rangeTableName, 0);
|
|
||||||
baseMapper.mergeMemberRangeByYesterday(rangeTableName, yesterdayRangeTableName, 0);
|
|
||||||
}else{
|
|
||||||
baseMapper.mergeMemberRangeInit(rangeTableName, 1);
|
|
||||||
baseMapper.mergeMemberRangeByYesterday(rangeTableName, yesterdayRangeTableName, 1);
|
|
||||||
}
|
|
||||||
// 免考的会员修改为考核通过
|
|
||||||
baseMapper.updateMemberRangeByPurchase(rangeTableName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mergeMemberSecondRangeByRange(String rangeTableName, String secondRangeTableName, Long pkMember) {
|
|
||||||
baseMapper.mergeMemberSecondRangeByRange(rangeTableName, secondRangeTableName, pkMember);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberRange(String settleTableName, Map<Long, CuMemberRangeExt> cuMemberTreeMap) {
|
|
||||||
List<List<?>> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap);
|
|
||||||
treeList.forEach(list -> baseMapper.mergeCuMemberRangeExt(settleTableName, list));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberSecondRange(String secondTableName, Map<Long, CuMemberRangeExt> cuMemberTreeMap) {
|
|
||||||
List<List<?>> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap);
|
|
||||||
treeList.forEach(list -> baseMapper.mergeCuMemberSecondRange(secondTableName, list));
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<List<?>> setUpdCuMemberTreeLists(Map<Long, CuMemberRangeExt> cuMemberTreeMap) {
|
|
||||||
List<CuMemberRangeExt> cuMemberTreeList = new ArrayList<>();
|
|
||||||
cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value));
|
|
||||||
return cuMemberBonusSettle.handleCutList(cuMemberTreeList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<Long, List<CuMemberRangeExt>> queryCuMemberRangeParent(String tableName, List<SaOrderExt> saOrderExtList) {
|
|
||||||
List<CuMemberRangeExt> cuMemberRangeExtList = new ArrayList<>();
|
|
||||||
List<List<?>> cutOrderList = cuMemberBonusSettle.handleCutList(saOrderExtList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
|
||||||
cutOrderList.forEach(orderList ->
|
|
||||||
cuMemberRangeExtList.addAll(baseMapper.queryCuMemberRangeParent(tableName, orderList)));
|
|
||||||
return packageMemberRangeMap(cuMemberRangeExtList);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Map<Long, List<CuMemberRangeExt>> packageMemberRangeMap(List<CuMemberRangeExt> cuMemberRangeExtList) {
|
|
||||||
Map<Long, List<CuMemberRangeExt>> memberRangeMap = new HashMap<>();
|
|
||||||
for (CuMemberRangeExt cuMemberRangeExt : cuMemberRangeExtList) {
|
|
||||||
if(memberRangeMap.containsKey(cuMemberRangeExt.getPkParent())){
|
|
||||||
memberRangeMap.get(cuMemberRangeExt.getPkParent()).add(cuMemberRangeExt);
|
|
||||||
}else{
|
|
||||||
List<CuMemberRangeExt> memberRangeExtList = new ArrayList<>();
|
|
||||||
memberRangeExtList.add(cuMemberRangeExt);
|
|
||||||
memberRangeMap.put(cuMemberRangeExt.getPkParent(), memberRangeExtList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return memberRangeMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<Long, List<CuMemberRangeExt>> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember) {
|
|
||||||
List<CuMemberRangeExt> cuMemberRangeExtList = baseMapper.queryCuMemberSecondRangeParent(rangeTableName, secondTableName, pkMember);
|
|
||||||
return packageMemberRangeMap(cuMemberRangeExtList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberRangeExt> queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate) {
|
public List<CuMemberRangeExt> queryCuMemberRangeExtByParent(String tableName, Long pkParent, Date orderDate) {
|
||||||
return baseMapper.queryCuMemberRangeExtByParent(tableName, pkParent, orderDate);
|
return baseMapper.queryCuMemberRangeExtByParent(tableName, pkParent, orderDate);
|
||||||
|
@ -126,4 +51,5 @@ public class CuMemberRangeServiceImpl extends ServiceImpl<CuMemberRangeMapper, C
|
||||||
public Integer validateSecondCuMemberPlaceAwards(String secondTableName, List<CuMemberRangeExt> cuMemberRangeExtList, Integer pkRangeAwards) {
|
public Integer validateSecondCuMemberPlaceAwards(String secondTableName, List<CuMemberRangeExt> cuMemberRangeExtList, Integer pkRangeAwards) {
|
||||||
return baseMapper.validateSecondCuMemberPlaceAwards(secondTableName, cuMemberRangeExtList, pkRangeAwards);
|
return baseMapper.validateSecondCuMemberPlaceAwards(secondTableName, cuMemberRangeExtList, pkRangeAwards);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,6 @@ import com.hzs.bonus.base.service.ICuMemberService;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberSpeRetail;
|
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -24,8 +22,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||||
@Autowired
|
|
||||||
private ICuMemberService iCuMemberService;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mergeMemberRetailRangeByYesterday(Date settleEndDate, String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
|
public void mergeMemberRetailRangeByYesterday(Date settleEndDate, String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
|
||||||
|
@ -58,22 +54,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
return memberRetailRangeExtList;
|
return memberRetailRangeExtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> queryCuMemberSpeRetailRangeParent(String tableName, List<CuMemberSpeRetail> memberSpeRetailList) {
|
|
||||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList = new ArrayList<>();
|
|
||||||
List<Long> pkMemberList = new ArrayList<>();
|
|
||||||
for (CuMemberSpeRetail cuMemberSpeRetail : memberSpeRetailList) {
|
|
||||||
CuMemberExt cuMemberExt = iCuMemberService.getMemberByCode(cuMemberSpeRetail.getMemberCode());
|
|
||||||
if (cuMemberExt != null) {
|
|
||||||
pkMemberList.add(cuMemberExt.getPkId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
List<List<?>> cutOrderList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
|
||||||
cutOrderList.forEach(orderList ->
|
|
||||||
memberRetailRangeExtList.addAll(baseMapper.queryCuMemberSpeRetailRangeParent(tableName, orderList)));
|
|
||||||
return memberRetailRangeExtList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberRetailRangeExt> queryCuMemberRetailRangeExtByParent(String tableName, Long pkParent) {
|
public List<CuMemberRetailRangeExt> queryCuMemberRetailRangeExtByParent(String tableName, Long pkParent) {
|
||||||
return baseMapper.queryCuMemberRetailRangeExtByParent(tableName, pkParent);
|
return baseMapper.queryCuMemberRetailRangeExtByParent(tableName, pkParent);
|
||||||
|
@ -90,22 +70,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
return baseMapper.queryCuMemberSecondRangeParent(rangeTableName, secondTableName, pkMember);
|
return baseMapper.queryCuMemberSecondRangeParent(rangeTableName, secondTableName, pkMember);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberRetailRangeExt> queryCuMemberSecondRange(String rangeTableName, String secondTableName, Long pkMember) {
|
|
||||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = baseMapper.queryCuMemberSecondRange(rangeTableName, secondTableName, pkMember);
|
|
||||||
Map<Long, CuMemberRetailRangeExt> retailRangeExtMap = new HashMap<>();
|
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) {
|
|
||||||
retailRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt);
|
|
||||||
}
|
|
||||||
List<CuMemberRetailRangeExt> yesMemberRetailRangeExtList = baseMapper.queryCuMemberSecondRangeYes(rangeTableName, pkMember);
|
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : yesMemberRetailRangeExtList) {
|
|
||||||
if (!retailRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
|
||||||
cuMemberRetailRangeExtList.add(cuMemberRetailRangeExt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cuMemberRetailRangeExtList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberRetailRangeExt> queryCuMemberSecondRangeExtByParent(String rangeTableName, String secondTableName, Long pkMember) {
|
public List<CuMemberRetailRangeExt> queryCuMemberSecondRangeExtByParent(String rangeTableName, String secondTableName, Long pkMember) {
|
||||||
return baseMapper.queryCuMemberSecondRangeExtByParent(rangeTableName, secondTableName, pkMember);
|
return baseMapper.queryCuMemberSecondRangeExtByParent(rangeTableName, secondTableName, pkMember);
|
||||||
|
@ -117,13 +81,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
treeList.forEach(list -> baseMapper.mergeCuMemberRetailRangeExt(settleTableName, list));
|
treeList.forEach(list -> baseMapper.mergeCuMemberRetailRangeExt(settleTableName, list));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberRetailRange(String settleTableName, List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList) {
|
|
||||||
List<List<?>> cutOrderList = cuMemberBonusSettle.handleCutList(cuMemberRetailRangeExtList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
|
||||||
cutOrderList.forEach(orderList ->
|
|
||||||
baseMapper.mergeCuMemberRetailRangeExt(settleTableName, orderList));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period) {
|
public void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period) {
|
||||||
baseMapper.mergeCuMemberRetailRangeBySpecial(settleTableName, period);
|
baseMapper.mergeCuMemberRetailRangeBySpecial(settleTableName, period);
|
||||||
|
|
|
@ -127,21 +127,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
baseMapper.createCuMemberTableSequence(tableName, tableNameSeq);
|
baseMapper.createCuMemberTableSequence(tableName, tableNameSeq);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<CuMemberSettleExt> queryCuMemberSettleEnoughAwardAchieve(String settleTableName) {
|
|
||||||
return baseMapper.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateBackCuMemberSettleAward(String settleTableName, Integer period) {
|
|
||||||
baseMapper.updateBackCuMemberSettleAward(settleTableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateBackCuMemberSettleRangeAward(String rangeTableName, Integer period) {
|
|
||||||
baseMapper.updateBackCuMemberSettleRangeAward(rangeTableName, period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) {
|
public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) {
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
|
@ -160,24 +145,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
baseMapper.updateCuMemberRetailRangeInitV5Award(rangeTableName);
|
baseMapper.updateCuMemberRetailRangeInitV5Award(rangeTableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean queryCuMemberSettlePlaceUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember) {
|
|
||||||
return baseMapper.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, awardsValue, placeDept, pkMember) > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean queryCuMemberSettleBloodUnderUmbrella(String settleTableName, Integer awardsValue, Integer placeDept, Long pkMember) {
|
|
||||||
return baseMapper.queryCuMemberSettleBloodUnderUmbrella(settleTableName, awardsValue, placeDept, pkMember) > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberSettleByPeriod(List<Integer> periodList) {
|
|
||||||
periodList.forEach(period -> {
|
|
||||||
String updateTableName = TableNameConstants.CU_MEMBER_SETTLE + period;
|
|
||||||
baseMapper.updateCuMemberSettleByPeriod(updateTableName, period);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberSettleExt> batchQueryMemberSettleBySaOrder(String settleTableName, List<SaOrderExt> saOrderExtList) {
|
public List<CuMemberSettleExt> batchQueryMemberSettleBySaOrder(String settleTableName, List<SaOrderExt> saOrderExtList) {
|
||||||
// 查询出推荐人
|
// 查询出推荐人
|
||||||
|
|
|
@ -24,11 +24,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
*/
|
*/
|
||||||
CuMemberExt queryLoginMember(@Param("memberCode") String memberCode, @Param("pkMember") Long pkMember);
|
CuMemberExt queryLoginMember(@Param("memberCode") String memberCode, @Param("pkMember") Long pkMember);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*/
|
|
||||||
Integer updateCuMemberByPeriod(Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*/
|
*/
|
||||||
|
@ -65,16 +60,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
*/
|
*/
|
||||||
Integer updateCuMemberGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
|
Integer updateCuMemberGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
|
||||||
|
|
||||||
/**
|
|
||||||
* 回退会员奖衔
|
|
||||||
*/
|
|
||||||
void updateBackCuMemberAward(Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*/
|
|
||||||
void updateBackCuMemberRangeAward(@Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -31,13 +31,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
CuMember getMember(String memberCode);
|
CuMember getMember(String memberCode);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*
|
|
||||||
* @param enoughAwardsMember 修改奖衔的会员
|
|
||||||
*/
|
|
||||||
void updateCuMemberByPeriod(List<CuMemberSettleExt> enoughAwardsMember, Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*
|
*
|
||||||
|
@ -81,16 +74,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
void updateCuMemberGradeByList(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
void updateCuMemberGradeByList(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*/
|
|
||||||
void updateBackCuMemberAward(List<CuMemberAwards> cuMemberAwards, Integer period);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新会员奖衔根据临时表
|
|
||||||
*/
|
|
||||||
void updateBackCuMemberRangeAward(List<CuMemberAwards> cuMemberAwards, Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新会员奖衔根据临时表
|
* 更新会员奖衔根据临时表
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -8,7 +8,6 @@ import com.hzs.common.domain.member.base.*;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberGrade;
|
import com.hzs.common.domain.member.detail.CuMemberGrade;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
|
||||||
import com.hzs.bonus.base.mapper.CuMemberMapper;
|
import com.hzs.bonus.base.mapper.CuMemberMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -33,11 +32,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
return baseMapper.queryLoginMember(memberCode, null);
|
return baseMapper.queryLoginMember(memberCode, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberByPeriod(List<CuMemberSettleExt> enoughAwardsMember, Integer period) {
|
|
||||||
baseMapper.updateCuMemberByPeriod(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberRetailRangeByPeriod(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
public void updateCuMemberRetailRangeByPeriod(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
||||||
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
|
@ -76,16 +70,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
baseMapper.updateCuMemberGradeByList(cuMemberGradeList, period);
|
baseMapper.updateCuMemberGradeByList(cuMemberGradeList, period);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateBackCuMemberAward(List<CuMemberAwards> cuMemberAwards, Integer period) {
|
|
||||||
baseMapper.updateBackCuMemberAward(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateBackCuMemberRangeAward(List<CuMemberAwards> cuMemberAwards, Integer period) {
|
|
||||||
baseMapper.updateBackCuMemberRangeAward(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBackCuMemberRetailRangeAward(Integer period) {
|
public void updateBackCuMemberRetailRangeAward(Integer period) {
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
|
|
|
@ -1889,7 +1889,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 当月总pv,用于计算月度分红(福利平均、福利加权)
|
// 当月总pv,用于计算月度分红(福利平均、福利加权)
|
||||||
for (Integer systemType : orderMap.keySet()) {
|
for (Integer systemType : orderMap.keySet()) {
|
||||||
List<SaOrder> saOrders = orderMap.get(systemType);
|
List<SaOrder> saOrders = orderMap.get(systemType);
|
||||||
// 月所有订单业绩(注册、升级、复购、重消)
|
// 月所有订单业绩(注册、升级、复购)
|
||||||
BigDecimal totalMonthConsumePv = BigDecimal.ZERO;
|
BigDecimal totalMonthConsumePv = BigDecimal.ZERO;
|
||||||
|
|
||||||
// new 两个月奖
|
// new 两个月奖
|
||||||
|
|
|
@ -3,34 +3,14 @@ package com.hzs.bonus.detail.service;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-奖衔升级记录 服务类
|
* 会员信息-奖衔升级记录 服务类
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 重新计算会员的奖衔,根据累计结束后的业绩
|
|
||||||
*
|
|
||||||
* @param settleDate 结算日
|
|
||||||
* @param countryAwardsMap 国家奖衔配置
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
*/
|
|
||||||
void calculateCuMemberAwards(String settleDate, Map<String, BdAwards> countryAwardsMap, String settleTableName);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 回退极差奖衔,每日重新结算,先把奖衔回退到前一天
|
|
||||||
*
|
|
||||||
* @param period 结算期间
|
|
||||||
* @param rangeTableName 结算表
|
|
||||||
*/
|
|
||||||
void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName, Integer systemType);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回退极差奖衔,每日重新结算,先把奖衔回退到前一天
|
* 回退极差奖衔,每日重新结算,先把奖衔回退到前一天
|
||||||
*
|
*
|
||||||
|
@ -61,17 +41,4 @@ public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
*/
|
*/
|
||||||
void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period, Integer isToday);
|
void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period, Integer isToday);
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除奖衔升级记录
|
|
||||||
*
|
|
||||||
* @param pkOrder 订单
|
|
||||||
* @param pkApprove 审核人
|
|
||||||
* @param currentDateTime 当前时间
|
|
||||||
*/
|
|
||||||
void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据结算表更新奖衔
|
|
||||||
*/
|
|
||||||
void updateCuMemberAwardsExamine(Date currentDate, Integer period);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,41 +35,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberTreeService iCuMemberTreeService;
|
private ICuMemberTreeService iCuMemberTreeService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
|
||||||
@Autowired
|
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void calculateCuMemberAwards(String setDate, Map<String, BdAwards> countryAwardsMap, String settleTableName) {
|
|
||||||
// 查询结算日当天奖衔发生过变动的会员,本期
|
|
||||||
Date settleDate = DateUtils.parseStringToDate(setDate);
|
|
||||||
Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
|
|
||||||
//删除当天奖衔升级记录,自动升级的
|
|
||||||
// 更新奖衔,回退奖衔
|
|
||||||
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period, null);
|
|
||||||
iCuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
|
||||||
iCuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
|
||||||
// 回退业绩表奖衔
|
|
||||||
baseMapper.deleteCuMemberAwards(period);
|
|
||||||
while (true) {
|
|
||||||
List<CuMemberSettleExt> cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
|
|
||||||
if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName, Integer systemType) {
|
|
||||||
// 更新奖衔,回退奖衔
|
|
||||||
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType);
|
|
||||||
iCuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
|
|
||||||
iCuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
|
|
||||||
// 回退业绩表奖衔
|
|
||||||
baseMapper.deleteCuMemberAwards(period);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void calculateCuMemberRetailRangeAwardsInit(String settleDate, Integer period, String rangeTableName) {
|
public void calculateCuMemberRetailRangeAwardsInit(String settleDate, Integer period, String rangeTableName) {
|
||||||
if (settleDate.endsWith("01")) {
|
if (settleDate.endsWith("01")) {
|
||||||
|
@ -118,175 +85,6 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Boolean calculateAwards(Map<String, BdAwards> countryAwardsMap, String settleTableName, Date settleDate, Integer period, List<CuMemberSettleExt> cuMemberSettleExtList) {
|
|
||||||
// 当天奖衔发生过变动的人, 只要发生过变动,就要进行更新 降奖衔或者不变
|
|
||||||
// 更新奖衔,更新会员表,更新奖衔变动记录表
|
|
||||||
// 只满足业绩的
|
|
||||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
|
||||||
List<CuMemberSettleExt> enoughAwardsMemberList = new ArrayList<>();
|
|
||||||
if (cuMemberSettleExtList.size() > 0) {
|
|
||||||
List<CuMemberSettleExt> placeAwardsMemberList = new ArrayList<>();
|
|
||||||
List<CuMemberSettleExt> bloodAwardsMemberList = new ArrayList<>();
|
|
||||||
// 用于记录原来的奖衔
|
|
||||||
Map<Long, CuMemberSettleExt> originalCuMemberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberSettleExtList.size()));
|
|
||||||
cuMemberSettleExtList.forEach(cuMemberSettleExt -> {
|
|
||||||
BdAwards bdAwards = getBdAwards(countryAwardsMap, originalCuMemberSettleMap, cuMemberSettleExt);
|
|
||||||
// 验证关系
|
|
||||||
if (null == bdAwards.getRelationType()) {
|
|
||||||
enoughAwardsMemberList.add(cuMemberSettleExt);
|
|
||||||
} else if (ERelationType.BLOOD_KINSHIP_CHECK.getValue() == bdAwards.getRelationType()) {
|
|
||||||
bloodAwardsMemberList.add(cuMemberSettleExt);
|
|
||||||
} else if (ERelationType.PLACE_CHECK.getValue() == bdAwards.getRelationType()) {
|
|
||||||
placeAwardsMemberList.add(cuMemberSettleExt);
|
|
||||||
} else {
|
|
||||||
enoughAwardsMemberList.add(cuMemberSettleExt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
List<CuMemberAwards> memberAwardsList = updateAwardsRecord(enoughAwardsMemberList, originalCuMemberSettleMap, period);
|
|
||||||
if (memberAwardsList != null && memberAwardsList.size() > 0) {
|
|
||||||
cuMemberAwardsList.addAll(memberAwardsList);
|
|
||||||
}
|
|
||||||
// 需要验证安置的
|
|
||||||
if (placeAwardsMemberList.size() > 0) {
|
|
||||||
List<CuMemberSettleExt> updateAwardsMemberList = new ArrayList<>();
|
|
||||||
placeAwardsMemberList.forEach(cuMemberSettleExt -> {
|
|
||||||
BdAwards bdAwards = getBdAwards(countryAwardsMap, originalCuMemberSettleMap, cuMemberSettleExt);
|
|
||||||
// 验证安置 验证左右区是否存在满足等级的 考核
|
|
||||||
// 先验证左区
|
|
||||||
if (validateCuMemberPlaceRelation(settleTableName, bdAwards, cuMemberSettleExt.getPkMember())) {
|
|
||||||
updateAwardsMemberList.add(cuMemberSettleExt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
List<CuMemberAwards> awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period);
|
|
||||||
if (updateAwardsMemberList.size() > 0) {
|
|
||||||
enoughAwardsMemberList.addAll(updateAwardsMemberList);
|
|
||||||
}
|
|
||||||
if (awardsList != null && awardsList.size() > 0) {
|
|
||||||
cuMemberAwardsList.addAll(awardsList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 需要验证血缘的
|
|
||||||
if (bloodAwardsMemberList.size() > 0) {
|
|
||||||
List<CuMemberSettleExt> updateAwardsMemberList = new ArrayList<>();
|
|
||||||
bloodAwardsMemberList.forEach(cuMemberSettleExt -> {
|
|
||||||
BdAwards bdAwards = getBdAwards(countryAwardsMap, originalCuMemberSettleMap, cuMemberSettleExt);
|
|
||||||
// 验证血缘
|
|
||||||
// 1 先验证安置,验证左右区是否存在满足等级的 考核
|
|
||||||
// 2 在验证血缘,验证满足等级的会员是否在他的血缘线上
|
|
||||||
if (validateBloodRelation(settleTableName, cuMemberSettleExt, bdAwards)) {
|
|
||||||
updateAwardsMemberList.add(cuMemberSettleExt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
List<CuMemberAwards> awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period);
|
|
||||||
if (updateAwardsMemberList.size() > 0) {
|
|
||||||
enoughAwardsMemberList.addAll(updateAwardsMemberList);
|
|
||||||
}
|
|
||||||
if (awardsList != null && awardsList.size() > 0) {
|
|
||||||
cuMemberAwardsList.addAll(awardsList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cuMemberAwardsList.size() > 0) {
|
|
||||||
// 将变动值插入临时表中
|
|
||||||
// 更新会员表
|
|
||||||
iCuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
|
|
||||||
// 更新结算网体表(月表、日表)
|
|
||||||
// 根据结算日期获得所有需要更新的周期
|
|
||||||
updateMemberAwardPeriod(settleDate);
|
|
||||||
return Boolean.TRUE;
|
|
||||||
} else {
|
|
||||||
iCuMemberService.updateCuMemberByPeriod(null, period);
|
|
||||||
updateMemberAwardPeriod(settleDate);
|
|
||||||
return Boolean.FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateMemberAwardPeriod(Date settleDate) {
|
|
||||||
Date currentDate = DateUtils.currentDate();
|
|
||||||
List<Integer> periodList = new ArrayList<>();
|
|
||||||
while (DateUtils.compareDateBefore(settleDate, currentDate)) {
|
|
||||||
String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
|
|
||||||
periodList.add(iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId());
|
|
||||||
settleDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate);
|
|
||||||
}
|
|
||||||
iCuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
|
||||||
LambdaUpdateWrapper<CuMemberAwards> updateWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue());
|
|
||||||
updateWrapper.set(CuMemberAwards::getPkModified, pkApprove);
|
|
||||||
updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime);
|
|
||||||
updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder);
|
|
||||||
update(updateWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateCuMemberAwardsExamine(Date currentDate, Integer period) {
|
|
||||||
String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate);
|
|
||||||
Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
|
|
||||||
String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate);
|
|
||||||
baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod);
|
|
||||||
}
|
|
||||||
|
|
||||||
private BdAwards getBdAwards(Map<String, BdAwards> countryAwardsMap, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap, CuMemberSettleExt cuMemberSettleExt) {
|
|
||||||
originalCuMemberSettleMap.put(cuMemberSettleExt.getPkMember(), cuMemberSettleExt);
|
|
||||||
String key = cuMemberSettleExt.getPkSettleCountry().toString() + cuMemberSettleExt.getPkAwards().toString();
|
|
||||||
return countryAwardsMap.get(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新奖衔记录
|
|
||||||
*
|
|
||||||
* @param enoughAwardsMemberList 满足业绩
|
|
||||||
* @param originalCuMemberSettleMap 原来的map
|
|
||||||
* @param period 期间
|
|
||||||
*/
|
|
||||||
private List<CuMemberAwards> updateAwardsRecord(List<CuMemberSettleExt> enoughAwardsMemberList, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap,
|
|
||||||
Integer period) {
|
|
||||||
if (enoughAwardsMemberList.size() == 0) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
// 更新奖衔记录变动
|
|
||||||
// 增加奖衔记录表
|
|
||||||
// 更新升奖衔的会员,插入升衔记录
|
|
||||||
return upgradeCuMemberAwards(enoughAwardsMemberList, originalCuMemberSettleMap, period);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 插入升级记录
|
|
||||||
*
|
|
||||||
* @param enoughAwardsMemberList 足够升级的
|
|
||||||
* @param originalCuMemberSettleMap 记录会员原等级的map
|
|
||||||
* @param period 期间
|
|
||||||
*/
|
|
||||||
private List<CuMemberAwards> upgradeCuMemberAwards(List<CuMemberSettleExt> enoughAwardsMemberList, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap,
|
|
||||||
Integer period) {
|
|
||||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
|
||||||
if (enoughAwardsMemberList.size() > 0) {
|
|
||||||
// 记录要入库的,为了验证是否首次晋升
|
|
||||||
enoughAwardsMemberList.forEach(enoughAwardsMember -> getCuMemberAwards(originalCuMemberSettleMap, period, cuMemberAwardsList, enoughAwardsMember));
|
|
||||||
// 验证满足的这群人是否是首次晋升,查询出值的不是首次晋升
|
|
||||||
List<CuMemberAwards> originalCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(cuMemberAwardsList);
|
|
||||||
// 是首次晋升的数据
|
|
||||||
Map<Long, CuMemberAwards> cuMemberAwardsMap = new HashMap<>(ComputeUtil.mapInitCapacity(originalCuMemberAwardsList.size()));
|
|
||||||
originalCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards));
|
|
||||||
cuMemberAwardsList.forEach(cuMemberAwards -> {
|
|
||||||
CuMemberAwards memberAwards = cuMemberAwardsMap.get(cuMemberAwards.getPkMember());
|
|
||||||
// 没有奖衔升级记录或者奖衔升级记录是会员的 算首次晋升
|
|
||||||
if (memberAwards == null) {
|
|
||||||
cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 插入记录
|
|
||||||
baseMapper.saveBatchCuMemberAwards(cuMemberAwardsList);
|
|
||||||
}
|
|
||||||
return cuMemberAwardsList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void getCuMemberAwards(Map<Long, CuMemberSettleExt> originalCuMemberSettleMap, Integer period, List<CuMemberAwards> cuMemberAwardsList, CuMemberSettleExt enoughAwardsMember) {
|
private void getCuMemberAwards(Map<Long, CuMemberSettleExt> originalCuMemberSettleMap, Integer period, List<CuMemberAwards> cuMemberAwardsList, CuMemberSettleExt enoughAwardsMember) {
|
||||||
CuMemberAwards cuMemberAwards = CuMemberAwards.builder()
|
CuMemberAwards cuMemberAwards = CuMemberAwards.builder()
|
||||||
.pkMember(enoughAwardsMember.getPkMember())
|
.pkMember(enoughAwardsMember.getPkMember())
|
||||||
|
@ -303,86 +101,4 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
cuMemberAwardsList.add(cuMemberAwards);
|
cuMemberAwardsList.add(cuMemberAwards);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新降衔的会员,把升衔记录删除
|
|
||||||
*
|
|
||||||
* @param period 期间
|
|
||||||
* @param changeAwardsList 降低奖衔的人
|
|
||||||
* @param cuMemberAwardsList 所有变动记录的数据
|
|
||||||
*/
|
|
||||||
private void reduceCuMemberAwards(List<CuMemberAwards> changeAwardsList, Integer period, List<CuMemberAwards> cuMemberAwardsList) {
|
|
||||||
// 验证是否有降奖衔的,降奖衔的也要更新
|
|
||||||
if (changeAwardsList.size() > 0) {
|
|
||||||
// 更新奖衔表,将奖衔升级记录修改为删除状态
|
|
||||||
LambdaQueryWrapper<CuMemberAwards> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
queryWrapper.eq(CuMemberAwards::getPeriod, period);
|
|
||||||
baseMapper.updateBatchCuMemberAwards(changeAwardsList, period);
|
|
||||||
// 根据 changeAwardsList 查找到这群人的历史奖衔升级记录
|
|
||||||
List<CuMemberAwards> hisCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(changeAwardsList);
|
|
||||||
Map<Long, CuMemberAwards> cuMemberAwardsMap = new HashMap<>();
|
|
||||||
hisCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards));
|
|
||||||
// 用于更新网体,将原有奖衔还原
|
|
||||||
changeAwardsList.forEach(cuMemberAwards -> {
|
|
||||||
if (cuMemberAwardsMap.containsKey(cuMemberAwards.getPkMember())) {
|
|
||||||
// 原有奖衔
|
|
||||||
cuMemberAwards.setNewLevel(cuMemberAwardsMap.get(cuMemberAwards.getPkMember()).getNewLevel());
|
|
||||||
} else {
|
|
||||||
// 没有值的变为会员
|
|
||||||
cuMemberAwards.setNewLevel(EAwards.MEMBER.getValue());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
cuMemberAwardsList.addAll(changeAwardsList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询某一期变动的奖衔
|
|
||||||
*
|
|
||||||
* @param period 奖金期
|
|
||||||
*/
|
|
||||||
private List<CuMemberAwards> queryCuMemberAwardsByPeriod(Integer period, Integer systemType) {
|
|
||||||
LambdaQueryWrapper<CuMemberAwards> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
queryWrapper.eq(CuMemberAwards::getPeriod, period);
|
|
||||||
if (systemType != null) {
|
|
||||||
queryWrapper.eq(CuMemberAwards::getSystemType, systemType);
|
|
||||||
}
|
|
||||||
queryWrapper.eq(CuMemberAwards::getUpType, EUpgradeType.AUTO_UPGRADE.getValue());
|
|
||||||
return baseMapper.selectList(queryWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 验证血缘关系
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param cuMemberSettleExt 会员结算表
|
|
||||||
* @param bdAwards 等级
|
|
||||||
*/
|
|
||||||
private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) {
|
|
||||||
// 左区满足,且满足血缘
|
|
||||||
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
|
||||||
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
|
||||||
// 验证血缘,左区存在血缘关系的
|
|
||||||
// 右区满足,且满足血缘
|
|
||||||
// 进行验证血缘验证
|
|
||||||
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
|
||||||
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember());
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 验证左右区安置关系
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param bdAwards 等级
|
|
||||||
* @param pkMember 会员
|
|
||||||
*/
|
|
||||||
private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) {
|
|
||||||
// 验证左区
|
|
||||||
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
|
||||||
// 在验证右区
|
|
||||||
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,167 +4,100 @@
|
||||||
|
|
||||||
<!-- 通用查询映射结果 -->
|
<!-- 通用查询映射结果 -->
|
||||||
<resultMap id="CuMemberRangeExt" type="com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt">
|
<resultMap id="CuMemberRangeExt" type="com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt">
|
||||||
<result column="PK_COUNTRY" property="pkCountry" />
|
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||||
<result column="PK_MEMBER" property="pkMember" />
|
<result column="PK_MEMBER" property="pkMember"/>
|
||||||
<result column="PK_PARENT" property="pkParent" />
|
<result column="PK_PARENT" property="pkParent"/>
|
||||||
<result column="MEMBER_CODE" property="memberCode" />
|
<result column="MEMBER_CODE" property="memberCode"/>
|
||||||
<result column="MEMBER_NAME" property="memberName" />
|
<result column="MEMBER_NAME" property="memberName"/>
|
||||||
<result column="CUSTOMER_TYPE" property="customerType" />
|
<result column="CUSTOMER_TYPE" property="customerType"/>
|
||||||
<result column="PHONE" property="phone" />
|
<result column="PHONE" property="phone"/>
|
||||||
<result column="PK_GRADE" property="pkGrade" />
|
<result column="PK_GRADE" property="pkGrade"/>
|
||||||
<result column="PK_AWARDS" property="pkAwards" />
|
<result column="PK_AWARDS" property="pkAwards"/>
|
||||||
<result column="PK_RANGE_AWARDS" property="pkRangeAwards" />
|
<result column="PK_RANGE_AWARDS" property="pkRangeAwards"/>
|
||||||
<result column="PK_BENEFIT_AWARDS" property="pkBenefitAwards" />
|
<result column="PK_BENEFIT_AWARDS" property="pkBenefitAwards"/>
|
||||||
<result column="ACCOUNT_STATUS" property="accountStatus" />
|
<result column="ACCOUNT_STATUS" property="accountStatus"/>
|
||||||
<result column="PAY_STATUS" property="payStatus" />
|
<result column="PAY_STATUS" property="payStatus"/>
|
||||||
<result column="PAY_TIME" property="payTime" />
|
<result column="PAY_TIME" property="payTime"/>
|
||||||
<result column="REGISTER_AUTHORITY" property="registerAuthority" />
|
<result column="REGISTER_AUTHORITY" property="registerAuthority"/>
|
||||||
<result column="CATEGORY" property="category" />
|
<result column="CATEGORY" property="category"/>
|
||||||
<result column="PURCHASE_STATUS" property="purchaseStatus" />
|
<result column="PURCHASE_STATUS" property="purchaseStatus"/>
|
||||||
<result column="INCOME_STATUS" property="incomeStatus" />
|
<result column="INCOME_STATUS" property="incomeStatus"/>
|
||||||
<result column="PK_TEAM_CODE" property="pkTeamCode" />
|
<result column="PK_TEAM_CODE" property="pkTeamCode"/>
|
||||||
<result column="PK_CENTER_CODE" property="pkCenterCode" />
|
<result column="PK_CENTER_CODE" property="pkCenterCode"/>
|
||||||
<result column="PK_VERTEX" property="pkVertex" />
|
<result column="PK_VERTEX" property="pkVertex"/>
|
||||||
<result column="PK_SETTLE_COUNTRY" property="pkSettleCountry" />
|
<result column="PK_SETTLE_COUNTRY" property="pkSettleCountry"/>
|
||||||
<result column="IS_REAL_NAME" property="isRealName" />
|
<result column="IS_REAL_NAME" property="isRealName"/>
|
||||||
<result column="PK_RATE" property="pkRate" />
|
<result column="PK_RATE" property="pkRate"/>
|
||||||
<result column="CONSUME_PV" property="consumePv" />
|
<result column="CONSUME_PV" property="consumePv"/>
|
||||||
<result column="MONTH_PV" property="monthPv" />
|
<result column="MONTH_PV" property="monthPv"/>
|
||||||
<result column="EFFECTIVE_NUM" property="effectiveNum" />
|
<result column="EFFECTIVE_NUM" property="effectiveNum"/>
|
||||||
<result column="RECOMMEND_NUM" property="recommendNum" />
|
<result column="RECOMMEND_NUM" property="recommendNum"/>
|
||||||
<result column="TEAM_NUM" property="teamNum" />
|
<result column="TEAM_NUM" property="teamNum"/>
|
||||||
<result column="TEAM_CONSUME_AMOUNT" property="teamConsumeAmount"/>
|
<result column="TEAM_CONSUME_AMOUNT" property="teamConsumeAmount"/>
|
||||||
<result column="TEAM_CONSUME_PV" property="teamConsumePv" />
|
<result column="TEAM_CONSUME_PV" property="teamConsumePv"/>
|
||||||
<result column="TEAM_MONTH_AMOUNT" property="teamMonthAmount" />
|
<result column="TEAM_MONTH_AMOUNT" property="teamMonthAmount"/>
|
||||||
<result column="TEAM_MONTH_PV" property="teamMonthPv" />
|
<result column="TEAM_MONTH_PV" property="teamMonthPv"/>
|
||||||
<result column="SMALL_AREA_PV" property="smallAreaPv" />
|
<result column="SMALL_AREA_PV" property="smallAreaPv"/>
|
||||||
<result column="ASSESS_STATUS" property="assessStatus" />
|
<result column="ASSESS_STATUS" property="assessStatus"/>
|
||||||
<result column="MONTH_MEMBER" property="monthMember" />
|
<result column="MONTH_MEMBER" property="monthMember"/>
|
||||||
<result column="RANGE_AWARDS_VALUE" property="rangeAwardsValue" />
|
<result column="RANGE_AWARDS_VALUE" property="rangeAwardsValue"/>
|
||||||
<result column="pk_order" property="pkOrder" />
|
<result column="pk_order" property="pkOrder"/>
|
||||||
<result column="range_store_status" property="rangeStoreStatus" />
|
<result column="range_store_status" property="rangeStoreStatus"/>
|
||||||
<result column="ev_effective_num" property="evEffectiveNum" />
|
<result column="ev_effective_num" property="evEffectiveNum"/>
|
||||||
<result column="provide_state" property="provideState" />
|
<result column="provide_state" property="provideState"/>
|
||||||
<result column="buy_effective_num" property="buyEffectiveNum" />
|
<result column="buy_effective_num" property="buyEffectiveNum"/>
|
||||||
<result column="first_agent" property="firstAgent" />
|
<result column="first_agent" property="firstAgent"/>
|
||||||
<result column="second_agent" property="secondAgent" />
|
<result column="second_agent" property="secondAgent"/>
|
||||||
<result column="NEW_PV" property="newPv" />
|
<result column="NEW_PV" property="newPv"/>
|
||||||
<result column="NEW_TEAM_PV" property="newTeamPv" />
|
<result column="NEW_TEAM_PV" property="newTeamPv"/>
|
||||||
<result column="DEPT_NEW_TEAM_PV" property="deptNewTeamPv"/>
|
<result column="DEPT_NEW_TEAM_PV" property="deptNewTeamPv"/>
|
||||||
<result column="TEAM_CONSUME_AMOUNT" property="deptTeamConsumeAmount"/>
|
<result column="TEAM_CONSUME_AMOUNT" property="deptTeamConsumeAmount"/>
|
||||||
<result column="DEPT_TEAM_CONSUME_PV" property="deptTeamConsumePv"/>
|
<result column="DEPT_TEAM_CONSUME_PV" property="deptTeamConsumePv"/>
|
||||||
<result column="DEPT_TEAM_MONTH_AMOUNT" property="deptTeamMonthAmount"/>
|
<result column="DEPT_TEAM_MONTH_AMOUNT" property="deptTeamMonthAmount"/>
|
||||||
<result column="DEPT_TEAM_MONTH_PV" property="deptTeamMonthPv"/>
|
<result column="DEPT_TEAM_MONTH_PV" property="deptTeamMonthPv"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<update id="mergeCuMemberRangeExt">
|
<update id="mergeCuMemberRangeExt">
|
||||||
merge into ${rangeTableName} a
|
merge into ${rangeTableName} a
|
||||||
using (
|
using (
|
||||||
select pk_member,min(consume_status) consume_status,max(pk_range_awards) pk_range_awards,
|
select pk_member,min(consume_status) consume_status,max(pk_range_awards) pk_range_awards,
|
||||||
max(pk_awards) pk_awards,max(consume_pv) consume_pv,
|
max(pk_awards) pk_awards,max(consume_pv) consume_pv,
|
||||||
max(month_pv) month_pv,max(new_pv) new_pv,max(new_team_pv) new_team_pv,max(effective_num) effective_num,
|
max(month_pv) month_pv,max(new_pv) new_pv,max(new_team_pv) new_team_pv,max(effective_num) effective_num,
|
||||||
max(buy_effective_num) buy_effective_num,max(first_agent) first_agent,max(second_agent) second_agent,
|
max(buy_effective_num) buy_effective_num,max(first_agent) first_agent,max(second_agent) second_agent,
|
||||||
max(team_consume_pv) team_consume_pv,max(team_month_pv) team_month_pv,max(small_area_pv) small_area_pv,
|
max(team_consume_pv) team_consume_pv,max(team_month_pv) team_month_pv,max(small_area_pv) small_area_pv,
|
||||||
max(team_consume_amount) team_consume_amount,max(team_month_amount) team_month_amount,
|
max(team_consume_amount) team_consume_amount,max(team_month_amount) team_month_amount,
|
||||||
max(assess_status) assess_status,max(dept_new_team_pv) dept_new_team_pv,
|
max(assess_status) assess_status,max(dept_new_team_pv) dept_new_team_pv,
|
||||||
max(dept_team_consume_amount) dept_team_consume_amount,max(dept_team_consume_pv) dept_team_consume_pv,
|
max(dept_team_consume_amount) dept_team_consume_amount,max(dept_team_consume_pv) dept_team_consume_pv,
|
||||||
max(dept_team_month_amount) dept_team_month_amount,max(dept_team_month_pv) dept_team_month_pv from(
|
max(dept_team_month_amount) dept_team_month_amount,max(dept_team_month_pv) dept_team_month_pv from(
|
||||||
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
|
|
||||||
select #{item.pkMember} pk_member,#{item.pkRangeAwards} pk_range_awards,#{item.pkAwards} pk_awards,
|
|
||||||
#{item.consumeStatus} consume_status,#{item.consumePv} consume_pv,#{item.monthPv} month_pv,
|
|
||||||
#{item.newPv} new_pv,#{item.newTeamPv} new_team_pv,#{item.effectiveNum} effective_num,
|
|
||||||
#{item.buyEffectiveNum} buy_effective_num,#{item.firstAgent} first_agent,#{item.secondAgent} second_agent,
|
|
||||||
#{item.teamConsumeAmount} team_consume_amount,#{item.teamMonthAmount} team_month_amount,
|
|
||||||
#{item.deptNewTeamPv} dept_new_team_pv,#{item.deptTeamConsumeAmount} dept_team_consume_amount,
|
|
||||||
#{item.deptTeamConsumePv} dept_team_consume_pv,#{item.deptTeamMonthAmount} dept_team_month_amount,
|
|
||||||
#{item.deptTeamMonthPv} dept_team_month_pv,
|
|
||||||
#{item.teamConsumePv} team_consume_pv,#{item.teamMonthPv} team_month_pv,#{item.smallAreaPv} small_area_pv,
|
|
||||||
#{item.assessStatus} assess_status from dual
|
|
||||||
</foreach>)
|
|
||||||
group by pk_member
|
|
||||||
) b
|
|
||||||
on (a.pk_member=b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set a.pk_range_awards=b.pk_range_awards,a.pk_awards=b.pk_awards,
|
|
||||||
a.consume_status=b.consume_status,a.consume_pv=b.consume_pv,
|
|
||||||
a.month_pv=b.month_pv,a.effective_num=b.effective_num,
|
|
||||||
a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv,a.buy_effective_num=b.buy_effective_num,
|
|
||||||
a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.team_consume_amount=b.team_consume_amount,
|
|
||||||
a.team_month_amount=b.team_month_amount,a.dept_new_team_pv=b.dept_new_team_pv,
|
|
||||||
a.dept_team_consume_amount=b.dept_team_consume_amount,
|
|
||||||
a.dept_team_consume_pv=b.dept_team_consume_pv,a.dept_team_month_amount=b.dept_team_month_amount,
|
|
||||||
a.dept_team_month_pv=b.dept_team_month_pv,
|
|
||||||
a.team_consume_pv=b.team_consume_pv,a.team_month_pv=b.team_month_pv,
|
|
||||||
a.small_area_pv=b.small_area_pv,a.assess_status=b.assess_status
|
|
||||||
</update>
|
|
||||||
<update id="mergeMemberRangeByYesterday">
|
|
||||||
merge into ${rangeTableName} a
|
|
||||||
using(
|
|
||||||
select pk_member,consume_status,consume_pv,month_pv,effective_num,dept_team_consume_amount,
|
|
||||||
buy_effective_num,first_agent,second_agent,recommend_num,team_consume_amount,dept_team_consume_pv,
|
|
||||||
dept_team_month_amount,dept_team_month_pv,
|
|
||||||
team_consume_pv,team_month_amount,team_month_pv,small_area_pv,assess_status from ${yesterdayRangeTableName}
|
|
||||||
) b
|
|
||||||
on (a.pk_member=b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set a.consume_status=b.consume_status,a.consume_pv=b.consume_pv,
|
|
||||||
a.effective_num=b.effective_num,a.buy_effective_num=b.buy_effective_num,
|
|
||||||
a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.recommend_num=b.recommend_num,
|
|
||||||
a.team_consume_amount=b.team_consume_amount,a.team_consume_pv=b.team_consume_pv,a.small_area_pv=b.small_area_pv,
|
|
||||||
a.dept_team_consume_amount=b.dept_team_consume_amount,a.dept_team_consume_pv=b.dept_team_consume_pv
|
|
||||||
<if test="isSameMonth == 0">
|
|
||||||
,a.dept_team_month_amount=b.dept_team_month_amount,a.dept_team_month_pv=b.dept_team_month_pv,
|
|
||||||
a.team_month_amount=b.team_month_amount,a.team_month_pv=b.team_month_pv,a.month_pv=b.month_pv,
|
|
||||||
a.assess_status=b.assess_status
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="mergeMemberRangeInit">
|
|
||||||
update ${rangeTableName} set consume_pv=0,month_pv=0,new_pv=0,new_team_pv=0,dept_new_team_pv=0,
|
|
||||||
effective_num=0,buy_effective_num=0,first_agent=0,second_agent=0,recommend_num=0,
|
|
||||||
team_num=0,team_consume_amount=0,team_month_amount=0,dept_team_consume_amount=0,
|
|
||||||
dept_team_consume_pv=0,dept_team_month_amount=0,dept_team_month_pv=0,
|
|
||||||
team_consume_pv=0,team_month_pv=0,small_area_pv=0,consume_status=1
|
|
||||||
<if test="isSameMonth == 0">
|
|
||||||
,assess_status=2
|
|
||||||
</if>
|
|
||||||
</update>
|
|
||||||
<update id="updateMemberRangeByPurchase">
|
|
||||||
update ${rangeTableName} set assess_status=0 where purchase_status=0
|
|
||||||
</update>
|
|
||||||
<update id="mergeMemberSecondRangeByRange">
|
|
||||||
merge into ${secondRangeTableName} a
|
|
||||||
using (
|
|
||||||
select a.pk_id pk_member,a.pk_parent,a.pk_range_awards,nvl(b.assess_status,3) assess_status,
|
|
||||||
nvl(b.consume_status,1) consume_status,
|
|
||||||
nvl(b.month_member,0) month_member from (select * from cu_member
|
|
||||||
where del_flag = 0
|
|
||||||
start with pk_id = #{pkMember}
|
|
||||||
connect by pk_id = prior pk_parent) a
|
|
||||||
left join ${rangeTableName} b
|
|
||||||
on a.pk_id=b.pk_member
|
|
||||||
) b
|
|
||||||
on (a.pk_member=b.pk_member)
|
|
||||||
when not matched then
|
|
||||||
insert (pk_member,pk_parent,pk_range_awards,assess_status,month_member,consume_status)
|
|
||||||
values(b.pk_member,b.pk_parent,b.pk_range_awards,b.assess_status,b.month_member,b.consume_status)
|
|
||||||
</update>
|
|
||||||
<update id="mergeCuMemberSecondRange">
|
|
||||||
merge into ${secondTableName} a
|
|
||||||
using (
|
|
||||||
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
|
<foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union">
|
||||||
select #{item.pkMember} pk_member,#{item.pkRangeAwards} pk_range_awards,#{item.consumeStatus} consume_status,
|
select #{item.pkMember} pk_member,#{item.pkRangeAwards} pk_range_awards,#{item.pkAwards} pk_awards,
|
||||||
#{item.newPv} new_pv,#{item.newEffectiveNum} new_effective_num,#{item.newTeamPv} new_team_pv,
|
#{item.consumeStatus} consume_status,#{item.consumePv} consume_pv,#{item.monthPv} month_pv,
|
||||||
#{item.assessStatus} assess_status,#{item.buyEffectiveNum} buy_effective_num,
|
#{item.newPv} new_pv,#{item.newTeamPv} new_team_pv,#{item.effectiveNum} effective_num,
|
||||||
#{item.firstAgent} first_agent,#{item.secondAgent} second_agent,
|
#{item.buyEffectiveNum} buy_effective_num,#{item.firstAgent} first_agent,#{item.secondAgent} second_agent,
|
||||||
#{item.deptNewTeamPv} dept_new_team_pv from dual
|
#{item.teamConsumeAmount} team_consume_amount,#{item.teamMonthAmount} team_month_amount,
|
||||||
</foreach>
|
#{item.deptNewTeamPv} dept_new_team_pv,#{item.deptTeamConsumeAmount} dept_team_consume_amount,
|
||||||
|
#{item.deptTeamConsumePv} dept_team_consume_pv,#{item.deptTeamMonthAmount} dept_team_month_amount,
|
||||||
|
#{item.deptTeamMonthPv} dept_team_month_pv,
|
||||||
|
#{item.teamConsumePv} team_consume_pv,#{item.teamMonthPv} team_month_pv,#{item.smallAreaPv} small_area_pv,
|
||||||
|
#{item.assessStatus} assess_status from dual
|
||||||
|
</foreach>)
|
||||||
|
group by pk_member
|
||||||
) b
|
) b
|
||||||
on (a.pk_member=b.pk_member)
|
on (a.pk_member=b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set a.pk_range_awards=b.pk_range_awards,a.new_pv=b.new_pv,a.new_effective_num=b.new_effective_num,
|
update set a.pk_range_awards=b.pk_range_awards,a.pk_awards=b.pk_awards,
|
||||||
a.new_team_pv=b.new_team_pv,a.assess_status=b.assess_status,a.buy_effective_num=b.buy_effective_num,
|
a.consume_status=b.consume_status,a.consume_pv=b.consume_pv,
|
||||||
a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.dept_new_team_pv=b.dept_new_team_pv,
|
a.month_pv=b.month_pv,a.effective_num=b.effective_num,
|
||||||
a.consume_status=b.consume_status
|
a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv,a.buy_effective_num=b.buy_effective_num,
|
||||||
|
a.first_agent=b.first_agent,a.second_agent=b.second_agent,a.team_consume_amount=b.team_consume_amount,
|
||||||
|
a.team_month_amount=b.team_month_amount,a.dept_new_team_pv=b.dept_new_team_pv,
|
||||||
|
a.dept_team_consume_amount=b.dept_team_consume_amount,
|
||||||
|
a.dept_team_consume_pv=b.dept_team_consume_pv,a.dept_team_month_amount=b.dept_team_month_amount,
|
||||||
|
a.dept_team_month_pv=b.dept_team_month_pv,
|
||||||
|
a.team_consume_pv=b.team_consume_pv,a.team_month_pv=b.team_month_pv,
|
||||||
|
a.small_area_pv=b.small_area_pv,a.assess_status=b.assess_status
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="mergeSecondCuMemberRangeExt">
|
<update id="mergeSecondCuMemberRangeExt">
|
||||||
merge into ${secondTableName} a
|
merge into ${secondTableName} a
|
||||||
using (
|
using (
|
||||||
|
@ -181,35 +114,47 @@
|
||||||
when matched then
|
when matched then
|
||||||
update set a.pk_range_awards=b.pk_range_awards,a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv
|
update set a.pk_range_awards=b.pk_range_awards,a.new_pv=b.new_pv,a.new_team_pv=b.new_team_pv
|
||||||
</update>
|
</update>
|
||||||
<select id="queryCuMemberRangeParent" resultMap="CuMemberRangeExt">
|
|
||||||
<foreach collection="saOrderExtList" item="item" close=" " open=" " separator="union">
|
|
||||||
select a.pk_member,a.member_code,a.member_name,a.pk_parent,a.pk_settle_country,a.category,a.account_status,
|
|
||||||
a.pk_range_awards,a.pk_awards,a.pk_benefit_awards,a.income_status,a.consume_pv,a.range_store_status,
|
|
||||||
a.consume_status,a.month_pv,a.effective_num,a.buy_effective_num,a.first_agent,a.second_agent,
|
|
||||||
a.team_consume_amount,a.team_consume_pv,a.team_month_amount,a.team_month_pv,a.small_area_pv,a.new_pv,a.new_team_pv,
|
|
||||||
a.dept_new_team_pv,a.dept_team_consume_amount,a.dept_team_consume_pv,
|
|
||||||
a.dept_team_month_amount,a.dept_team_month_pv,
|
|
||||||
a.assess_status,a.month_member,a.pay_time,a.pk_rate,ba.awards_value range_awards_value from(
|
|
||||||
select * from ${tableName}
|
|
||||||
start with pk_member = #{item.pkMember}
|
|
||||||
connect by pk_member = prior pk_parent) a
|
|
||||||
inner join bd_range_awards ba
|
|
||||||
on a.pk_range_awards=ba.pk_id
|
|
||||||
where ba.del_flag=0
|
|
||||||
</foreach>
|
|
||||||
</select>
|
|
||||||
<select id="queryCuMemberRangeExtByParent" resultMap="CuMemberRangeExt">
|
<select id="queryCuMemberRangeExtByParent" resultMap="CuMemberRangeExt">
|
||||||
select a.pk_member,a.pk_parent,a.pk_settle_country,a.pk_range_awards,a.pk_awards,a.pk_benefit_awards,a.income_status,a.consume_pv,
|
select a.pk_member,
|
||||||
a.month_pv,a.effective_num,a.buy_effective_num,a.first_agent,a.second_agent,a.consume_status,
|
a.pk_parent,
|
||||||
a.team_consume_amount,a.team_consume_pv,a.team_month_amount,a.team_month_pv,a.small_area_pv,0 new_pv,0 new_team_pv,
|
a.pk_settle_country,
|
||||||
a.dept_new_team_pv,a.dept_team_consume_amount,a.dept_team_consume_pv,
|
a.pk_range_awards,
|
||||||
a.dept_team_month_amount,a.dept_team_month_pv,
|
a.pk_awards,
|
||||||
a.assess_status,a.month_member,a.pay_time,a.pk_rate,ba.awards_value range_awards_value from ${tableName} a
|
a.pk_benefit_awards,
|
||||||
inner join bd_range_awards ba
|
a.income_status,
|
||||||
on a.pk_range_awards=ba.pk_id
|
a.consume_pv,
|
||||||
where ba.del_flag=0 and a.pk_parent= #{pkParent}
|
a.month_pv,
|
||||||
and a.pay_time <= #{orderDate}
|
a.effective_num,
|
||||||
|
a.buy_effective_num,
|
||||||
|
a.first_agent,
|
||||||
|
a.second_agent,
|
||||||
|
a.consume_status,
|
||||||
|
a.team_consume_amount,
|
||||||
|
a.team_consume_pv,
|
||||||
|
a.team_month_amount,
|
||||||
|
a.team_month_pv,
|
||||||
|
a.small_area_pv,
|
||||||
|
0 new_pv,
|
||||||
|
0 new_team_pv,
|
||||||
|
a.dept_new_team_pv,
|
||||||
|
a.dept_team_consume_amount,
|
||||||
|
a.dept_team_consume_pv,
|
||||||
|
a.dept_team_month_amount,
|
||||||
|
a.dept_team_month_pv,
|
||||||
|
a.assess_status,
|
||||||
|
a.month_member,
|
||||||
|
a.pay_time,
|
||||||
|
a.pk_rate,
|
||||||
|
ba.awards_value range_awards_value
|
||||||
|
from ${tableName} a
|
||||||
|
inner join bd_range_awards ba
|
||||||
|
on a.pk_range_awards = ba.pk_id
|
||||||
|
where ba.del_flag = 0
|
||||||
|
and a.pk_parent = #{pkParent}
|
||||||
|
and a.pay_time <= #{orderDate}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="validateCuMemberPlaceAwards" resultType="java.lang.Integer">
|
<select id="validateCuMemberPlaceAwards" resultType="java.lang.Integer">
|
||||||
select count(*) from(
|
select count(*) from(
|
||||||
<foreach collection="cuMemberRangeExtList" item="item" close=" " open=" " separator=" union all ">
|
<foreach collection="cuMemberRangeExtList" item="item" close=" " open=" " separator=" union all ">
|
||||||
|
@ -220,46 +165,42 @@
|
||||||
where pk_range_awards>= #{pkRangeAwards} and pay_time <= #{orderDate}
|
where pk_range_awards>= #{pkRangeAwards} and pay_time <= #{orderDate}
|
||||||
</foreach>)
|
</foreach>)
|
||||||
</select>
|
</select>
|
||||||
<select id="queryCuMemberSecondRangeParent"
|
|
||||||
resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRangeExt">
|
|
||||||
select a.pk_member,cm.member_code,cm.member_name,a.pk_parent,cm.pk_settle_country,cm.category,cm.account_status,
|
|
||||||
a.pk_range_awards,cm.pk_awards,cm.pk_benefit_awards,cm.income_status,a.consume_status,
|
|
||||||
nvl(b.consume_pv,0)+a.new_pv consume_pv,a.new_pv,cm.pay_time,nvl(b.pk_rate,0) pk_rate,
|
|
||||||
nvl(b.month_pv,0)+a.new_pv month_pv,nvl(b.effective_num,0)+a.new_effective_num effective_num,
|
|
||||||
nvl(b.team_consume_amount,0) team_consume_amount,nvl(b.team_month_amount,0) team_month_amount,
|
|
||||||
nvl(b.team_consume_pv,0)+a.new_team_pv team_consume_pv,nvl(b.team_month_pv,0)+a.new_team_pv team_month_pv,
|
|
||||||
nvl(b.small_area_pv,0) small_area_pv,a.new_effective_num,a.new_team_pv,
|
|
||||||
a.dept_new_team_pv,nvl(dept_team_consume_amount,0) dept_team_consume_amount,
|
|
||||||
nvl(b.dept_team_month_amount,0) dept_team_month_amount,nvl(b.dept_team_month_pv,0)+a.dept_new_team_pv dept_team_month_pv,
|
|
||||||
nvl(b.dept_team_consume_pv,0)+a.dept_new_team_pv dept_team_consume_pv,
|
|
||||||
a.buy_effective_num,nvl(b.range_store_status,0) range_store_status,a.first_agent,a.second_agent,
|
|
||||||
a.assess_status,a.month_member,ba.awards_value range_awards_value from(
|
|
||||||
select * from ${secondTableName}
|
|
||||||
start with pk_member = #{pkMember}
|
|
||||||
connect by pk_member = prior pk_parent) a
|
|
||||||
inner join cu_member cm
|
|
||||||
on cm.pk_id=a.pk_member
|
|
||||||
left join ${rangeTableName} b
|
|
||||||
on a.pk_member=b.pk_member
|
|
||||||
inner join bd_range_awards ba
|
|
||||||
on a.pk_range_awards=ba.pk_id
|
|
||||||
where ba.del_flag=0
|
|
||||||
</select>
|
|
||||||
<select id="querySecondCuMemberRangeExtByParent" resultMap="CuMemberRangeExt">
|
<select id="querySecondCuMemberRangeExtByParent" resultMap="CuMemberRangeExt">
|
||||||
select a.pk_member,a.pk_parent,nvl(b.pk_settle_country,1) pk_settle_country,a.pk_range_awards,a.consume_status,
|
select a.pk_member,
|
||||||
nvl(b.income_status,0) income_status,nvl(b.consume_pv,0)+a.new_pv consume_pv,a.new_pv,a.new_team_pv,
|
a.pk_parent,
|
||||||
a.dept_new_team_pv,nvl(dept_team_consume_amount,0) dept_team_consume_amount,
|
nvl(b.pk_settle_country, 1) pk_settle_country,
|
||||||
nvl(b.dept_team_month_amount,0) dept_team_month_amount,nvl(b.dept_team_month_pv,0)+a.new_team_pv dept_team_month_pv,
|
a.pk_range_awards,
|
||||||
nvl(b.dept_team_consume_pv,0)+a.dept_new_team_pv dept_team_consume_pv,
|
a.consume_status,
|
||||||
nvl(b.month_pv,0)+a.new_pv month_pv,nvl(b.effective_num,0)+a.new_effective_num effective_num,a.new_effective_num,
|
nvl(b.income_status, 0) income_status,
|
||||||
nvl(b.team_consume_pv,0)+a.new_team_pv team_consume_pv,nvl(b.team_month_pv,0)+a.new_team_pv team_month_pv,nvl(b.small_area_pv,0) small_area_pv,
|
nvl(b.consume_pv, 0) + a.new_pv consume_pv,
|
||||||
a.assess_status,a.month_member,nvl(b.pay_time,null) pay_time,nvl(b.pk_rate,0) pk_rate,ba.awards_value range_awards_value from ${secondTableName} a
|
a.new_pv,
|
||||||
left join ${tableName} b
|
a.new_team_pv,
|
||||||
on a.pk_member=b.pk_member
|
a.dept_new_team_pv,
|
||||||
inner join bd_range_awards ba
|
nvl(dept_team_consume_amount, 0) dept_team_consume_amount,
|
||||||
on a.pk_range_awards=ba.pk_id
|
nvl(b.dept_team_month_amount, 0) dept_team_month_amount,
|
||||||
where ba.del_flag=0 and a.pk_parent= #{pkParent}
|
nvl(b.dept_team_month_pv, 0) + a.new_team_pv dept_team_month_pv,
|
||||||
|
nvl(b.dept_team_consume_pv, 0) + a.dept_new_team_pv dept_team_consume_pv,
|
||||||
|
nvl(b.month_pv, 0) + a.new_pv month_pv,
|
||||||
|
nvl(b.effective_num, 0) + a.new_effective_num effective_num,
|
||||||
|
a.new_effective_num,
|
||||||
|
nvl(b.team_consume_pv, 0) + a.new_team_pv team_consume_pv,
|
||||||
|
nvl(b.team_month_pv, 0) + a.new_team_pv team_month_pv,
|
||||||
|
nvl(b.small_area_pv, 0) small_area_pv,
|
||||||
|
a.assess_status,
|
||||||
|
a.month_member,
|
||||||
|
nvl(b.pay_time, null) pay_time,
|
||||||
|
nvl(b.pk_rate, 0) pk_rate,
|
||||||
|
ba.awards_value range_awards_value
|
||||||
|
from ${secondTableName} a
|
||||||
|
left join ${tableName} b
|
||||||
|
on a.pk_member = b.pk_member
|
||||||
|
inner join bd_range_awards ba
|
||||||
|
on a.pk_range_awards = ba.pk_id
|
||||||
|
where ba.del_flag = 0
|
||||||
|
and a.pk_parent = #{pkParent}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="validateSecondCuMemberPlaceAwards" resultType="java.lang.Integer">
|
<select id="validateSecondCuMemberPlaceAwards" resultType="java.lang.Integer">
|
||||||
select count(*) from(
|
select count(*) from(
|
||||||
<foreach collection="cuMemberRangeExtList" item="item" close=" " open=" " separator=" union all ">
|
<foreach collection="cuMemberRangeExtList" item="item" close=" " open=" " separator=" union all ">
|
||||||
|
|
|
@ -675,34 +675,6 @@
|
||||||
where bg.del_flag = 0
|
where bg.del_flag = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryCuMemberSecondRange" resultMap="CuMemberRetailRangeExt">
|
|
||||||
select a.pk_member,
|
|
||||||
a.pk_parent,
|
|
||||||
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
|
|
||||||
a.new_box_num,
|
|
||||||
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,
|
|
||||||
nvl(b.month_box_num, 0) + a.team_new_box_num month_box_num,
|
|
||||||
a.team_new_box_num,
|
|
||||||
nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv,
|
|
||||||
nvl(month_consume_pv, 0) + a.new_consume_pv month_consume_pv,
|
|
||||||
a.new_consume_pv,
|
|
||||||
nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount,
|
|
||||||
nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv,
|
|
||||||
nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount,
|
|
||||||
nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv,
|
|
||||||
nvl(b.big_box_num, 0) big_box_num,
|
|
||||||
nvl(b.small_box_num, 0) small_box_num,
|
|
||||||
nvl(b.big_team_pv, 0) big_team_pv,
|
|
||||||
nvl(b.small_team_pv, 0) small_team_pv,
|
|
||||||
a.team_new_amount,
|
|
||||||
a.team_new_pv
|
|
||||||
from ${secondTableName} a
|
|
||||||
left join ${rangeTableName} b
|
|
||||||
on a.pk_member = b.pk_member
|
|
||||||
where a.pk_member = #{pkMember}
|
|
||||||
or a.pk_parent = #{pkMember}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryCuMemberSecondRangeExtByParent" resultMap="CuMemberRetailRangeExt">
|
<select id="queryCuMemberSecondRangeExtByParent" resultMap="CuMemberRetailRangeExt">
|
||||||
select cm.pk_id pk_member,
|
select cm.pk_id pk_member,
|
||||||
cm.pk_parent,
|
cm.pk_parent,
|
||||||
|
@ -777,21 +749,6 @@
|
||||||
-->
|
-->
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryCuMemberSpeRetailRangeParent"
|
|
||||||
resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
|
||||||
select * from ${tableName}
|
|
||||||
where pk_parent in
|
|
||||||
<foreach collection="saOrderExtList" item="item" open="(" close=")" separator=",">
|
|
||||||
#{item}
|
|
||||||
</foreach>
|
|
||||||
union
|
|
||||||
select * from ${tableName}
|
|
||||||
where pk_member in
|
|
||||||
<foreach collection="saOrderExtList" item="item" open="(" close=")" separator=",">
|
|
||||||
#{item}
|
|
||||||
</foreach>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
<select id="queryCuMemberRetailRangeEnoughAchieve" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
||||||
select pk_member,
|
select pk_member,
|
||||||
pk_parent,
|
pk_parent,
|
||||||
|
@ -818,31 +775,4 @@
|
||||||
where pk_parent = #{pkParent}
|
where pk_parent = #{pkParent}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryCuMemberSecondRangeYes"
|
|
||||||
resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
|
|
||||||
select pk_member,
|
|
||||||
pk_parent,
|
|
||||||
consume_box_num,
|
|
||||||
new_box_num,
|
|
||||||
team_box_num,
|
|
||||||
month_box_num,
|
|
||||||
team_new_box_num,
|
|
||||||
consume_pv,
|
|
||||||
month_consume_pv,
|
|
||||||
new_consume_pv,
|
|
||||||
team_consume_amount,
|
|
||||||
team_consume_pv,
|
|
||||||
team_month_amount,
|
|
||||||
team_month_pv,
|
|
||||||
big_box_num,
|
|
||||||
small_box_num,
|
|
||||||
big_team_pv,
|
|
||||||
small_team_pv,
|
|
||||||
team_new_amount,
|
|
||||||
team_new_pv
|
|
||||||
from ${rangeTableName}
|
|
||||||
where pk_member = #{pkMember}
|
|
||||||
or pk_parent = #{pkMember}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -325,20 +325,6 @@
|
||||||
)
|
)
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateCuMemberSettleByPeriod">
|
|
||||||
merge into ${updateTableName} a
|
|
||||||
using (
|
|
||||||
select pk_member, max(new_level) pk_awards
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member) b
|
|
||||||
on (a.pk_member = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.pk_awards = b.pk_awards
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<insert id="insertCuMemberRetailRangeByMember">
|
<insert id="insertCuMemberRetailRangeByMember">
|
||||||
insert into ${settleTableName} (pk_member, pk_parent, member_code, member_name,
|
insert into ${settleTableName} (pk_member, pk_parent, member_code, member_name,
|
||||||
customer_type, phone, pk_grade, pk_awards, account_status, pay_status, category,
|
customer_type, phone, pk_grade, pk_awards, account_status, pay_status, category,
|
||||||
|
@ -388,41 +374,6 @@
|
||||||
<include refid="CuMemberTableTrig"></include>
|
<include refid="CuMemberTableTrig"></include>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateBackCuMemberSettleAward">
|
|
||||||
merge into ${settleTableName} a
|
|
||||||
using (select pk_member, max(old_level) old_level
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member) b
|
|
||||||
on (a.pk_member = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.pk_awards = b.old_level
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateBackCuMemberSettleRangeAward">
|
|
||||||
merge into ${rangeTableName} a
|
|
||||||
using (
|
|
||||||
select pk_member, old_level, ba.pk_awards
|
|
||||||
from (
|
|
||||||
select pk_member, max(old_level) old_level
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and up_type = 1
|
|
||||||
and system_type = 1
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member) ca
|
|
||||||
inner join bd_range_awards ba
|
|
||||||
on ca.old_level = ba.pk_id
|
|
||||||
where ba.del_flag = 0
|
|
||||||
) b
|
|
||||||
on (a.pk_member = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.pk_awards = b.pk_awards,a.pk_range_awards = b.old_level
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateBackCuMemberRetailRangeAward">
|
<update id="updateBackCuMemberRetailRangeAward">
|
||||||
merge into ${rangeTableName} a
|
merge into ${rangeTableName} a
|
||||||
using (
|
using (
|
||||||
|
@ -609,94 +560,6 @@
|
||||||
from ${tableName}
|
from ${tableName}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryCuMemberSettleEnoughAwardAchieve" resultMap="CuMemberSettleExt">
|
|
||||||
select a.pk_member,
|
|
||||||
a.pk_parent,
|
|
||||||
a.pk_place_parent,
|
|
||||||
a.a_sum_real_pv,
|
|
||||||
a.b_sum_real_pv,
|
|
||||||
a.pk_country,
|
|
||||||
a.pk_settle_country,
|
|
||||||
bw.pk_id pk_awards,
|
|
||||||
bdw.pk_id pk_ori_awards
|
|
||||||
from (select ct.pk_member,
|
|
||||||
ct.pk_parent,
|
|
||||||
ct.pk_place_parent,
|
|
||||||
(ba.awards_value + 5) awards_value,
|
|
||||||
ba.awards_value ori_awards_value,
|
|
||||||
ct.a_sum_real_pv,
|
|
||||||
ct.b_sum_real_pv,
|
|
||||||
ct.pk_country,
|
|
||||||
ct.pk_settle_country
|
|
||||||
from ${settleTableName} ct
|
|
||||||
inner join bd_awards ba
|
|
||||||
on ct.pk_awards = ba.pk_id
|
|
||||||
where ct.category = 0
|
|
||||||
and ct.income_status = 0
|
|
||||||
and ba.del_flag = 0) a
|
|
||||||
inner join bd_awards bw
|
|
||||||
on a.awards_value = bw.awards_value and a.pk_settle_country = bw.pk_country
|
|
||||||
inner join bd_awards bdw
|
|
||||||
on a.ori_awards_value = bdw.awards_value and a.pk_settle_country = bdw.pk_country
|
|
||||||
where bw.del_flag = 0
|
|
||||||
and bw.community_check <= a.a_sum_real_pv
|
|
||||||
and bw.community_check <= a.b_sum_real_pv
|
|
||||||
order by pk_member desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryCuMemberSettlePlaceUnderUmbrella" resultType="java.lang.Integer">
|
|
||||||
select count(a.pk_member)
|
|
||||||
from (select a.*, b.pk_awards
|
|
||||||
from (select pk_member, pk_parent, pk_place_parent, place_dept
|
|
||||||
from ${settleTableName} start with pk_place_parent = #{pkMember} and place_dept=#{placeDept}
|
|
||||||
connect by pk_place_parent = prior pk_member) a
|
|
||||||
inner join (select cw.pk_member, cw.new_level pk_awards
|
|
||||||
from cu_member_awards cw
|
|
||||||
inner join (select pk_member, max(pk_id) pk_id
|
|
||||||
from cu_member_awards
|
|
||||||
where del_flag = 0
|
|
||||||
and UP_TYPE in (1, 3)
|
|
||||||
group by pk_member) ca
|
|
||||||
on cw.pk_id = ca.pk_id
|
|
||||||
where cw.del_flag = 0
|
|
||||||
) b
|
|
||||||
on a.pk_member = b.pk_member) a
|
|
||||||
inner join bd_awards ba
|
|
||||||
on a.pk_awards = ba.pk_id
|
|
||||||
where ba.awards_value >= (select awards_value from bd_awards where pk_id = #{awardsValue})
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryCuMemberSettleBloodUnderUmbrella" resultType="java.lang.Integer">
|
|
||||||
select count(pk_member)
|
|
||||||
from (
|
|
||||||
select pk_member
|
|
||||||
from ${settleTableName} start with pk_parent = #{pkMember}
|
|
||||||
connect by pk_parent = prior pk_member) a
|
|
||||||
where a.pk_member in (
|
|
||||||
select x.pk_member
|
|
||||||
from (
|
|
||||||
select a.*, b.pk_awards
|
|
||||||
from (
|
|
||||||
select pk_member, pk_parent, pk_place_parent, place_dept
|
|
||||||
from ${settleTableName} start with pk_place_parent = #{pkMember} and place_dept=#{placeDept}
|
|
||||||
connect by pk_place_parent = prior pk_member) a
|
|
||||||
inner join (select cw.pk_member, cw.new_level pk_awards
|
|
||||||
from cu_member_awards cw
|
|
||||||
inner join(select pk_member, max(pk_id) pk_id
|
|
||||||
from cu_member_awards
|
|
||||||
where del_flag = 0
|
|
||||||
and UP_TYPE in (1, 3)
|
|
||||||
group by pk_member) ca
|
|
||||||
on cw.pk_id = ca.pk_id
|
|
||||||
where cw.del_flag = 0
|
|
||||||
) b
|
|
||||||
on a.pk_member = b.pk_member
|
|
||||||
) x
|
|
||||||
inner join bd_awards ba
|
|
||||||
on x.pk_awards = ba.pk_id
|
|
||||||
where ba.awards_value >= (select awards_value from bd_awards where pk_id = #{awardsValue}))
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryMemberSettleBySaOrder" resultMap="CuMemberSettleExt">
|
<select id="queryMemberSettleBySaOrder" resultMap="CuMemberSettleExt">
|
||||||
select pk_member,member_code,member_name,c.pk_awards,c.pk_grade,account_status,category,income_status,pk_settle_country,
|
select pk_member,member_code,member_name,c.pk_awards,c.pk_grade,account_status,category,income_status,pk_settle_country,
|
||||||
is_maker_space,purchase_status,share_status,bg.grade_value,pk_parent,is_maker_space,
|
is_maker_space,purchase_status,share_status,bg.grade_value,pk_parent,is_maker_space,
|
||||||
|
|
|
@ -174,22 +174,6 @@
|
||||||
where cm.del_flag = 0
|
where cm.del_flag = 0
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<update id="updateCuMemberByPeriod">
|
|
||||||
merge into cu_member a
|
|
||||||
using (
|
|
||||||
select pk_member, max(new_level) pk_awards
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member
|
|
||||||
) b
|
|
||||||
on (a.pk_id = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.pk_awards = b.pk_awards,
|
|
||||||
a.modified_time = sysdate
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateCuMemberRetailAwardsByPeriod">
|
<update id="updateCuMemberRetailAwardsByPeriod">
|
||||||
merge into cu_member a
|
merge into cu_member a
|
||||||
using (
|
using (
|
||||||
|
@ -258,40 +242,6 @@
|
||||||
order by pk_awards
|
order by pk_awards
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="updateBackCuMemberAward">
|
|
||||||
merge into cu_member a
|
|
||||||
using (select pk_member, max(old_level) old_level
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member) b
|
|
||||||
on (a.pk_id = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.pk_awards = b.old_level,
|
|
||||||
a.modified_time = sysdate
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateBackCuMemberRangeAward">
|
|
||||||
merge into cu_member a
|
|
||||||
using (select pk_member, old_level, ba.pk_awards
|
|
||||||
from (
|
|
||||||
select pk_member, max(old_level) old_level
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and up_type = 1
|
|
||||||
and del_flag = 0
|
|
||||||
group by pk_member) ca
|
|
||||||
inner join bd_range_awards ba
|
|
||||||
on ca.old_level = ba.pk_id
|
|
||||||
where ba.del_flag = 0) b
|
|
||||||
on (a.pk_id = b.pk_member)
|
|
||||||
when matched then
|
|
||||||
update set
|
|
||||||
a.pk_awards = b.pk_awards,a.pk_range_awards = b.old_level,
|
|
||||||
a.modified_time = sysdate
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateBackCuMemberRetailRangeAward">
|
<update id="updateBackCuMemberRetailRangeAward">
|
||||||
merge into cu_member a
|
merge into cu_member a
|
||||||
using (select pk_member, max(old_level) pk_awards
|
using (select pk_member, max(old_level) pk_awards
|
||||||
|
|
|
@ -151,22 +151,26 @@
|
||||||
</foreach>) )b
|
</foreach>) )b
|
||||||
on (cb.pk_member=b.pk_member and cb.period=b.period)
|
on (cb.pk_member=b.pk_member and cb.period=b.period)
|
||||||
WHEN NOT MATCHED THEN
|
WHEN NOT MATCHED THEN
|
||||||
insert(pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
insert (
|
||||||
|
pk_id, pk_member, period, pk_rate, direct_income,expand_income,expand_no_capping,
|
||||||
expand_capping,coach_income,share_income,service_income,back_points,service_spend,
|
expand_capping,coach_income,share_income,service_income,back_points,service_spend,
|
||||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||||
repur_coupon,repur_coupon_share,repur_coupon_subtotal,
|
repur_coupon,repur_coupon_share,repur_coupon_subtotal,
|
||||||
store_income, real_income_total,
|
store_income, real_income_total,
|
||||||
pk_country,pk_creator,grant_status,income_status,retail_range_income,retail_same_level_income,
|
pk_country, pk_creator, grant_status, income_status,
|
||||||
retail_area_income,retail_benefit_range_income,retail_benefit_avg_income,retail_benefit_income,
|
retail_range_income, retail_same_level_income,
|
||||||
retail_real_subtotal)
|
retail_area_income, retail_benefit_range_income, retail_month_repurchase_income,
|
||||||
values(b.pk_id,b.pk_member,b.period,b.pk_rate,b.direct_income,b.expand_income,b.expand_no_capping,
|
retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal)
|
||||||
|
values (
|
||||||
|
b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income,b.expand_income,b.expand_no_capping,
|
||||||
b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points,b.service_spend,
|
b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points,b.service_spend,
|
||||||
b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal,
|
b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal,
|
||||||
b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal,
|
b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal,
|
||||||
b.store_income, b.real_income_total,
|
b.store_income, b.real_income_total,
|
||||||
b.pk_country,b.pk_creator,b.grant_status,b.income_status,b.retail_range_income,b.retail_same_level_income,
|
b.pk_country, b.pk_creator, b.grant_status, b.income_status,
|
||||||
b.retail_area_income,b.retail_benefit_range_income,b.retail_benefit_avg_income,b.retail_benefit_income,
|
b.retail_range_income, b.retail_same_level_income,
|
||||||
b.retail_real_subtotal)
|
b.retail_area_income, b.retail_benefit_range_income, retail_month_repurchase_income,
|
||||||
|
b.retail_benefit_avg_income, b.retail_benefit_income, b.retail_real_subtotal)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="insertOrUpdateCuMemberBonus">
|
<insert id="insertOrUpdateCuMemberBonus">
|
||||||
|
|
Loading…
Reference in New Issue