forked from angelo/java-retail-app
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
344f10a3e1
|
@ -4,12 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
|
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员结算期间明细 Mapper 接口
|
* 会员结算期间明细 Mapper 接口
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-07-27
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberSettlePeriodDetailMapper extends BaseMapper<CuMemberSettlePeriodDetail> {
|
public interface CuMemberSettlePeriodDetailMapper extends BaseMapper<CuMemberSettlePeriodDetail> {
|
||||||
|
|
||||||
|
|
|
@ -1,47 +1,38 @@
|
||||||
package com.hzs.bonus.achieve.service.impl;
|
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodDetailService;
|
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.CuMemberSettlePeriodDetail;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
|
||||||
import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodDetailMapper;
|
import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodDetailMapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员结算期间明细 服务实现类
|
* 会员结算期间明细 服务实现类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2023-07-27
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberSettlePeriodDetailServiceImpl extends ServiceImpl<CuMemberSettlePeriodDetailMapper, CuMemberSettlePeriodDetail> implements ICuMemberSettlePeriodDetailService {
|
public class CuMemberSettlePeriodDetailServiceImpl extends ServiceImpl<CuMemberSettlePeriodDetailMapper, CuMemberSettlePeriodDetail> implements ICuMemberSettlePeriodDetailService {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateCuMemberSettlePeriodDetailByPeriod(CuMemberSettlePeriodExt cuMemberSettlePeriodExt) {
|
public boolean updateCuMemberSettlePeriodDetailByPeriod(CuMemberSettlePeriodExt cuMemberSettlePeriodExt) {
|
||||||
UpdateWrapper<CuMemberSettlePeriodDetail> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberSettlePeriodDetail> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
if(cuMemberSettlePeriodExt.getIsPublish() != null && cuMemberSettlePeriodExt.getPublishDate() != null){
|
if (cuMemberSettlePeriodExt.getIsPublish() != null && cuMemberSettlePeriodExt.getPublishDate() != null) {
|
||||||
updateWrapper.set(BonusFieldConstants.IS_PUBLISH, cuMemberSettlePeriodExt.getIsPublish());
|
updateWrapper.set(CuMemberSettlePeriodDetail::getIsPublish, cuMemberSettlePeriodExt.getIsPublish());
|
||||||
updateWrapper.set(BonusFieldConstants.PUBLISH_DATE, cuMemberSettlePeriodExt.getPublishDate());
|
updateWrapper.set(CuMemberSettlePeriodDetail::getPublishDate, cuMemberSettlePeriodExt.getPublishDate());
|
||||||
}
|
}
|
||||||
if(cuMemberSettlePeriodExt.getIsGrant() != null && cuMemberSettlePeriodExt.getGrantDate() != null){
|
if (cuMemberSettlePeriodExt.getIsGrant() != null && cuMemberSettlePeriodExt.getGrantDate() != null) {
|
||||||
updateWrapper.set(BonusFieldConstants.IS_GRANT, cuMemberSettlePeriodExt.getIsGrant());
|
updateWrapper.set(CuMemberSettlePeriodDetail::getIsGrant, cuMemberSettlePeriodExt.getIsGrant());
|
||||||
updateWrapper.set(BonusFieldConstants.GRANT_DATE, cuMemberSettlePeriodExt.getGrantDate());
|
updateWrapper.set(CuMemberSettlePeriodDetail::getGrantDate, cuMemberSettlePeriodExt.getGrantDate());
|
||||||
}
|
}
|
||||||
if(cuMemberSettlePeriodExt.getIsWithdrawal() != null && cuMemberSettlePeriodExt.getWithdrawalDate() != null){
|
if (cuMemberSettlePeriodExt.getIsWithdrawal() != null && cuMemberSettlePeriodExt.getWithdrawalDate() != null) {
|
||||||
updateWrapper.set(BonusFieldConstants.IS_WITHDRAWAL, cuMemberSettlePeriodExt.getIsWithdrawal());
|
updateWrapper.set(CuMemberSettlePeriodDetail::getIsWithdrawal, cuMemberSettlePeriodExt.getIsWithdrawal());
|
||||||
updateWrapper.set(BonusFieldConstants.WITHDRAWAL_DATE, cuMemberSettlePeriodExt.getWithdrawalDate());
|
updateWrapper.set(CuMemberSettlePeriodDetail::getWithdrawalDate, cuMemberSettlePeriodExt.getWithdrawalDate());
|
||||||
}
|
}
|
||||||
updateWrapper.eq(MemberFieldConstants.START_PERIOD, cuMemberSettlePeriodExt.getStartPeriod());
|
updateWrapper.eq(CuMemberSettlePeriodDetail::getStartPeriod, cuMemberSettlePeriodExt.getStartPeriod());
|
||||||
updateWrapper.eq(MemberFieldConstants.END_PERIOD, cuMemberSettlePeriodExt.getEndPeriod());
|
updateWrapper.eq(CuMemberSettlePeriodDetail::getEndPeriod, cuMemberSettlePeriodExt.getEndPeriod());
|
||||||
if(cuMemberSettlePeriodExt.getPkCountry() != null){
|
if (cuMemberSettlePeriodExt.getPkCountry() != null) {
|
||||||
updateWrapper.eq(SystemFieldConstants.PK_COUNTRY, cuMemberSettlePeriodExt.getPkCountry());
|
updateWrapper.eq(CuMemberSettlePeriodDetail::getPkCountry, cuMemberSettlePeriodExt.getPkCountry());
|
||||||
}
|
}
|
||||||
return update(updateWrapper);
|
return update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,7 +239,6 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberSettlePeriodByDate(CuMemberSettlePeriodExt cuMemberSettlePeriodByDate) {
|
public void updateCuMemberSettlePeriodByDate(CuMemberSettlePeriodExt cuMemberSettlePeriodByDate) {
|
||||||
// baseMapper.updateById(cuMemberSettlePeriodByDate);
|
|
||||||
iCuMemberSettlePeriodDetailService.updateCuMemberSettlePeriodDetailByPeriod(cuMemberSettlePeriodByDate);
|
iCuMemberSettlePeriodDetailService.updateCuMemberSettlePeriodDetailByPeriod(cuMemberSettlePeriodByDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberAchieveService;
|
import com.hzs.bonus.achieve.service.ICuMemberAchieveService;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
|
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
|
||||||
import com.hzs.bonus.bonus.param.BonusExpandParam;
|
|
||||||
import com.hzs.bonus.bonus.service.ICuBonusExpandService;
|
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.core.constant.TableNameConstants;
|
import com.hzs.common.core.constant.TableNameConstants;
|
||||||
import com.hzs.common.core.enums.EAwardsType;
|
import com.hzs.common.core.enums.EAwardsType;
|
||||||
|
@ -36,9 +34,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
|
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ICuBonusExpandService bonusExpandService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
|
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
|
||||||
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
|
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
|
||||||
|
@ -96,8 +91,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
baseMapper.createCuMemberTreeDayOnlyIndex(secondRetailRangeTableName);
|
baseMapper.createCuMemberTreeDayOnlyIndex(secondRetailRangeTableName);
|
||||||
baseMapper.createCuMemberTreeParentIndex(secondRetailRangeTableName);
|
baseMapper.createCuMemberTreeParentIndex(secondRetailRangeTableName);
|
||||||
}
|
}
|
||||||
BonusExpandParam bonusExpandParam = BonusExpandParam.builder().settleDate(DateUtils.parseStringToDate(date)).build();
|
|
||||||
bonusExpandService.firstSaveCuBonusExpand(bonusExpandParam);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String createMonthTreeTableName(String date) {
|
private String createMonthTreeTableName(String date) {
|
||||||
|
@ -152,13 +145,13 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
@Override
|
@Override
|
||||||
public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) {
|
public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) {
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.SHARE_TYPE.getValue());
|
// baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate) {
|
public void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate) {
|
||||||
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.RANGE_TYPE.getValue());
|
||||||
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.SHARE_TYPE.getValue());
|
// baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -49,13 +49,13 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberRetailRangeByPeriod(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
public void updateCuMemberRetailRangeByPeriod(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
||||||
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.SHARE_TYPE.getValue());
|
// baseMapper.updateCuMemberRetailAwardsByPeriod(period, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberRetailRangeByList(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
public void updateCuMemberRetailRangeByList(List<CuMemberAwards> cuMemberAwardsList, Integer period) {
|
||||||
baseMapper.updateCuMemberRetailRangeByList(cuMemberAwardsList, period, EAwardsType.RANGE_TYPE.getValue());
|
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
|
@Override
|
||||||
|
@ -96,13 +96,13 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
@Override
|
@Override
|
||||||
public void updateBackCuMemberRetailRangeAward(Integer period) {
|
public void updateBackCuMemberRetailRangeAward(Integer period) {
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.RANGE_TYPE.getValue());
|
||||||
baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.SHARE_TYPE.getValue());
|
// baseMapper.updateBackCuMemberRetailRangeAward(period, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberRetailRangeAwardByDate(Date settleDate) {
|
public void updateCuMemberRetailRangeAwardByDate(Date settleDate) {
|
||||||
baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.RANGE_TYPE.getValue());
|
baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.RANGE_TYPE.getValue());
|
||||||
baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.SHARE_TYPE.getValue());
|
// baseMapper.updateCuMemberRetailRangeAwardByDate(settleDate, EAwardsType.SHARE_TYPE.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -11,12 +11,7 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 4-n 增加碰次
|
* 4-n 增加碰次
|
||||||
* @author: sui q
|
|
||||||
* @time: 2024/7/19 14:21
|
|
||||||
* @classname: BonusExpandParam
|
|
||||||
* @package_name: com.hzs.bonus.bonus.param
|
|
||||||
* version 1.0.0
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
|
@ -491,11 +491,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 个人累计消费pv
|
// 个人累计消费pv
|
||||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
||||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
|
|
||||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
|
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() + boxNum);
|
||||||
|
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
|
||||||
|
sourceMemberRangeExt.setMonthBoxNum(sourceMemberRangeExt.getConsumeBoxNum() + boxNum);
|
||||||
|
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
||||||
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
||||||
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
||||||
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
|
||||||
// 计算自己等级、奖衔等
|
// 计算自己等级、奖衔等
|
||||||
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
|
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
|
||||||
null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap);
|
null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap);
|
||||||
|
@ -864,16 +865,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 激活的账号才能累计业绩和盒数(有注册、升级订单)
|
// 激活的账号才能累计业绩和盒数(有注册、升级订单)
|
||||||
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
|
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
|
||||||
// 累计业绩
|
// 累计业绩
|
||||||
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
|
||||||
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
|
||||||
targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount));
|
|
||||||
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
|
||||||
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
||||||
|
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
||||||
|
targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount));
|
||||||
|
// 累计金额
|
||||||
targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve));
|
targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve));
|
||||||
|
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
||||||
|
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
||||||
// 累计盒数
|
// 累计盒数
|
||||||
|
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum);
|
||||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum);
|
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() + boxNum);
|
||||||
targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() + boxNum);
|
targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() + boxNum);
|
||||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() + boxNum);
|
|
||||||
// 计算等级
|
// 计算等级
|
||||||
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
|
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap,
|
||||||
secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap);
|
secondRangeTableName, cuMemberGradeList, cuMemberAwardsList, targetMemberRangeExt, activateMap);
|
||||||
|
|
|
@ -3,10 +3,8 @@ package com.hzs.bonus.detail.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,47 +41,25 @@ public interface CuMemberAwardsMapper extends BaseMapper<CuMemberAwards> {
|
||||||
*/
|
*/
|
||||||
Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List<?> cuMemberAwardsList);
|
Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List<?> cuMemberAwardsList);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 删除升级的奖衔
|
* 删除升级的奖衔
|
||||||
**/
|
*/
|
||||||
void deleteCuMemberAwardsByList(@Param("cuMemberAwards") List<CuMemberAwards> cuMemberAwards, @Param("period") Integer period);
|
void deleteCuMemberAwardsByList(@Param("cuMemberAwards") List<CuMemberAwards> cuMemberAwards, @Param("period") Integer period);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 查询自动升级的等级
|
* 查询自动升级的等级
|
||||||
**/
|
*/
|
||||||
List<CuMemberAwards> queryCuMemberAwards(@Param("cuMemberRetailRangeExtList") List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, @Param("period") Integer period);
|
List<CuMemberAwards> queryCuMemberAwards(@Param("cuMemberRetailRangeExtList") List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, @Param("period") Integer period);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 回退等级
|
* 回退等级
|
||||||
**/
|
*/
|
||||||
void mergeCuMemberBackAwards(@Param("rangeTableName") String rangeTableName, @Param("pkMember") Long pkMember,
|
void mergeCuMemberBackAwards(@Param("rangeTableName") String rangeTableName, @Param("pkMember") Long pkMember,
|
||||||
@Param("period") Integer period);
|
@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<BdAwards> 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,
|
void updateCuMemberAwardsExamine(@Param("assessTableName") String assessTableName, @Param("awardPeriod") Integer awardPeriod,
|
||||||
@Param("assessPeriod") Integer assessPeriod);
|
@Param("assessPeriod") Integer assessPeriod);
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,19 +46,19 @@ public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
*/
|
*/
|
||||||
void saveBatchCuMemberAwards(List<CuMemberAwards> cuMemberAwardsList);
|
void saveBatchCuMemberAwards(List<CuMemberAwards> cuMemberAwardsList);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 删除升级的奖衔
|
* 删除升级的奖衔
|
||||||
**/
|
*/
|
||||||
void deleteCuMemberAwards(List<CuMemberAwards> cuMemberAwards, Integer period);
|
void deleteCuMemberAwards(List<CuMemberAwards> cuMemberAwards, Integer period);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 查询自动升级的等级
|
* 查询自动升级的等级
|
||||||
**/
|
*/
|
||||||
List<CuMemberAwards> queryCuMemberAwards(List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Integer period);
|
List<CuMemberAwards> queryCuMemberAwards(List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Integer period);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 回退等级
|
* 回退奖衔
|
||||||
**/
|
*/
|
||||||
void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period);
|
void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -70,13 +70,8 @@ public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
*/
|
*/
|
||||||
void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime);
|
void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime);
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* 每月1号计算奖衔
|
|
||||||
**/
|
|
||||||
void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map<String, BdAwards> awardsMap);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 根据结算表更新奖衔
|
* 根据结算表更新奖衔
|
||||||
**/
|
*/
|
||||||
void updateCuMemberAwardsExamine(Date currentDate, Integer period);
|
void updateCuMemberAwardsExamine(Date currentDate, Integer period);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.hzs.bonus.detail.service.impl;
|
package com.hzs.bonus.detail.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
|
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.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员信息-奖衔升级记录 服务实现类
|
* 会员信息-奖衔升级记录 服务实现类
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-31
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper, CuMemberAwards> implements ICuMemberAwardsService {
|
public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper, CuMemberAwards> implements ICuMemberAwardsService {
|
||||||
|
|
||||||
private ICuMemberTreeService cuMemberTreeService;
|
@Autowired
|
||||||
|
private ICuMemberService iCuMemberService;
|
||||||
private ICuMemberService cuMemberService;
|
@Autowired
|
||||||
|
private ICuMemberTreeService iCuMemberTreeService;
|
||||||
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
|
@Autowired
|
||||||
|
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
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
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void calculateCuMemberAwards(String setDate, Map<String, BdAwards> countryAwardsMap, String settleTableName) {
|
public void calculateCuMemberAwards(String setDate, Map<String, BdAwards> countryAwardsMap, String settleTableName) {
|
||||||
// 查询结算日当天奖衔发生过变动的会员,本期
|
// 查询结算日当天奖衔发生过变动的会员,本期
|
||||||
Date settleDate = DateUtils.parseStringToDate(setDate);
|
Date settleDate = DateUtils.parseStringToDate(setDate);
|
||||||
Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
|
Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId();
|
||||||
//删除当天奖衔升级记录,自动升级的
|
//删除当天奖衔升级记录,自动升级的
|
||||||
// 更新奖衔,回退奖衔
|
// 更新奖衔,回退奖衔
|
||||||
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period, null);
|
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period, null);
|
||||||
cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
iCuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
||||||
cuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
iCuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
||||||
// 回退业绩表奖衔
|
// 回退业绩表奖衔
|
||||||
baseMapper.deleteCuMemberAwards(period);
|
baseMapper.deleteCuMemberAwards(period);
|
||||||
while (true) {
|
while (true) {
|
||||||
List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
|
List<CuMemberSettleExt> cuMemberSettleExtList = iCuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName);
|
||||||
if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) {
|
if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -85,8 +64,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
public void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName, Integer systemType) {
|
public void calculateCuMemberRangeAwardsInit(Integer period, String rangeTableName, Integer systemType) {
|
||||||
// 更新奖衔,回退奖衔
|
// 更新奖衔,回退奖衔
|
||||||
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType);
|
List<CuMemberAwards> cuMemberAwards = queryCuMemberAwardsByPeriod(period, systemType);
|
||||||
cuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
|
iCuMemberTreeService.updateBackCuMemberSettleRangeAward(rangeTableName, period);
|
||||||
cuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
|
iCuMemberService.updateBackCuMemberRangeAward(cuMemberAwards, period);
|
||||||
// 回退业绩表奖衔
|
// 回退业绩表奖衔
|
||||||
baseMapper.deleteCuMemberAwards(period);
|
baseMapper.deleteCuMemberAwards(period);
|
||||||
}
|
}
|
||||||
|
@ -95,22 +74,22 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
public void calculateCuMemberRetailRangeAwardsInit(String settleDate, Integer period, String rangeTableName) {
|
public void calculateCuMemberRetailRangeAwardsInit(String settleDate, Integer period, String rangeTableName) {
|
||||||
if (settleDate.endsWith("01")) {
|
if (settleDate.endsWith("01")) {
|
||||||
// 每月1号初始化结算表奖衔(月度奖衔归0,V5给S1奖衔)
|
// 每月1号初始化结算表奖衔(月度奖衔归0,V5给S1奖衔)
|
||||||
cuMemberTreeService.updateCuMemberRetailRangeInitAward(rangeTableName);
|
iCuMemberTreeService.updateCuMemberRetailRangeInitAward(rangeTableName);
|
||||||
// 每月1号初始化会员表奖衔(月度奖衔归0,V5给S1奖衔)
|
// 每月1号初始化会员表奖衔(月度奖衔归0,V5给S1奖衔)
|
||||||
cuMemberService.updateCuMemberRetailRangeInitAward();
|
iCuMemberService.updateCuMemberRetailRangeInitAward();
|
||||||
}
|
}
|
||||||
// 回退结算表奖衔
|
// 回退结算表奖衔
|
||||||
cuMemberTreeService.updateBackCuMemberRetailRangeAward(rangeTableName, period);
|
iCuMemberTreeService.updateBackCuMemberRetailRangeAward(rangeTableName, period);
|
||||||
// 回退会员表奖衔
|
// 回退会员表奖衔
|
||||||
cuMemberService.updateBackCuMemberRetailRangeAward(period);
|
iCuMemberService.updateBackCuMemberRetailRangeAward(period);
|
||||||
// 删除会员奖衔升级记录
|
// 删除会员奖衔升级记录
|
||||||
baseMapper.deleteCuMemberAwards(period);
|
baseMapper.deleteCuMemberAwards(period);
|
||||||
|
|
||||||
// 更新手动设置奖衔,一种有效期前的,一种有效期到达的
|
// 更新手动设置奖衔,一种有效期前的,一种有效期到达的
|
||||||
// 有效期前的奖衔小于手动的,修改奖衔,
|
// 有效期前的奖衔小于手动的,修改奖衔,
|
||||||
Date date = DateUtils.parseStringToDate(settleDate);
|
Date date = DateUtils.parseStringToDate(settleDate);
|
||||||
cuMemberTreeService.updateCuMemberRetailRangeAwardByDate(rangeTableName, date);
|
iCuMemberTreeService.updateCuMemberRetailRangeAwardByDate(rangeTableName, date);
|
||||||
cuMemberService.updateCuMemberRetailRangeAwardByDate(date);
|
iCuMemberService.updateCuMemberRetailRangeAwardByDate(date);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -207,13 +186,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
if (cuMemberAwardsList.size() > 0) {
|
if (cuMemberAwardsList.size() > 0) {
|
||||||
// 将变动值插入临时表中
|
// 将变动值插入临时表中
|
||||||
// 更新会员表
|
// 更新会员表
|
||||||
cuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
|
iCuMemberService.updateCuMemberByPeriod(enoughAwardsMemberList, period);
|
||||||
// 更新结算网体表(月表、日表)
|
// 更新结算网体表(月表、日表)
|
||||||
// 根据结算日期获得所有需要更新的周期
|
// 根据结算日期获得所有需要更新的周期
|
||||||
updateMemberAwardPeriod(settleDate);
|
updateMemberAwardPeriod(settleDate);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
} else {
|
} else {
|
||||||
cuMemberService.updateCuMemberByPeriod(null, period);
|
iCuMemberService.updateCuMemberByPeriod(null, period);
|
||||||
updateMemberAwardPeriod(settleDate);
|
updateMemberAwardPeriod(settleDate);
|
||||||
return Boolean.FALSE;
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
|
@ -224,52 +203,26 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
List<Integer> periodList = new ArrayList<>();
|
List<Integer> periodList = new ArrayList<>();
|
||||||
while (DateUtils.compareDateBefore(settleDate, currentDate)) {
|
while (DateUtils.compareDateBefore(settleDate, currentDate)) {
|
||||||
String settleDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, settleDate);
|
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);
|
settleDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleDate);
|
||||||
}
|
}
|
||||||
cuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
|
iCuMemberTreeService.updateCuMemberSettleByPeriod(periodList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
||||||
UpdateWrapper<CuMemberAwards> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberAwards> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue());
|
updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue());
|
||||||
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkApprove);
|
updateWrapper.set(CuMemberAwards::getPkModified, pkApprove);
|
||||||
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, currentDateTime);
|
updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime);
|
||||||
updateWrapper.eq(SaOrderFieldConstants.PK_ORDER, pkOrder);
|
updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder);
|
||||||
update(updateWrapper);
|
update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void calculateCuMemberAwardsEveryMonth(Integer currentMonthFirstPeriod, Integer yesterdayPeriod, Integer period, String settleDate, String beforeMontTableName, Map<String, BdAwards> awardsMap) {
|
|
||||||
// 根据奖衔找到最小的业绩要求
|
|
||||||
BigDecimal minAchieve = BigDecimal.valueOf(999999999);
|
|
||||||
List<BdAwards> 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
|
@Override
|
||||||
public void updateCuMemberAwardsExamine(Date currentDate, Integer period) {
|
public void updateCuMemberAwardsExamine(Date currentDate, Integer period) {
|
||||||
String currentMonthFirstDate = DateUtils.currentMonthFirstDateStr(currentDate);
|
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);
|
String currentTableName = TableNameConstants.CU_MEMBER_ASSESS + DateUtils.getYear(currentMonthFirstDate);
|
||||||
baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod);
|
baseMapper.updateCuMemberAwardsExamine(currentTableName, period, currentPeriod);
|
||||||
}
|
}
|
||||||
|
@ -286,9 +239,6 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
* @param enoughAwardsMemberList 满足业绩
|
* @param enoughAwardsMemberList 满足业绩
|
||||||
* @param originalCuMemberSettleMap 原来的map
|
* @param originalCuMemberSettleMap 原来的map
|
||||||
* @param period 期间
|
* @param period 期间
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/2/23 17:44
|
|
||||||
*/
|
*/
|
||||||
private List<CuMemberAwards> updateAwardsRecord(List<CuMemberSettleExt> enoughAwardsMemberList, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap,
|
private List<CuMemberAwards> updateAwardsRecord(List<CuMemberSettleExt> enoughAwardsMemberList, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap,
|
||||||
Integer period) {
|
Integer period) {
|
||||||
|
@ -350,20 +300,18 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 更新降衔的会员,把升衔记录删除
|
||||||
|
*
|
||||||
* @param period 期间
|
* @param period 期间
|
||||||
* @param changeAwardsList 降低奖衔的人
|
* @param changeAwardsList 降低奖衔的人
|
||||||
* @param cuMemberAwardsList 所有变动记录的数据
|
* @param cuMemberAwardsList 所有变动记录的数据
|
||||||
* @Description: 更新降衔的会员,把升衔记录删除
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 16:23
|
|
||||||
*/
|
*/
|
||||||
private void reduceCuMemberAwards(List<CuMemberAwards> changeAwardsList, Integer period, List<CuMemberAwards> cuMemberAwardsList) {
|
private void reduceCuMemberAwards(List<CuMemberAwards> changeAwardsList, Integer period, List<CuMemberAwards> cuMemberAwardsList) {
|
||||||
// 验证是否有降奖衔的,降奖衔的也要更新
|
// 验证是否有降奖衔的,降奖衔的也要更新
|
||||||
if (changeAwardsList.size() > 0) {
|
if (changeAwardsList.size() > 0) {
|
||||||
// 更新奖衔表,将奖衔升级记录修改为删除状态
|
// 更新奖衔表,将奖衔升级记录修改为删除状态
|
||||||
QueryWrapper<CuMemberAwards> queryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<CuMemberAwards> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(MemberFieldConstants.PERIOD, period);
|
queryWrapper.eq(CuMemberAwards::getPeriod, period);
|
||||||
baseMapper.updateBatchCuMemberAwards(changeAwardsList, period);
|
baseMapper.updateBatchCuMemberAwards(changeAwardsList, period);
|
||||||
// 根据 changeAwardsList 查找到这群人的历史奖衔升级记录
|
// 根据 changeAwardsList 查找到这群人的历史奖衔升级记录
|
||||||
List<CuMemberAwards> hisCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(changeAwardsList);
|
List<CuMemberAwards> hisCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(changeAwardsList);
|
||||||
|
@ -384,19 +332,17 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 查询某一期变动的奖衔
|
||||||
|
*
|
||||||
* @param period 奖金期
|
* @param period 奖金期
|
||||||
* @Description: 查询某一期变动的奖衔
|
|
||||||
* @return: List<CuMemberAwards>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 14:21
|
|
||||||
*/
|
*/
|
||||||
private List<CuMemberAwards> queryCuMemberAwardsByPeriod(Integer period, Integer systemType) {
|
private List<CuMemberAwards> queryCuMemberAwardsByPeriod(Integer period, Integer systemType) {
|
||||||
QueryWrapper<CuMemberAwards> queryWrapper = new QueryWrapper<>();
|
LambdaQueryWrapper<CuMemberAwards> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(MemberFieldConstants.PERIOD, period);
|
queryWrapper.eq(CuMemberAwards::getPeriod, period);
|
||||||
if (systemType != null) {
|
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);
|
return baseMapper.selectList(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,13 +355,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
*/
|
*/
|
||||||
private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) {
|
private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) {
|
||||||
// 左区满足,且满足血缘
|
// 左区满足,且满足血缘
|
||||||
if (cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||||
cuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
||||||
// 验证血缘,左区存在血缘关系的
|
// 验证血缘,左区存在血缘关系的
|
||||||
// 右区满足,且满足血缘
|
// 右区满足,且满足血缘
|
||||||
// 进行验证血缘验证
|
// 进行验证血缘验证
|
||||||
return cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||||
cuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember());
|
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -429,9 +375,9 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
*/
|
*/
|
||||||
private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) {
|
private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) {
|
||||||
// 验证左区
|
// 验证左区
|
||||||
if (cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
||||||
// 在验证右区
|
// 在验证右区
|
||||||
return cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
team_box_num=0,
|
team_box_num=0,
|
||||||
month_box_num=0,
|
month_box_num=0,
|
||||||
team_new_box_num=0,
|
team_new_box_num=0,
|
||||||
pk_share_awards=(select pk_id from BD_AWARDS where awards_value = 0),
|
pk_share_awards = (select pk_id from BD_AWARDS where awards_value = 0),
|
||||||
consume_pv=0,
|
consume_pv=0,
|
||||||
month_consume_pv=0,
|
month_consume_pv=0,
|
||||||
new_consume_pv=0,
|
new_consume_pv=0,
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
team_new_pv=0,
|
team_new_pv=0,
|
||||||
recommend_num=0,
|
recommend_num=0,
|
||||||
team_num=0,
|
team_num=0,
|
||||||
pk_grade= (select pk_id from bd_grade where del_flag = 0 and grade_value = 20),
|
pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 20),
|
||||||
region_address=0,
|
region_address=0,
|
||||||
big_box_num=0,
|
big_box_num=0,
|
||||||
small_box_num=0,
|
small_box_num=0,
|
||||||
|
@ -249,7 +249,7 @@
|
||||||
update set a.big_box_num = b.team_box_num - b.small_box_num,a.small_box_num = b.small_box_num,
|
update set a.big_box_num = b.team_box_num - b.small_box_num,a.small_box_num = b.small_box_num,
|
||||||
a.team_box_num = a.team_box_num + b.team_box_num,a.team_consume_pv = a.team_consume_pv + b.total_team_pv,
|
a.team_box_num = a.team_box_num + b.team_box_num,a.team_consume_pv = a.team_consume_pv + b.total_team_pv,
|
||||||
a.team_month_pv = a.team_month_pv + b.total_team_pv,
|
a.team_month_pv = a.team_month_pv + b.total_team_pv,
|
||||||
a.big_team_pv = b.total_team_pv - b.small_area_pv,a.small_team_pv = b.small_area_pv
|
a.big_team_pv = b.total_team_pv - b.small_area_pv, a.small_team_pv = b.small_area_pv
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="mergeCuMemberRetailBackBoxBySpecial">
|
<update id="mergeCuMemberRetailBackBoxBySpecial">
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
|
|
||||||
<select id="queryMemberSettlePeriod" resultMap="CuMemberSettlePeriodExt">
|
<select id="queryMemberSettlePeriod" resultMap="CuMemberSettlePeriodExt">
|
||||||
<include refid="memberPeriod"></include>
|
<include refid="memberPeriod"></include>
|
||||||
and cd.pk_country=#{pkCountry}
|
and cd.pk_country = #{pkCountry}
|
||||||
and cp.settle_date = #{settleDate, jdbcType=DATE}
|
and cp.settle_date = #{settleDate, jdbcType=DATE}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
@ -237,43 +237,24 @@
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="CuMemberTableTrig">
|
<sql id="CuMemberTableTrig">
|
||||||
CREATE
|
CREATE OR REPLACE TRIGGER
|
||||||
OR REPLACE TRIGGER
|
${tableName}_TRIG
|
||||||
${tableName}
|
BEFORE INSERT OR UPDATE ON ${tableName} FOR EACH ROW
|
||||||
_
|
|
||||||
TRIG
|
|
||||||
BEFORE
|
|
||||||
INSERT
|
|
||||||
OR
|
|
||||||
UPDATE ON ${tableName}
|
|
||||||
FOR EACH ROW
|
|
||||||
DECLARE
|
DECLARE
|
||||||
v_newVal NUMBER(12) := 0;
|
v_newVal NUMBER(12) := 0;
|
||||||
v_incval
|
v_incval NUMBER(12) := 0;
|
||||||
NUMBER(12) := 0;
|
|
||||||
BEGIN
|
BEGIN
|
||||||
IF
|
IF INSERTING AND :new.pk_id IS NULL THEN
|
||||||
INSERTING AND :new.pk_id IS NULL THEN
|
SELECT ${tableNameSeq}.NEXTVAL INTO v_newVal FROM DUAL;
|
||||||
SELECT ${tableNameSeq}.NEXTVAL
|
IF v_newVal = 1 THEN SELECT NVL(max(pk_id), 0) INTO v_newVal FROM ${tableName};
|
||||||
INTO v_newVal
|
v_newVal := v_newVal + 1;
|
||||||
FROM DUAL;
|
|
||||||
IF
|
|
||||||
v_newVal = 1 THEN
|
|
||||||
SELECT NVL(max(pk_id), 0)
|
|
||||||
INTO v_newVal
|
|
||||||
FROM ${tableName};
|
|
||||||
v_newVal
|
|
||||||
:= v_newVal + 1;
|
|
||||||
LOOP
|
LOOP
|
||||||
EXIT
|
EXIT
|
||||||
WHEN v_incval >= v_newVal;
|
WHEN v_incval >= v_newVal;
|
||||||
SELECT ${tableNameSeq}.nextval
|
SELECT ${tableNameSeq}.nextval INTO v_incval FROM dual;
|
||||||
INTO v_incval
|
|
||||||
FROM dual;
|
|
||||||
END LOOP;
|
END LOOP;
|
||||||
END IF;
|
END IF;
|
||||||
:new
|
:new.pk_id := v_newVal;
|
||||||
.pk_id := v_newVal;
|
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
</sql>
|
</sql>
|
||||||
|
@ -309,8 +290,7 @@
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="createCuMemberTreeParentIndex">
|
<update id="createCuMemberTreeParentIndex">
|
||||||
create index
|
create index ${tableName}_parent
|
||||||
${tableName}_parent
|
|
||||||
on
|
on
|
||||||
${tableName}
|
${tableName}
|
||||||
(
|
(
|
||||||
|
@ -319,8 +299,7 @@
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="createCuMemberTreePlaceIndex">
|
<update id="createCuMemberTreePlaceIndex">
|
||||||
create index
|
create index ${tableName}_place
|
||||||
${tableName}_place
|
|
||||||
on
|
on
|
||||||
${tableName}
|
${tableName}
|
||||||
(
|
(
|
||||||
|
@ -330,8 +309,7 @@
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="createCuMemberTableUniqueIndex">
|
<update id="createCuMemberTableUniqueIndex">
|
||||||
create unique index
|
create unique index ${tableName}_PK_M
|
||||||
${tableName}_PK_M
|
|
||||||
on ${tableName}
|
on ${tableName}
|
||||||
(
|
(
|
||||||
PK_MEMBER,
|
PK_MEMBER,
|
||||||
|
@ -340,8 +318,7 @@
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="createCuMemberTreeDayOnlyIndex">
|
<update id="createCuMemberTreeDayOnlyIndex">
|
||||||
create unique index
|
create unique index ${tableName}_PK_M
|
||||||
${tableName}_PK_M
|
|
||||||
on ${tableName}
|
on ${tableName}
|
||||||
(
|
(
|
||||||
PK_MEMBER
|
PK_MEMBER
|
||||||
|
@ -416,6 +393,7 @@
|
||||||
using (select pk_member, max(old_level) old_level
|
using (select pk_member, max(old_level) old_level
|
||||||
from cu_member_awards
|
from cu_member_awards
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
|
and del_flag = 0
|
||||||
group by pk_member) b
|
group by pk_member) b
|
||||||
on (a.pk_member = b.pk_member)
|
on (a.pk_member = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
|
@ -433,6 +411,7 @@
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
and up_type = 1
|
and up_type = 1
|
||||||
and system_type = 1
|
and system_type = 1
|
||||||
|
and del_flag = 0
|
||||||
group by pk_member) ca
|
group by pk_member) ca
|
||||||
inner join bd_range_awards ba
|
inner join bd_range_awards ba
|
||||||
on ca.old_level = ba.pk_id
|
on ca.old_level = ba.pk_id
|
||||||
|
@ -447,11 +426,14 @@
|
||||||
<update id="updateBackCuMemberRetailRangeAward">
|
<update id="updateBackCuMemberRetailRangeAward">
|
||||||
merge into ${rangeTableName} a
|
merge into ${rangeTableName} a
|
||||||
using (
|
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
|
inner join ${rangeTableName} cm
|
||||||
on ca.pk_member = cm.pk_member
|
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.award_type = #{awardType}
|
||||||
|
and ca.del_flag = 0
|
||||||
<if test="awardType == 1">
|
<if test="awardType == 1">
|
||||||
and cm.pk_awards <= ca.new_level
|
and cm.pk_awards <= ca.new_level
|
||||||
</if>
|
</if>
|
||||||
|
@ -476,9 +458,13 @@
|
||||||
using (
|
using (
|
||||||
select y.pk_member,y.pk_awards from ${rangeTableName} x
|
select y.pk_member,y.pk_awards from ${rangeTableName} x
|
||||||
inner join (
|
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(
|
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 end_validity_date <= #{settleDate, jdbcType=DATE}
|
||||||
and award_type = #{awardType}
|
and award_type = #{awardType}
|
||||||
group by pk_member) b
|
group by pk_member) b
|
||||||
|
@ -506,15 +492,13 @@
|
||||||
<!-- 初始化期间奖衔 -->
|
<!-- 初始化期间奖衔 -->
|
||||||
<update id="updateCuMemberRetailRangeInitAward">
|
<update id="updateCuMemberRetailRangeInitAward">
|
||||||
update ${rangeTableName}
|
update ${rangeTableName}
|
||||||
set pk_awards = (select pk_id from bd_awards where awards_value = 0),
|
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)
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 初始化期间V5奖衔 -->
|
<!-- 初始化期间V5奖衔 -->
|
||||||
<update id="updateCuMemberRetailRangeInitV5Award">
|
<update id="updateCuMemberRetailRangeInitV5Award">
|
||||||
update ${rangeTableName}
|
update ${rangeTableName}
|
||||||
set pk_awards = (select pk_id from bd_awards where awards_value = 5),
|
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)
|
|
||||||
where pk_grade = (
|
where pk_grade = (
|
||||||
select pk_id
|
select pk_id
|
||||||
from bd_grade
|
from bd_grade
|
||||||
|
@ -664,12 +648,14 @@
|
||||||
connect by pk_place_parent = prior pk_member) a
|
connect by pk_place_parent = prior pk_member) a
|
||||||
inner join (select cw.pk_member, cw.new_level pk_awards
|
inner join (select cw.pk_member, cw.new_level pk_awards
|
||||||
from cu_member_awards cw
|
from cu_member_awards cw
|
||||||
inner join(select pk_member, max(pk_id) pk_id
|
inner join (select pk_member, max(pk_id) pk_id
|
||||||
from cu_member_awards
|
from cu_member_awards
|
||||||
where del_flag = 0
|
where del_flag = 0
|
||||||
and UP_TYPE in (1, 3)
|
and UP_TYPE in (1, 3)
|
||||||
group by pk_member) ca
|
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) a
|
on a.pk_member = b.pk_member) a
|
||||||
inner join bd_awards ba
|
inner join bd_awards ba
|
||||||
on a.pk_awards = ba.pk_id
|
on a.pk_awards = ba.pk_id
|
||||||
|
@ -697,7 +683,9 @@
|
||||||
where del_flag = 0
|
where del_flag = 0
|
||||||
and UP_TYPE in (1, 3)
|
and UP_TYPE in (1, 3)
|
||||||
group by pk_member) ca
|
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
|
on a.pk_member = b.pk_member
|
||||||
) x
|
) x
|
||||||
inner join bd_awards ba
|
inner join bd_awards ba
|
||||||
|
|
|
@ -206,7 +206,7 @@
|
||||||
a.pk_awards = b.pk_awards,
|
a.pk_awards = b.pk_awards,
|
||||||
</if>
|
</if>
|
||||||
<if test="awardType == 2">
|
<if test="awardType == 2">
|
||||||
a.pk_range_awards=b.pk_awards,
|
a.pk_range_awards = b.pk_awards,
|
||||||
</if>
|
</if>
|
||||||
a.modified_time = sysdate
|
a.modified_time = sysdate
|
||||||
</update>
|
</update>
|
||||||
|
@ -263,6 +263,7 @@
|
||||||
using (select pk_member, max(old_level) old_level
|
using (select pk_member, max(old_level) old_level
|
||||||
from cu_member_awards
|
from cu_member_awards
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
|
and del_flag = 0
|
||||||
group by pk_member) b
|
group by pk_member) b
|
||||||
on (a.pk_id = b.pk_member)
|
on (a.pk_id = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
|
@ -279,6 +280,7 @@
|
||||||
from cu_member_awards
|
from cu_member_awards
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
and up_type = 1
|
and up_type = 1
|
||||||
|
and del_flag = 0
|
||||||
group by pk_member) ca
|
group by pk_member) ca
|
||||||
inner join bd_range_awards ba
|
inner join bd_range_awards ba
|
||||||
on ca.old_level = ba.pk_id
|
on ca.old_level = ba.pk_id
|
||||||
|
@ -292,11 +294,14 @@
|
||||||
|
|
||||||
<update id="updateBackCuMemberRetailRangeAward">
|
<update id="updateBackCuMemberRetailRangeAward">
|
||||||
merge into cu_member a
|
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
|
inner join cu_member cm
|
||||||
on ca.pk_member = cm.pk_id
|
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 award_type = #{awardType}
|
||||||
|
and ca.del_flag = 0
|
||||||
<if test="awardType == 1">
|
<if test="awardType == 1">
|
||||||
and cm.pk_awards < ca.new_level
|
and cm.pk_awards < ca.new_level
|
||||||
</if>
|
</if>
|
||||||
|
@ -321,14 +326,19 @@
|
||||||
using (
|
using (
|
||||||
select y.pk_member,y.pk_awards from cu_member x
|
select y.pk_member,y.pk_awards from cu_member x
|
||||||
inner join (
|
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
|
||||||
inner join(
|
from cu_member_awards a
|
||||||
select pk_member,max(pk_id) pk_id from cu_member_awards where del_flag=0 and up_type=2
|
where a.del_flag = 0
|
||||||
and end_validity_date <=#{settleDate, jdbcType=DATE}
|
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}
|
and award_type = #{awardType}
|
||||||
group by pk_member) b
|
group by pk_member) b
|
||||||
on a.pk_id=b.pk_id ) y
|
on a.pk_id = b.pk_id) y
|
||||||
on x.pk_id=y.pk_member
|
on x.pk_id = y.pk_member
|
||||||
where
|
where
|
||||||
<if test="awardType == 1">
|
<if test="awardType == 1">
|
||||||
x.pk_awards < y.pk_awards
|
x.pk_awards < y.pk_awards
|
||||||
|
@ -344,7 +354,7 @@
|
||||||
a.pk_awards = b.pk_awards,
|
a.pk_awards = b.pk_awards,
|
||||||
</if>
|
</if>
|
||||||
<if test="awardType == 2">
|
<if test="awardType == 2">
|
||||||
a.pk_range_awards=b.pk_awards,
|
a.pk_range_awards = b.pk_awards,
|
||||||
</if>
|
</if>
|
||||||
a.modified_time = sysdate
|
a.modified_time = sysdate
|
||||||
</update>
|
</update>
|
||||||
|
@ -352,15 +362,13 @@
|
||||||
<!-- 初始化会员奖衔 -->
|
<!-- 初始化会员奖衔 -->
|
||||||
<update id="updateCuMemberRetailRangeInitAward">
|
<update id="updateCuMemberRetailRangeInitAward">
|
||||||
update cu_member
|
update cu_member
|
||||||
set pk_awards = (select pk_id from bd_awards where awards_value = 0),
|
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)
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 初始化会员V5奖衔 -->
|
<!-- 初始化会员V5奖衔 -->
|
||||||
<update id="updateCuMemberRetailRangeInitV5Award">
|
<update id="updateCuMemberRetailRangeInitV5Award">
|
||||||
update cu_member
|
update cu_member
|
||||||
set pk_awards=(select pk_id from bd_awards where awards_value = 5),
|
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)
|
|
||||||
where pk_settle_grade = (
|
where pk_settle_grade = (
|
||||||
select pk_id
|
select pk_id
|
||||||
from bd_grade
|
from bd_grade
|
||||||
|
|
|
@ -58,16 +58,15 @@
|
||||||
<result column="REPUR_REAL_SUBTOTAL" property="repurRealSubtotal"/>
|
<result column="REPUR_REAL_SUBTOTAL" property="repurRealSubtotal"/>
|
||||||
<result column="CLOUD_REAL_SUBTOTAL" property="cloudRealSubtotal"/>
|
<result column="CLOUD_REAL_SUBTOTAL" property="cloudRealSubtotal"/>
|
||||||
<result column="MAKER_REAL_SUBTOTAL" property="makerRealSubtotal"/>
|
<result column="MAKER_REAL_SUBTOTAL" property="makerRealSubtotal"/>
|
||||||
|
|
||||||
<result column="PK_VERTEX" property="pkVertex"/>
|
<result column="PK_VERTEX" property="pkVertex"/>
|
||||||
<result column="SERVICE_CODE" property="serviceCode"/>
|
<result column="SERVICE_CODE" property="serviceCode"/>
|
||||||
<result column="NICK_NAME" property="nickName"/>
|
<result column="NICK_NAME" property="nickName"/>
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<update id="updateCuMemberBonusStatus">
|
<update id="updateCuMemberBonusStatus">
|
||||||
update cu_member_bonus set grant_status = #{grantStatus}, pk_modified=100000000, modified_time=sysdate
|
update cu_member_bonus
|
||||||
where del_flag= 0
|
set grant_status = #{grantStatus}, pk_modified = 100000000, modified_time = sysdate
|
||||||
|
where del_flag = 0
|
||||||
and grant_status = #{oldGrantStatus}
|
and grant_status = #{oldGrantStatus}
|
||||||
and period between #{startPeriod} and #{endPeriod}
|
and period between #{startPeriod} and #{endPeriod}
|
||||||
<if test="pkCountry != null">
|
<if test="pkCountry != null">
|
||||||
|
|
|
@ -39,74 +39,6 @@
|
||||||
SELECT 1 FROM dual
|
SELECT 1 FROM dual
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="calculateCuMemberAwardsEveryMonth">
|
|
||||||
merge into cu_member_settle_awards a
|
|
||||||
using (
|
|
||||||
select #{period} period, b.*
|
|
||||||
from (
|
|
||||||
select pk_member,
|
|
||||||
pk_country,
|
|
||||||
a_balance,
|
|
||||||
b_balance,
|
|
||||||
a_new_pv,
|
|
||||||
b_new_pv,
|
|
||||||
(case
|
|
||||||
when a_balance = 0 and b_balance = 0 then a_new_pv + b_new_pv
|
|
||||||
when a_balance = 0 then a_new_pv
|
|
||||||
else b_new_pv end) new_pv
|
|
||||||
from (
|
|
||||||
select ct.pk_member,
|
|
||||||
ct.pk_country,
|
|
||||||
nvl(ctb.a_balance, 0) a_balance,
|
|
||||||
nvl(ctb.b_balance, 0) b_balance,
|
|
||||||
ct.a_sum_pv a_new_pv,
|
|
||||||
ct.b_sum_pv b_new_pv
|
|
||||||
from (
|
|
||||||
select pk_member,
|
|
||||||
pk_country,
|
|
||||||
sum(A_NEW_PV + REP_A_NEW_PV) A_SUM_PV,
|
|
||||||
sum(b_NEW_PV + REP_B_NEW_PV) b_SUM_PV,
|
|
||||||
sum(register_new_pv) REGISTER_PV,
|
|
||||||
sum(upgrade_new_pv) UPGRADE_PV,
|
|
||||||
sum(repurchase_new_pv) REPURCHASE_PV,
|
|
||||||
sum(hi_fun_new_pv) HI_FUN_PV,
|
|
||||||
sum(mall_new_pv) MALL_PV
|
|
||||||
from cu_member_achieve${month}
|
|
||||||
where period <= #{period}
|
|
||||||
and pk_country = 1
|
|
||||||
group by pk_member, pk_country
|
|
||||||
) ct
|
|
||||||
left join ${beforeMontTableName} ctb
|
|
||||||
on ct.pk_member = ctb.pk_member
|
|
||||||
)) b
|
|
||||||
where new_pv >= #{minAchieve}) b
|
|
||||||
on (a.pk_member = b.pk_member and a.period = b.period)
|
|
||||||
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)
|
|
||||||
</update>
|
|
||||||
<update id="calculateCuMemberAwards">
|
|
||||||
merge into cu_member_settle_awards a
|
|
||||||
using(
|
|
||||||
select pk_member,period,max(pk_awards) pk_awards from(
|
|
||||||
<foreach collection="bdAwardsList" item="item" open=" " close=" " separator=" union ">
|
|
||||||
select pk_member,period,#{item.pkId} pk_awards from cu_member_settle_awards
|
|
||||||
where period = #{period} and pk_country=#{item.pkCountry} and new_pv>=#{item.communityCheck}
|
|
||||||
<if test="item.communityCheckEnd != null and item.communityCheckEnd > 0">
|
|
||||||
and new_pv <#{item.communityCheckEnd}
|
|
||||||
</if>
|
|
||||||
</foreach>
|
|
||||||
)
|
|
||||||
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>
|
|
||||||
|
|
||||||
<update id="updateBatchCuMemberAwards">
|
<update id="updateBatchCuMemberAwards">
|
||||||
update cu_member_awards set del_flag = 1, modified_time = sysdate, PK_MODIFIED = 1
|
update cu_member_awards set del_flag = 1, modified_time = sysdate, PK_MODIFIED = 1
|
||||||
where period= #{period} and pk_member in
|
where period= #{period} and pk_member in
|
||||||
|
@ -114,6 +46,7 @@
|
||||||
#{item.pkMember}
|
#{item.pkMember}
|
||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateCuMemberAwardsExamine">
|
<update id="updateCuMemberAwardsExamine">
|
||||||
merge into cu_member_settle_awards a
|
merge into cu_member_settle_awards a
|
||||||
using (
|
using (
|
||||||
|
@ -128,27 +61,6 @@
|
||||||
update set a.assess_target = b.assess_target,a.assess_status = b.assess_status
|
update set a.assess_target = b.assess_target,a.assess_status = b.assess_status
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="calculateCuMemberRangeAwardsEveryMonth">
|
|
||||||
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)
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="mergeCuMemberBackAwards">
|
<update id="mergeCuMemberBackAwards">
|
||||||
merge into ${rangeTableName} a
|
merge into ${rangeTableName} a
|
||||||
using (
|
using (
|
||||||
|
@ -169,8 +81,11 @@
|
||||||
from cu_member start
|
from cu_member start
|
||||||
with pk_id = #{pkMember}
|
with pk_id = #{pkMember}
|
||||||
connect by prior pk_parent = pk_id)
|
connect by prior pk_parent = pk_id)
|
||||||
group by ca.pk_member) cx
|
group by ca.pk_member
|
||||||
on cw.pk_id = cx.pk_id ) b
|
) cx
|
||||||
|
on cw.pk_id = cx.pk_id
|
||||||
|
where cw.del_flag = 0
|
||||||
|
) b
|
||||||
on (a.pk_member = b.pk_member)
|
on (a.pk_member = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set a.pk_awards = b.old_level
|
update set a.pk_awards = b.old_level
|
||||||
|
@ -178,48 +93,45 @@
|
||||||
|
|
||||||
<!-- 删除自动升级的奖衔升级记录 -->
|
<!-- 删除自动升级的奖衔升级记录 -->
|
||||||
<delete id="deleteCuMemberAwards">
|
<delete id="deleteCuMemberAwards">
|
||||||
delete
|
update cu_member_awards cma
|
||||||
from cu_member_awards
|
set cma.del_flag = 1,
|
||||||
|
cma.modified_time = sysdate
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
and up_type = 1
|
and up_type = 1
|
||||||
|
|
||||||
|
<!--
|
||||||
|
delete from cu_member_awards
|
||||||
|
where period = #{period}
|
||||||
|
and up_type = 1
|
||||||
|
-->
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="deleteRepeatCuMemberAwards">
|
<!-- 删除升级的奖衔 -->
|
||||||
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>
|
|
||||||
<delete id="deleteCuMemberAwardsByList">
|
<delete id="deleteCuMemberAwardsByList">
|
||||||
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
|
and pk_id in
|
||||||
<foreach collection="cuMemberAwards" item="item" open="(" close=")" separator=",">
|
<foreach collection="cuMemberAwards" item="item" open="(" close=")" separator=",">
|
||||||
#{item.pkId}
|
#{item.pkId}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
delete from cu_member_awards where period = #{period} and del_flag = 0 and up_type = 1
|
||||||
|
and pk_id in
|
||||||
|
<foreach collection="cuMemberAwards" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item.pkId}
|
||||||
|
</foreach>
|
||||||
|
-->
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="queryLastCuMemberAwards" resultMap="CuMemberAwards">
|
<select id="queryLastCuMemberAwards" resultMap="CuMemberAwards">
|
||||||
select ca.pk_member,ba.awards_value new_level from cu_member_awards ca
|
select ca.pk_member,ba.awards_value new_level from cu_member_awards ca
|
||||||
inner join (
|
inner join (
|
||||||
select pk_member,max(pk_id) pk_id from cu_member_awards
|
select pk_member,max(pk_id) pk_id
|
||||||
where del_flag=0 and pk_member in
|
from cu_member_awards
|
||||||
|
where del_flag = 0 and pk_member in
|
||||||
<foreach collection="cuMemberAwardsList" item="item" open="(" close=")" separator=",">
|
<foreach collection="cuMemberAwardsList" item="item" open="(" close=")" separator=",">
|
||||||
#{item.pkMember}
|
#{item.pkMember}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
@ -228,14 +140,19 @@
|
||||||
on ca.pk_id=cm.pk_id
|
on ca.pk_id=cm.pk_id
|
||||||
inner join bd_awards ba
|
inner join bd_awards ba
|
||||||
on ca.new_level = ba.pk_id
|
on ca.new_level = ba.pk_id
|
||||||
where ca.del_flag=0 and ba.del_flag=0
|
where ca.del_flag = 0
|
||||||
|
and ba.del_flag = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryCuMemberAwards" resultType="com.hzs.common.domain.member.detail.CuMemberAwards">
|
<select id="queryCuMemberAwards" resultType="com.hzs.common.domain.member.detail.CuMemberAwards">
|
||||||
select ca.* from cu_member_awards ca
|
select ca.* from cu_member_awards ca
|
||||||
inner join bd_awards bw
|
inner join bd_awards bw
|
||||||
on ca.new_level=bw.pk_id
|
on ca.new_level = bw.pk_id
|
||||||
where ca.del_flag=0 and bw.del_flag=0 and bw.awards_value>=5
|
where ca.del_flag = 0
|
||||||
and ca.up_type=1 and ca.period=#{period} and ca.pk_member in
|
and bw.del_flag = 0
|
||||||
|
and bw.awards_value >= 5
|
||||||
|
and ca.up_type = 1 and ca.period = #{period}
|
||||||
|
and ca.pk_member in
|
||||||
<foreach collection="cuMemberRetailRangeExtList" item="item" open="(" close=")" separator=",">
|
<foreach collection="cuMemberRetailRangeExtList" item="item" open="(" close=")" separator=",">
|
||||||
#{item.pkMember}
|
#{item.pkMember}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|
|
@ -5,9 +5,6 @@ import com.hzs.common.domain.member.address.CuMemberReceiving;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员收货信息 Mapper 接口
|
* 会员收货信息 Mapper 接口
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-22
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberReceivingMapper extends BaseMapper<CuMemberReceiving> {
|
public interface CuMemberReceivingMapper extends BaseMapper<CuMemberReceiving> {
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,6 @@ import com.hzs.member.base.param.MemberAddressParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员收货信息 服务类
|
* 会员收货信息 服务类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-22
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberReceivingService extends IService<CuMemberReceiving> {
|
public interface ICuMemberReceivingService extends IService<CuMemberReceiving> {
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,6 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员收货信息 服务实现类
|
* 会员收货信息 服务实现类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-22
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberReceivingServiceImpl extends ServiceImpl<CuMemberReceivingMapper, CuMemberReceiving> implements ICuMemberReceivingService {
|
public class CuMemberReceivingServiceImpl extends ServiceImpl<CuMemberReceivingMapper, CuMemberReceiving> implements ICuMemberReceivingService {
|
||||||
|
|
|
@ -29,11 +29,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员地址控制器
|
* 会员地址控制器
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/18 9:52
|
|
||||||
* @Classname: ApiMemberAddressController
|
|
||||||
* @PackageName: com.hzs.member.base.controller.api
|
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RequestMapping("/api/member-address")
|
@RequestMapping("/api/member-address")
|
||||||
|
|
|
@ -7,11 +7,7 @@ import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员地址入参
|
* 会员地址入参
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/18 10:19
|
|
||||||
* @Classname: MemberAddressParam
|
|
||||||
* @PackageName: com.hzs.member.base.param
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class MemberAddressParam {
|
public class MemberAddressParam {
|
||||||
|
|
|
@ -3,11 +3,7 @@ package com.hzs.member.base.vo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员地址返回VO
|
* 会员地址返回VO
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/18 10:01
|
|
||||||
* @Classname: MemberAddresssVO
|
|
||||||
* @PackageName: com.hzs.member.base.vo
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class MemberAddressVO {
|
public class MemberAddressVO {
|
||||||
|
|
|
@ -9,9 +9,6 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-奖衔升级记录 Mapper 接口
|
* 会员信息-奖衔升级记录 Mapper 接口
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-31
|
|
||||||
*/
|
*/
|
||||||
public interface CuMemberAwardsMapper extends BaseMapper<CuMemberAwards> {
|
public interface CuMemberAwardsMapper extends BaseMapper<CuMemberAwards> {
|
||||||
|
|
||||||
|
@ -20,9 +17,6 @@ public interface CuMemberAwardsMapper extends BaseMapper<CuMemberAwards> {
|
||||||
*
|
*
|
||||||
* @param cuMemberAwardsList 更新的人
|
* @param cuMemberAwardsList 更新的人
|
||||||
* @param period 期间
|
* @param period 期间
|
||||||
* @return: Integer
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 16:04
|
|
||||||
*/
|
*/
|
||||||
Integer updateBatchCuMemberAwards(@Param("cuMemberAwardsList") List<CuMemberAwards> cuMemberAwardsList, @Param("period") Integer period);
|
Integer updateBatchCuMemberAwards(@Param("cuMemberAwardsList") List<CuMemberAwards> cuMemberAwardsList, @Param("period") Integer period);
|
||||||
|
|
||||||
|
@ -30,29 +24,13 @@ public interface CuMemberAwardsMapper extends BaseMapper<CuMemberAwards> {
|
||||||
* 查询会员最后一条奖衔升级记录
|
* 查询会员最后一条奖衔升级记录
|
||||||
*
|
*
|
||||||
* @param cuMemberAwardsList 奖衔升级记录
|
* @param cuMemberAwardsList 奖衔升级记录
|
||||||
* @return: List<CuMemberAwards>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 15:28
|
|
||||||
*/
|
*/
|
||||||
List<CuMemberAwards> queryLastCuMemberAwards(@Param("cuMemberAwardsList") List<?> cuMemberAwardsList);
|
List<CuMemberAwards> queryLastCuMemberAwards(@Param("cuMemberAwardsList") List<?> cuMemberAwardsList);
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除自动升级的奖衔升级记录
|
|
||||||
*
|
|
||||||
* @param period 期间
|
|
||||||
* @return: Integer
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/2/23 11:15
|
|
||||||
*/
|
|
||||||
Integer deleteCuMemberAwards(@Param("period") Integer period);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量插入奖衔记录
|
* 批量插入奖衔记录
|
||||||
*
|
*
|
||||||
* @param cuMemberAwardsList 需要插入的奖衔列表
|
* @param cuMemberAwardsList 需要插入的奖衔列表
|
||||||
* @return: Integer
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 16:55
|
|
||||||
*/
|
*/
|
||||||
Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List<CuMemberAwards> cuMemberAwardsList);
|
Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List<CuMemberAwards> cuMemberAwardsList);
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,6 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-奖衔升级记录 服务类
|
* 会员信息-奖衔升级记录 服务类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-31
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
|
|
||||||
|
@ -20,9 +17,6 @@ public interface ICuMemberAwardsService extends IService<CuMemberAwards> {
|
||||||
* @param pkOrder 订单
|
* @param pkOrder 订单
|
||||||
* @param pkApprove 审核人
|
* @param pkApprove 审核人
|
||||||
* @param currentDateTime 当前时间
|
* @param currentDateTime 当前时间
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/3/30 9:21
|
|
||||||
*/
|
*/
|
||||||
void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime);
|
void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime);
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,17 @@
|
||||||
package com.hzs.member.detail.service.impl;
|
package com.hzs.member.detail.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.core.constant.MemberFieldConstants;
|
import com.hzs.common.core.constant.MemberFieldConstants;
|
||||||
import com.hzs.common.core.constant.SaOrderFieldConstants;
|
|
||||||
import com.hzs.common.core.constant.SystemFieldConstants;
|
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
import com.hzs.common.core.utils.ComputeUtil;
|
import com.hzs.common.core.utils.ComputeUtil;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
||||||
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
|
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
import com.hzs.common.domain.system.config.BdAwards;
|
||||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
|
||||||
import com.hzs.member.achieve.service.ICuMemberTreeService;
|
import com.hzs.member.achieve.service.ICuMemberTreeService;
|
||||||
import com.hzs.member.base.service.ICuMemberService;
|
|
||||||
import com.hzs.member.detail.mapper.CuMemberAwardsMapper;
|
import com.hzs.member.detail.mapper.CuMemberAwardsMapper;
|
||||||
import com.hzs.member.detail.service.ICuMemberAwardsService;
|
import com.hzs.member.detail.service.ICuMemberAwardsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -25,46 +21,29 @@ import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员信息-奖衔升级记录 服务实现类
|
* 会员信息-奖衔升级记录 服务实现类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-31
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper, CuMemberAwards> implements ICuMemberAwardsService {
|
public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper, CuMemberAwards> implements ICuMemberAwardsService {
|
||||||
|
|
||||||
private ICuMemberTreeService cuMemberTreeService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
|
private ICuMemberTreeService iCuMemberTreeService;
|
||||||
this.cuMemberTreeService = cuMemberTreeService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
public void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
||||||
UpdateWrapper<CuMemberAwards> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberAwards> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue());
|
updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue());
|
||||||
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkApprove);
|
updateWrapper.set(CuMemberAwards::getPkModified, pkApprove);
|
||||||
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, currentDateTime);
|
updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime);
|
||||||
updateWrapper.eq(SaOrderFieldConstants.PK_ORDER, pkOrder);
|
updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder);
|
||||||
update(updateWrapper);
|
update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private BdAwards getBdAwards(Map<String, BdAwards> countryAwardsMap, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap, CuMemberSettleExt cuMemberSettleExt) {
|
|
||||||
originalCuMemberSettleMap.put(cuMemberSettleExt.getPkMember(), cuMemberSettleExt);
|
|
||||||
String key = cuMemberSettleExt.getPkSettleCountry().toString() + cuMemberSettleExt.getPkAwards().toString();
|
|
||||||
return countryAwardsMap.get(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新奖衔记录
|
* 更新奖衔记录
|
||||||
*
|
*
|
||||||
* @param enoughAwardsMemberList 满足业绩
|
* @param enoughAwardsMemberList 满足业绩
|
||||||
* @param originalCuMemberSettleMap 原来的map
|
* @param originalCuMemberSettleMap 原来的map
|
||||||
* @param period 期间
|
* @param period 期间
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2023/2/23 17:44
|
|
||||||
*/
|
*/
|
||||||
private List<CuMemberAwards> updateAwardsRecord(List<CuMemberSettleExt> enoughAwardsMemberList, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap,
|
private List<CuMemberAwards> updateAwardsRecord(List<CuMemberSettleExt> enoughAwardsMemberList, Map<Long, CuMemberSettleExt> originalCuMemberSettleMap,
|
||||||
Integer period) {
|
Integer period) {
|
||||||
|
@ -126,13 +105,11 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 更新降衔的会员,把升衔记录删除
|
||||||
|
*
|
||||||
* @param period 期间
|
* @param period 期间
|
||||||
* @param changeAwardsList 降低奖衔的人
|
* @param changeAwardsList 降低奖衔的人
|
||||||
* @param cuMemberAwardsList 所有变动记录的数据
|
* @param cuMemberAwardsList 所有变动记录的数据
|
||||||
* @Description: 更新降衔的会员,把升衔记录删除
|
|
||||||
* @return: void
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 16:23
|
|
||||||
*/
|
*/
|
||||||
private void reduceCuMemberAwards(List<CuMemberAwards> changeAwardsList, Integer period, List<CuMemberAwards> cuMemberAwardsList) {
|
private void reduceCuMemberAwards(List<CuMemberAwards> changeAwardsList, Integer period, List<CuMemberAwards> cuMemberAwardsList) {
|
||||||
// 验证是否有降奖衔的,降奖衔的也要更新
|
// 验证是否有降奖衔的,降奖衔的也要更新
|
||||||
|
@ -160,11 +137,9 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 查询某一期变动的奖衔
|
||||||
|
*
|
||||||
* @param period 奖金期
|
* @param period 奖金期
|
||||||
* @Description: 查询某一期变动的奖衔
|
|
||||||
* @return: List<CuMemberAwards>
|
|
||||||
* @Author: sui q
|
|
||||||
* @Date: 2022/11/5 14:21
|
|
||||||
*/
|
*/
|
||||||
private List<CuMemberAwards> queryCuMemberAwardsByPeriod(Integer period) {
|
private List<CuMemberAwards> queryCuMemberAwardsByPeriod(Integer period) {
|
||||||
QueryWrapper<CuMemberAwards> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<CuMemberAwards> queryWrapper = new QueryWrapper<>();
|
||||||
|
@ -182,13 +157,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
*/
|
*/
|
||||||
private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) {
|
private Boolean validateBloodRelation(String settleTableName, CuMemberSettleExt cuMemberSettleExt, BdAwards bdAwards) {
|
||||||
// 左区满足,且满足血缘
|
// 左区满足,且满足血缘
|
||||||
if (cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||||
cuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), cuMemberSettleExt.getPkMember())) {
|
||||||
// 验证血缘,左区存在血缘关系的
|
// 验证血缘,左区存在血缘关系的
|
||||||
// 右区满足,且满足血缘
|
// 右区满足,且满足血缘
|
||||||
// 进行验证血缘验证
|
// 进行验证血缘验证
|
||||||
return cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember()) &&
|
||||||
cuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember());
|
iCuMemberTreeService.queryCuMemberSettleBloodUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), cuMemberSettleExt.getPkMember());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -202,9 +177,9 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
*/
|
*/
|
||||||
private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) {
|
private Boolean validateCuMemberPlaceRelation(String settleTableName, BdAwards bdAwards, Long pkMember) {
|
||||||
// 验证左区
|
// 验证左区
|
||||||
if (cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
if (iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsLeft(), EPlaceDept.LEFT_DEPT.getValue(), pkMember)) {
|
||||||
// 在验证右区
|
// 在验证右区
|
||||||
return cuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
return iCuMemberTreeService.queryCuMemberSettlePlaceUnderUmbrella(settleTableName, bdAwards.getPkCheckAwardsRight(), EPlaceDept.RIGHT_DEPT.getValue(), pkMember);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,12 +40,6 @@
|
||||||
#{item.pkMember}
|
#{item.pkMember}
|
||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
<delete id="deleteCuMemberAwards">
|
|
||||||
delete
|
|
||||||
from cu_member_awards
|
|
||||||
where period = #{period}
|
|
||||||
and up_type = 1
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
<select id="queryLastCuMemberAwards" resultMap="CuMemberAwards">
|
<select id="queryLastCuMemberAwards" resultMap="CuMemberAwards">
|
||||||
select ca.pk_member,ba.awards_value new_level from cu_member_awards ca
|
select ca.pk_member,ba.awards_value new_level from cu_member_awards ca
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.hzs.common.core.constant.CacheConstants;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.EGrade;
|
import com.hzs.common.core.enums.EGrade;
|
||||||
import com.hzs.common.core.enums.ESpecialArea;
|
import com.hzs.common.core.enums.ESpecialArea;
|
||||||
|
import com.hzs.common.core.enums.EYesNo;
|
||||||
import com.hzs.common.core.exception.ServiceException;
|
import com.hzs.common.core.exception.ServiceException;
|
||||||
import com.hzs.common.core.service.RedisService;
|
import com.hzs.common.core.service.RedisService;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
import com.hzs.common.core.utils.StringUtils;
|
||||||
|
@ -94,7 +95,7 @@ public class ApiRetailOrderController {
|
||||||
try {
|
try {
|
||||||
// 购物车中获取商品信息,获取等级
|
// 购物车中获取商品信息,获取等级
|
||||||
BdGrade bdGrade = iSaOrderService.calculateGrade(levelParam.getSpecialArea(), convertShoppingCarToSku(SecurityUtils.getUserId(), levelParam.getShopList()),
|
BdGrade bdGrade = iSaOrderService.calculateGrade(levelParam.getSpecialArea(), convertShoppingCarToSku(SecurityUtils.getUserId(), levelParam.getShopList()),
|
||||||
null, levelParam.getUpgradeMember(), SecurityUtils.getSystemType());
|
null, levelParam.getUpgradeMember(), SecurityUtils.getSystemType(), EYesNo.NO.getIntValue());
|
||||||
if (null != bdGrade) {
|
if (null != bdGrade) {
|
||||||
orderLevelVO.setIsEnough(true);
|
orderLevelVO.setIsEnough(true);
|
||||||
orderLevelVO.setPkGradeVal(bdGrade.getGradeName());
|
orderLevelVO.setPkGradeVal(bdGrade.getGradeName());
|
||||||
|
@ -276,6 +277,9 @@ public class ApiRetailOrderController {
|
||||||
// return AjaxResult.error(relationStr);
|
// return AjaxResult.error(relationStr);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
// 支付入参
|
||||||
|
registerParam.setIsPay(EYesNo.YES.getIntValue());
|
||||||
|
|
||||||
// 封装会员信息
|
// 封装会员信息
|
||||||
CuMember newMember = iRetailOrderService.packageCuMember(registerParam);
|
CuMember newMember = iRetailOrderService.packageCuMember(registerParam);
|
||||||
// 封装订单信息
|
// 封装订单信息
|
||||||
|
@ -383,6 +387,9 @@ public class ApiRetailOrderController {
|
||||||
return AjaxResult.error(otherCheckStr);
|
return AjaxResult.error(otherCheckStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 支付入参
|
||||||
|
upgradeParam.setIsPay(EYesNo.YES.getIntValue());
|
||||||
|
|
||||||
// 封装订单信息
|
// 封装订单信息
|
||||||
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember);
|
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember);
|
||||||
|
|
||||||
|
|
|
@ -208,7 +208,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()
|
if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()
|
||||||
|| ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) {
|
|| ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) {
|
||||||
// 注册、升级订单,计算会员等级
|
// 注册、升级订单,计算会员等级
|
||||||
BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList, cuMember, orderParam.getSystemType());
|
BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList,
|
||||||
|
cuMember, orderParam.getSystemType(), orderParam.getIsPay());
|
||||||
if (null == newGrade) {
|
if (null == newGrade) {
|
||||||
throw new ServiceException("会员不满足升级条件");
|
throw new ServiceException("会员不满足升级条件");
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,4 +161,9 @@ public class RetailOrderParam implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Integer systemType;
|
private Integer systemType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否支付操作(0=是,1=否)
|
||||||
|
*/
|
||||||
|
private Integer isPay;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,11 +9,7 @@ import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 新零售订单支付入参
|
* 新零售订单支付入参
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/12/12 16:45
|
|
||||||
* @Classname: RetailPayOrderParam
|
|
||||||
* @PackageName: com.hzs.retail.sale.param
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class RetailOrderPayParam implements Serializable {
|
public class RetailOrderPayParam implements Serializable {
|
||||||
|
@ -42,4 +38,10 @@ public class RetailOrderPayParam implements Serializable {
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
private Integer pkCountry = CountryConstants.CHINA_COUNTRY;
|
private Integer pkCountry = CountryConstants.CHINA_COUNTRY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否支付操作(0=是,1=否)
|
||||||
|
*/
|
||||||
|
private Integer isPay;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -689,7 +689,9 @@ public interface ISaOrderService extends IService<SaOrder> {
|
||||||
* @param systemType 系统类型
|
* @param systemType 系统类型
|
||||||
* @return 返回 null 则为不满足升级条件
|
* @return 返回 null 则为不满足升级条件
|
||||||
*/
|
*/
|
||||||
BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams, List<BdGrade> gradeList, CuMember updateGradeMember, Integer systemType);
|
BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams,
|
||||||
|
List<BdGrade> gradeList, CuMember updateGradeMember,
|
||||||
|
Integer systemType, Integer isPay);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据盒数计算等级
|
* 根据盒数计算等级
|
||||||
|
|
|
@ -2607,7 +2607,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams,
|
public BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams,
|
||||||
List<BdGrade> gradeList, CuMember updateGradeMember, Integer systemType) {
|
List<BdGrade> gradeList, CuMember updateGradeMember,
|
||||||
|
Integer systemType, Integer isPay) {
|
||||||
if (CollectionUtil.isEmpty(gradeList)) {
|
if (CollectionUtil.isEmpty(gradeList)) {
|
||||||
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||||
}
|
}
|
||||||
|
@ -2654,6 +2655,25 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO 2025.06.14 添加新需求,V1-V3,购买多给两级
|
||||||
|
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
|
||||||
|
// 支付时才进行处理
|
||||||
|
if (null != bdGrade) {
|
||||||
|
if (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue()) {
|
||||||
|
// V1 给 V3
|
||||||
|
bdGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||||
|
} else if (EGrade.YOU_KE.getValue() == bdGrade.getGradeValue()) {
|
||||||
|
// V2 给 V4
|
||||||
|
bdGrade = gradeList.stream().filter(tmpData -> EGrade.VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||||
|
} else if (EGrade.MAKER.getValue() == bdGrade.getGradeValue()) {
|
||||||
|
// V3 给 V5
|
||||||
|
bdGrade = gradeList.stream().filter(tmpData -> EGrade.S_VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return bdGrade;
|
return bdGrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 会员收货信息
|
* 会员收货信息
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-22
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
|
|
@ -13,9 +13,6 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员
|
* 会员
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2022-08-04
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
|
Loading…
Reference in New Issue