diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index 1f0aee7f..0cd86154 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java @@ -149,7 +149,7 @@ public interface CuMemberTreeMapper extends BaseMapper { @Param("sourceTableName") String sourceTableName, @Param("period") Integer period); /* - * @description: 新增货修改会员数 + * @description: 结算日表网体添加到网体月表中 * @author: sui q * @date: 2023/7/20 11:18 * @param: null null diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java index 47081476..19311852 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java @@ -1,5 +1,6 @@ package com.hzs.bonus.achieve.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodDetailService; @@ -39,12 +40,12 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl daySettleCountry = new ArrayList<>(); packageSettleCountry(weekSettleCountry, daySettleCountry); List cuMemberSettlePeriodDetailList = new ArrayList<>(); - Date startDate = DateUtils.parseStringToDate("2021-01-12"); + Date startDate = DateUtils.parseStringToDate("2025-01-01"); Date endDate = DateUtils.parseStringToDate(settleDate); Map memberSettlePeriodMap = queryCuMemberSettlePeriod(startDate, endDate); List periodList = new ArrayList<>(); @@ -103,7 +104,7 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl queryWrapper1 = new QueryWrapper<>(); - queryWrapper1.select("max(pk_id) pk_id,max(settle_date) settle_date"); + queryWrapper1.select("max(pk_id) pk_id, max(settle_date) settle_date"); cuMemberSettlePeriod = baseMapper.selectOne(queryWrapper1); if (DateUtils.compareDateAfter(DateUtils.parseDate(date), cuMemberSettlePeriod.getSettleDate())) { int addDayNum = 8 - DateUtils.getRecentlyDay(cuMemberSettlePeriod.getSettleDate()) + MagicNumberConstants.PERIOD_AUTO_INCREASE; @@ -179,7 +180,7 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl weekSettleCountry, List daySettleCountry) { - Map allCountryMap = countryServiceApi.getAllCountryMap().getData(); + Map allCountryMap = iCountryServiceApi.getAllCountryMap().getData(); for (Integer pkCountry : allCountryMap.keySet()) { - String value = systemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); // 周结 if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { weekSettleCountry.add(pkCountry); @@ -208,8 +209,8 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("SETTLE_DATE", DateUtils.parseStringToDate(date)); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberSettlePeriod::getSettleDate, DateUtils.parseStringToDate(date)); return baseMapper.selectOne(queryWrapper); } @@ -220,9 +221,9 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl queryCuMemberSettlePeriod(Date startDate, Date endDate) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.ge("SETTLE_DATE", startDate); - queryWrapper.le("SETTLE_DATE", endDate); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.ge(CuMemberSettlePeriod::getSettleDate, startDate); + queryWrapper.le(CuMemberSettlePeriod::getSettleDate, endDate); List memberSettlePeriodList = baseMapper.selectList(queryWrapper); Map cuMemberSettlePeriodMap = new HashMap<>(); memberSettlePeriodList.forEach(cuMemberSettlePeriod -> @@ -232,9 +233,9 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl queryCuMemberSettlePeriod() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("PK_ID,SETTLE_DATE"); - queryWrapper.orderByDesc(SystemFieldConstants.PK_ID); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(CuMemberSettlePeriod::getPkId, CuMemberSettlePeriod::getSettleDate); + queryWrapper.orderByDesc(CuMemberSettlePeriod::getPkId); return baseMapper.selectList(queryWrapper); } @@ -246,7 +247,7 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl implements ICuMemberTreeService { @Autowired - private ICuMemberTreeService memberTreeService; + private ICuMemberTreeService iCuMemberTreeService; @Autowired - private ICuMemberAchieveService cuMemberAchieveService; + private ICuMemberAchieveService iCuMemberAchieveService; + @Autowired + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; + @Autowired + private ICuMemberAssessService iCuMemberAssessService; + @Autowired + private ICuBonusExpandService iCuBonusExpandService; @Autowired private CuMemberBonusSettle cuMemberBonusSettle; - @Autowired - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - @Autowired - private ICuMemberAssessService cuMemberAssessService; - @Autowired - private ICuBonusExpandService bonusExpandService; @Override @Transactional(rollbackFor = Exception.class) public void createCuMemberTree(String date) { - // 创建日表记录表 - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); + // 创建日结算(cu_member_settle) + int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; Integer number = baseMapper.queryExistOracleTable(settleTableName); if (number == null || number <= 0) { @@ -77,50 +77,54 @@ public class CuMemberTreeServiceImpl extends ServiceImpl0){ @@ -168,16 +173,16 @@ public class CuMemberTreeServiceImpl extends ServiceImpl cuMemberAchieveHashMap, String currentSettleTableName) { - cuMemberAchieveService.updateCuMemberAchieveEveryDay(cuMemberAchieveHashMap, currentSettleTableName); + iCuMemberAchieveService.updateCuMemberAchieveEveryDay(cuMemberAchieveHashMap, currentSettleTableName); } @Override public void updateCuMemberNetAchieve(List updMemberAchieveExtList, String currentSettleTableName) { - cuMemberAchieveService.updateCuMemberNetAchieve(updMemberAchieveExtList, currentSettleTableName); + iCuMemberAchieveService.updateCuMemberNetAchieve(updMemberAchieveExtList, currentSettleTableName); } @Override public void updateCuMemberBackSettle(Map cuMemberAchieveHashMap, String currentSettleTableName) { - cuMemberAchieveService.updateCuMemberBackOldAchieveEveryDay(cuMemberAchieveHashMap, currentSettleTableName); + iCuMemberAchieveService.updateCuMemberBackOldAchieveEveryDay(cuMemberAchieveHashMap, currentSettleTableName); } @Override @@ -266,17 +271,22 @@ public class CuMemberTreeServiceImpl extends ServiceImpl memberParentCountParamPvList = new ArrayList<>(); if (settleTableName.contains(TableNameConstants.CU_MEMBER_SECOND)) { // 查询秒结表 - memberParentCountParamPvList = memberTreeService.queryByMemberParentSumPv(settleTableName, ids); + memberParentCountParamPvList = iCuMemberTreeService.queryByMemberParentSumPv(settleTableName, ids); } else { - memberParentCountParamPvList = memberTreeService.queryByMemberParentSettleSumPv(settleTableName, ids); + memberParentCountParamPvList = iCuMemberTreeService.queryByMemberParentSettleSumPv(settleTableName, ids); } Map memberParentPvMap = memberParentCountParamPvList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberSumPv)); @@ -692,7 +702,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl memberParentCountParamPvList = memberTreeService.queryByMemberParentSumPv(settleTableName, memberIds); + List memberParentCountParamPvList = iCuMemberTreeService.queryByMemberParentSumPv(settleTableName, memberIds); Map memberParentPvMap = memberParentCountParamPvList.stream().collect(Collectors.toMap(MemberParentCountParam::getPkMember, MemberParentCountParam::getParentMemberSumPv)); cuMemberSettleExt.setHistoryPerformancePv(memberParentPvMap.getOrDefault(cuMemberSettleExt.getPkMember(), BigDecimal.ZERO)); } diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java index 56b332bc..3a9c1bd5 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java @@ -29,20 +29,20 @@ import java.util.Date; public class MemberSettleBonusProvider implements IMemberSettleBonusApi { @Autowired - private ICuMemberMonthAchieveService cuMemberMonthAchieveService; + private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; @Autowired - private IBonusSettleService bonusSettleService; + private IBonusSettleService iBonusSettleService; @Autowired - private ICuMemberBonusService cuMemberBonusService; + private ICuMemberBonusService iCuMemberBonusService; @Autowired - private IBonusGrantService bonusGrantService; + private IBonusGrantService iBonusGrantService; @Autowired - private ICuMemberAchieveService cuMemberAchieveService; + private ICuMemberAchieveService iCuMemberAchieveService; @Override public R calculateCumberBonusBySecond(String orderCode) { try { - bonusSettleService.calculateCumberBonusBySecond(orderCode); + iBonusSettleService.calculateCumberBonusBySecond(orderCode); } catch (Exception e) { return R.fail(); } @@ -61,7 +61,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { @Override public void backupsSettleBonusEveryday() { - cuMemberBonusService.backupsSettleBonusEveryday(); + iCuMemberBonusService.backupsSettleBonusEveryday(); } class BonusCalculateBonus extends Thread { @@ -78,7 +78,7 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { log.info("奖金结算开始, 结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate)); // 奖金结算 try { - cuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate); + iCuMemberBonusService.autoCalculateBonus(settleDate, settleEndDate); log.info("奖金结算结束"); } catch (Exception e) { log.error("奖金结算异常,结算时间:{}", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate), e); @@ -88,21 +88,21 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { @Override public void insertCuMemberAchieveByEveryDay() { - cuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS)); + iCuMemberMonthAchieveService.insertCuMemberAchieveByEveryDay(DateUtils.beforeDate(1, ChronoUnit.DAYS)); } @Override public void autoPublishBonus() { - bonusGrantService.publishBonusByPeriodEveryDay(); + iBonusGrantService.publishBonusByPeriodEveryDay(); } @Override public void autoGrantBonus() { - bonusGrantService.grantWithdrawBonusByPeriodEveryDay(); + iBonusGrantService.grantWithdrawBonusByPeriodEveryDay(); } @Override public Boolean chargeBackSaOrder(SaOrder saOrder) { - return cuMemberAchieveService.chargeBackSaOrder(saOrder); + return iCuMemberAchieveService.chargeBackSaOrder(saOrder); } } diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java index 5b9e7d9c..ec57d886 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java @@ -26,6 +26,7 @@ import com.hzs.system.base.ICountryServiceApi; import com.hzs.system.base.ICurrencyServiceApi; import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAccountServiceApi; +import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,43 +44,46 @@ import java.util.*; * @Classname: BonusGrantServiceImpl * @PackageName: com.hzs.member.bonus.service.impl */ +@Slf4j @Service public class BonusGrantServiceImpl implements IBonusGrantService { @DubboReference - IAccountServiceApi accountServiceApi; + IAccountServiceApi iAccountServiceApi; @DubboReference - IActivityServiceApi activityServiceApi; + IActivityServiceApi iActivityServiceApi; @DubboReference - ICountryServiceApi countryServiceApi; + ICountryServiceApi iCountryServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; @Autowired - private ICuMemberBonusService cuMemberBonusService; + private ICuMemberBonusService iCuMemberBonusService; @Autowired - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; + @Autowired + private ICuMemberTradeService iCuMemberTradeService; + @Autowired + private ICuMemberTradeDetailService iCuMemberTradeDetailService; + @Autowired + private ICuMemberAccountService iCuMemberAccountService; @Autowired private MemberToolsHandler memberToolsHandler; - @Autowired - private ICuMemberTradeService cuMemberTradeService; - @Autowired - private ICuMemberTradeDetailService cuMemberTradeDetailService; - @Autowired - private ICuMemberAccountService cuMemberAccountService; - + @Transactional(rollbackFor = Exception.class) @Override public void publishBonusByPeriodEveryDay() { - Map integerBdCountryMap = countryServiceApi.getAllCountryMap().getData(); + Map integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData(); if (integerBdCountryMap.size() > 0) { for (Integer pkCountry : integerBdCountryMap.keySet()) { String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate())); CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); + log.info("公布奖金参数, settleDate: {}, ", settleDate); // 设置不公布后不能自动公布奖金 if (EYesNo.PROHIBIT.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { return; } + log.info("公布奖金期数状态, isPublish: {}, ", cuMemberSettlePeriod.getIsPublish()); publishBonus(cuMemberSettlePeriod); } } @@ -88,7 +92,7 @@ public class BonusGrantServiceImpl implements IBonusGrantService { @Override @Transactional(rollbackFor = Exception.class) public void grantWithdrawBonusByPeriodEveryDay() { - Map integerBdCountryMap = countryServiceApi.getAllCountryMap().getData(); + Map integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData(); if (integerBdCountryMap.size() > 0) { for (Integer pkCountry : integerBdCountryMap.keySet()) { // 先发放奖金,验证是否是周结,周结发放上周的,直接变为可提现 @@ -118,13 +122,15 @@ public class BonusGrantServiceImpl implements IBonusGrantService { if (EYesNo.YES.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { return; } - // 更新奖金状态 - cuMemberBonusService.updateCuMemberBonusStatus(null, EGrantStatus.PUBLISHED.getValue(), EGrantStatus.SETTLED.getValue(), + + log.info("公布奖金开始, periodId: {}, ", cuMemberSettlePeriod.getPkId()); + // 更新奖金状态(cu_member_bonus) + iCuMemberBonusService.updateCuMemberBonusStatus(null, EGrantStatus.PUBLISHED.getValue(), EGrantStatus.SETTLED.getValue(), cuMemberSettlePeriod.getPkId(), cuMemberSettlePeriod.getPkId()); - // 更新期间表状态 + // 更新期间表状态(cu_member_settle_period_detail) cuMemberSettlePeriod.setIsPublish(EYesNo.YES.getIntValue()); cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); } @Override @@ -143,11 +149,11 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 更新期间表状态 cuMemberSettlePeriod.setIsPublish(EYesNo.PROHIBIT.getIntValue()); cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); } private CuMemberSettlePeriodExt getCuMemberSettlePeriod(Integer pkCountry, String settleDate) { - CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = cuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate)); + CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = iCuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate)); cuMemberSettlePeriodByDate.setPkModified(MagicNumberConstants.PK_ADMIN); cuMemberSettlePeriodByDate.setModifiedTime(DateUtils.currentDateTime()); return cuMemberSettlePeriodByDate; @@ -172,16 +178,16 @@ public class BonusGrantServiceImpl implements IBonusGrantService { return Boolean.FALSE; } } - Map bdAccountValueMap = accountServiceApi.getAccountMapByCountry(pkCountry).getData(); + Map bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData(); Date currentDateTime = DateUtils.currentDateTime(); // 中国需要发放沙棘种树的复购券 if (CountryConstants.CHINA_COUNTRY.equals(pkCountry)) { // 查询沙棘种树订单 Date startDate = DateUtils.parseStringToDate(settleDate); Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, startDate); - List treeOrderList = activityServiceApi.querySaTreeOrderByDate(startDate, endDate).getData(); + List treeOrderList = iActivityServiceApi.querySaTreeOrderByDate(startDate, endDate).getData(); if (CollectionUtil.isNotEmpty(treeOrderList)) { - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(pkCountry).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(pkCountry).getData(); Map cuMemberAccountMap = new HashMap<>(); List memberTradeList = new ArrayList<>(); for (SaTreeOrder saTreeOrder : treeOrderList) { @@ -213,26 +219,26 @@ public class BonusGrantServiceImpl implements IBonusGrantService { cuMemberAccountMap.put(saTreeOrder.getPkMember(), cuMemberAccount); } } - List seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(memberTradeList.size()); + List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(memberTradeList.size()); for (int i = 0; i < memberTradeList.size(); i++) { CuMemberTrade cuMemberTrade = memberTradeList.get(i); cuMemberTrade.setPkId(seqList.get(i)); } - cuMemberTradeService.batchInsertCuMemberTrade(memberTradeList); + iCuMemberTradeService.batchInsertCuMemberTrade(memberTradeList); if (cuMemberAccountMap.size() > 0) { cuMemberAccountMap.forEach((pkMember, cumemberAccount) -> { - cuMemberAccountService.updateMemberAccount(cumemberAccount, MagicNumberConstants.PK_ADMIN); + iCuMemberAccountService.updateMemberAccount(cumemberAccount, MagicNumberConstants.PK_ADMIN); }); } } } // 查询奖金表,查询未发放的奖金明细 - List cuMemberBonusList = cuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + List cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); if (cuMemberBonusList.size() > 0) { // 新增交易流水 List cuMemberTradeList = new ArrayList<>(); cuMemberBonusList.forEach(cuMemberBonus -> { - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); // 奖金币(首购+复购+云代+海粉+嗨粉+创客空间+店铺) packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); // 重销币(商城重消+平台服务费) @@ -245,10 +251,10 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 车奖积分 // packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); }); - List seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); + List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); // 新增流水明细,记录奖金明细的发放状态、消费明细 List cuMemberTradeDetailList = new ArrayList<>(); - Map bdAccountMap = accountServiceApi.getAccountListByCountry(pkCountry).getData(); + Map bdAccountMap = iAccountServiceApi.getAccountListByCountry(pkCountry).getData(); for (int i = 0; i < cuMemberTradeList.size(); i++) { CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); cuMemberTrade.setPkId(seqList.get(i)); @@ -267,18 +273,18 @@ public class BonusGrantServiceImpl implements IBonusGrantService { } } // 批量保存交易流水,交易流水明细 - cuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); - cuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); + iCuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); + iCuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); // 批量更新会员账户,更新余额 - cuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + iCuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); // 更新奖金表发放状态 - cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), + iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); } // 更新期间表状态 cuMemberSettlePeriod.setIsGrant(EYesNo.YES.getIntValue()); cuMemberSettlePeriod.setGrantDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); return Boolean.TRUE; } @@ -287,14 +293,14 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 奖金发放 CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); // 查询奖金表,查询未发放的奖金明细 - List cuMemberBonusList = cuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); - Map bdAccountValueMap = accountServiceApi.getAccountMapByCountry(pkCountry).getData(); + List cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + Map bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData(); Date currentDateTime = DateUtils.currentDateTime(); if (cuMemberBonusList.size() > 0) { // 新增交易流水 List cuMemberTradeList = new ArrayList<>(); cuMemberBonusList.forEach(cuMemberBonus -> { - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); // 奖金币(首购+复购+云代+海粉+嗨粉+创客空间+店铺) packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); // 重销币(商城重消+平台服务费) @@ -307,10 +313,10 @@ public class BonusGrantServiceImpl implements IBonusGrantService { // 车奖积分 // packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); }); - List seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); + List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); // 新增流水明细,记录奖金明细的发放状态、消费明细 List cuMemberTradeDetailList = new ArrayList<>(); - Map bdAccountMap = accountServiceApi.getAccountListByCountry(pkCountry).getData(); + Map bdAccountMap = iAccountServiceApi.getAccountListByCountry(pkCountry).getData(); for (int i = 0; i < cuMemberTradeList.size(); i++) { CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); cuMemberTrade.setPkId(seqList.get(i)); @@ -329,12 +335,12 @@ public class BonusGrantServiceImpl implements IBonusGrantService { } } // 批量保存交易流水,交易流水明细 - cuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); - cuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); + iCuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); + iCuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); // 批量更新会员账户,更新余额 - cuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + iCuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); // 更新奖金表发放状态 - cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), + iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); } } @@ -361,15 +367,15 @@ public class BonusGrantServiceImpl implements IBonusGrantService { } } // 批量更新会员账户,更新余额 - cuMemberAccountService.updateMemberAccountWithdrawalByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); + iCuMemberAccountService.updateMemberAccountWithdrawalByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); // 更新交易明细表状态 cu_member_trade_detail - cuMemberTradeDetailService.updateCuMemberTradeDetailByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); + iCuMemberTradeDetailService.updateCuMemberTradeDetailByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); // 更新奖金表发放状态 - cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.WITHDRAWAL.getValue(), EGrantStatus.GRANT.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); + iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.WITHDRAWAL.getValue(), EGrantStatus.GRANT.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); // 更新期间表状态 cuMemberSettlePeriod.setIsWithdrawal(EYesNo.YES.getIntValue()); cuMemberSettlePeriod.setWithdrawalDate(DateUtils.currentDateTime()); - cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); + iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); } /** diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index e7819f24..613ac7e6 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -18,7 +18,6 @@ import com.hzs.bonus.bonus.param.LeXueRangeParam; import com.hzs.bonus.bonus.service.*; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; import com.hzs.bonus.bonus.vo.MemberBonusDetailCalVO; -import com.hzs.bonus.detail.service.ICuMemberAssessService; import com.hzs.bonus.detail.service.ICuMemberAwardsService; import com.hzs.bonus.risk.service.ICuMemberRiskControlService; import com.hzs.bonus.swing.service.ICuMemberSwingNetLogService; @@ -78,49 +77,63 @@ import java.util.*; public class BonusSettleServiceImpl implements IBonusSettleService { @DubboReference - ISystemConfigServiceApi systemConfigServiceApi; + ISystemConfigServiceApi iSystemConfigServiceApi; @DubboReference - IGradeServiceApi gradeServiceApi; + IGradeServiceApi iGradeServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; + IAwardsServiceApi iAwardsServiceApi; @DubboReference - IRangeServiceApi rangeServiceApi; + IRangeServiceApi iRangeServiceApi; @DubboReference - IMemberServiceApi memberServiceApi; + IBonusItemsServiceApi iBonusItemsServiceApi; @DubboReference - IBonusItemsServiceApi bonusItemsServiceApi; + IMemberServiceApi iMemberServiceApi; @DubboReference - IAcPickServiceApi acPickServiceApi; + ISaOrderServiceApi iSaOrderServiceApi; @DubboReference - ISaOrderServiceApi saOrderServiceApi; + IAcPickServiceApi iAcPickServiceApi; @Autowired - private ICuMemberTreeService cuMemberTreeService; + private ICuMemberTreeService iCuMemberTreeService; @Autowired - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired - private ICuMemberAwardsService cuMemberAwardsService; + private ICuMemberAwardsService iCuMemberAwardsService; @Autowired - private ICuMemberAssessService cuMemberAssessService; + private ICuMemberService iCuMemberService; @Autowired - private ICuMemberService cuMemberService; + private ICuMemberAchieveLogService iCuMemberAchieveLogService; @Autowired - private ICuMemberAchieveLogService cuMemberAchieveLogService; + private ICuMemberAchieveService iCuMemberAchieveService; @Autowired - private ICuMemberAchieveService cuMemberAchieveService; + private ICuAwardsControlService iCuAwardsControlService; @Autowired - private ICuAwardsControlService cuAwardsControlService; + private ICuMemberSwingNetLogService iCuMemberSwingNetLogService; @Autowired - private ICuMemberSwingNetLogService cuMemberSwingNetLogService; + private ICuMemberRepeatBonusService iCuMemberRepeatBonusService; @Autowired - private ICuMemberRepeatBonusService cuMemberRepeatBonusService; + private IBdWaresBonusService iBdWaresBonusService; + @Autowired + private ICuBonusExpandService iCuBonusExpandService; + @Autowired + private ICuMemberBonusService iCuMemberBonusService; + @Autowired + private ICuMemberBonusPushService iCuMemberBonusPushService; + @Autowired + private ICuMemberBonusExpandService iCuMemberBonusExpandService; + @Autowired + private ICuMemberBonusCoachService iCuMemberBonusCoachService; + @Autowired + private ICuMemberBonusDetailService iCuMemberBonusDetailService; + @Autowired + private ICuMemberBonusRangeService iCuMemberBonusRangeService; + @Autowired + private ICuMemberRangeService iCuMemberRangeService; + @Autowired + private ICuMemberRiskControlService iCuMemberRiskControlService; @Autowired private BonusSettleRangeHandle bonusSettleRangeHandle; @Autowired - private IBdWaresBonusService bdWaresBonusService; - @Autowired - private ICuBonusExpandService bonusExpandService; - @Autowired private BonusSettleFirstPurchaseHandle bonusSettleFirstPurchaseHandle; @Autowired private BonusSettlePurchaseHandle bonusSettlePurchaseHandle; @@ -132,46 +145,30 @@ public class BonusSettleServiceImpl implements IBonusSettleService { private BonusSettleRepCouponsHandle bonusSettleRepCouponsHandle; @Autowired private BonusSettleMallHandle bonusSettleMallHandle; - @Autowired - private ICuMemberBonusService cuMemberBonusService; - @Autowired - private ICuMemberBonusPushService cuMemberBonusPushService; - @Autowired - private ICuMemberBonusExpandService cuMemberBonusExpandService; - @Autowired - private ICuMemberBonusCoachService cuMemberBonusCoachService; - @Autowired - private ICuMemberBonusDetailService cuMemberBonusDetailService; - @Autowired - private ICuMemberBonusRangeService cuMemberBonusRangeService; - @Autowired - private ICuMemberRangeService cuMemberRangeService; - @Autowired - private ICuMemberRiskControlService cuMemberRiskControlService; @Override @Transactional(rollbackFor = Exception.class) public void calculateCumberBonusBySecond(String orderCode) { log.info("开始执行秒接,订单编号:{}", orderCode); Date startDate = DateUtils.currentDate(); - SaOrderExt saOrderExt = saOrderServiceApi.querySaOrderByDay(startDate, + SaOrderExt saOrderExt = iSaOrderServiceApi.querySaOrderByDay(startDate, DateUtils.afterDate(1, ChronoUnit.DAYS, startDate), orderCode).getData(); - Map systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData(); - Map rangeDtoMap = rangeServiceApi.queryRangeDto().getData(); + Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); + Map 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())); String beforeYesDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(2, ChronoUnit.DAYS, saOrderExt.getPayTime())); - int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); - int beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); - int beforeYesPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeYesDay).getPkId(); + int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + int beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); + int beforeYesPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeYesDay).getPkId(); log.info("查询订单,订单参数:{}", JSONUtil.toJsonStr(saOrderExt)); String secondTableName = TableNameConstants.CU_MEMBER_SECOND + period; String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforePeriod; // 前天 String yesSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + beforeYesPeriod; Map cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); + BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); Map cuMemberSettleExtMap = new HashMap<>(); Map cuAwardsControlMap = getCuAwardsControlMap(); // 计算奖金 @@ -188,34 +185,34 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 领导奖- 安置血缘以上,判断奖衔 // 报单服务费 - 报单人 List memberList = new ArrayList<>(); - CuMember cuMember = cuMemberService.getMember(saOrderExt.getPkMember()); + CuMember cuMember = iCuMemberService.getMember(saOrderExt.getPkMember()); if (cuMember.getPkCenterCode() != null && !saOrderExt.getPkReference().equals(cuMember.getPkCenterCode())) { memberList.add(cuMember.getPkCenterCode()); } getSettleMember(saOrderExt, secondTableName, settleTableName, yesSettleTableName, memberList); // 查询出上面的网体数据 - List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondParent(secondTableName, memberList); + List cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSecondParent(secondTableName, memberList); bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); // 计算奖金 // 计算直推奖 - List gradeDtoList = gradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData(); - CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, awardsServiceApi.getAwards().getData(), gradeDtoList); + List gradeDtoList = iGradeServiceApi.queryGradeConfigByCondition(saOrderExt.getPkCountry()).getData(); + CuMemberBonusPush cuMemberBonusPush = bonusSettleFirstPurchaseHandle.calculatePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, cuMemberBonusMap, saOrderExt, iAwardsServiceApi.getAwards().getData(), gradeDtoList); log.info("获得直推奖,奖金为:{}", JSONUtil.toJsonStr(cuMemberBonusPush)); // 计算量奖 // 所有需要计算的父节点,只计算新增 - List expandMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondPlaceParent(secondTableName, saOrderExt.getPkMember()); + List expandMemberSettleExtList = iCuMemberTreeService.queryCuMemberSecondPlaceParent(secondTableName, saOrderExt.getPkMember()); bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, expandMemberSettleExtList); Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); Map cuMemberAssessMap = bonusSettleFirstPurchaseHandle.getLongCuMemberAssessMap(settleDate, expandMemberSettleExtList); // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); + List cuMemberRiskControlList = iCuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); Map riskControlMap = new HashMap<>(); if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); } Map cuBonusExpandExtMap = new HashMap<>(); BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(); - List cuBonusExpandExtList = bonusExpandService.queryBonusExpand(bonusExpandParam); + List cuBonusExpandExtList = iCuBonusExpandService.queryBonusExpand(bonusExpandParam); cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt)); BigDecimal addTouch = BigDecimal.ZERO; for (int i = expandMemberSettleExtList.size() - 1; i >= 0; i--) { @@ -236,14 +233,14 @@ public class BonusSettleServiceImpl implements IBonusSettleService { List couponsBonusDetailList = bonusSettleRepCouponsHandle.calculateRepurchaseCoupons(startDate, Collections.singletonList(saOrderExt), period, bonusConfigDTO, cuMemberBonusMap, cuMemberSettleExtMap); saveCuMemberBonus(period, settleDate, cuMemberBonusMap); cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId()); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period); - cuMemberBonusPushService.insertCuMemberBonusPush(cuMemberBonusPush); + Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); + iCuMemberBonusPushService.insertCuMemberBonusPush(cuMemberBonusPush); cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> cuMemberBonusExpand.setPkBonus(cuMemberBonusMap.get(cuMemberBonusExpand.getPkBonus()).getPkId())); - cuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet); + iCuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet); cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> cuMemberBonusCoach.setPkBonus(cuMemberBonusMap.get(cuMemberBonusCoach.getPkBonus()).getPkId())); - cuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet); + iCuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet); List cuMemberBonusDetailList = new ArrayList<>(); if (cuMemberBonusDetail != null) { cuMemberBonusDetailList.add(cuMemberBonusDetail); @@ -254,7 +251,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { if (cuMemberBonusDetailList.size() > 0) { cuMemberBonusDetailList.forEach(bonusDetail -> bonusDetail.setPkBonus(cuMemberBonusMap.get(bonusDetail.getPkBonus()).getPkId())); - cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); + iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); } log.info("首购奖金计算完毕"); } else { @@ -262,16 +259,16 @@ public class BonusSettleServiceImpl implements IBonusSettleService { List memberList = new ArrayList<>(); getSettleMember(saOrderExt, secondTableName, yesSettleTableName, settleTableName, memberList); // 初始化需要秒接结算的数据 - List pushMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondParent(secondTableName, memberList); + List pushMemberSettleExtList = iCuMemberTreeService.queryCuMemberSecondParent(secondTableName, memberList); bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, pushMemberSettleExtList); List cuMemberBonusPushList = bonusSettlePurchaseHandle.calculateRepurchasePushSecondBonus(settleTableName, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, pushMemberSettleExtList, settleDate); // 查询出上面的网体数据 - List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSecondPlaceParent(secondTableName, saOrderExt.getPkMember()); + List cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSecondPlaceParent(secondTableName, saOrderExt.getPkMember()); bonusSettleFirstPurchaseHandle.getSecondMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); // 复购订单,计算复购推荐 复购极差,复购拓展 // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); + List cuMemberRiskControlList = iCuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); Map riskControlMap = new HashMap<>(); if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); @@ -279,28 +276,28 @@ public class BonusSettleServiceImpl implements IBonusSettleService { List cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandSecondBonus(riskControlMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, saOrderExt, cuMemberSettleExtList, settleDate, BigDecimal.ZERO, BigDecimal.ZERO, 0); // c)增加奖衔记录表 - Map awardsMap = awardsServiceApi.getAwards().getData(); + Map awardsMap = iAwardsServiceApi.getAwards().getData(); List cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap, bonusConfigDTO, Collections.singletonList(saOrderExt), period, cuMemberBonusMap, cuAwardsControlMap, new LeXueRangeParam()); if (cuMemberBonusMap.size() > 0) { saveCuMemberBonus(period, settleDate, cuMemberBonusMap); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period); + Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); cuMemberBonusPushList.forEach(cuMemberBonusPush -> cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId())); - cuMemberBonusPushService.batchInsertCuMemberBonusPush(cuMemberBonusPushList, memberIdSet); + iCuMemberBonusPushService.batchInsertCuMemberBonusPush(cuMemberBonusPushList, memberIdSet); cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> cuMemberBonusExpand.setPkBonus(cuMemberBonusMap.get(cuMemberBonusExpand.getPkBonus()).getPkId())); - cuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet); + iCuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet); cuMemberBonusRangeList.forEach(cuMemberBonusRange -> cuMemberBonusRange.setPkBonus(cuMemberBonusMap.get(cuMemberBonusRange.getPkBonus()).getPkId())); - cuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); + iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); } log.info("复购奖金计算完毕"); } // 更新网体结构 if (cuMemberSettleExtMap.size() > 0) { // 处理网体,更新网体新增 轮次最小值 cuMemberSettleExtMap - cuMemberTreeService.updateCuMemberSecond(secondTableName, cuMemberSettleExtMap); + iCuMemberTreeService.updateCuMemberSecond(secondTableName, cuMemberSettleExtMap); } // 1获取业绩,做一张新表,计算过奖金的放进去 2当天没有计算过奖金的,直接根据昨天日表获取业绩放进去进行计算 // 根据网体数据计算奖金 @@ -311,7 +308,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { memberList.add(saOrderExt.getPkMember()); long pkParent = saOrderExt.getPkReference(); while (true) { - CuMember cuMember = cuMemberService.getMember(pkParent); + CuMember cuMember = iCuMemberService.getMember(pkParent); if (cuMember == null) { break; } @@ -319,7 +316,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { pkParent = cuMember.getPkParent(); } // 初始化需要秒接结算的数据 - cuMemberTreeService.updateCuMemberSecondPlaceParent(secondTableName, settleTableName, yesSettleTableName, saOrderExt.getPkMember(), memberList, EYesNo.YES.getIntValue()); + iCuMemberTreeService.updateCuMemberSecondPlaceParent(secondTableName, settleTableName, yesSettleTableName, saOrderExt.getPkMember(), memberList, EYesNo.YES.getIntValue()); } /** @@ -334,8 +331,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 保存奖金 List cuMemberBonusList = setCuMemberBonusSeq(settleDate, cuMemberBonusMap); // 插入奖金主表 - cuMemberBonusService.insertOrUpdateCuMemberBonus(cuMemberBonusList); - List cuMemberBonuses = cuMemberBonusService.queryCuMemberBonus(period, cuMemberBonusList); + iCuMemberBonusService.insertOrUpdateCuMemberBonus(cuMemberBonusList); + List cuMemberBonuses = iCuMemberBonusService.queryCuMemberBonus(period, cuMemberBonusList); cuMemberBonuses.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus)); } @@ -349,29 +346,29 @@ public class BonusSettleServiceImpl implements IBonusSettleService { public void calculateCuMemberBonus(String settleDate, List saOrderExtList) { try { // 期间 - Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); // 会员结算日表(cu_member_settle) + 期间 String currentSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); // 昨日期间 - Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); + Integer yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); // 查询日期-1的网体数据,从日历史表中获得 // 将结算日昨日业绩数据 迁移到 网体业绩历史记录结算表 String yesterdayTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod; validateSettleTable(yesterday, yesterdayTableName); - Map awardsMap = awardsServiceApi.getAwards().getData(); - cuMemberTreeService.initCuMemberTreeTable(yesterdayTableName, currentSettleTableName); + Map awardsMap = iAwardsServiceApi.getAwards().getData(); + iCuMemberTreeService.initCuMemberTreeTable(yesterdayTableName, currentSettleTableName); // 查看是否有特殊业务,有特殊业务的处理,特殊业务,注水处理 - List cuMemberAchieveLogList = cuMemberAchieveLogService.queryMemberAchieveLogByPeriod(period); + List cuMemberAchieveLogList = iCuMemberAchieveLogService.queryMemberAchieveLogByPeriod(period); // 有特殊业务 if (cuMemberAchieveLogList.size() > 0) { - cuMemberAchieveLogList.forEach(cuMemberAchieveLog -> cuMemberAchieveService.updateCuMemberSettleAchieveBySpecialBus(currentSettleTableName, period, cuMemberAchieveLog.getPkId())); + cuMemberAchieveLogList.forEach(cuMemberAchieveLog -> iCuMemberAchieveService.updateCuMemberSettleAchieveBySpecialBus(currentSettleTableName, period, cuMemberAchieveLog.getPkId())); } // 注水到期回退 - cuMemberAchieveService.mergeCuMemberSettleByAchieveLogByDate(currentSettleTableName, DateUtils.parseStringToDate(settleDate)); + iCuMemberAchieveService.mergeCuMemberSettleByAchieveLogByDate(currentSettleTableName, DateUtils.parseStringToDate(settleDate)); // 判断特殊业务是否有到期日期,有到期的需要使用真实业绩,昨天的期间真实更新当前的 - cuMemberAchieveService.updateCuMemberSettleAchieveByDueDate(currentSettleTableName, yesterdayTableName, DateUtils.parseStringToDate(settleDate)); + iCuMemberAchieveService.updateCuMemberSettleAchieveByDueDate(currentSettleTableName, yesterdayTableName, DateUtils.parseStringToDate(settleDate)); // 根据日期开始计算网体 + 业绩 //********************* 更新网体*************/ @@ -413,10 +410,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService { packageSaOrderListByType(firPurchaseOrderList, repurchaseOrderList, mallOrderList, saOrderExt); }); // 将删除的订单的点位变为死点 - cuMemberTreeService.updateCuMemberTreeByCancelOrder(revokeRegSaOrderList, revokeUpdSaOrderList, settleDate, currentSettleTableName); + iCuMemberTreeService.updateCuMemberTreeByCancelOrder(revokeRegSaOrderList, revokeUpdSaOrderList, settleDate, currentSettleTableName); //********************************* 更新当天最新的业绩*************************/ // 获取所有国家的奖金项 key = 国家 + 奖金项的值 - BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); + BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); //*********************************计算奖衔 更新奖衔*********************************/ // 开始计算奖衔 计算奖衔 更新奖衔(根据最新业绩查询变动且业绩满足下一等级,根据等级判断是否满足考核,安置考核或血缘考核) @@ -424,15 +421,16 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 获取到奖衔配置 // a)更新会员表 // b)更新结算网体表 (月表、日表) - +// c)增加奖衔记录表 Map cuMemberAchieveHashMap = new HashMap<>(); bonusSettlePurchaseHandle.assortSaOrder(cuMemberAchieveHashMap, firPurchaseOrderList, bonusConfigDTO, Boolean.TRUE); bonusSettlePurchaseHandle.assortSaOrder(cuMemberAchieveHashMap, repurchaseOrderList, bonusConfigDTO, Boolean.FALSE); - cuMemberTreeService.updateCuMemberSettle(cuMemberAchieveHashMap, currentSettleTableName); -// c)增加奖衔记录表 - cuMemberAwardsService.calculateCuMemberAwards(settleDate, awardsMap, currentSettleTableName); - // 计算完奖衔回退业绩,最终根据新增进行回写 - cuMemberTreeService.updateCuMemberBackSettle(cuMemberAchieveHashMap, currentSettleTableName); + // 金额、业绩先上传,处理完奖衔会再退回去 + iCuMemberTreeService.updateCuMemberSettle(cuMemberAchieveHashMap, currentSettleTableName); + // 实际处理数据方法 + iCuMemberAwardsService.calculateCuMemberAwards(settleDate, awardsMap, currentSettleTableName); + // 计算完奖衔回退金额、业绩,最终根据新增进行回写 + iCuMemberTreeService.updateCuMemberBackSettle(cuMemberAchieveHashMap, currentSettleTableName); //********************************重新考核*********************************/ // TODO new 乐学没有分红、复购考核,这个位置需要去掉 @@ -489,36 +487,36 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // // 环球积分和车奖积分的规则。有荣衔,复购考核通过的10代不压缩,以推荐+拓展+领导+分红为合计基数,获取对应比例,比例根据参数配置 // calculateGlobalCarBonus(cuMemberSettleExtMap, currentSettleTableName, settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); - // 保存当日计算的奖金 + // 保存当日计算的奖金等 insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO); // 处理血缘业绩,统计伞下直推 bonusSettleFirstPurchaseHandle.calculateCuMemberBloodAchieveByOrder(currentSettleTableName, cuMemberSettleExtMap, firPurchaseOrderList, repurchaseOrderList, mallOrderList); if (cuMemberSettleExtMap.size() > 0) { // 处理网体,更新网体新增 轮次最小值 cuMemberSettleExtMap - cuMemberTreeService.updateCuMemberSettle(currentSettleTableName, cuMemberSettleExtMap); + iCuMemberTreeService.updateCuMemberSettle(currentSettleTableName, cuMemberSettleExtMap); } // 每日进行甩网业绩,按照条件,降结算好的业绩甩到想应的会员那边 List retMemberAchieveExtList = execNetAchieve(period, settleDate, currentSettleTableName); // 处理甩网数据 if (retMemberAchieveExtList.size() > 0) { - cuMemberSwingNetLogService.mergeCuMemberSwingNetLogByAchieve(retMemberAchieveExtList, currentSettleTableName); + iCuMemberSwingNetLogService.mergeCuMemberSwingNetLogByAchieve(retMemberAchieveExtList, currentSettleTableName); } - // 迁移网体数据到月表 - cuMemberTreeService.insertCuMemberTreeBySettleDate(settleDate, currentSettleTableName, period); + // 迁移网体数据到月表(会员网体月表、会员业绩月表) + iCuMemberTreeService.insertCuMemberTreeBySettleDate(settleDate, currentSettleTableName, period); // TODO new 之前月奖衔的数据处理 // // 上月最后一天 -// Integer beforeMonthPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( +// Integer beforeMonthPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( // DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeMonthLastDate(DateUtils.parseStringToDate(settleDate))) // ).getPkId(); // // 当月第一天 -// Integer currentMonthFirstPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( +// Integer currentMonthFirstPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( // DateUtils.currentMonthFirstDateStr(DateUtils.parseStringToDate(settleDate)) // ).getPkId(); -// cuMemberAwardsService.calculateCuMemberAwardsEveryMonth(currentMonthFirstPeriod, yesterdayPeriod, period, settleDate, beforeMonthPeriod, awardsMap); +// iCuMemberAwardsService.calculateCuMemberAwardsEveryMonth(currentMonthFirstPeriod, yesterdayPeriod, period, settleDate, beforeMonthPeriod, awardsMap); // 计算完当日奖金后,根据业绩计算下月奖衔 Date currentDate = DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.parseStringToDate(settleDate)); @@ -529,34 +527,34 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // // 月第一天日期 // String monthFirstDate = DateUtils.currentMonthFirstDateStr(DateUtils.parseStringToDate(settleDate)); // // 月第一天期数 -// Integer startPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(monthFirstDate).getPkId(); +// Integer startPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(monthFirstDate).getPkId(); // // 更新奖衔,根据新结算的奖衔 -// cuMemberTreeService.updateCuMemberAwardsBySettle(currentSettleTableName, rangeTableName, startPeriod, period); +// iCuMemberTreeService.updateCuMemberAwardsBySettle(currentSettleTableName, rangeTableName, startPeriod, period); // TODO new 现在没有月考核,是不是可以去掉? // 结算每月月末那一天,都是先删除,在新增,重新考核 - cuMemberTreeService.initCuMemberAssessData(settleDate); + iCuMemberTreeService.initCuMemberAssessData(settleDate); // 更新奖衔考核结果 - cuMemberAwardsService.updateCuMemberAwardsExamine(currentDate, period); + iCuMemberAwardsService.updateCuMemberAwardsExamine(currentDate, period); // 生成月表(cu_member_month) String monthTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(afterDate); - Integer number = cuMemberTreeService.queryExistOracleTable(monthTableName); + Integer number = iCuMemberTreeService.queryExistOracleTable(monthTableName); if (number == null || number <= 0) { // 创建表 - cuMemberAchieveService.createCuMemberMonthTable(monthTableName); - cuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName); - cuMemberTreeService.createCuMemberTreeParentIndex(monthTableName); - cuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName); + iCuMemberAchieveService.createCuMemberMonthTable(monthTableName); + iCuMemberTreeService.createCuMemberTreeDayOnlyIndex(monthTableName); + iCuMemberTreeService.createCuMemberTreeParentIndex(monthTableName); + iCuMemberTreeService.createCuMemberTreePlaceIndex(monthTableName); } } - // 应该是给4-N配置使用的 - bonusExpandService.updateCuBonusExpandRatio(BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(), "cu_member_bonus"); + // 奖金计算结束,统计拨比、业绩、4-N拨比 + iCuBonusExpandService.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()) { + if (!iAcPickServiceApi.updatePickUse(leXueRangeParam.getAcPickExtList(), leXueRangeParam.getAcPickMemberLogList()).getData()) { throw new RuntimeException("更新提货专区数量失败"); } } @@ -571,15 +569,15 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Transactional(rollbackFor = Exception.class) public void calculateCuMemberRangAwardsBySaOrder(String orderCode) { Map cuMemberBonusMap = new HashMap<>(MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); - SaOrderExt saOrderExt = saOrderServiceApi.querySaOrderByDay(DateUtils.currentDate(), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData(); + BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); + SaOrderExt saOrderExt = iSaOrderServiceApi.querySaOrderByDay(DateUtils.currentDate(), DateUtils.afterDate(1, ChronoUnit.DAYS), orderCode).getData(); if (saOrderExt != null) { // 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从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())); - int currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); - int beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); - List rangeAwardsList = awardsServiceApi.queryRangeAwards().getData(); + int currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + int beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); + List rangeAwardsList = iAwardsServiceApi.queryRangeAwards().getData(); String secondRangeTableName = TableNameConstants.CU_MEMBER_RANGE_S + currentPeriod; Map memberRangeExtMap = bonusSettleRangeHandle.calculateCuMemberRangeAwardsByDay(saOrderExt, rangeAwardsList, secondRangeTableName, beforePeriod, currentPeriod); List cuMemberBonusDetailList = new ArrayList<>(); @@ -591,33 +589,33 @@ public class BonusSettleServiceImpl implements IBonusSettleService { cuMemberBonusCoachList.add(cuMemberBonusCoach); } List cuMemberBonusRangeList = new ArrayList<>(bonusSettleRangeHandle.calculateRangeBonus(memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, currentPeriod, saOrderExt, rangeAwardsList, cuMemberBonusDetailList)); - List bdWaresBonusExtList = bdWaresBonusService.querySpecialWaresBonus(new BdWaresBonusParam()); + List bdWaresBonusExtList = iBdWaresBonusService.querySpecialWaresBonus(new BdWaresBonusParam()); bonusSettleRangeHandle.calculateRangeEvBonus(cuMemberBonusMap, bonusConfigDTO, currentPeriod, memberRangeExtMap, cuMemberBonusPushList, bdWaresBonusExtList, saOrderExt); saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap); if (cuMemberBonusPushList.size() > 0) { for (CuMemberBonusPush cuMemberBonusPush : cuMemberBonusPushList) { cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId()); - cuMemberBonusPushService.insertCuMemberBonusPush(cuMemberBonusPush); + iCuMemberBonusPushService.insertCuMemberBonusPush(cuMemberBonusPush); } } - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(currentPeriod); + Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(currentPeriod); if (cuMemberBonusCoachList.size() > 0) { cuMemberBonusCoachList.forEach(cuMemberBonusCoach1 -> cuMemberBonusCoach1.setPkBonus(cuMemberBonusMap.get(cuMemberBonusCoach1.getPkBonus()).getPkId())); - cuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet); + iCuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet); } if (cuMemberBonusRangeList.size() > 0) { cuMemberBonusRangeList.forEach(cuMemberBonusRange -> cuMemberBonusRange.setPkBonus(cuMemberBonusMap.get(cuMemberBonusRange.getPkBonus()).getPkId())); - cuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); + iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); } if (cuMemberBonusDetailList.size() > 0) { cuMemberBonusDetailList.forEach(bonusDetail -> bonusDetail.setPkBonus(cuMemberBonusMap.get(bonusDetail.getPkBonus()).getPkId())); - cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); + iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); } if (memberRangeExtMap.size() > 0) { - cuMemberRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap); + iCuMemberRangeService.updateCuMemberSecondRange(secondRangeTableName, memberRangeExtMap); } } } @@ -625,27 +623,27 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Override @Transactional(rollbackFor = Exception.class) public void repeatCuMemberBonusByExpand(String settleDate, List saOrderExtList) { - Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); String currentSettleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); - Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); + Integer yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); String yesterdayTableName = TableNameConstants.CU_MEMBER_SETTLE + yesterdayPeriod; - cuMemberTreeService.initCuMemberExpandTreeTable(yesterdayTableName, currentSettleTableName); - BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); + iCuMemberTreeService.initCuMemberExpandTreeTable(yesterdayTableName, currentSettleTableName); + BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); Map cuMemberSettleExtMap = new HashMap<>(); Map cuMemberBonusMap = new HashMap<>(); Map cuAwardsControlMap = getCuAwardsControlMap(); Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); - Map systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData(); + Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); - Map awardsMap = awardsServiceApi.getAwards().getData(); + Map awardsMap = iAwardsServiceApi.getAwards().getData(); // 首购订单 List firPurchaseOrderList = new ArrayList<>(); saOrderExtList.forEach(saOrderExt -> packageSaOrderListByType(firPurchaseOrderList, null, null, saOrderExt)); // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); + List cuMemberRiskControlList = iCuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); Map riskControlMap = new HashMap<>(); if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); @@ -653,7 +651,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 查询所有的4-n碰次 BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(); Map cuBonusExpandExtMap = new HashMap<>(); - List cuBonusExpandExtList = bonusExpandService.queryBonusExpand(bonusExpandParam); + List cuBonusExpandExtList = iCuBonusExpandService.queryBonusExpand(bonusExpandParam); cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt)); if (firPurchaseOrderList.size() > 0) { calculateFirPurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO, @@ -664,11 +662,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { cuMemberBonusList.add(BeanUtil.copyProperties(cuMemberBonus, CuMemberRepeatBonus.class)); } if (cuMemberBonusList.size() > 0) { - cuMemberRepeatBonusService.insertCuMemberRepeatBonus(cuMemberBonusList); + iCuMemberRepeatBonusService.insertCuMemberRepeatBonus(cuMemberBonusList); } if (cuMemberSettleExtMap.size() > 0) { // 处理网体,更新网体新增 轮次最小值 cuMemberSettleExtMap - cuMemberTreeService.updateCuMemberExpandSettle(currentSettleTableName, cuMemberSettleExtMap); + iCuMemberTreeService.updateCuMemberExpandSettle(currentSettleTableName, cuMemberSettleExtMap); } } @@ -679,11 +677,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { * @param: null null **/ private List execNetAchieve(Integer period, String settleDate, String currentSettleTableName) { - List memberSwingNetExtList = memberServiceApi.queryCuMemberSwingNetExt().getData(); + List memberSwingNetExtList = iMemberServiceApi.queryCuMemberSwingNetExt().getData(); List retMemberAchieveExtList = new ArrayList<>(); if (CollectionUtil.isNotEmpty(memberSwingNetExtList)) { // 查询接入会员的月业绩 - List cuMemberAchieveExtList = cuMemberAchieveService.queryCuMemberMonthAchieveByMemberIdList(currentSettleTableName, memberSwingNetExtList); + List cuMemberAchieveExtList = iCuMemberAchieveService.queryCuMemberMonthAchieveByMemberIdList(currentSettleTableName, memberSwingNetExtList); Map memberAchieveExtMap = new HashMap<>(); cuMemberAchieveExtList.forEach(cuMemberAchieveExt -> memberAchieveExtMap.put(cuMemberAchieveExt.getPkMember(), cuMemberAchieveExt)); @@ -750,16 +748,16 @@ public class BonusSettleServiceImpl implements IBonusSettleService { if (cuMemberAchieveExtMap.size() > 0) { // 更新业绩 List updMemberAchieveExtList = new ArrayList<>(cuMemberAchieveExtMap.values()); - cuMemberTreeService.updateCuMemberNetAchieve(updMemberAchieveExtList, currentSettleTableName); + iCuMemberTreeService.updateCuMemberNetAchieve(updMemberAchieveExtList, currentSettleTableName); } } return retMemberAchieveExtList; } private void validateSettleTable(String yesterday, String yesterdayTableName) { - Integer number = cuMemberTreeService.queryExistOracleTable(yesterdayTableName); + Integer number = iCuMemberTreeService.queryExistOracleTable(yesterdayTableName); if (number == null || number <= 0) { - cuMemberTreeService.createCuMemberTree(yesterday); + iCuMemberTreeService.createCuMemberTree(yesterday); yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, yesterday); validateSettleTable(yesterday, yesterdayTableName); } @@ -783,11 +781,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { LeXueRangeParam leXueRangeParam = null; Map cuAwardsControlMap = getCuAwardsControlMap(); Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); - Map systemConfigMap = systemConfigServiceApi.getBonusSystemConfig().getData(); - Map rangeDtoMap = rangeServiceApi.queryRangeDto().getData(); + Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); + Map rangeDtoMap = iRangeServiceApi.queryRangeDto().getData(); // 查询K值控制 - List cuMemberRiskControlList = cuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); + List cuMemberRiskControlList = iCuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); Map riskControlMap = new HashMap<>(); if (CollectionUtil.isNotEmpty(cuMemberRiskControlList)) { cuMemberRiskControlList.forEach(cuMemberRiskControl -> riskControlMap.put(cuMemberRiskControl.getPkMember(), cuMemberRiskControl)); @@ -795,7 +793,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 查询所有的4-n碰次 BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(settleDate)).build(); Map cuBonusExpandExtMap = new HashMap<>(); - List cuBonusExpandExtList = bonusExpandService.queryBonusExpand(bonusExpandParam); + List cuBonusExpandExtList = iCuBonusExpandService.queryBonusExpand(bonusExpandParam); cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt)); // 先计算复购在计算首购 @@ -819,14 +817,14 @@ public class BonusSettleServiceImpl implements IBonusSettleService { private Map getWeekMemberBonusMap(String settleDate, Integer period) { // 根据结算日期获取周期的期间,用于海外 String recentlyMonday = DateUtils.getRecentlyTuesday(settleDate); - CuMemberSettlePeriod startMemberSettlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(recentlyMonday); + CuMemberSettlePeriod startMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(recentlyMonday); // 查询封顶周期是周的国家的所有人的拓展收益、复购拓展收益 - return cuMemberBonusService.queryWeekMemberBonus(startMemberSettlePeriod.getPkId(), period); + return iCuMemberBonusService.queryWeekMemberBonus(startMemberSettlePeriod.getPkId(), period); } private Map getCuAwardsControlMap() { // 查询真实奖衔控制 - List cuAwardsControls = cuAwardsControlService.queryAllCuAwardsControl(); + List cuAwardsControls = iCuAwardsControlService.queryAllCuAwardsControl(); Map cuAwardsControlMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuAwardsControls.size())); if (CollectionUtil.isNotEmpty(cuAwardsControls)) { cuAwardsControls.forEach(cuAwardsControl -> @@ -845,12 +843,18 @@ public class BonusSettleServiceImpl implements IBonusSettleService { * @Date: 2022/12/13 11:52 */ void insertCuMemberBonus(String settleDate, Integer period, Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO) { - cuMemberBonusPushService.deleteCuMemberBonusPush(period); - cuMemberBonusExpandService.deleteCuMemberBonusExpand(period); - cuMemberBonusCoachService.deleteCuMemberBonusCoach(period); - cuMemberBonusDetailService.deleteCuMemberBonusDetail(period); - cuMemberBonusRangeService.deleteCuMemberBonusRange(period); - cuMemberBonusService.deleteCuMemberBonus(period); + // 删除 直推收益明细表 + iCuMemberBonusPushService.deleteCuMemberBonusPush(period); + // 删除 拓展收益明细表 + iCuMemberBonusExpandService.deleteCuMemberBonusExpand(period); + // 删除 辅导收益明细表 + iCuMemberBonusCoachService.deleteCuMemberBonusCoach(period); + // 删除 奖金收益明细表(报单费) + iCuMemberBonusDetailService.deleteCuMemberBonusDetail(period); + // 删除 奖金收益明细表(复购极差) + iCuMemberBonusRangeService.deleteCuMemberBonusRange(period); + // 删除 会员奖金汇总表 + iCuMemberBonusService.deleteCuMemberBonus(period); if (cuMemberBonusMap.size() == 0) { return; } @@ -891,17 +895,17 @@ public class BonusSettleServiceImpl implements IBonusSettleService { batchMemberBonusRangeList.addAll(cuMemberBonusRangeList); } // 插入奖金主表 - cuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period); - cuMemberBonusPushService.batchInsertCuMemberBonusPush(batchMemberBonusPushList, memberIdSet); - cuMemberBonusExpandService.batchInsertCuMemberBonusExpand(batchMemberBonusExpandList, memberIdSet); - cuMemberBonusCoachService.batchInsertCuMemberBonusCoach(batchMemberBonusCoachList, memberIdSet); - cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(batchMemberBonusDetailList, memberIdSet); - cuMemberBonusRangeService.batchInsertCuMemberBonusRange(batchMemberBonusRangeList, memberIdSet); + iCuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList); + Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); + iCuMemberBonusPushService.batchInsertCuMemberBonusPush(batchMemberBonusPushList, memberIdSet); + iCuMemberBonusExpandService.batchInsertCuMemberBonusExpand(batchMemberBonusExpandList, memberIdSet); + iCuMemberBonusCoachService.batchInsertCuMemberBonusCoach(batchMemberBonusCoachList, memberIdSet); + iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(batchMemberBonusDetailList, memberIdSet); + iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(batchMemberBonusRangeList, memberIdSet); } private List setCuMemberBonusSeq(String settleDate, Map cuMemberBonusMap) { - List pkIdList = cuMemberBonusService.batchQueryCuMemberBonusSeq(cuMemberBonusMap.size()); + List pkIdList = iCuMemberBonusService.batchQueryCuMemberBonusSeq(cuMemberBonusMap.size()); int i = 0; // 判断时间,重算的时候直接是已公布 Integer grantStatus = EGrantStatus.SETTLED.getValue(); diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java index 0cba7308..5393fecb 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java @@ -55,20 +55,20 @@ import java.util.stream.Collectors; public class CuMemberBonusServiceImpl extends ServiceImpl implements ICuMemberBonusService { @DubboReference - ISystemConfigServiceApi systemConfigServiceApi; + ISystemConfigServiceApi iSystemConfigServiceApi; @DubboReference - ISaOrderServiceApi saOrderServiceApi; + ISaOrderServiceApi iSaOrderServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; @DubboReference - IBonusItemsServiceApi bonusItemsServiceApi; + IBonusItemsServiceApi iBonusItemsServiceApi; @Autowired private CuMemberBonusSettle cuMemberBonusSettle; @Autowired - private ICuMemberTreeService cuMemberTreeService; + private ICuMemberTreeService iCuMemberTreeService; @Autowired - private IBonusSettleService bonusSettleService; + private IBonusSettleService iBonusSettleService; private CuMemberBonusDetailMapper cuMemberBonusDetailMapper; @@ -112,7 +112,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberBonusVoByCondition(BonusParam bonusParam) { - String value = systemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { // 周结的话不能查询当前周的数据,只能查询上周的数据 bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate()))); @@ -181,7 +181,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberSecondBonusVoByCondition(BonusParam bonusParam) { - String value = systemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); // if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { // // 周结的话不能查询当前周的数据,只能查询上周的数据 // bonusParam.setStartDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getStartDate()))); @@ -195,7 +195,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusExtList = baseMapper.queryMemberBonusByCondition(bonusParam); - R currency = currencyServiceApi.getCurrency(bonusParam.getPkCountry()); + R currency = iCurrencyServiceApi.getCurrency(bonusParam.getPkCountry()); // 汇率比例 BigDecimal inExchangeRate = currency.getData().getInExchangeRate(); for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) { @@ -290,7 +290,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberBonusTotalByCondition(BonusParam bonusParam) { - String value = systemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); + String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData(); if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) { // 周结的话不能查询当前周 bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate()))); @@ -366,7 +366,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl bonusItemsMap = convertBonusItems(bonusParam); - CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(bonusParam.getPkCountry()).getData(); + CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(bonusParam.getPkCountry()).getData(); memberBonusDetailVOList.forEach(memberBonusDetailVO -> { if (bonusItemsMap.containsKey(memberBonusDetailVO.getPkBonusItems())) { memberBonusDetailVO.setBonusName(bonusItemsMap.get(memberBonusDetailVO.getPkBonusItems()).getBonusName()); @@ -453,12 +453,12 @@ public class CuMemberBonusServiceImpl extends ServiceImpl queryMemberMarkBonusDetailSource(BonusParam bonusParam) { List memberBonusDetailVOList = new ArrayList<>(); - BdBonusItems bonusItems = bonusItemsServiceApi.queryBonusItemsByBonusValue(bonusParam.getPkCountry(), bonusParam.getBonusValue()).getData(); + BdBonusItems bonusItems = iBonusItemsServiceApi.queryBonusItemsByBonusValue(bonusParam.getPkCountry(), bonusParam.getBonusValue()).getData(); bonusParam.setPkBonusItems(bonusItems.getPkId()); // 其他收益 服务补贴、分红收益、嗨粉直推 // 拓展收益、复购拓展收益 List cuMemberBonusDetailList = cuMemberBonusDetailMapper.queryMemberBonusDetailByBonusItems(bonusParam); - CurrencyDTO currency = currencyServiceApi.getCurrency(bonusParam.getPkCountry()).getData(); + CurrencyDTO currency = iCurrencyServiceApi.getCurrency(bonusParam.getPkCountry()).getData(); cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> { MemberBonusDetailVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusDetail, MemberBonusDetailVO.class); String sourceMemberCode = memberBonusDetailVO.getSourceMemberCode(); @@ -470,7 +470,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl convertBonusItems(BonusParam bonusParam) { - List bonusItemsExtList = bonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry()).getData(); + List bonusItemsExtList = iBonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry()).getData(); Map bonusItemsMap = new HashMap<>(ComputeUtil.mapInitCapacity(bonusItemsExtList.size())); bonusItemsExtList.forEach(bonusItems -> bonusItemsMap.put(bonusItems.getPkId(), bonusItems)); @@ -483,7 +483,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl memberBonusDetailSerVoS = new ArrayList<>(); Integer bonusItemsValue = 0; if (bonusParam.getPkBonusItems() != null) { - BdBonusItems bonusItems = bonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry(), bonusParam.getPkBonusItems()).getData(); + BdBonusItems bonusItems = iBonusItemsServiceApi.queryBonusItems(bonusParam.getPkCountry(), bonusParam.getPkBonusItems()).getData(); bonusItemsValue = bonusItems.getBonusValue(); } if (bonusParam.getEndDate() != null) { @@ -641,17 +641,17 @@ public class CuMemberBonusServiceImpl extends ServiceImpl saOrderExtList = saOrderServiceApi.listSaOrderByDay(startDate, settleEndDate, "").getData(); - bonusSettleService.calculateCuMemberBonus(settleDate, saOrderExtList); + List saOrderExtList = iSaOrderServiceApi.listSaOrderByDay(startDate, settleEndDate, "").getData(); + iBonusSettleService.calculateCuMemberBonus(settleDate, saOrderExtList); return Boolean.TRUE; } @Override public void backupsSettleBonusEveryday() { - cuMemberTreeService.createCuMemberTree(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS))); + iCuMemberTreeService.createCuMemberTree(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS))); } @Override diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/ICuMemberSwingNetLogService.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/ICuMemberSwingNetLogService.java index 690a63ef..8fd72af5 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/ICuMemberSwingNetLogService.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/ICuMemberSwingNetLogService.java @@ -7,9 +7,7 @@ import com.hzs.common.domain.member.swing.CuMemberSwingNetLog; import java.util.List; /** - *

* 会员甩网业绩记录 服务类 - *

* * @author hzs * @since 2024-03-05 diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/impl/CuMemberSwingNetLogServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/impl/CuMemberSwingNetLogServiceImpl.java index b5f470fa..e0d46a66 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/impl/CuMemberSwingNetLogServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/swing/service/impl/CuMemberSwingNetLogServiceImpl.java @@ -10,9 +10,7 @@ import org.springframework.stereotype.Service; import java.util.List; /** - *

* 会员甩网业绩记录 服务实现类 - *

* * @author hzs * @since 2024-03-05 diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml index 85f118b7..082331c5 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml @@ -844,6 +844,7 @@ a.r_a_sum_real_pv = a.r_a_sum_real_pv - b.a_new_pv - b.rep_a_new_pv, a.r_b_sum_real_pv = a.r_b_sum_real_pv - b.b_new_pv - b.rep_b_new_pv + merge into ${tableName} a using ( diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberSettlePeriodMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberSettlePeriodMapper.xml index 8a04602c..f2d24cf2 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberSettlePeriodMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberSettlePeriodMapper.xml @@ -47,7 +47,7 @@ diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusMapper.xml index e008da04..c968d6d4 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusMapper.xml @@ -66,7 +66,8 @@ - update cu_member_bonus set grant_status = #{grantStatus}, pk_modified=100000000, modified_time=sysdate + update cu_member_bonus + set grant_status = #{grantStatus}, pk_modified = 100000000, modified_time = sysdate where del_flag= 0 and grant_status = #{oldGrantStatus} and period between #{startPeriod} and #{endPeriod} @@ -94,11 +95,14 @@ maker_direct_income,maker_share_income,maker_real_subtotal,real_income_total, pk_country,pk_creator,grant_status,income_status from( - select #{item.pkId} pk_id,#{item.pkMember} pk_member,#{item.period} period,#{item.pkRate,jdbcType=INTEGER} pk_rate, - #{item.directIncome} direct_income,#{item.expandIncome} expand_income,#{item.expandNoCapping} expand_no_capping, + select #{item.pkId} pk_id,#{item.pkMember} pk_member,#{item.period} period,#{item.pkRate,jdbcType=INTEGER} + pk_rate, + #{item.directIncome} direct_income,#{item.expandIncome} expand_income,#{item.expandNoCapping} + expand_no_capping, #{item.expandCapping} expand_capping,#{item.coachIncome} coach_income,#{item.shareIncome} share_income, #{item.serviceIncome} service_income,#{item.backPoints} back_points,#{item.serviceSpend} service_spend, - #{item.purRealSubtotal} pur_real_subtotal,#{item.repurPushIncome} repur_push_income,#{item.repurRangeIncome} repur_range_income, + #{item.purRealSubtotal} pur_real_subtotal,#{item.repurPushIncome} repur_push_income,#{item.repurRangeIncome} + repur_range_income, #{item.repurExpandIncome} repur_expand_income,#{item.repurRealSubtotal} repur_real_subtotal, #{item.cloudDirectIncome} cloud_direct_income,#{item.cloudPurIncome} cloud_pur_income, #{item.cloudRepurIncome} cloud_repur_income,#{item.cloudRealSubtotal} cloud_real_subtotal, @@ -106,8 +110,10 @@ #{item.repurCouponSubtotal} repur_coupon_subtotal,#{item.globalPoints} global_points, #{item.carAwardPoints} car_award_points,#{item.storeIncome} store_income,#{item.hiFunIncome} hi_fun_income, #{item.haiFunIncome} hai_fun_income,#{item.makerDirectIncome} maker_direct_income, - #{item.makerShareIncome} maker_share_income,#{item.makerRealSubtotal} maker_real_subtotal,#{item.realIncomeTotal} real_income_total, - #{item.pkCountry} pk_country,#{item.pkCreator} pk_creator,#{item.grantStatus} grant_status,#{item.incomeStatus} income_status from dual + #{item.makerShareIncome} maker_share_income,#{item.makerRealSubtotal} + maker_real_subtotal,#{item.realIncomeTotal} real_income_total, + #{item.pkCountry} pk_country,#{item.pkCreator} pk_creator,#{item.grantStatus} + grant_status,#{item.incomeStatus} income_status from dual ) )b on (cb.pk_member=b.pk_member and cb.period=b.period) WHEN NOT MATCHED THEN @@ -128,6 +134,7 @@ b.maker_direct_income,b.maker_share_income,b.maker_real_subtotal,b.real_income_total, b.pk_country,b.pk_creator,b.grant_status,b.income_status) + merge into cu_member_bonus a using( diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/swing/CuMemberSwingNetLogMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/swing/CuMemberSwingNetLogMapper.xml index 61c20807..fac55d2a 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/swing/CuMemberSwingNetLogMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/swing/CuMemberSwingNetLogMapper.xml @@ -4,49 +4,51 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + merge into cu_member_swing_net_log a using ( - select x.*,(x.net_first_achieve+x.net_repurchase_achieve) net_real_achieve, - y.a_sum_pv,y.b_sum_pv,y.a_sum_real_pv,y.b_sum_real_pv,y.rep_a_new_pv rep_a_sum_pv,y.rep_b_new_pv rep_b_sum_pv,'100000000' pk_creator from( - select pk_member,place_dept,period,pk_country,sum(net_first_achieve) net_first_achieve, - sum(net_repurchase_achieve) net_repurchase_achieve from( + select x.*,(x.net_first_achieve+x.net_repurchase_achieve) net_real_achieve, + y.a_sum_pv,y.b_sum_pv,y.a_sum_real_pv,y.b_sum_real_pv,y.rep_a_new_pv rep_a_sum_pv,y.rep_b_new_pv + rep_b_sum_pv,'100000000' pk_creator from( + select pk_member,place_dept,period,pk_country,sum(net_first_achieve) net_first_achieve, + sum(net_repurchase_achieve) net_repurchase_achieve from( select #{item.pkMember} pk_member,#{item.placeDept} place_dept,#{item.period} period, #{item.netFirstAchieve} net_first_achieve,#{item.netRepurchaseAchieve} net_repurchase_achieve, #{item.pkCountry} pk_country from dual ) - group by pk_member,place_dept,period,pk_country) x - inner join ${settleTableName} y - on x.pk_member=y.pk_member - ) b + group by pk_member,place_dept,period,pk_country) x + inner join ${settleTableName} y + on x.pk_member=y.pk_member + ) b on (a.pk_member=b.pk_member and a.period=b.period and a.place_dept=b.place_dept) when matched then - update set a.net_first_achieve=b.net_first_achieve,a.net_repurchase_achieve=b.net_repurchase_achieve, - a.net_real_achieve=b.net_real_achieve,a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, - a.a_sum_real_pv=b.a_sum_real_pv,a.b_sum_real_pv=b.b_sum_real_pv, - a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv,modified_time=sysdate + update set a.net_first_achieve=b.net_first_achieve,a.net_repurchase_achieve=b.net_repurchase_achieve, + a.net_real_achieve=b.net_real_achieve,a.a_sum_pv=b.a_sum_pv,a.b_sum_pv=b.b_sum_pv, + a.a_sum_real_pv=b.a_sum_real_pv,a.b_sum_real_pv=b.b_sum_real_pv, + a.rep_a_sum_pv=b.rep_a_sum_pv,a.rep_b_sum_pv=b.rep_b_sum_pv,modified_time=sysdate when not matched then insert (PK_ID,pk_member,period,place_dept,net_first_achieve,net_repurchase_achieve,net_real_achieve,