## 去掉原来月奖处理;恢复旧累计奖衔处理;
This commit is contained in:
parent
c6f4161655
commit
2b06a82ccf
|
@ -7,8 +7,6 @@ import com.hzs.common.domain.system.config.ext.BdAwardsExt;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
* @description: 根据国家查询奖衔配置列表api
|
||||
|
|
|
@ -508,15 +508,20 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
|
||||
// 迁移网体数据到月表
|
||||
cuMemberTreeService.insertCuMemberTreeBySettleDate(settleDate, currentSettleTableName, period);
|
||||
Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate));
|
||||
// 计算上个月末跟上上个月末最后一天业绩
|
||||
Integer beforeMonthPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeMonthLastDate(DateUtils.parseStringToDate(settleDate)))).getPkId();
|
||||
String beforeMonthTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeMonthPeriod;
|
||||
// 当月第一天
|
||||
Integer currentMonthFirstPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(DateUtils.parseStringToDate(settleDate))).getPkId();
|
||||
cuMemberAwardsService.calculateCuMemberAwardsEveryMonth(currentMonthFirstPeriod, yesterdayPeriod, period, settleDate, beforeMonthTableName, awardsMap);
|
||||
|
||||
// TODO new 之前月奖衔的数据处理
|
||||
// // 上月最后一天
|
||||
// Integer beforeMonthPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
// DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeMonthLastDate(DateUtils.parseStringToDate(settleDate)))
|
||||
// ).getPkId();
|
||||
// // 当月第一天
|
||||
// Integer currentMonthFirstPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
// DateUtils.currentMonthFirstDateStr(DateUtils.parseStringToDate(settleDate))
|
||||
// ).getPkId();
|
||||
// cuMemberAwardsService.calculateCuMemberAwardsEveryMonth(currentMonthFirstPeriod, yesterdayPeriod, period, settleDate, beforeMonthPeriod, awardsMap);
|
||||
|
||||
// 计算完当日奖金后,根据业绩计算下月奖衔
|
||||
Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate));
|
||||
String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate);
|
||||
if (afterDate.endsWith("01")) {
|
||||
// TODO new 不是月奖衔,每月初不更新(月级差奖衔需要去掉)
|
||||
|
@ -545,8 +550,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
cuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName);
|
||||
}
|
||||
}
|
||||
// 应该是给4-N配置使用的
|
||||
bonusExpandService.updateCuBonusExpandRatio(BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(), "cu_member_bonus");
|
||||
|
||||
if (leXueRangeParam != null) {
|
||||
// 乐学相关,处理提货数据
|
||||
if (CollectionUtil.isNotEmpty(leXueRangeParam.getAcPickExtList())) {
|
||||
if (!acPickServiceApi.updatePickUse(leXueRangeParam.getAcPickExtList(), leXueRangeParam.getAcPickMemberLogList()).getData()) {
|
||||
throw new RuntimeException("更新提货专区数量失败");
|
||||
|
|
|
@ -67,7 +67,7 @@ public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
|||
* @date: 2024/8/31 9:31
|
||||
* @param: null null
|
||||
**/
|
||||
void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map<String, BdAwards> awardsMap);
|
||||
void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, Integer beforeMonthPeriod, Map<String, BdAwards> awardsMap);
|
||||
|
||||
/*
|
||||
* @description: 根据结算表更新奖衔
|
||||
|
|
|
@ -34,31 +34,31 @@ import java.util.*;
|
|||
public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper, CuMemberAwards> implements ICuMemberAwardsService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberTreeService cuMemberTreeService;
|
||||
private ICuMemberTreeService iCuMemberTreeService;
|
||||
@Autowired
|
||||
private ICuMemberService cuMemberService;
|
||||
private ICuMemberService iCuMemberService;
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void calculateCuMemberAwards(String setDate, Map<String, BdAwards> countryAwardsMap, String settleTableName) {
|
||||
// 查询结算日当天奖衔发生过变动的会员,本期
|
||||
Date settleDate = DateUtils.parseStringToDate(setDate);
|
||||
Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
|
||||
Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
|
||||
|
||||
// 某一期的会员奖衔
|
||||
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period);
|
||||
// 回退会员奖衔(日结表)
|
||||
cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
||||
iCuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
||||
// 更新会员奖衔根据临时表(会员表)
|
||||
cuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
||||
iCuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
||||
// 回退业绩表奖衔(删除会员奖衔升级记录)
|
||||
baseMapper.deleteCuMemberAwards(period);
|
||||
|
||||
while (true) {
|
||||
// 查询出符合下一奖衔足够业绩的会员
|
||||
List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
|
||||
List<CuMemberSettleExt> cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
|
||||
if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) {
|
||||
break;
|
||||
}
|
||||
|
@ -69,8 +69,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
public void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName) {
|
||||
// 更新奖衔,回退奖衔
|
||||
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period);
|
||||
cuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
|
||||
cuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
|
||||
iCuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
|
||||
iCuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
|
||||
// 回退业绩表奖衔
|
||||
baseMapper.deleteCuMemberAwards(period);
|
||||
}
|
||||
|
@ -157,13 +157,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
if (cuMemberAwardsList.size() > 0) {
|
||||
// 将变动值插入临时表中
|
||||
// 更新会员表
|
||||
cuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
|
||||
iCuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
|
||||
// 更新结算网体表 -- 结算日期到当前日期的所有日结算表
|
||||
updateMemberAwardPeriod(settleDate);
|
||||
return Boolean.TRUE;
|
||||
} else {
|
||||
// 更新会员表
|
||||
cuMemberService.updateCuMemberByPeriod(null, period);
|
||||
iCuMemberService.updateCuMemberByPeriod(null, period);
|
||||
// 更新结算网体表 -- 结算日期到当前日期的所有日结算表
|
||||
updateMemberAwardPeriod(settleDate);
|
||||
return Boolean.FALSE;
|
||||
|
@ -175,10 +175,10 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
List<Integer> periodList = new ArrayList<>();
|
||||
while (DateUtils.compareDateBefore(settleDate, currentDate)) {
|
||||
String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
|
||||
periodList.add(cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId());
|
||||
periodList.add(iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId());
|
||||
settleDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate);
|
||||
}
|
||||
cuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
|
||||
iCuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -192,7 +192,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
}
|
||||
|
||||
@Override
|
||||
public void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map<String, BdAwards> awardsMap) {
|
||||
public void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, Integer beforeMonthPeriod, Map<String, BdAwards> awardsMap) {
|
||||
// 根据奖衔找到最小的业绩要求
|
||||
BigDecimal minAchieve = BigDecimal.valueOf(999999999);
|
||||
List<BdAwards> bdAwardsList = new ArrayList<>();
|
||||
|
@ -201,26 +201,35 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
if (bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())) {
|
||||
minAchieve = bdAwards.getCommunityCheck();
|
||||
}
|
||||
if (ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
|
||||
if (bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck())) {
|
||||
bdAwardsList.add(bdAwards);
|
||||
}
|
||||
}
|
||||
String month = DateUtils.getMonth(settleDate);
|
||||
// 删除 cu_member_settle_awards 数据
|
||||
baseMapper.deleteCuMemberSettleAwards(period);
|
||||
|
||||
// 计算业绩, 计算直销团队的福利奖衔
|
||||
baseMapper.calculateCuMemberAwardsEveryMonth(period, month, beforeMontTableName, minAchieve);
|
||||
String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + period;
|
||||
String month = DateUtils.getMonth(settleDate);
|
||||
// 上月最后一天的日结算表
|
||||
String beforeMonthTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeMonthPeriod;
|
||||
baseMapper.calculateCuMemberAwardsEveryMonth(period, month, beforeMonthTableName, minAchieve);
|
||||
|
||||
// 计算乐享极差团队奖衔
|
||||
// 今天的乐享级差结算表
|
||||
String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + period;
|
||||
baseMapper.calculateCuMemberRangeAwardsEveryMonth(period, rangeTableName, minAchieve);
|
||||
|
||||
// 计算插入月奖衔
|
||||
baseMapper.calculateCuMemberAwards(period, bdAwardsList);
|
||||
// 清空当月cu_member_settle_awards中数据 currentMonthFirstPeriod yesterdayPeriod 之间和period重复的去掉
|
||||
|
||||
// 清空当月cu_member_settle_awards中数据 -- 当月第一天 到 昨天 之间 和 period重复的去掉
|
||||
baseMapper.deleteRepeatCuMemberAwards(period, currentMonthFirstPeriod, yesterdayPeriod);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCuMemberAwardsExamine(Date currentDate, Integer period) {
|
||||
String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate);
|
||||
Integer currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
|
||||
Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
|
||||
String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate);
|
||||
baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod);
|
||||
}
|
||||
|
@ -359,13 +368,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
*/
|
||||
private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) {
|
||||
// 左区满足,且满足血缘
|
||||
if (cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||
cuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
||||
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
||||
// 验证血缘,左区存在血缘关系的
|
||||
// 右区满足,且满足血缘
|
||||
// 进行验证血缘验证
|
||||
return cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||
cuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_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;
|
||||
}
|
||||
|
@ -379,9 +388,9 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
*/
|
||||
private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) {
|
||||
// 验证左区
|
||||
if (cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
||||
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
||||
// 在验证右区
|
||||
return cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
||||
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -21,17 +21,6 @@
|
|||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
DEL_FLAG,
|
||||
PK_CREATOR,
|
||||
CREATION_TIME,
|
||||
PK_MODIFIED,
|
||||
MODIFIED_TIME,
|
||||
PK_COUNTRY,
|
||||
PK_ID, PK_MEMBER, PERIOD, UP_TYPE, OLD_LEVEL, NEW_LEVEL, REMARK
|
||||
</sql>
|
||||
|
||||
<insert id="saveBatchCuMemberAwards">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuMemberAwardsList" separator=" ">
|
||||
|
@ -47,30 +36,58 @@
|
|||
|
||||
<update id="calculateCuMemberAwardsEveryMonth">
|
||||
merge into cu_member_settle_awards a
|
||||
using(
|
||||
select #{period} period,b.* from(
|
||||
select pk_member,pk_country,a_balance,b_balance,a_new_pv,b_new_pv,
|
||||
(case when a_balance=0 and b_balance=0 then a_new_pv+b_new_pv when a_balance=0 then a_new_pv else b_new_pv end) new_pv from (
|
||||
select ct.pk_member,ct.pk_country,nvl(ctb.a_balance,0) a_balance,nvl(ctb.b_balance,0) b_balance,
|
||||
ct.a_sum_pv a_new_pv,ct.b_sum_pv b_new_pv
|
||||
from (
|
||||
select pk_member,pk_country,sum(A_NEW_PV+REP_A_NEW_PV) A_SUM_PV,sum(b_NEW_PV+REP_B_NEW_PV) b_SUM_PV,
|
||||
sum(register_new_pv) REGISTER_PV,sum(upgrade_new_pv) UPGRADE_PV,sum(repurchase_new_pv) REPURCHASE_PV,
|
||||
sum(hi_fun_new_pv) HI_FUN_PV,sum(mall_new_pv) MALL_PV from cu_member_achieve${month}
|
||||
where period <= #{period} and pk_country=1
|
||||
group by pk_member,pk_country
|
||||
) ct
|
||||
left join ${beforeMontTableName} ctb
|
||||
on ct.pk_member = ctb.pk_member
|
||||
)) b
|
||||
where new_pv>=#{minAchieve}) b
|
||||
on (a.pk_member=b.pk_member and a.period=b.period)
|
||||
using (
|
||||
select #{period} period, b.*
|
||||
from (
|
||||
select pk_member,
|
||||
pk_country,
|
||||
a_balance,
|
||||
b_balance,
|
||||
a_new_pv,
|
||||
b_new_pv,
|
||||
(case
|
||||
when a_balance = 0 and b_balance = 0 then a_new_pv + b_new_pv
|
||||
when a_balance = 0 then a_new_pv
|
||||
else b_new_pv end) new_pv
|
||||
from (
|
||||
select ct.pk_member,
|
||||
ct.pk_country,
|
||||
nvl(ctb.a_balance, 0) a_balance,
|
||||
nvl(ctb.b_balance, 0) b_balance,
|
||||
ct.a_sum_pv a_new_pv,
|
||||
ct.b_sum_pv b_new_pv
|
||||
from (
|
||||
select pk_member,
|
||||
pk_country,
|
||||
sum(A_NEW_PV + REP_A_NEW_PV) A_SUM_PV,
|
||||
sum(b_NEW_PV + REP_B_NEW_PV) b_SUM_PV,
|
||||
sum(register_new_pv) REGISTER_PV,
|
||||
sum(upgrade_new_pv) UPGRADE_PV,
|
||||
sum(repurchase_new_pv) REPURCHASE_PV,
|
||||
sum(hi_fun_new_pv) HI_FUN_PV,
|
||||
sum(mall_new_pv) MALL_PV
|
||||
from cu_member_achieve${month}
|
||||
where period <= #{period}
|
||||
and pk_country = 1
|
||||
group by pk_member, pk_country
|
||||
) ct
|
||||
left join ${beforeMontTableName} ctb
|
||||
on ct.pk_member = ctb.pk_member
|
||||
)) b
|
||||
where new_pv >= #{minAchieve}) b
|
||||
on (a.pk_member = b.pk_member and a.period = b.period)
|
||||
when matched then
|
||||
update set a.a_balance=b.a_balance,a.b_balance=b.b_balance,
|
||||
a.a_new_pv=b.a_new_pv,a.b_new_pv=b.b_new_pv,a.new_pv=b.new_pv
|
||||
update set
|
||||
a.a_balance = b.a_balance,
|
||||
a.b_balance = b.b_balance,
|
||||
a.a_new_pv = b.a_new_pv,
|
||||
a.b_new_pv = b.b_new_pv,
|
||||
a.new_pv = b.new_pv
|
||||
when not matched then
|
||||
insert(pk_id,period,pk_member,a_balance,b_balance,a_new_pv,b_new_pv,new_pv,pk_country,assess_status)
|
||||
values(cu_member_settle_awards_seq.nextval,b.period,b.pk_member,b.a_balance,b.b_balance,b.a_new_pv,b.b_new_pv,b.new_pv,b.pk_country,3)
|
||||
insert (pk_id, period, pk_member, a_balance, b_balance, a_new_pv, b_new_pv, new_pv, pk_country,
|
||||
assess_status)
|
||||
values (cu_member_settle_awards_seq.nextval, b.period, b.pk_member, b.a_balance, b.b_balance,
|
||||
b.a_new_pv, b.b_new_pv, b.new_pv, b.pk_country, 3)
|
||||
</update>
|
||||
|
||||
<update id="calculateCuMemberAwards">
|
||||
|
@ -78,7 +95,7 @@
|
|||
using(
|
||||
select pk_member,period,max(pk_awards) pk_awards from(
|
||||
<foreach collection="bdAwardsList" item="item" open=" " close=" " separator=" union ">
|
||||
select pk_member,period,#{item.pkId} pk_awards
|
||||
select pk_member,period, #{item.pkId} pk_awards
|
||||
from cu_member_settle_awards
|
||||
where period = #{period} and pk_country=#{item.pkCountry} and new_pv>=#{item.communityCheck}
|
||||
<if test="item.communityCheckEnd != null and item.communityCheckEnd > 0">
|
||||
|
|
|
@ -99,6 +99,13 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
|
|||
*/
|
||||
List<CuMemberMonthAchieveContrastVO> selectNewAddAchieveContrast(Long pkMember, Integer pkCountry, Integer month);
|
||||
|
||||
/**
|
||||
* 根据天数类型获取开始日期
|
||||
*
|
||||
* @param dayType
|
||||
* @param localDate
|
||||
* @return
|
||||
*/
|
||||
LocalDate getStartDateByType(Integer dayType, LocalDate localDate);
|
||||
|
||||
/**
|
||||
|
@ -110,6 +117,13 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
|
|||
**/
|
||||
PlaceNewAddAchieveVO placeNewAddAchieveStat(PlaceNewAddAchieveVO pna);
|
||||
|
||||
/**
|
||||
* 根据年月获取日期
|
||||
*
|
||||
* @param year
|
||||
* @param month
|
||||
* @return
|
||||
*/
|
||||
Date getDateFromYearAndMonth(String year, String month);
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,16 +18,13 @@ import com.hzs.common.domain.member.base.CuMember;
|
|||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.common.domain.system.config.BdAwards;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.common.service.ITransactionCommonService;
|
||||
import com.hzs.member.account.service.ICuMemberBaseService;
|
||||
import com.hzs.member.achieve.controller.vo.*;
|
||||
import com.hzs.member.achieve.mapper.CuMemberAchieveMapper;
|
||||
import com.hzs.member.achieve.mapper.CuMemberTreeMapper;
|
||||
import com.hzs.member.achieve.param.MemberAchieveDisParam;
|
||||
import com.hzs.member.achieve.param.MemberAchieveParam;
|
||||
import com.hzs.member.achieve.param.MonthAchieveParam;
|
||||
import com.hzs.member.achieve.service.ICuMemberAchieveService;
|
||||
import com.hzs.member.achieve.service.ICuMemberMonthAchieveService;
|
||||
|
@ -67,9 +64,7 @@ import java.util.concurrent.Future;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员业绩记录 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-10-26
|
||||
|
@ -78,58 +73,35 @@ import java.util.stream.Collectors;
|
|||
@Service
|
||||
public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMapper, CuMemberAchieve> implements ICuMemberAchieveService {
|
||||
|
||||
private ICuMemberTreeService cuMemberTreeService;
|
||||
|
||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||
|
||||
private ICuMemberService cuMemberService;
|
||||
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||
private ICuMemberTreeService iCuMemberTreeService;
|
||||
@Autowired
|
||||
private ICuMemberService iCuMemberService;
|
||||
@Autowired
|
||||
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||
@Autowired
|
||||
private ICuMemberBaseService iCuMemberBaseService;
|
||||
@Autowired
|
||||
private ICuMemberMonthAchieveService memberMonthAchieveService;
|
||||
private ICuMemberMonthAchieveService iCuMemberMonthAchieveService;
|
||||
@Autowired
|
||||
private ITransactionCommonService iTransactionCommonService;
|
||||
|
||||
@DubboReference
|
||||
ICountryServiceApi iCountryServiceApi;
|
||||
@DubboReference
|
||||
IAwardsServiceApi awardsServiceApi;
|
||||
IAwardsServiceApi iAwardsServiceApi;
|
||||
@DubboReference
|
||||
IVertexServiceApi iVertexServiceApi;
|
||||
@DubboReference
|
||||
ICurrencyServiceApi currencyServiceApi;
|
||||
ICurrencyServiceApi iCurrencyServiceApi;
|
||||
@DubboReference
|
||||
IMemberTeamServiceApi teamServiceApi;
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberService(ICuMemberService cuMemberService) {
|
||||
this.cuMemberService = cuMemberService;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
|
||||
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberBonusSettle(CuMemberBonusSettle cuMemberBonusSettle) {
|
||||
this.cuMemberBonusSettle = cuMemberBonusSettle;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
|
||||
this.cuMemberTreeService = cuMemberTreeService;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
ITransactionCommonService iTransactionCommonService;
|
||||
IMemberTeamServiceApi iMemberTeamServiceApi;
|
||||
|
||||
@Override
|
||||
public CuMemberAchieve queryCuMemberAchieveByPkMember(Long pkMember, Integer pkCountry) {
|
||||
Date currentDate = DateUtils.currentDate();
|
||||
// 查看秒接表,秒接表不存在查询昨天的结算表
|
||||
int currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate)).getPkId();
|
||||
int currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate)).getPkId();
|
||||
String currentTableName = TableNameConstants.CU_MEMBER_SECOND + currentPeriod;
|
||||
CuMemberAchieve cuMemberAchieve = baseMapper.queryCuMemberAchieveByPkMember(pkMember, pkCountry, currentTableName);
|
||||
if (cuMemberAchieve != null) {
|
||||
|
@ -139,7 +111,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
}
|
||||
}
|
||||
// 创建日表记录表
|
||||
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, currentDate))).getPkId();
|
||||
String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period;
|
||||
return baseMapper.queryCuMemberAchieveByPkMember(pkMember, pkCountry, settleTableName);
|
||||
|
@ -150,7 +122,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
// 判断时间 当前时间查询cu_member
|
||||
CuMemberAchieveDisVO leftMemberAchieveDisVO = new CuMemberAchieveDisVO();
|
||||
CuMemberAchieveDisVO rightMemberAchieveDisVO = new CuMemberAchieveDisVO();
|
||||
List<CuMemberExt> cuMemberExtList = cuMemberService.queryMemberByCondition(CuMember.builder().pkId(memberAchieveDisParam.getPkMember()).build());
|
||||
List<CuMemberExt> cuMemberExtList = iCuMemberService.queryMemberByCondition(CuMember.builder().pkId(memberAchieveDisParam.getPkMember()).build());
|
||||
CuMemberExt cuMember = cuMemberExtList.get(0);
|
||||
String image = setGradeImageUrl(cuMember.getCategory(), cuMember.getGradeValue());
|
||||
CuMemberDisVO cuMemberDisVO = CuMemberDisVO.builder()
|
||||
|
@ -158,7 +130,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
.memberCode(CommonUtil.getMemberCode(cuMember.getMemberCode(), cuMember.getServiceCode()))
|
||||
.imageUrl(image)
|
||||
.build();
|
||||
List<CuMemberExt> lastCuMemberList = cuMemberService.queryCuMemberLastPlaceParent(memberAchieveDisParam.getPkMember());
|
||||
List<CuMemberExt> lastCuMemberList = iCuMemberService.queryCuMemberLastPlaceParent(memberAchieveDisParam.getPkMember());
|
||||
if (CollectionUtil.isNotEmpty(lastCuMemberList)) {
|
||||
for (CuMemberExt cuMemberExt : lastCuMemberList) {
|
||||
String imageUrl = setGradeImageUrl(cuMemberExt.getCategory(), cuMemberExt.getGradeValue());
|
||||
|
@ -190,13 +162,13 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
// Date currentDate = DateUtils.currentDate();
|
||||
// if (DateUtils.compareDateBefore(memberAchieveDisParam.getSettleDate(), currentDate)) {
|
||||
// // 从历史表中获取
|
||||
// CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberAchieveDisParam.getSettleDate()));
|
||||
// CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberAchieveDisParam.getSettleDate()));
|
||||
// String tableName = TableNameConstants.CU_MEMBER_SETTLE + cuMemberSettlePeriod.getPkId();
|
||||
// CuMemberExt member = cuMemberService.getMemberByCode(memberAchieveDisParam.getMemberCode());
|
||||
// List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.queryCuMemberTree(tableName, member.getPkId(), null);
|
||||
// CuMemberExt member = iCuMemberService.getMemberByCode(memberAchieveDisParam.getMemberCode());
|
||||
// List<CuMemberSettleExt> cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberTree(tableName, member.getPkId(), null);
|
||||
// return BeanUtil.copyProperties(cuMemberSettleExtList.get(0), CuMemberDisVO.class);
|
||||
// }else{
|
||||
CuMember cuMember = cuMemberService.queryMember(memberAchieveDisParam.getMemberCode());
|
||||
CuMember cuMember = iCuMemberService.queryMember(memberAchieveDisParam.getMemberCode());
|
||||
CuMemberDisVO cuMemberDisVO = BeanUtil.copyProperties(cuMember, CuMemberDisVO.class);
|
||||
cuMemberDisVO.setMemberCode(CommonUtil.getMemberCode(cuMember.getMemberCode(), cuMember.getServiceCode()));
|
||||
cuMemberDisVO.setMemberName(CommonUtil.getMemberName(cuMember.getPkVertex(), cuMember.getMemberName(), cuMember.getNickName()));
|
||||
|
@ -226,7 +198,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
String endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endDate);
|
||||
Date startDate;
|
||||
// 近7天
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr);
|
||||
CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(endDateStr);
|
||||
if (EDayType.LAST_SEVEN_DAY.getValue() == memberAchieveDisParam.getDayType()) {
|
||||
startDate = DateUtils.beforeDate(7, ChronoUnit.DAYS, endDate);
|
||||
} else if (EDayType.LAST_FIFTEEN_DAY.getValue() == memberAchieveDisParam.getDayType()) {
|
||||
|
@ -412,7 +384,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
awardsList.sort(Comparator.comparing(BdAwards::getAwardsValue));
|
||||
Map<Integer, BdAwards> awardsMap = awardsList.stream().collect(Collectors.toMap(BdAwards::getAwardsValue, o -> o));
|
||||
if (pkAwards != null) {
|
||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
|
||||
List<BdAwards> list = awardsList.stream().filter(a -> a.getAwardsValue() > bdAwards.getAwardsValue()).collect(Collectors.toList());
|
||||
//当奖衔最大级别时,目标值-1
|
||||
|
@ -514,7 +486,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
public CuMemberAwardsUnderVO getBigSmallArea(Long pkMember, Integer pkCountry) {
|
||||
//获取期数
|
||||
String upLastMonth = DateUtils.beforeMonthLastDateStr(new Date());
|
||||
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(upLastMonth).getPkId();
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(upLastMonth).getPkId();
|
||||
//查询会员结余判断大小区
|
||||
String settleTable = TableNameConstants.CU_MEMBER_SETTLE + period;
|
||||
CuMemberAwardsUnderVO memberAwards = CuMemberAwardsUnderVO.builder().settleTable(settleTable).pkMember(pkMember).pkCountry(pkCountry).period(period).build();
|
||||
|
@ -537,7 +509,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
if (yesterdayFlag) {
|
||||
//查询历史小区业绩、昨日业绩
|
||||
String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||
//查询会员昨日业绩
|
||||
String settleTable = TableNameConstants.CU_MEMBER_SETTLE + period;
|
||||
CuMemberAwardsUnderVO memberAwards = CuMemberAwardsUnderVO.builder().settleTable(settleTable).pkMember(pkMember).pkCountry(pkCountry).period(period).build();
|
||||
|
@ -577,7 +549,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
|
||||
|
||||
//根据国家获取奖衔配置信息
|
||||
List<BdAwards> awardsList = awardsServiceApi.queryAwards(pkCountry).getData();
|
||||
List<BdAwards> awardsList = iAwardsServiceApi.queryAwards(pkCountry).getData();
|
||||
cuMemberAwardsUnderVO.setAwardsList(awardsList);
|
||||
//获取当前会员的奖衔
|
||||
cuMemberAwardsUnderVO.setPkAwards(getMemberAwards(awardsList, cuMemberAwardsUnderVO.getSumRealPv()));
|
||||
|
@ -608,10 +580,10 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
BigDecimal rate = null;
|
||||
//获取期数
|
||||
String date = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId();
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId();
|
||||
|
||||
//根据国家获取奖衔配置信息
|
||||
List<BdAwards> awardsList = awardsServiceApi.queryAwards(pkCountry).getData();
|
||||
List<BdAwards> awardsList = iAwardsServiceApi.queryAwards(pkCountry).getData();
|
||||
//升序排序
|
||||
awardsList.sort(Comparator.comparing(BdAwards::getAwardsValue));
|
||||
|
||||
|
@ -627,8 +599,8 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
rate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate();
|
||||
}
|
||||
if (null == memberAwardsUnderVO) {
|
||||
CuMember member = cuMemberService.getMember(pkMember);
|
||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(member.getPkAwards()).getData();
|
||||
CuMember member = iCuMemberService.getMember(pkMember);
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(member.getPkAwards()).getData();
|
||||
//取当前奖衔值的下一个奖衔值
|
||||
List<BdAwards> list = awardsList.stream().filter(awards -> awards.getAwardsValue() > bdAwards.getAwardsValue()).collect(Collectors.toList());
|
||||
BigDecimal targetPv = awardsMap.get(list.get(0).getAwardsValue()).getCommunityCheck();
|
||||
|
@ -641,7 +613,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
memberAwardsUnderVO.setTargetPv(targetPv.divide(new BigDecimal("10000")));
|
||||
}
|
||||
} else {
|
||||
CuMember member = cuMemberService.getMember(pkMember);
|
||||
CuMember member = iCuMemberService.getMember(pkMember);
|
||||
memberAwardsUnderVO.setMemberName(member.getMemberName());
|
||||
getCuMemberAwars(memberAwardsUnderVO, awardsMap, awardsList, false, pkCountry, rate);
|
||||
}
|
||||
|
@ -726,7 +698,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
if (null == pkAwards) {
|
||||
return null;
|
||||
}
|
||||
BdAwards BdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards BdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
memberAwardsUnderVO.setAwardsName(BdAwards.getAwardsName());
|
||||
memberAwardsUnderVO.setPkTransaction(BdAwards.getPkTransaction());
|
||||
if (!isTransaction) {
|
||||
|
@ -1023,7 +995,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
pna.setStartDate(startDateStr);
|
||||
pna.setEndDate(endDateStr);
|
||||
pna.setAchieveTableName(achieveTableName);
|
||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
|
||||
//查询左右区业绩
|
||||
PlaceNewAddAchieveVO achieve = selectNewABAchieve(pna);
|
||||
|
@ -1065,7 +1037,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
|
||||
|
||||
//查询最新期数
|
||||
int endperiod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
int endperiod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
DateUtils.parseDateToStr(endDateStr)).getPkId();
|
||||
//如果是当前月,则查询最新月份数据 查询左右区人数
|
||||
String monthStr = DateUtils.getMonth(endDateStr);
|
||||
|
@ -1075,7 +1047,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
if (CollectionUtil.isNotEmpty(monthCount)) {
|
||||
//获取上一个月的最后一天
|
||||
String lastMonth = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeMonthLastDate(currentDate));
|
||||
int lastendperiod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
int lastendperiod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
DateUtils.parseDateToStr(lastMonth)).getPkId();
|
||||
treeTableNameEnd = TableNameConstants.CU_MEMBER_SETTLE + lastendperiod;
|
||||
pna.setAchieveTableName(treeTableNameEnd);
|
||||
|
@ -1109,7 +1081,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
//当前日期
|
||||
Date frontDate = DateUtils.parseStringToDate(endDateStr);
|
||||
String frontLastMonth = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeMonthLastDate(frontDate));
|
||||
int frontLastendperiod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
int frontLastendperiod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
|
||||
DateUtils.parseDateToStr(frontLastMonth)).getPkId();
|
||||
String frontTreeTableNameEnd = TableNameConstants.CU_MEMBER_SETTLE + frontLastendperiod;
|
||||
frontPna.setPkMember(pna.getPkMember());
|
||||
|
@ -1300,9 +1272,9 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
@Override
|
||||
public ParentAchieveVO parentAchieveRight(ParentAchieveVO pa) {
|
||||
pa = getDateStr(pa);
|
||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
//结束期数
|
||||
int endPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId();
|
||||
int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId();
|
||||
|
||||
pa.setPeriod(endPeriod);
|
||||
//直推等级人数和业绩
|
||||
|
@ -1346,14 +1318,14 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
public List<ParentAchieveVO> parentAchieveLeft(ParentAchieveVO pa) {
|
||||
pa = getDateStr(pa);
|
||||
//获取期数
|
||||
int endPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId();
|
||||
int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(pa.getEndDate()).getPkId();
|
||||
pa.setPeriod(endPeriod);
|
||||
CuMember member = cuMemberService.getMember(pa.getPkMember());
|
||||
CuMember member = iCuMemberService.getMember(pa.getPkMember());
|
||||
List<ParentAchieveVO> parentList = new ArrayList<>();
|
||||
ParentAchieveVO par = new ParentAchieveVO();
|
||||
par.setMemberName(member.getMemberName());
|
||||
par.setPkMember(member.getPkId());
|
||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(pa.getPkCountry());
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(pa.getPkCountry());
|
||||
//查询本人直推业绩
|
||||
List<ParentAchieveVO> endSelfParentList = selfParentCounAchieve(pa);
|
||||
par.setUmbrellaList(endSelfParentList);
|
||||
|
@ -1613,7 +1585,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
*/
|
||||
@Override
|
||||
public RealPerformanceVo queryRealPerformance(Long pkMember, Integer pkCountry, Integer month) {
|
||||
R<CurrencyDTO> currencyDto = currencyServiceApi.getCurrency(pkCountry);
|
||||
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||
CurrencyDTO currency = currencyDto.getData();
|
||||
//当月
|
||||
RealPerformanceVo realPerformanceVo = null;
|
||||
|
@ -1624,7 +1596,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
Integer count = baseMapper.selectExistTable(achieveTable);
|
||||
if (count == 1) {
|
||||
|
||||
realPerformanceVo = memberMonthAchieveService.queryCuMemberMonthAchieveInfo(pkMember, achieveTable);
|
||||
realPerformanceVo = iCuMemberMonthAchieveService.queryCuMemberMonthAchieveInfo(pkMember, achieveTable);
|
||||
if (realPerformanceVo != null) {
|
||||
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
|
||||
realPerformanceVo.setFirstLeftPurchaseTotal(realPerformanceVo.getFirstLeftPurchaseTotal().multiply(currency.getInExchangeRate()).divide(ten));
|
||||
|
@ -1658,19 +1630,19 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
*/
|
||||
@Override
|
||||
public AzAchievementPie queryRealPerformancePic(Long pkMember, Integer pkCountry, Integer month) {
|
||||
R<CurrencyDTO> currencyDto = currencyServiceApi.getCurrency(pkCountry);
|
||||
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(pkCountry);
|
||||
CurrencyDTO currency = currencyDto.getData();
|
||||
//当月
|
||||
AzAchievementPie achievementPie = null;
|
||||
//左区人数
|
||||
Long leftCount = cuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.LEFT_DEPT.getValue());
|
||||
Long leftCount = iCuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.LEFT_DEPT.getValue());
|
||||
// 右区人数
|
||||
Long rightCount = cuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.RIGHT_DEPT.getValue());
|
||||
Long rightCount = iCuMemberService.selectByDeptNumberCount(pkMember, EPlaceDept.RIGHT_DEPT.getValue());
|
||||
DateTime dateTime = DateUtil.offsetDay(DateUtils.currentDate(), -1);
|
||||
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, dateTime);
|
||||
CuMemberSettlePeriod csPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
|
||||
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
|
||||
String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
|
||||
CuMemberSettleExt memberSettleExt = cuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember);
|
||||
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember);
|
||||
BigDecimal aSumRealPv = BigDecimal.ZERO;
|
||||
BigDecimal bSumRealPv = BigDecimal.ZERO;
|
||||
if (memberSettleExt.getASumRealPv() != null) {
|
||||
|
@ -1766,7 +1738,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
if (CollUtil.isNotEmpty(reList)) {
|
||||
Integer pkAwards = param.getPkAwards();
|
||||
if (null != pkAwards) {
|
||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
//真实奖衔值
|
||||
awardsValue = bdAwards.getAwardsValue();
|
||||
}
|
||||
|
@ -1987,7 +1959,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
String startDate = param.getStartDate();
|
||||
String endDate = param.getEndDate();
|
||||
if (StringUtils.isNotEmpty(memberCode) && StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) {
|
||||
CuMemberExt cuMember = cuMemberService.getMemberByCode(memberCode);
|
||||
CuMemberExt cuMember = iCuMemberService.getMemberByCode(memberCode);
|
||||
if (null == cuMember) {
|
||||
return new PlacementImageDataVO();
|
||||
}
|
||||
|
@ -2106,7 +2078,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
private Object[] getPeriodAndVertex(PlacementDataParam param) {
|
||||
//获取期数
|
||||
String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
|
||||
param.setPeriod(period);
|
||||
//获取体系
|
||||
List<VertexDTO> vertexDTOList = iVertexServiceApi.findAllByPkCountry(param.getPkSettleCountry()).getData();
|
||||
|
@ -2145,7 +2117,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
//返回结果组装
|
||||
if (MapUtil.isNotEmpty(futureMap)) {
|
||||
//查询团队
|
||||
List<CuMemberTeamExt> teamList = teamServiceApi.queryCuMemberTeam(param.getPkSettleCountry()).getData();
|
||||
List<CuMemberTeamExt> teamList = iMemberTeamServiceApi.queryCuMemberTeam(param.getPkSettleCountry()).getData();
|
||||
Map<Long, CuMemberTeamExt> teamMap = teamList.stream().collect(Collectors.toMap(CuMemberTeamExt::getPkId, o -> o));
|
||||
|
||||
for (Map.Entry<Long, Future<List<RecommendImageDataVO>>> entry : futureMap.entrySet()) {
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.hzs.member.base.controller.api;
|
|||
|
||||
import cn.hutool.core.codec.Base64Decoder;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.hzs.common.core.annotation.RepeatSubmit;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.config.HzsConfig;
|
||||
|
@ -25,16 +25,12 @@ import com.hzs.common.core.web.page.TableDataInfo;
|
|||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.detail.CuMemberChangeLog;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberHistroyAwardsExt;
|
||||
import com.hzs.common.domain.system.config.BdAgreementRenewalWhite;
|
||||
import com.hzs.common.domain.system.config.BdAwards;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.common.service.ITransactionCommonService;
|
||||
import com.hzs.common.util.TransactionUtils;
|
||||
import com.hzs.member.achieve.service.ICuMemberAchieveService;
|
||||
import com.hzs.member.achieve.vo.CuMemberAwardsUnderVO;
|
||||
import com.hzs.member.base.param.MemberDataParam;
|
||||
import com.hzs.member.base.service.ICuMemberHistroyAwardsService;
|
||||
import com.hzs.member.base.service.ICuMemberService;
|
||||
import com.hzs.member.base.service.IMemberInfoService;
|
||||
import com.hzs.common.core.utils.UploadFileUtil;
|
||||
|
@ -48,6 +44,7 @@ import com.hzs.system.base.ISystemConfigServiceApi;
|
|||
import com.hzs.system.base.dto.CountryDTO;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import com.hzs.system.config.IAgreementRenewalWhiteServiceApi;
|
||||
import com.hzs.system.config.IAwardsServiceApi;
|
||||
import com.hzs.system.config.IGradeServiceApi;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -81,19 +78,17 @@ public class ApiMemberController extends BaseController {
|
|||
private ICuMemberChangeLogService memberChangeLogService;
|
||||
@Autowired
|
||||
private IApiSmsService iApiSmsService;
|
||||
@Autowired
|
||||
private ICuMemberHistroyAwardsService iCuMemberHistroyAwardsService;
|
||||
@Autowired
|
||||
private ICuMemberAchieveService iCuMemberAchieveService;
|
||||
|
||||
@DubboReference
|
||||
IGradeServiceApi gradeServiceApi;
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
@DubboReference
|
||||
ICountryServiceApi countryServiceApi;
|
||||
IAwardsServiceApi iAwardsServiceApi;
|
||||
@DubboReference
|
||||
ICurrencyServiceApi currencyServiceApi;
|
||||
ICountryServiceApi iCountryServiceApi;
|
||||
@DubboReference
|
||||
ISystemConfigServiceApi systemConfigServiceApi;
|
||||
ICurrencyServiceApi iCurrencyServiceApi;
|
||||
@DubboReference
|
||||
ISystemConfigServiceApi iSystemConfigServiceApi;
|
||||
@DubboReference
|
||||
IAgreementRenewalWhiteServiceApi iAgreementRenewalWhiteServiceApi;
|
||||
|
||||
|
@ -417,8 +412,8 @@ public class ApiMemberController extends BaseController {
|
|||
* @Author: sui q
|
||||
* @Date: 2022/8/27 16:47
|
||||
*/
|
||||
@PostMapping("/reg-share-member")
|
||||
@RepeatSubmit
|
||||
@PostMapping("/reg-share-member")
|
||||
public AjaxResult confirmRegisterOrder(@RequestBody MemberParam memberParam) {
|
||||
if (EEnv.TEST.getValue().equals(HzsConfig.getEnv())) {
|
||||
if (new Date().getTime() >= SysConstants.CLOSE_ZERO_DATE_TEST) {
|
||||
|
@ -455,7 +450,7 @@ public class ApiMemberController extends BaseController {
|
|||
// 系统中存在该手机号走的验证
|
||||
if (cuMemberExtList.size() > 0) {
|
||||
// 手机号注册次数
|
||||
String value = systemConfigServiceApi.getBonusSystemConfig(cuMember.getPkSettleCountry(), ESystemConfig.HA_FUN_REGISTER_NUMBER.getKey()).getData();
|
||||
String value = iSystemConfigServiceApi.getBonusSystemConfig(cuMember.getPkSettleCountry(), ESystemConfig.HA_FUN_REGISTER_NUMBER.getKey()).getData();
|
||||
if (cuMemberExtList.size() >= Integer.parseInt(value)) {
|
||||
// 手机注册次数已达系统上限
|
||||
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.SYSTEM_REGISTER_COUNT));
|
||||
|
@ -544,7 +539,7 @@ public class ApiMemberController extends BaseController {
|
|||
private CountryDTO getCountryDTO(String pkParent) {
|
||||
Long pkParentId = Long.parseLong(new String(Base64Decoder.decode(pkParent)));
|
||||
CuMember cuMember = iCuMemberService.getMember(pkParentId);
|
||||
return countryServiceApi.getCountry(cuMember.getPkSettleCountry()).getData();
|
||||
return iCountryServiceApi.getCountry(cuMember.getPkSettleCountry()).getData();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -710,13 +705,13 @@ public class ApiMemberController extends BaseController {
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("parent-list")
|
||||
@GetMapping("/parent-list")
|
||||
public TableDataInfo parentList(String memberCode, String memberName, Date startCreateTime, Date endCreateTime, String memberInfo) {
|
||||
Long memberId = SecurityUtils.getUserId();
|
||||
|
||||
// 查询等级
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
R<List<GradeDTO>> grderDate = gradeServiceApi.findAll();
|
||||
R<List<GradeDTO>> grderDate = iGradeServiceApi.findAll();
|
||||
List<GradeDTO> grderList = grderDate.getData();
|
||||
|
||||
if (endCreateTime != null) {
|
||||
|
@ -728,7 +723,7 @@ public class ApiMemberController extends BaseController {
|
|||
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
Map<Integer, String> transactionMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE);
|
||||
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
|
||||
BigDecimal inExchangeRate = currency.getData().getInExchangeRate();
|
||||
|
||||
for (ParentMemberVo cuMember : list) {
|
||||
|
@ -760,13 +755,13 @@ public class ApiMemberController extends BaseController {
|
|||
/**
|
||||
* 查询是否首次登录 需要弹出修改密码弹窗
|
||||
*/
|
||||
@GetMapping("get-member-is-updatepassword")
|
||||
@GetMapping("/get-member-is-updatepassword")
|
||||
public AjaxResult getMemberIsUpdatePassword() {
|
||||
Long memberId = SecurityUtils.getUserId();
|
||||
// 查询是否首次登录 需要修改密码
|
||||
QueryWrapper<CuMemberChangeLog> qw = new QueryWrapper<>();
|
||||
qw.eq("PK_MEMBER", memberId);
|
||||
qw.eq("CHANGE_TYPE", EMemberChangeType.LOGIN_PWD.getValue());
|
||||
LambdaUpdateWrapper<CuMemberChangeLog> qw = new LambdaUpdateWrapper<>();
|
||||
qw.eq(CuMemberChangeLog::getPkMember, memberId);
|
||||
qw.eq(CuMemberChangeLog::getChangeType, EMemberChangeType.LOGIN_PWD.getValue());
|
||||
int count = memberChangeLogService.count(qw);
|
||||
return AjaxResult.success(count);
|
||||
}
|
||||
|
@ -858,47 +853,49 @@ public class ApiMemberController extends BaseController {
|
|||
@GetMapping("/member-awards-info")
|
||||
public AjaxResult memberAwardsInfo() {
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
|
||||
MemberAwardsInfoVO memberAwardsInfoVO = new MemberAwardsInfoVO();
|
||||
|
||||
// 最高奖衔(取cu_member 中的max_awards和本月实时奖衔进行对比,哪个高用哪个)
|
||||
CuMemberAwardsUnderVO cuMemberAwardsUnderVO = iCuMemberAchieveService.getPkAwardBySmallAchieve(pkMember, pkCountry, false);
|
||||
// 奖衔列表
|
||||
List<BdAwards> awardsList = cuMemberAwardsUnderVO.getAwardsList();
|
||||
Map<Integer, BdAwards> awardsMap = new HashMap<>();
|
||||
for (BdAwards bdAwards : awardsList) {
|
||||
awardsMap.put(bdAwards.getPkId(), bdAwards);
|
||||
}
|
||||
// Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
// // 最高奖衔(取cu_member 中的max_awards和本月实时奖衔进行对比,哪个高用哪个)
|
||||
// CuMemberAwardsUnderVO cuMemberAwardsUnderVO = iCuMemberAchieveService.getPkAwardBySmallAchieve(pkMember, pkCountry, false);
|
||||
// // 奖衔列表
|
||||
// List<BdAwards> awardsList = cuMemberAwardsUnderVO.getAwardsList();
|
||||
// Map<Integer, BdAwards> awardsMap = new HashMap<>();
|
||||
// for (BdAwards bdAwards : awardsList) {
|
||||
// awardsMap.put(bdAwards.getPkId(), bdAwards);
|
||||
// }
|
||||
//
|
||||
// // 会员信息
|
||||
// CuMemberExt cuMember = iCuMemberService.getMemberById(pkMember);
|
||||
// if (null == cuMember.getPkMaxAwards()) {
|
||||
// // 当月奖衔
|
||||
// BdAwards nowAwards = awardsMap.get(cuMemberAwardsUnderVO.getPkAwards());
|
||||
// memberAwardsInfoVO.setMaxAwardsName(nowAwards.getAwardsName());
|
||||
// } else {
|
||||
// // 当月奖衔
|
||||
// BdAwards nowAwards = awardsMap.get(cuMemberAwardsUnderVO.getPkAwards());
|
||||
// // 新制度最高奖衔
|
||||
// BdAwards maxAwards = awardsMap.get(cuMember.getPkMaxAwards());
|
||||
//
|
||||
// if (maxAwards.getAwardsValue().compareTo(nowAwards.getAwardsValue()) >= 0) {
|
||||
// memberAwardsInfoVO.setMaxAwardsName(maxAwards.getAwardsName());
|
||||
// } else {
|
||||
// memberAwardsInfoVO.setMaxAwardsName(nowAwards.getAwardsName());
|
||||
// }
|
||||
// }
|
||||
|
||||
// // 查询历史荣誉奖衔
|
||||
// CuMemberHistroyAwardsExt memberHistroyAwards = iCuMemberHistroyAwardsService.getOldAwards(pkMember);
|
||||
// if (null != memberHistroyAwards) {
|
||||
// memberAwardsInfoVO.setHistoryAwards(memberHistroyAwards.getAwardsName());
|
||||
// memberAwardsInfoVO.setHistoryAwardsImg(memberHistroyAwards.getImage());
|
||||
// }
|
||||
|
||||
// 会员信息
|
||||
CuMemberExt cuMember = iCuMemberService.getMemberById(pkMember);
|
||||
if (null == cuMember.getPkMaxAwards()) {
|
||||
// 当月奖衔
|
||||
BdAwards nowAwards = awardsMap.get(cuMemberAwardsUnderVO.getPkAwards());
|
||||
memberAwardsInfoVO.setMaxAwardsName(nowAwards.getAwardsName());
|
||||
} else {
|
||||
// 当月奖衔
|
||||
BdAwards nowAwards = awardsMap.get(cuMemberAwardsUnderVO.getPkAwards());
|
||||
// 新制度最高奖衔
|
||||
BdAwards maxAwards = awardsMap.get(cuMember.getPkMaxAwards());
|
||||
|
||||
if (maxAwards.getAwardsValue().compareTo(nowAwards.getAwardsValue()) >= 0) {
|
||||
memberAwardsInfoVO.setMaxAwardsName(maxAwards.getAwardsName());
|
||||
} else {
|
||||
memberAwardsInfoVO.setMaxAwardsName(nowAwards.getAwardsName());
|
||||
}
|
||||
}
|
||||
|
||||
// 查询历史荣誉奖衔
|
||||
CuMemberHistroyAwardsExt memberHistroyAwards = iCuMemberHistroyAwardsService.getOldAwards(pkMember);
|
||||
if (null != memberHistroyAwards) {
|
||||
memberAwardsInfoVO.setHistoryAwards(memberHistroyAwards.getAwardsName());
|
||||
memberAwardsInfoVO.setHistoryAwardsImg(memberHistroyAwards.getImage());
|
||||
}
|
||||
|
||||
// 新制度最高奖衔
|
||||
BdAwards memberAwards = awardsMap.get(cuMember.getPkAwards());
|
||||
BdAwards memberAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||
memberAwardsInfoVO.setAwardsName(memberAwards.getAwardsName());
|
||||
|
||||
return AjaxResult.success(memberAwardsInfoVO);
|
||||
|
|
Loading…
Reference in New Issue