## 去掉原来月奖处理;恢复旧累计奖衔处理;

This commit is contained in:
cabbage 2025-04-12 14:18:59 +08:00
parent c6f4161655
commit 2b06a82ccf
8 changed files with 220 additions and 205 deletions

View File

@ -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

View File

@ -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("更新提货专区数量失败");

View File

@ -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: 根据结算表更新奖衔

View File

@ -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;
}

View File

@ -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
using (
select #{period} period, b.*
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 &lt;= #{period} and pk_country=1
group by pk_member,pk_country
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 &lt;= #{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)
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">

View File

@ -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);
/**

View File

@ -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()) {

View File

@ -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);