## 雨汐团队不需要多送2级;

This commit is contained in:
cabbage 2025-08-01 16:38:36 +08:00
parent af35bbb984
commit 75a1b222c9
4 changed files with 27 additions and 14 deletions

View File

@ -79,7 +79,10 @@ public class ApiRetailOrderController {
.isEnough(false)
.build();
if (ESpecialArea.RETAIL_UPGRADE.getValue() == levelParam.getSpecialArea()) {
if (ESpecialArea.REGISTER_AREA.getValue() == levelParam.getSpecialArea()) {
// 注册订单
levelParam.setUpgradeMember(iMemberServiceApi.getMember(SecurityUtils.getUserId()).getData());
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == levelParam.getSpecialArea()) {
// 升级校验
if (StringUtils.isEmpty(levelParam.getUpgradeMemberCode())) {
return AjaxResult.error("升级编号不能为空");

View File

@ -719,7 +719,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
}
// 封装会员信息
CuMember newMember = this.packageCuMember(registerParam);
BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, registerParam.getPkGrade());
BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, registerParam.getPkGrade(), newMember.getPkVertex());
newMember.setPkSettleGrade(tmpGrade.getPkId());
newMember.setPkAwards(tmpGrade.getPkAwards());
@ -735,7 +735,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
}
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// 升级订单
BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, saOrderExt.getPkGrade());
BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, saOrderExt.getPkGrade(), cuMember.getPkVertex());
cuMember.setPkSettleGrade(tmpGrade.getPkId());
resultStr = this.payUpgOrder(saOrderExt, cuMember, null);
} else {

View File

@ -648,6 +648,6 @@ public interface ISaOrderService extends IService<SaOrder> {
* @param pkGrade
* @return
*/
BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade);
BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade, Long pkVertex);
}

View File

@ -2504,7 +2504,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 注册专区直接算等级
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
// 特殊等级处理
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId());
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId(), updateGradeMember.getPkVertex());
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理
bdGrade = tmpGrade;
@ -2518,14 +2518,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 当前会员等级
BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get();
// if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) {
// // 会员等级大于等于V3卓越不能通过升级进行购买了
// throw new ServiceException("当前已经是可以购买的最高等级");
// }
if (RetailConstants.VERTEX_PK_ID.equals(updateGradeMember.getPkVertex())) {
if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) {
// 会员等级大于等于V3卓越不能通过升级进行购买了
throw new ServiceException("当前已经是可以购买的最高等级");
}
} else {
// 2025.08.01 非雨汐团队会多升2级
if (memberGrade.getGradeValue().compareTo(EGrade.S_VIP.getValue()) >= 0) {
// new 2025.06.25 V1-V3升级多送两级后续还需要继续购买升级此处调整逻辑会员等级大于等于V5合伙人不能通过升级进行购买了
throw new ServiceException("当前已经是可以购买的最高等级");
}
}
// 获取升级盒数基数
BigDecimal baseBoxNum = this.handleBaseBoxNum(updateGradeMember, memberGrade, gradeList, boxWaresList, systemType);
@ -2539,8 +2543,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return null;
}
// 2025.08.01 非雨汐团队会多升2级
// 特殊等级处理
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId());
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId(), updateGradeMember.getPkVertex());
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理
bdGrade = tmpGrade;
@ -3388,7 +3393,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
* @return
*/
@Override
public BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade) {
public BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade, Long pkVertex) {
if (CollectionUtil.isEmpty(gradeList)) {
gradeList = iGradeServiceApi.getRetailGradeList().getData();
}
@ -3397,6 +3402,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 临时处理等级
BdGrade tmpGrade = gradeList.stream().filter(tmpData -> tmpData.getPkId().equals(pkGrade)).findFirst().get();
if (RetailConstants.VERTEX_PK_ID.equals(pkVertex)) {
// 2025.08.01 雨汐团队不参加多送两级活动
return tmpGrade;
}
if (EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) {
// V1 V3
tmpGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();