diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java
index 50ef8887..dd6c9185 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberSettlePeriodDetailMapper.java
@@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
/**
- *
* 会员结算期间明细 Mapper 接口
- *
- *
- * @author hzs
- * @since 2023-07-27
*/
public interface CuMemberSettlePeriodDetailMapper extends BaseMapper {
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java
index 21e75a25..360f1fb9 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodDetailServiceImpl.java
@@ -1,47 +1,38 @@
package com.hzs.bonus.achieve.service.impl;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodDetailService;
-import com.hzs.common.core.constant.BonusFieldConstants;
-import com.hzs.common.core.constant.MemberFieldConstants;
-import com.hzs.common.core.constant.SystemFieldConstants;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodDetailMapper;
import org.springframework.stereotype.Service;
/**
- *
* 会员结算期间明细 服务实现类
- *
- *
- * @author hzs
- * @since 2023-07-27
*/
@Service
public class CuMemberSettlePeriodDetailServiceImpl extends ServiceImpl implements ICuMemberSettlePeriodDetailService {
-
@Override
public boolean updateCuMemberSettlePeriodDetailByPeriod(CuMemberSettlePeriodExt cuMemberSettlePeriodExt) {
- UpdateWrapper updateWrapper = new UpdateWrapper<>();
- if(cuMemberSettlePeriodExt.getIsPublish() != null && cuMemberSettlePeriodExt.getPublishDate() != null){
- updateWrapper.set(BonusFieldConstants.IS_PUBLISH, cuMemberSettlePeriodExt.getIsPublish());
- updateWrapper.set(BonusFieldConstants.PUBLISH_DATE, cuMemberSettlePeriodExt.getPublishDate());
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ if (cuMemberSettlePeriodExt.getIsPublish() != null && cuMemberSettlePeriodExt.getPublishDate() != null) {
+ updateWrapper.set(CuMemberSettlePeriodDetail::getIsPublish, cuMemberSettlePeriodExt.getIsPublish());
+ updateWrapper.set(CuMemberSettlePeriodDetail::getPublishDate, cuMemberSettlePeriodExt.getPublishDate());
}
- if(cuMemberSettlePeriodExt.getIsGrant() != null && cuMemberSettlePeriodExt.getGrantDate() != null){
- updateWrapper.set(BonusFieldConstants.IS_GRANT, cuMemberSettlePeriodExt.getIsGrant());
- updateWrapper.set(BonusFieldConstants.GRANT_DATE, cuMemberSettlePeriodExt.getGrantDate());
+ if (cuMemberSettlePeriodExt.getIsGrant() != null && cuMemberSettlePeriodExt.getGrantDate() != null) {
+ updateWrapper.set(CuMemberSettlePeriodDetail::getIsGrant, cuMemberSettlePeriodExt.getIsGrant());
+ updateWrapper.set(CuMemberSettlePeriodDetail::getGrantDate, cuMemberSettlePeriodExt.getGrantDate());
}
- if(cuMemberSettlePeriodExt.getIsWithdrawal() != null && cuMemberSettlePeriodExt.getWithdrawalDate() != null){
- updateWrapper.set(BonusFieldConstants.IS_WITHDRAWAL, cuMemberSettlePeriodExt.getIsWithdrawal());
- updateWrapper.set(BonusFieldConstants.WITHDRAWAL_DATE, cuMemberSettlePeriodExt.getWithdrawalDate());
+ if (cuMemberSettlePeriodExt.getIsWithdrawal() != null && cuMemberSettlePeriodExt.getWithdrawalDate() != null) {
+ updateWrapper.set(CuMemberSettlePeriodDetail::getIsWithdrawal, cuMemberSettlePeriodExt.getIsWithdrawal());
+ updateWrapper.set(CuMemberSettlePeriodDetail::getWithdrawalDate, cuMemberSettlePeriodExt.getWithdrawalDate());
}
- updateWrapper.eq(MemberFieldConstants.START_PERIOD, cuMemberSettlePeriodExt.getStartPeriod());
- updateWrapper.eq(MemberFieldConstants.END_PERIOD, cuMemberSettlePeriodExt.getEndPeriod());
- if(cuMemberSettlePeriodExt.getPkCountry() != null){
- updateWrapper.eq(SystemFieldConstants.PK_COUNTRY, cuMemberSettlePeriodExt.getPkCountry());
+ updateWrapper.eq(CuMemberSettlePeriodDetail::getStartPeriod, cuMemberSettlePeriodExt.getStartPeriod());
+ updateWrapper.eq(CuMemberSettlePeriodDetail::getEndPeriod, cuMemberSettlePeriodExt.getEndPeriod());
+ if (cuMemberSettlePeriodExt.getPkCountry() != null) {
+ updateWrapper.eq(CuMemberSettlePeriodDetail::getPkCountry, cuMemberSettlePeriodExt.getPkCountry());
}
return update(updateWrapper);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java
index 616358d4..876efb8e 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberSettlePeriodServiceImpl.java
@@ -239,7 +239,6 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl i
@Override
public void updateCuMemberRetailRangeByPeriod(List cuMemberAwardsList, Integer period) {
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
- baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.SHARE_TYPE.getValue());
+// baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.SHARE_TYPE.getValue());
}
@Override
public void updateCuMemberRetailRangeByList(List cuMemberAwardsList, Integer period) {
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.RANGE_TYPE.getValue());
- baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue());
+// baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.SHARE_TYPE.getValue());
}
@Override
@@ -96,13 +96,13 @@ public class CuMemberServiceImpl extends ServiceImpl i
@Override
public void updateBackCuMemberRetailRangeAward(Integer period) {
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
- baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.SHARE_TYPE.getValue());
+// baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.SHARE_TYPE.getValue());
}
@Override
public void updateCuMemberRetailRangeAwardByDate(Date settleDate) {
baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.RANGE_TYPE.getValue());
- baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.SHARE_TYPE.getValue());
+// baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.SHARE_TYPE.getValue());
}
@Override
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java
index 26a3e9a3..1a1190f1 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/param/BonusExpandParam.java
@@ -11,12 +11,7 @@ import java.util.Date;
import java.util.List;
/**
- * @description: 4-n 增加碰次
- * @author: sui q
- * @time: 2024/7/19 14:21
- * @classname: BonusExpandParam
- * @package_name: com.hzs.bonus.bonus.param
- * version 1.0.0
+ * 4-n 增加碰次
*/
@Data
@Builder
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java
index 58f5e868..cac46543 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java
@@ -3,10 +3,8 @@ package com.hzs.bonus.detail.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.detail.CuMemberAwards;
-import com.hzs.common.domain.system.config.BdAwards;
import org.apache.ibatis.annotations.Param;
-import java.math.BigDecimal;
import java.util.List;
/**
@@ -43,47 +41,25 @@ public interface CuMemberAwardsMapper extends BaseMapper {
*/
Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List> cuMemberAwardsList);
- /*
- * 删除升级的奖衔
- **/
+ /**
+ * 删除升级的奖衔
+ */
void deleteCuMemberAwardsByList(@Param("cuMemberAwards") List cuMemberAwards, @Param("period") Integer period);
- /*
- * 查询自动升级的等级
- **/
+ /**
+ * 查询自动升级的等级
+ */
List queryCuMemberAwards(@Param("cuMemberRetailRangeExtList") List cuMemberRetailRangeExtList, @Param("period") Integer period);
- /*
- * 回退等级
- **/
+ /**
+ * 回退等级
+ */
void mergeCuMemberBackAwards(@Param("rangeTableName") String rangeTableName, @Param("pkMember") Long pkMember,
@Param("period") Integer period);
- /*
- * 每月1号计算奖衔
- **/
- void calculateCuMemberAwardsEveryMonth(@Param("period") Integer period, @Param("month") String month,
- @Param("beforeMontTableName") String beforeMontTableName, @Param("minAchieve") BigDecimal minAchieve);
-
- /*
- * 每月1号计算奖衔
- **/
- void calculateCuMemberRangeAwardsEveryMonth(@Param("period") Integer period, @Param("rangeTableName") String rangeTableName, @Param("minAchieve") BigDecimal minAchieve);
-
- /*
- * 更新奖衔
- **/
- void calculateCuMemberAwards(@Param("period") Integer period, @Param("bdAwardsList") List bdAwardsList);
-
- /*
- * 删除重复奖衔数据
- **/
- void deleteRepeatCuMemberAwards(@Param("period") Integer period, @Param("firstPeriod") Integer firstPeriod,
- @Param("yesPeriod") Integer yesPeriod);
-
- /*
- * 根据结算表更新奖衔
- **/
+ /**
+ * 根据结算表更新奖衔
+ */
void updateCuMemberAwardsExamine(@Param("assessTableName") String assessTableName, @Param("awardPeriod") Integer awardPeriod,
@Param("assessPeriod") Integer assessPeriod);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java
index 4775e50a..2f5ce241 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java
@@ -46,19 +46,19 @@ public interface ICuMemberAwardsService extends IService {
*/
void saveBatchCuMemberAwards(List cuMemberAwardsList);
- /*
- * 删除升级的奖衔
- **/
+ /**
+ * 删除升级的奖衔
+ */
void deleteCuMemberAwards(List cuMemberAwards, Integer period);
- /*
- * 查询自动升级的等级
- **/
+ /**
+ * 查询自动升级的等级
+ */
List queryCuMemberAwards(List cuMemberRetailRangeExtList, Integer period);
- /*
- * 回退等级
- **/
+ /**
+ * 回退奖衔
+ */
void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period);
/**
@@ -70,13 +70,8 @@ public interface ICuMemberAwardsService extends IService {
*/
void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime);
- /*
- * 每月1号计算奖衔
- **/
- void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map awardsMap);
-
- /*
- * 根据结算表更新奖衔
- **/
+ /**
+ * 根据结算表更新奖衔
+ */
void updateCuMemberAwardsExamine(Date currentDate, Integer period);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java
index 8d5d41e8..56f55e32 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java
@@ -1,7 +1,7 @@
package com.hzs.bonus.detail.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
@@ -21,60 +21,39 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.math.BigDecimal;
import java.time.temporal.ChronoUnit;
import java.util.*;
/**
- *
* 会员信息-奖衔升级记录 服务实现类
- *
- *
- * @author hzs
- * @since 2022-08-31
*/
@Service
public class CuMemberAwardsServiceImpl extends ServiceImpl implements ICuMemberAwardsService {
- private ICuMemberTreeService cuMemberTreeService;
-
- private ICuMemberService cuMemberService;
-
- private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
-
+ @Autowired
+ private ICuMemberService iCuMemberService;
+ @Autowired
+ private ICuMemberTreeService iCuMemberTreeService;
+ @Autowired
+ private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
@Autowired
private CuMemberBonusSettle cuMemberBonusSettle;
- @Autowired
- public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
- this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
- }
-
- @Autowired
- public void setCuMemberService(ICuMemberService cuMemberService) {
- this.cuMemberService = cuMemberService;
- }
-
- @Autowired
- public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
- this.cuMemberTreeService = cuMemberTreeService;
- }
-
@Override
@Transactional(rollbackFor = Exception.class)
public void calculateCuMemberAwards(String setDate, Map countryAwardsMap, String settleTableName) {
// 查询结算日当天奖衔发生过变动的会员,本期
Date settleDate = DateUtils.parseStringToDate(setDate);
- Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
+ Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
//删除当天奖衔升级记录,自动升级的
// 更新奖衔,回退奖衔
List cuMemberAwards = queryCuMemberAwardsByPeriod(period, null);
- cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
- cuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
+ iCuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
+ iCuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
// 回退业绩表奖衔
baseMapper.deleteCuMemberAwards(period);
while (true) {
- List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
+ List cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) {
break;
}
@@ -85,8 +64,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType);
- cuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
- cuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
+ iCuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
+ iCuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
// 回退业绩表奖衔
baseMapper.deleteCuMemberAwards(period);
}
@@ -95,22 +74,22 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl 0) {
// 将变动值插入临时表中
// 更新会员表
- cuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
+ iCuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
// 更新结算网体表(月表、日表)
// 根据结算日期获得所有需要更新的周期
updateMemberAwardPeriod(settleDate);
return Boolean.TRUE;
} else {
- cuMemberService.updateCuMemberByPeriod(null, period);
+ iCuMemberService.updateCuMemberByPeriod(null, period);
updateMemberAwardPeriod(settleDate);
return Boolean.FALSE;
}
@@ -224,52 +203,26 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl periodList = new ArrayList<>();
while (DateUtils.compareDateBefore(settleDate, currentDate)) {
String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
- periodList.add(cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId());
+ periodList.add(iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDateStr).getPkId());
settleDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate);
}
- cuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
+ iCuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
}
@Override
public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) {
- UpdateWrapper updateWrapper = new UpdateWrapper<>();
- updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue());
- updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkApprove);
- updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, currentDateTime);
- updateWrapper.eq(SaOrderFieldConstants.PK_ORDER, pkOrder);
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue());
+ updateWrapper.set(CuMemberAwards::getPkModified, pkApprove);
+ updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime);
+ updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder);
update(updateWrapper);
}
- @Override
- public void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map awardsMap) {
- // 根据奖衔找到最小的业绩要求
- BigDecimal minAchieve = BigDecimal.valueOf(999999999);
- List bdAwardsList = new ArrayList<>();
- for (String key : awardsMap.keySet()) {
- BdAwards bdAwards = awardsMap.get(key);
- if (bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())) {
- minAchieve = bdAwards.getCommunityCheck();
- }
- if (ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
- bdAwardsList.add(bdAwards);
- }
- }
- String month = DateUtils.getMonth(settleDate);
-// baseMapper.deleteCuMemberSettleAwards(period);
- // 计算业绩, 计算直销团队的福利奖衔
- baseMapper.calculateCuMemberAwardsEveryMonth(period, month, beforeMontTableName, minAchieve);
- String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + period;
- // 计算乐享极差团队奖衔
- baseMapper.calculateCuMemberRangeAwardsEveryMonth(period, rangeTableName, minAchieve);
- baseMapper.calculateCuMemberAwards(period, bdAwardsList);
- // 清空当月cu_member_settle_awards中数据 currentMonthFirstPeriod yesterdayPeriod 之间和period重复的去掉
- baseMapper.deleteRepeatCuMemberAwards(period, currentMonthFirstPeriod, yesterdayPeriod);
- }
-
@Override
public void updateCuMemberAwardsExamine(Date currentDate, Integer period) {
String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate);
- Integer currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
+ Integer currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(currentMonthFirstDate).getPkId();
String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate);
baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod);
}
@@ -286,9 +239,6 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap,
Integer period) {
@@ -350,20 +300,18 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl changeAwardsList, Integer period, List cuMemberAwardsList) {
// 验证是否有降奖衔的,降奖衔的也要更新
if (changeAwardsList.size() > 0) {
// 更新奖衔表,将奖衔升级记录修改为删除状态
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq(MemberFieldConstants.PERIOD, period);
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CuMemberAwards::getPeriod, period);
baseMapper.updateBatchCuMemberAwards(changeAwardsList, period);
// 根据 changeAwardsList 查找到这群人的历史奖衔升级记录
List hisCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(changeAwardsList);
@@ -384,19 +332,17 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl
- * @Author: sui q
- * @Date: 2022/11/5 14:21
*/
private List queryCuMemberAwardsByPeriod(Integer period, Integer systemType) {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq(MemberFieldConstants.PERIOD, period);
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CuMemberAwards::getPeriod, period);
if (systemType != null) {
- queryWrapper.eq("SYSTEM_TYPE", systemType);
+ queryWrapper.eq(CuMemberAwards::getSystemType, systemType);
}
- queryWrapper.eq(MemberFieldConstants.UP_TYPE, EUpgradeType.AUTO_UPGRADE.getValue());
+ queryWrapper.eq(CuMemberAwards::getUpType, EUpgradeType.AUTO_UPGRADE.getValue());
return baseMapper.selectList(queryWrapper);
}
@@ -409,13 +355,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml
index e38b09f2..f3cbc3aa 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberSettlePeriodMapper.xml
@@ -47,7 +47,7 @@
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml
index 36742b84..df9ee4ca 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml
@@ -237,43 +237,24 @@
- CREATE
- OR REPLACE TRIGGER
- ${tableName}
- _
- TRIG
- BEFORE
- INSERT
- OR
- UPDATE ON ${tableName}
- FOR EACH ROW
+ CREATE OR REPLACE TRIGGER
+ ${tableName}_TRIG
+ BEFORE INSERT OR UPDATE ON ${tableName} FOR EACH ROW
DECLARE
v_newVal NUMBER(12) := 0;
- v_incval
- NUMBER(12) := 0;
+ v_incval NUMBER(12) := 0;
BEGIN
- IF
- INSERTING AND :new.pk_id IS NULL THEN
- SELECT ${tableNameSeq}.NEXTVAL
- INTO v_newVal
- FROM DUAL;
- IF
- v_newVal = 1 THEN
- SELECT NVL(max(pk_id), 0)
- INTO v_newVal
- FROM ${tableName};
- v_newVal
- := v_newVal + 1;
+ IF INSERTING AND :new.pk_id IS NULL THEN
+ SELECT ${tableNameSeq}.NEXTVAL INTO v_newVal FROM DUAL;
+ IF v_newVal = 1 THEN SELECT NVL(max(pk_id), 0) INTO v_newVal FROM ${tableName};
+ v_newVal := v_newVal + 1;
LOOP
EXIT
WHEN v_incval >= v_newVal;
- SELECT ${tableNameSeq}.nextval
- INTO v_incval
- FROM dual;
+ SELECT ${tableNameSeq}.nextval INTO v_incval FROM dual;
END LOOP;
END IF;
- :new
- .pk_id := v_newVal;
+ :new.pk_id := v_newVal;
END IF;
END;
@@ -309,8 +290,7 @@
- create index
- ${tableName}_parent
+ create index ${tableName}_parent
on
${tableName}
(
@@ -319,8 +299,7 @@
- create index
- ${tableName}_place
+ create index ${tableName}_place
on
${tableName}
(
@@ -330,8 +309,7 @@
- create unique index
- ${tableName}_PK_M
+ create unique index ${tableName}_PK_M
on ${tableName}
(
PK_MEMBER,
@@ -340,8 +318,7 @@
- create unique index
- ${tableName}_PK_M
+ create unique index ${tableName}_PK_M
on ${tableName}
(
PK_MEMBER
@@ -416,6 +393,7 @@
using (select pk_member, max(old_level) old_level
from cu_member_awards
where period = #{period}
+ and del_flag = 0
group by pk_member) b
on (a.pk_member = b.pk_member)
when matched then
@@ -433,6 +411,7 @@
where period = #{period}
and up_type = 1
and system_type = 1
+ and del_flag = 0
group by pk_member) ca
inner join bd_range_awards ba
on ca.old_level = ba.pk_id
@@ -447,11 +426,14 @@
merge into ${rangeTableName} a
using (
- select ca.pk_member, max(old_level) pk_awards from cu_member_awards ca
+ select ca.pk_member, max(old_level) pk_awards
+ from cu_member_awards ca
inner join ${rangeTableName} cm
on ca.pk_member = cm.pk_member
- where ca.period = #{period} and ca.up_type = 1
+ where ca.period = #{period}
+ and ca.up_type = 1
and ca.award_type = #{awardType}
+ and ca.del_flag = 0
and cm.pk_awards <= ca.new_level
@@ -476,9 +458,13 @@
using (
select y.pk_member,y.pk_awards from ${rangeTableName} x
inner join (
- select a.pk_member,a.new_level pk_awards from cu_member_awards a
+ select a.pk_member,a.new_level pk_awards
+ from cu_member_awards a
+ where a.del_flag = 0
inner join(
- select pk_member, max(pk_id) pk_id from cu_member_awards where del_flag = 0 and up_type=2
+ select pk_member, max(pk_id) pk_id
+ from cu_member_awards
+ where del_flag = 0 and up_type=2
and end_validity_date <= #{settleDate, jdbcType=DATE}
and award_type = #{awardType}
group by pk_member) b
@@ -506,15 +492,13 @@
update ${rangeTableName}
- set pk_awards = (select pk_id from bd_awards where awards_value = 0),
- pk_share_awards = (select pk_id from bd_awards where awards_value = 0)
+ set pk_awards = (select pk_id from bd_awards where awards_value = 0)
update ${rangeTableName}
- set pk_awards = (select pk_id from bd_awards where awards_value = 5),
- pk_share_awards = (select pk_id from bd_awards where awards_value = 5)
+ set pk_awards = (select pk_id from bd_awards where awards_value = 5)
where pk_grade = (
select pk_id
from bd_grade
@@ -664,12 +648,14 @@
connect by pk_place_parent = prior pk_member) a
inner join (select cw.pk_member, cw.new_level pk_awards
from cu_member_awards cw
- inner join(select pk_member, max(pk_id) pk_id
- from cu_member_awards
- where del_flag = 0
- and UP_TYPE in (1, 3)
- group by pk_member) ca
- on cw.pk_id = ca.pk_id) b
+ inner join (select pk_member, max(pk_id) pk_id
+ from cu_member_awards
+ where del_flag = 0
+ and UP_TYPE in (1, 3)
+ group by pk_member) ca
+ on cw.pk_id = ca.pk_id
+ where cw.del_flag = 0
+ ) b
on a.pk_member = b.pk_member) a
inner join bd_awards ba
on a.pk_awards = ba.pk_id
@@ -697,7 +683,9 @@
where del_flag = 0
and UP_TYPE in (1, 3)
group by pk_member) ca
- on cw.pk_id = ca.pk_id) b
+ on cw.pk_id = ca.pk_id
+ where cw.del_flag = 0
+ ) b
on a.pk_member = b.pk_member
) x
inner join bd_awards ba
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml
index 277883bd..6ef7a0b6 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/base/CuMemberMapper.xml
@@ -206,7 +206,7 @@
a.pk_awards = b.pk_awards,
- a.pk_range_awards=b.pk_awards,
+ a.pk_range_awards = b.pk_awards,
a.modified_time = sysdate
@@ -263,6 +263,7 @@
using (select pk_member, max(old_level) old_level
from cu_member_awards
where period = #{period}
+ and del_flag = 0
group by pk_member) b
on (a.pk_id = b.pk_member)
when matched then
@@ -279,6 +280,7 @@
from cu_member_awards
where period = #{period}
and up_type = 1
+ and del_flag = 0
group by pk_member) ca
inner join bd_range_awards ba
on ca.old_level = ba.pk_id
@@ -292,11 +294,14 @@
merge into cu_member a
- using (select pk_member, max(old_level) pk_awards from cu_member_awards ca
+ using (select pk_member, max(old_level) pk_awards
+ from cu_member_awards ca
inner join cu_member cm
on ca.pk_member = cm.pk_id
- where ca.period = #{period} and ca.up_type = 1
+ where ca.period = #{period}
+ and ca.up_type = 1
and award_type = #{awardType}
+ and ca.del_flag = 0
and cm.pk_awards < ca.new_level
@@ -321,14 +326,19 @@
using (
select y.pk_member,y.pk_awards from cu_member x
inner join (
- select a.pk_member,a.new_level pk_awards from cu_member_awards a
- inner join(
- select pk_member,max(pk_id) pk_id from cu_member_awards where del_flag=0 and up_type=2
- and end_validity_date <=#{settleDate, jdbcType=DATE}
+ select a.pk_member,a.new_level pk_awards
+ from cu_member_awards a
+ where a.del_flag = 0
+ inner join (
+ select pk_member, max(pk_id) pk_id
+ from cu_member_awards
+ where del_flag = 0
+ and up_type = 2
+ and end_validity_date <= #{settleDate, jdbcType=DATE}
and award_type = #{awardType}
group by pk_member) b
- on a.pk_id=b.pk_id ) y
- on x.pk_id=y.pk_member
+ on a.pk_id = b.pk_id) y
+ on x.pk_id = y.pk_member
where
x.pk_awards < y.pk_awards
@@ -344,7 +354,7 @@
a.pk_awards = b.pk_awards,
- a.pk_range_awards=b.pk_awards,
+ a.pk_range_awards = b.pk_awards,
a.modified_time = sysdate
@@ -352,15 +362,13 @@
update cu_member
- set pk_awards = (select pk_id from bd_awards where awards_value = 0),
- pk_range_awards = (select pk_id from bd_awards where awards_value = 0)
+ set pk_awards = (select pk_id from bd_awards where awards_value = 0)
update cu_member
- set pk_awards=(select pk_id from bd_awards where awards_value = 5),
- pk_range_awards=(select pk_id from bd_awards where awards_value = 5)
+ set pk_awards = (select pk_id from bd_awards where awards_value = 5)
where pk_settle_grade = (
select pk_id
from bd_grade
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index 4620375d..1334060f 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -58,16 +58,15 @@
-
-
- update cu_member_bonus set grant_status = #{grantStatus}, pk_modified=100000000, modified_time=sysdate
- where del_flag= 0
+ 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}
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml
index fbd4d289..8635906a 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAwardsMapper.xml
@@ -39,74 +39,6 @@
SELECT 1 FROM dual
-
- merge into cu_member_settle_awards a
- using (
- select #{period} period, b.*
- from (
- select pk_member,
- pk_country,
- a_balance,
- b_balance,
- a_new_pv,
- b_new_pv,
- (case
- when a_balance = 0 and b_balance = 0 then a_new_pv + b_new_pv
- when a_balance = 0 then a_new_pv
- else b_new_pv end) new_pv
- from (
- select ct.pk_member,
- ct.pk_country,
- nvl(ctb.a_balance, 0) a_balance,
- nvl(ctb.b_balance, 0) b_balance,
- ct.a_sum_pv a_new_pv,
- ct.b_sum_pv b_new_pv
- from (
- select pk_member,
- pk_country,
- sum(A_NEW_PV + REP_A_NEW_PV) A_SUM_PV,
- sum(b_NEW_PV + REP_B_NEW_PV) b_SUM_PV,
- sum(register_new_pv) REGISTER_PV,
- sum(upgrade_new_pv) UPGRADE_PV,
- sum(repurchase_new_pv) REPURCHASE_PV,
- sum(hi_fun_new_pv) HI_FUN_PV,
- sum(mall_new_pv) MALL_PV
- from cu_member_achieve${month}
- where period <= #{period}
- and pk_country = 1
- group by pk_member, pk_country
- ) ct
- left join ${beforeMontTableName} ctb
- on ct.pk_member = ctb.pk_member
- )) b
- where new_pv >= #{minAchieve}) b
- on (a.pk_member = b.pk_member and a.period = b.period)
- when matched then
- update set a.a_balance = b.a_balance,a.b_balance = b.b_balance,
- a.a_new_pv = b.a_new_pv,a.b_new_pv = b.b_new_pv,a.new_pv = b.new_pv
- when not matched then
- insert (pk_id, period, pk_member, a_balance, b_balance, a_new_pv, b_new_pv, new_pv, pk_country, assess_status)
- values (cu_member_settle_awards_seq.nextval, b.period, b.pk_member, b.a_balance, b.b_balance, b.a_new_pv, b.b_new_pv, b.new_pv,
- b.pk_country, 3)
-
-
- merge into cu_member_settle_awards a
- using(
- select pk_member,period,max(pk_awards) pk_awards from(
-
- select pk_member,period,#{item.pkId} pk_awards from cu_member_settle_awards
- where period = #{period} and pk_country=#{item.pkCountry} and new_pv>=#{item.communityCheck}
-
- and new_pv <#{item.communityCheckEnd}
-
-
- )
- group by pk_member,period
- ) b on (a.pk_member=b.pk_member and a.period=b.period)
- when matched then
- update set a.pk_awards=b.pk_awards
-
-
update cu_member_awards set del_flag = 1, modified_time = sysdate, PK_MODIFIED = 1
where period= #{period} and pk_member in
@@ -114,6 +46,7 @@
#{item.pkMember}
+
merge into cu_member_settle_awards a
using (
@@ -128,27 +61,6 @@
update set a.assess_target = b.assess_target,a.assess_status = b.assess_status
-
- merge into cu_member_settle_awards a
- using (
- select #{period} period, b.pk_member, b.max_team_pv, b.small_team_pv new_pv
- from (
- select pk_parent pk_member,
- max(team_month_pv + new_pv) max_team_pv,
- (sum(team_month_pv + new_pv) - max(team_month_pv + new_pv)) small_team_pv,
- count(pk_parent) dept_num
- from ${rangeTableName}
- group by pk_parent
- having count(pk_parent) >= 2) b
- where b.small_team_pv >= #{minAchieve}) b
- on (a.pk_member = b.pk_member and a.period = b.period)
- when matched then
- update set a.a_new_pv = b.max_team_pv,a.b_new_pv = b.new_pv,a.new_pv = b.new_pv
- when not matched then
- insert (pk_id, period, pk_member, a_balance, b_balance, a_new_pv, b_new_pv, new_pv, pk_country, assess_status)
- values (cu_member_settle_awards_seq.nextval, b.period, b.pk_member, 0, 0, b.max_team_pv, b.new_pv, b.new_pv, 1, 3)
-
-
merge into ${rangeTableName} a
using (
@@ -169,8 +81,11 @@
from cu_member start
with pk_id = #{pkMember}
connect by prior pk_parent = pk_id)
- group by ca.pk_member) cx
- on cw.pk_id = cx.pk_id ) b
+ group by ca.pk_member
+ ) cx
+ on cw.pk_id = cx.pk_id
+ where cw.del_flag = 0
+ ) b
on (a.pk_member = b.pk_member)
when matched then
update set a.pk_awards = b.old_level
@@ -178,48 +93,45 @@
- delete
- from cu_member_awards
+ update cu_member_awards cma
+ set cma.del_flag = 1,
+ cma.modified_time = sysdate
+ where period = #{period}
+ and up_type = 1
+
+
-
- delete
- from cu_member_settle_awards
- where pk_id in (
- select a.pk_id
- from (
- select ct.pk_id, ct.pk_member, ba.awards_value
- from cu_member_settle_awards ct
- inner join bd_awards ba
- on ct.pk_awards = ba.pk_id and ba.del_flag = 0
- where period = #{period}) a
- inner join(
- select ct.*, bw.awards_value
- from (
- select pk_member, max(pk_awards) pk_awards
- from cu_member_settle_awards
- where period between #{firstPeriod} and #{yesPeriod}
- group by pk_member) ct
- inner join bd_awards bw
- on ct.pk_awards = bw.pk_id and bw.del_flag = 0
- ) b
- on a.pk_member = b.pk_member and a.awards_value <= b.awards_value)
-
+
- delete from cu_member_awards where period = #{period} and del_flag=0 and up_type=1
+ update cu_member_awards cma
+ set cma.del_flag = 1,
+ cma.modified_time = sysdate
+ where period = #{period} and del_flag = 0 and up_type = 1
and pk_id in
#{item.pkId}
+
+
+
-
- delete
- from cu_member_awards
- where period = #{period}
- and up_type = 1
-