3
0
Fork 0

Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
sangelxiu1 2025-06-16 10:00:16 +08:00
commit 344f10a3e1
34 changed files with 276 additions and 523 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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号初始化结算表奖衔月度奖衔归0V5给S1奖衔 // 每月1号初始化结算表奖衔月度奖衔归0V5给S1奖衔
cuMemberTreeService.updateCuMemberRetailRangeInitAward(rangeTableName); iCuMemberTreeService.updateCuMemberRetailRangeInitAward(rangeTableName);
// 每月1号初始化会员表奖衔月度奖衔归0V5给S1奖衔 // 每月1号初始化会员表奖衔月度奖衔归0V5给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;
} }

View File

@ -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 &lt;= ca.new_level and cm.pk_awards &lt;= 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 &lt;= #{settleDate, jdbcType=DATE} and end_validity_date &lt;= #{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
@ -669,7 +653,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) 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

View File

@ -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 &lt; ca.new_level and cm.pk_awards &lt; ca.new_level
</if> </if>
@ -321,9 +326,14 @@
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
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 &lt;= #{settleDate, jdbcType=DATE} and end_validity_date &lt;= #{settleDate, jdbcType=DATE}
and award_type = #{awardType} and award_type = #{awardType}
group by pk_member) b group by pk_member) b
@ -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

View File

@ -58,15 +58,14 @@
<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
set grant_status = #{grantStatus}, pk_modified = 100000000, modified_time = sysdate
where del_flag = 0 where del_flag = 0
and grant_status = #{oldGrantStatus} and grant_status = #{oldGrantStatus}
and period between #{startPeriod} and #{endPeriod} and period between #{startPeriod} and #{endPeriod}

View File

@ -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 &lt;= #{period}
and pk_country = 1
group by pk_member, pk_country
) ct
left join ${beforeMontTableName} ctb
on ct.pk_member = ctb.pk_member
)) b
where new_pv >= #{minAchieve}) b
on (a.pk_member = b.pk_member and a.period = b.period)
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 &lt;#{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,47 +93,44 @@
<!-- 删除自动升级的奖衔升级记录 --> <!-- 删除自动升级的奖衔升级记录 -->
<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 &lt;= b.awards_value)
</delete>
<delete id="deleteCuMemberAwardsByList"> <delete id="deleteCuMemberAwardsByList">
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
<foreach collection="cuMemberAwards" item="item" open="(" close=")" separator=",">
#{item.pkId}
</foreach>
<!--
delete from cu_member_awards where period = #{period} and del_flag = 0 and up_type = 1 delete from cu_member_awards 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> </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
from cu_member_awards
where del_flag = 0 and pk_member in 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}
@ -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>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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("会员不满足升级条件");
} }

View File

@ -161,4 +161,9 @@ public class RetailOrderParam implements Serializable {
*/ */
private Integer systemType; private Integer systemType;
/**
* 是否支付操作0=1=
*/
private Integer isPay;
} }

View File

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

View File

@ -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);
/** /**
* 根据盒数计算等级 * 根据盒数计算等级

View File

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

View File

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

View File

@ -13,9 +13,6 @@ import java.util.Date;
/** /**
* 会员 * 会员
*
* @author hzs
* @since 2022-08-04
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)