## 优化秒结查询数据处理;
This commit is contained in:
parent
362cffbe57
commit
e35741abb7
|
@ -61,4 +61,12 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
|||
*/
|
||||
Integer updateCuMemberLevelByPeriod(Integer period);
|
||||
|
||||
/**
|
||||
* 查询推荐伞上
|
||||
*
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberExt> listParentMember(@Param("pkMember") Long pkMember);
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -58,4 +59,12 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
*/
|
||||
void updateCuMemberLevelByPeriod(Integer period);
|
||||
|
||||
/**
|
||||
* 查询推荐伞上
|
||||
*
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberExt> listParentMember(Long pkMember);
|
||||
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.hzs.common.domain.member.base.*;
|
|||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.bonus.base.mapper.CuMemberMapper;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -54,4 +55,9 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
baseMapper.updateCuMemberLevelByPeriod(period);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberExt> listParentMember(Long pkMember) {
|
||||
return baseMapper.listParentMember(pkMember);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -36,9 +36,9 @@ import com.hzs.common.domain.member.base.CuAwardsControl;
|
|||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.bonus.*;
|
||||
import com.hzs.common.domain.member.detail.CuMemberAchieveLog;
|
||||
import com.hzs.common.domain.member.detail.CuMemberAssess;
|
||||
import com.hzs.common.domain.member.ext.BdWaresBonusExt;
|
||||
import com.hzs.common.domain.member.ext.CuBonusExpandExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
||||
import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetDetailExt;
|
||||
import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt;
|
||||
|
@ -54,7 +54,6 @@ import com.hzs.system.config.IBonusItemsServiceApi;
|
|||
import com.hzs.system.config.IGradeServiceApi;
|
||||
import com.hzs.system.config.IRangeServiceApi;
|
||||
import com.hzs.system.config.dto.BonusConfigDTO;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import com.hzs.system.config.dto.RangeDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
|
@ -65,6 +64,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 奖金结算服务类
|
||||
|
@ -154,9 +154,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
SaOrderExt saOrderExt = iSaOrderServiceApi.querySaOrderByDay(startDate, DateUtils.afterDate(1, ChronoUnit.DAYS, startDate), orderCode).getData();
|
||||
log.info("查询订单,订单参数:{}", JSONUtil.toJsonStr(saOrderExt));
|
||||
|
||||
Map<String, String> systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData();
|
||||
Map<String, RangeDTO> rangeDtoMap = iRangeServiceApi.queryRangeDto().getData();
|
||||
|
||||
// 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从cu_member中获取网体,从昨日结算表中获取累计、结余数据
|
||||
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrderExt.getPayTime());
|
||||
String beforeDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, saOrderExt.getPayTime()));
|
||||
|
@ -173,11 +170,13 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// 前天日结表
|
||||
String yesSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeYesPeriod;
|
||||
|
||||
Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
||||
BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
|
||||
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap = new HashMap<>();
|
||||
Map<Long, CuAwardsControl> cuAwardsControlMap = getCuAwardsControlMap();
|
||||
List<BdAwards> awardsList = iAwardsServiceApi.queryAwards(saOrderExt.getPkCountry()).getData();
|
||||
// Map<String, String> systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData();
|
||||
// Map<String, RangeDTO> rangeDtoMap = iRangeServiceApi.queryRangeDto().getData();
|
||||
// Map<Long, CuMemberBonus> cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
||||
// BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData();
|
||||
// Map<Long, CuAwardsControl> cuAwardsControlMap = getCuAwardsControlMap();
|
||||
// List<BdAwards> awardsList = iAwardsServiceApi.queryAwards(saOrderExt.getPkCountry()).getData();
|
||||
|
||||
// 计算奖金
|
||||
if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType() ||
|
||||
|
@ -383,14 +382,19 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// 先处理关系
|
||||
memberList.add(saOrderExt.getPkMember());
|
||||
long pkParent = saOrderExt.getPkReference();
|
||||
while (true) {
|
||||
CuMember cuMember = iCuMemberService.getMember(pkParent);
|
||||
if (cuMember == null) {
|
||||
break;
|
||||
}
|
||||
memberList.add(cuMember.getPkId());
|
||||
pkParent = cuMember.getPkParent();
|
||||
// 查询伞上所有推荐人ID
|
||||
List<CuMemberExt> parentList = iCuMemberService.listParentMember(pkParent);
|
||||
if (CollectionUtil.isNotEmpty(parentList)) {
|
||||
memberList.addAll(parentList.stream().map(CuMemberExt::getPkId).collect(Collectors.toList()));
|
||||
}
|
||||
// while (true) {
|
||||
// CuMember cuMember = iCuMemberService.getMember(pkParent);
|
||||
// if (cuMember == null) {
|
||||
// break;
|
||||
// }
|
||||
// memberList.add(cuMember.getPkId());
|
||||
// pkParent = cuMember.getPkParent();
|
||||
// }
|
||||
// 初始化需要秒接结算的数据
|
||||
iCuMemberTreeService.updateCuMemberSecondPlaceParent(secondTableName, settleTableName, yesSettleTableName, saOrderExt.getPkMember(), memberList, EYesNo.YES.getIntValue());
|
||||
}
|
||||
|
@ -448,7 +452,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// 判断特殊业务是否有到期日期,有到期的需要使用真实业绩,昨天的期间真实更新当前的
|
||||
iCuMemberAchieveService.updateCuMemberSettleAchieveByDueDate(currentSettleTableName, yesterdayTableName, DateUtils.parseStringToDate(settleDate));
|
||||
|
||||
// TODO 2025.05.14 新拓展处理在2025.06.01之前还是走原来的1:1对碰,之后走1:2对碰
|
||||
// 2025.05.14 新拓展处理在2025.06.01之前还是走原来的1:1对碰,之后走1:2对碰
|
||||
// true 走新逻辑(首购+复购 合并计算)
|
||||
boolean newExpandFlag = settleDate.compareTo(newExpandDate) >= 0;
|
||||
if (EEnv.TEST.getValue().equals(BdConfig.getEnv())) {
|
||||
|
@ -696,7 +700,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
|
||||
List<BdAwards> awardsList = iAwardsServiceApi.queryAwards(CountryConstants.CHINA_COUNTRY).getData();
|
||||
|
||||
// TODO 2025.05.14 新拓展处理在2025.06.01之前还是走原来的1:1对碰,之后走1:2对碰
|
||||
// 2025.05.14 新拓展处理在2025.06.01之前还是走原来的1:1对碰,之后走1:2对碰
|
||||
// true 走新逻辑(首购+复购 合并计算)
|
||||
boolean newExpandFlag = settleDate.compareTo(newExpandDate) >= 0;
|
||||
|
||||
|
@ -876,7 +880,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
newExpandFlag);
|
||||
}
|
||||
if (newExpandFlag) {
|
||||
// TODO 2025.05.14 新拓展订单处理
|
||||
// 2025.05.14 新拓展订单处理
|
||||
if (CollectionUtil.isNotEmpty(expandOrderList)) {
|
||||
calculateNewExpandOrder(riskControlMap, cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO,
|
||||
expandOrderList, period, cuMemberBonusMap, bonusRecordDetailVO, awardsList, cuAwardsControlMap, cuBonusExpandExtMap);
|
||||
|
|
|
@ -223,4 +223,12 @@
|
|||
a.modified_time = sysdate
|
||||
</update>
|
||||
|
||||
<!-- 查询推荐伞上 -->
|
||||
<select id="listParentMember" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
|
||||
select cm.pk_id
|
||||
from cu_member cm
|
||||
start with cm.pk_id = #{pkMember}
|
||||
connect by cm.pk_id = prior cm.pk_parent
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue