## 奖衔升级处理方式优化;
This commit is contained in:
parent
83136f1387
commit
d00a36b698
|
@ -133,7 +133,16 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailRangeExt> queryEnoughAwardMember(@Param("rangeTableName") String rangeTableName,
|
List<CuMemberRetailRangeExt> queryEnoughAwardMember(@Param("rangeTableName") String rangeTableName,
|
||||||
@Param("totalCheck") BigDecimal totalCheck,
|
@Param("totalCheck") BigDecimal totalCheck,
|
||||||
@Param("pkAwards") Integer pkAwards);
|
@Param("awardsValue") Integer awardsValue);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合奖衔业绩、安置条件会员
|
||||||
|
*/
|
||||||
|
List<CuMemberRetailRangeExt> queryEnoughAwardPlaceMember(@Param("rangeTableName") String rangeTableName,
|
||||||
|
@Param("awardsValue") Integer awardsValue,
|
||||||
|
@Param("totalCheck") BigDecimal totalCheck,
|
||||||
|
@Param("placeDeptNum") Integer placeDeptNum,
|
||||||
|
@Param("checkAwardsValue") Integer checkAwardsValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员血缘下达标奖衔会员
|
* 查询会员血缘下达标奖衔会员
|
||||||
|
|
|
@ -91,7 +91,13 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
|
||||||
/**
|
/**
|
||||||
* 查询符合奖衔业绩条件会员
|
* 查询符合奖衔业绩条件会员
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailRangeExt> queryEnoughAwardMember(String settleTableName, BigDecimal totalCheck, Integer pkAwards);
|
List<CuMemberRetailRangeExt> queryEnoughAwardMember(String rangeTableName, BigDecimal totalCheck, Integer awardsValue);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合奖衔业绩、安置条件会员
|
||||||
|
*/
|
||||||
|
List<CuMemberRetailRangeExt> queryEnoughAwardPlaceMember(String rangeTableName, Integer awardsValue, BigDecimal totalCheck, Integer placeDeptNum,
|
||||||
|
Integer checkAwardsValue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员血缘下达标奖衔会员
|
* 查询会员血缘下达标奖衔会员
|
||||||
|
|
|
@ -187,8 +187,14 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberRetailRangeExt> queryEnoughAwardMember(String settleTableName, BigDecimal totalCheck, Integer pkAwards) {
|
public List<CuMemberRetailRangeExt> queryEnoughAwardMember(String rangeTableName, BigDecimal totalCheck, Integer awardsValue) {
|
||||||
return baseMapper.queryEnoughAwardMember(settleTableName, totalCheck, pkAwards);
|
return baseMapper.queryEnoughAwardMember(rangeTableName, totalCheck, awardsValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CuMemberRetailRangeExt> queryEnoughAwardPlaceMember(String rangeTableName, Integer awardsValue, BigDecimal totalCheck, Integer placeDeptNum,
|
||||||
|
Integer checkAwardsValue) {
|
||||||
|
return baseMapper.queryEnoughAwardPlaceMember(rangeTableName, awardsValue, totalCheck, placeDeptNum, checkAwardsValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -290,8 +290,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
List<BdAwards> awardsList = bonusConfigDTO.getAwardsList();
|
List<BdAwards> awardsList = bonusConfigDTO.getAwardsList();
|
||||||
awardsList.forEach(bdAwards -> awardsMap.put(bdAwards.getAwardsValue(), bdAwards));
|
awardsList.forEach(bdAwards -> awardsMap.put(bdAwards.getAwardsValue(), bdAwards));
|
||||||
|
|
||||||
// 会员奖衔升级记录
|
|
||||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
|
||||||
// 直推收益、见点收益
|
// 直推收益、见点收益
|
||||||
List<CuMemberBonusPush> cuMemberBonusPushList = new ArrayList<>();
|
List<CuMemberBonusPush> cuMemberBonusPushList = new ArrayList<>();
|
||||||
// 领导奖收益、平级奖收益
|
// 领导奖收益、平级奖收益
|
||||||
|
@ -306,7 +304,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 更新血缘上业绩、金额
|
// 更新血缘上业绩、金额
|
||||||
iCuMemberRetailRangeService.updateMemberParentDate(rangeTableName, memberAchieveHashMap);
|
iCuMemberRetailRangeService.updateMemberParentDate(rangeTableName, memberAchieveHashMap);
|
||||||
// 处理奖衔
|
// 处理奖衔
|
||||||
iCuMemberAwardsService.calculateCuMemberAwards(rangeTableName, awardsList, awardsMap, settleStartDate, period);
|
iCuMemberAwardsService.calculateCuMemberAwards(rangeTableName, awardsList, settleStartDate, period);
|
||||||
|
|
||||||
// 按照血缘,查询该会员所有伞上会员
|
// 按照血缘,查询该会员所有伞上会员
|
||||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, orderList);
|
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, orderList);
|
||||||
|
@ -337,8 +335,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
sourceMember.setMonthConsumeAmount(sourceMember.getMonthConsumeAmount().add(orderAmount));
|
sourceMember.setMonthConsumeAmount(sourceMember.getMonthConsumeAmount().add(orderAmount));
|
||||||
// // 自己计算奖衔,目前业绩都只往下传,所以此处暂时不需要处理订单会员的奖衔
|
// // 自己计算奖衔,目前业绩都只往下传,所以此处暂时不需要处理订单会员的奖衔
|
||||||
// this.calculateAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap, cuMemberAwardsList, sourceMember);
|
// this.calculateAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap, cuMemberAwardsList, sourceMember);
|
||||||
// 累计团队业绩、金额 + 计算奖衔
|
// 累计团队业绩、金额
|
||||||
cuMemberAwardsList.addAll(this.calculateParentAwards(period, memberRangeExtMap, rangeTableName, sourceMember, saOrderExt, awardsMap));
|
this.calculateParentDate(memberRangeExtMap, sourceMember, saOrderExt);
|
||||||
|
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||||
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
||||||
|
@ -413,12 +411,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
if (cuMemberBonusStageList.size() > 0) {
|
if (cuMemberBonusStageList.size() > 0) {
|
||||||
bonusRecordDetailVO.setCuMemberBonusStageList(cuMemberBonusStageList);
|
bonusRecordDetailVO.setCuMemberBonusStageList(cuMemberBonusStageList);
|
||||||
}
|
}
|
||||||
// if (cuMemberAwardsList.size() > 0) {
|
|
||||||
// // 批量插入会员奖衔记录
|
|
||||||
// iCuMemberAwardsService.saveBatchCuMemberAwards(cuMemberAwardsList);
|
|
||||||
// // 更新会员表奖衔数据
|
|
||||||
// iCuMemberService.updateCuMemberAwardsByPeriod(period);
|
|
||||||
// }
|
|
||||||
// 更新日结数据
|
// 更新日结数据
|
||||||
iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
|
iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
|
||||||
// 更新日结明细数据
|
// 更新日结明细数据
|
||||||
|
@ -1094,12 +1086,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算团队奖衔
|
* 计算团队数据
|
||||||
*/
|
*/
|
||||||
private List<CuMemberAwards> calculateParentAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
|
private void calculateParentDate(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, CuMemberRetailRangeExt sourceMember,
|
||||||
CuMemberRetailRangeExt sourceMember, SaOrderExt saOrderExt, Map<Integer, BdAwards> retailAwardsMap) {
|
SaOrderExt saOrderExt) {
|
||||||
// 会员奖衔升级列表
|
|
||||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
|
||||||
// 订单会员的推荐人
|
// 订单会员的推荐人
|
||||||
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(sourceMember.getPkParent());
|
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(sourceMember.getPkParent());
|
||||||
|
|
||||||
|
@ -1124,12 +1114,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
targetMember.setRepTeamNewPv(targetMember.getRepTeamNewPv().add(orderAchieve));
|
targetMember.setRepTeamNewPv(targetMember.getRepTeamNewPv().add(orderAchieve));
|
||||||
targetMember.setRepTeamNewAmount(targetMember.getRepTeamNewAmount().add(orderAmount));
|
targetMember.setRepTeamNewAmount(targetMember.getRepTeamNewAmount().add(orderAmount));
|
||||||
}
|
}
|
||||||
// // 计算奖衔
|
|
||||||
// calculateAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap, cuMemberAwardsList, targetMember);
|
|
||||||
|
|
||||||
targetMember = memberRangeExtMap.get(targetMember.getPkParent());
|
targetMember = memberRangeExtMap.get(targetMember.getPkParent());
|
||||||
}
|
}
|
||||||
return cuMemberAwardsList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ import com.hzs.common.domain.system.config.BdAwards;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-奖衔升级记录 服务类
|
* 会员信息-奖衔升级记录 服务类
|
||||||
|
@ -17,7 +16,7 @@ public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
/**
|
/**
|
||||||
* 计算奖衔
|
* 计算奖衔
|
||||||
*/
|
*/
|
||||||
void calculateCuMemberAwards(String rangeTableName, List<BdAwards> awardsList, Map<Integer, BdAwards> awardsMap, Date settleDate, Integer period);
|
void calculateCuMemberAwards(String rangeTableName, List<BdAwards> awardsList, Date settleDate, Integer period);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量插入奖衔记录
|
* 批量插入奖衔记录
|
||||||
|
|
|
@ -19,7 +19,6 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-奖衔升级记录 服务实现类
|
* 会员信息-奖衔升级记录 服务实现类
|
||||||
|
@ -37,7 +36,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
private ICuMemberRetailRangeService iCuMemberRetailRangeService;
|
private ICuMemberRetailRangeService iCuMemberRetailRangeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void calculateCuMemberAwards(String rangeTableName, List<BdAwards> awardsList, Map<Integer, BdAwards> awardsMap, Date settleDate, Integer period) {
|
public void calculateCuMemberAwards(String rangeTableName, List<BdAwards> awardsList, Date settleDate, Integer period) {
|
||||||
// 回退结算表奖衔
|
// 回退结算表奖衔
|
||||||
iCuMemberTreeService.updateBackCuMemberRetailRangeAward(rangeTableName, period);
|
iCuMemberTreeService.updateBackCuMemberRetailRangeAward(rangeTableName, period);
|
||||||
// 回退会员表奖衔
|
// 回退会员表奖衔
|
||||||
|
@ -56,7 +55,14 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
Map<Long, List<CuMemberRetailRangeExt>> cuMemberRangeExtMap = new HashMap<>();
|
Map<Long, List<CuMemberRetailRangeExt>> cuMemberRangeExtMap = new HashMap<>();
|
||||||
|
|
||||||
for (BdAwards bdAwards : awardsList) {
|
for (BdAwards bdAwards : awardsList) {
|
||||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryEnoughAwardMember(rangeTableName, bdAwards.getTotalCheck(), bdAwards.getPkId());
|
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList;
|
||||||
|
if (bdAwards.getPlaceDeptNum() > 0) {
|
||||||
|
BdAwards checkAwards = awardsList.stream().filter(tmpDate -> tmpDate.getPkId().equals(bdAwards.getPkCheckAwardsLeft())).findFirst().get();
|
||||||
|
cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryEnoughAwardPlaceMember(rangeTableName, bdAwards.getAwardsValue(),
|
||||||
|
bdAwards.getTotalCheck(), bdAwards.getPlaceDeptNum(), checkAwards.getAwardsValue());
|
||||||
|
} else {
|
||||||
|
cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryEnoughAwardMember(rangeTableName, bdAwards.getTotalCheck(), bdAwards.getAwardsValue());
|
||||||
|
}
|
||||||
cuMemberAwardsList.addAll(this.calculateAwards(rangeTableName, bdAwards, period, cuMemberRetailRangeExtList, cuMemberRangeExtMap));
|
cuMemberAwardsList.addAll(this.calculateAwards(rangeTableName, bdAwards, period, cuMemberRetailRangeExtList, cuMemberRangeExtMap));
|
||||||
}
|
}
|
||||||
if (cuMemberAwardsList.size() > 0) {
|
if (cuMemberAwardsList.size() > 0) {
|
||||||
|
@ -70,7 +76,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<CuMemberAwards> calculateAwards(String rangeTableName, BdAwards bdAwards, Integer period,
|
private List<CuMemberAwards> calculateAwards(String rangeTableName, BdAwards bdAwards, Integer period,
|
||||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Map<Long, List<CuMemberRetailRangeExt>> cuMemberRangeExtMap) {
|
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Map<Long, List<CuMemberRetailRangeExt>> cuMemberRangeExtMap) {
|
||||||
// 只满足业绩的
|
// 只满足业绩的
|
||||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
||||||
|
|
||||||
|
@ -78,41 +84,48 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
Date nowDate = new Date();
|
Date nowDate = new Date();
|
||||||
|
|
||||||
cuMemberRetailRangeExtList.forEach(targetMember -> {
|
cuMemberRetailRangeExtList.forEach(targetMember -> {
|
||||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList = cuMemberRangeExtMap.get(targetMember.getPkMember());
|
if (bdAwards.getPlaceDeptNum() > 0 && bdAwards.getCommunityCheck().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
if (null == cuMemberRangeExtList) {
|
// 需要校验部门奖衔并且小区业绩为0的
|
||||||
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMember.getPkMember());
|
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMember, period, bdAwards, EAwardsType.RANGE_TYPE.getValue(), targetMember.getPkAwards(), nowDate));
|
||||||
cuMemberRangeExtMap.put(targetMember.getPkMember(), cuMemberRangeExtList);
|
targetMember.setPkAwards(bdAwards.getPkId());
|
||||||
}
|
targetMember.setAwardsValue(bdAwards.getAwardsValue());
|
||||||
// 大区
|
} else {
|
||||||
BigDecimal consumeBigPv = BigDecimal.ZERO;
|
List<CuMemberRetailRangeExt> cuMemberRangeExtList = cuMemberRangeExtMap.get(targetMember.getPkMember());
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
if (null == cuMemberRangeExtList) {
|
||||||
// 累计业绩 = 团队累计消费业绩 + 个人累计消费业绩
|
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMember.getPkMember());
|
||||||
BigDecimal consumePv = cuMemberRetailRangeExt.getTeamConsumePv().add(cuMemberRetailRangeExt.getConsumePv());
|
cuMemberRangeExtMap.put(targetMember.getPkMember(), cuMemberRangeExtList);
|
||||||
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
|
||||||
// 累计业绩 > 大区业绩,则累计就成为大区
|
|
||||||
consumeBigPv = consumePv;
|
|
||||||
}
|
}
|
||||||
}
|
// 大区
|
||||||
// 小区业绩 = 团队累计业绩 - 大区业绩
|
BigDecimal consumeBigPv = BigDecimal.ZERO;
|
||||||
BigDecimal smallAreaPv = ComputeUtil.computeSubtract(targetMember.getTeamConsumePv(), consumeBigPv);
|
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
||||||
if (smallAreaPv.compareTo(bdAwards.getCommunityCheck()) >= 0) {
|
// 累计业绩 = 团队累计消费业绩 + 个人累计消费业绩
|
||||||
// 小区业绩 >= 考核小区业绩
|
BigDecimal consumePv = cuMemberRetailRangeExt.getTeamConsumePv().add(cuMemberRetailRangeExt.getConsumePv());
|
||||||
if (bdAwards.getPlaceDeptNum() > 0) {
|
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
||||||
if (CollectionUtil.isNotEmpty(cuMemberRangeExtList)) {
|
// 累计业绩 > 大区业绩,则累计就成为大区
|
||||||
// 验证每条血缘下,满足达标数量
|
consumeBigPv = consumePv;
|
||||||
List<Integer> checkList = iCuMemberRetailRangeService.listChildAwards(rangeTableName, bdAwards.getPkCheckAwardsLeft(),
|
}
|
||||||
cuMemberRangeExtList.stream().map(CuMemberRetailRangeExt::getPkMember).collect(Collectors.toList()));
|
}
|
||||||
if (CollectionUtil.isNotEmpty(checkList) && checkList.size() >= bdAwards.getPlaceDeptNum()) {
|
// 小区业绩 = 团队累计业绩 - 大区业绩
|
||||||
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMember, period, bdAwards, EAwardsType.RANGE_TYPE.getValue(), targetMember.getPkAwards(), nowDate));
|
BigDecimal smallAreaPv = ComputeUtil.computeSubtract(targetMember.getTeamConsumePv(), consumeBigPv);
|
||||||
targetMember.setPkAwards(bdAwards.getPkId());
|
if (smallAreaPv.compareTo(bdAwards.getCommunityCheck()) >= 0) {
|
||||||
targetMember.setAwardsValue(bdAwards.getAwardsValue());
|
// 小区业绩 >= 考核小区业绩
|
||||||
}
|
if (bdAwards.getPlaceDeptNum() > 0) {
|
||||||
|
if (CollectionUtil.isNotEmpty(cuMemberRangeExtList)) {
|
||||||
|
// 验证每条血缘下,满足达标数量
|
||||||
|
List<Integer> checkList = iCuMemberRetailRangeService.listChildAwards(rangeTableName, bdAwards.getPkCheckAwardsLeft(),
|
||||||
|
Collections.singletonList(targetMember.getPkMember()));
|
||||||
|
if (CollectionUtil.isNotEmpty(checkList) && checkList.size() >= bdAwards.getPlaceDeptNum()) {
|
||||||
|
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMember, period, bdAwards, EAwardsType.RANGE_TYPE.getValue(), targetMember.getPkAwards(), nowDate));
|
||||||
|
targetMember.setPkAwards(bdAwards.getPkId());
|
||||||
|
targetMember.setAwardsValue(bdAwards.getAwardsValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 不需要考核血缘达标,直接给奖衔
|
||||||
|
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMember, period, bdAwards, EAwardsType.RANGE_TYPE.getValue(), targetMember.getPkAwards(), nowDate));
|
||||||
|
targetMember.setPkAwards(bdAwards.getPkId());
|
||||||
|
targetMember.setAwardsValue(bdAwards.getAwardsValue());
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// 不需要考核血缘达标,直接给奖衔
|
|
||||||
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMember, period, bdAwards, EAwardsType.RANGE_TYPE.getValue(), targetMember.getPkAwards(), nowDate));
|
|
||||||
targetMember.setPkAwards(bdAwards.getPkId());
|
|
||||||
targetMember.setAwardsValue(bdAwards.getAwardsValue());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -980,9 +980,36 @@
|
||||||
<select id="queryEnoughAwardMember" resultMap="CuMemberRetailRangeExt">
|
<select id="queryEnoughAwardMember" resultMap="CuMemberRetailRangeExt">
|
||||||
select cmr.*
|
select cmr.*
|
||||||
from ${rangeTableName} cmr
|
from ${rangeTableName} cmr
|
||||||
|
left join bd_awards ba
|
||||||
|
on ba.pk_id = cmr.pk_awards
|
||||||
where cmr.category = 0
|
where cmr.category = 0
|
||||||
and cmr.team_consume_pv >= #{totalCheck}
|
and cmr.team_consume_pv >= #{totalCheck}
|
||||||
and #{pkAwards} > cmr.pk_awards
|
and #{awardsValue} > ba.awards_value
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询符合奖衔业绩、安置条件会员 -->
|
||||||
|
<select id="queryEnoughAwardPlaceMember" resultMap="CuMemberRetailRangeExt">
|
||||||
|
select cmr.*
|
||||||
|
from ${rangeTableName} cmr
|
||||||
|
left join bd_awards ba
|
||||||
|
on ba.pk_id = cmr.pk_awards
|
||||||
|
where cmr.pk_member in
|
||||||
|
(select cmr.pk_parent
|
||||||
|
from ${rangeTableName} cmr
|
||||||
|
where cmr.pk_parent != 0
|
||||||
|
start with cmr.pk_member in
|
||||||
|
(select cmr.pk_member
|
||||||
|
from ${rangeTableName} cmr
|
||||||
|
left join bd_awards ba
|
||||||
|
on ba.pk_id = cmr.pk_awards
|
||||||
|
and ba.del_flag = 0
|
||||||
|
where cmr.category = 0
|
||||||
|
and ba.awards_value >= #{checkAwardsValue})
|
||||||
|
connect by cmr.pk_member = prior cmr.pk_parent
|
||||||
|
group by cmr.pk_parent
|
||||||
|
having count (distinct cmr.pk_member) >= #{placeDeptNum})
|
||||||
|
and #{awardsValue} > ba.awards_value
|
||||||
|
and cmr.team_consume_pv >= #{totalCheck}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询会员血缘下达标奖衔会员 -->
|
<!-- 查询会员血缘下达标奖衔会员 -->
|
||||||
|
|
Loading…
Reference in New Issue