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

This commit is contained in:
sangelxiu1 2025-08-01 16:57:07 +08:00
commit 6a9ccba57c
4 changed files with 27 additions and 14 deletions

View File

@ -79,7 +79,10 @@ public class ApiRetailOrderController {
.isEnough(false) .isEnough(false)
.build(); .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())) { if (StringUtils.isEmpty(levelParam.getUpgradeMemberCode())) {
return AjaxResult.error("升级编号不能为空"); return AjaxResult.error("升级编号不能为空");

View File

@ -719,7 +719,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
} }
// 封装会员信息 // 封装会员信息
CuMember newMember = this.packageCuMember(registerParam); 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.setPkSettleGrade(tmpGrade.getPkId());
newMember.setPkAwards(tmpGrade.getPkAwards()); newMember.setPkAwards(tmpGrade.getPkAwards());
@ -735,7 +735,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
} }
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { 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()); cuMember.setPkSettleGrade(tmpGrade.getPkId());
resultStr = this.payUpgOrder(saOrderExt, cuMember, null); resultStr = this.payUpgOrder(saOrderExt, cuMember, null);
} else { } else {

View File

@ -648,6 +648,6 @@ public interface ISaOrderService extends IService<SaOrder> {
* @param pkGrade * @param pkGrade
* @return * @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 = 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) { if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理 // 支付时才进行处理
bdGrade = tmpGrade; bdGrade = tmpGrade;
@ -2518,13 +2518,17 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 当前会员等级 // 当前会员等级
BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get(); BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get();
// if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) { if (RetailConstants.VERTEX_PK_ID.equals(updateGradeMember.getPkVertex())) {
// // 会员等级大于等于V3卓越不能通过升级进行购买了 if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) {
// throw new ServiceException("当前已经是可以购买的最高等级"); // 会员等级大于等于V3卓越不能通过升级进行购买了
// } throw new ServiceException("当前已经是可以购买的最高等级");
if (memberGrade.getGradeValue().compareTo(EGrade.S_VIP.getValue()) >= 0) { }
// new 2025.06.25 V1-V3升级多送两级后续还需要继续购买升级此处调整逻辑会员等级大于等于V5合伙人不能通过升级进行购买了 } else {
throw new ServiceException("当前已经是可以购买的最高等级"); // 2025.08.01 非雨汐团队会多升2级
if (memberGrade.getGradeValue().compareTo(EGrade.S_VIP.getValue()) >= 0) {
// new 2025.06.25 V1-V3升级多送两级后续还需要继续购买升级此处调整逻辑会员等级大于等于V5合伙人不能通过升级进行购买了
throw new ServiceException("当前已经是可以购买的最高等级");
}
} }
// 获取升级盒数基数 // 获取升级盒数基数
@ -2539,8 +2543,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return null; 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) { if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理 // 支付时才进行处理
bdGrade = tmpGrade; bdGrade = tmpGrade;
@ -3388,7 +3393,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
* @return * @return
*/ */
@Override @Override
public BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade) { public BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade, Long pkVertex) {
if (CollectionUtil.isEmpty(gradeList)) { if (CollectionUtil.isEmpty(gradeList)) {
gradeList = iGradeServiceApi.getRetailGradeList().getData(); 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(); 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()) { if (EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) {
// V1 V3 // V1 V3
tmpGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get(); tmpGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();