3
0
Fork 0

## 复购、重消订单下单处理;

This commit is contained in:
cabbage 2025-06-09 15:48:48 +08:00
parent e635528d63
commit 8ddb794ada
3 changed files with 23 additions and 14 deletions

View File

@ -1525,16 +1525,17 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
boolean updateFlag = false;
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
if (null != saOrder.getPkGrade()) {
updateWrapper.set(CuMember::getPkSettleGrade, saOrder.getPkGrade());
updateFlag = true;
cuMember.setPkSettleGrade(saOrder.getPkGrade());
}
// if (null != saOrder.getPkGrade()) {
// updateWrapper.set(CuMember::getPkSettleGrade, saOrder.getPkGrade());
// updateFlag = true;
//
// cuMember.setPkSettleGrade(saOrder.getPkGrade());
// }
if (activateFlag) {
updateWrapper.set(null != cuMember.getIsActivate(), CuMember::getIsActivate, cuMember.getIsActivate());
updateWrapper.set(null != cuMember.getPayStatus(), CuMember::getPayStatus, cuMember.getPayStatus());
updateWrapper.set(null != cuMember.getPayTime(), CuMember::getPayTime, cuMember.getPayTime());
updateFlag = true;
}
if (updateFlag) {
// 更新会员信息
@ -1543,10 +1544,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
cuMemberService.update(updateWrapper);
}
if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
// 保存会员等级变动如果旧等级和新等级相同则不记录
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
}
// if (!cuMember.getPkSettleGrade().equals(saOrder.getPkGradeOld())) {
// // 保存会员等级变动如果旧等级和新等级相同则不记录
// saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, saOrder.getPkGradeOld());
// }
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
}

View File

@ -342,6 +342,10 @@ public class ApiRetailOrderController {
if (null == updateGradeMember) {
throw new ServiceException("升级编号不存在,请重试");
}
String otherCheckStr = this.otherOrderCheck(updateGradeMember, upgradeParam.getSpecialArea());
if (null != otherCheckStr) {
return AjaxResult.error(otherCheckStr);
}
upgradeParam.setUpgradeMember(updateGradeMember);
// 购物车中获取商品信息
@ -375,6 +379,10 @@ public class ApiRetailOrderController {
if (null == updateGradeMember) {
throw new ServiceException("升级编号不存在,请重试");
}
String otherCheckStr = this.otherOrderCheck(updateGradeMember, payParam.getSpecialArea());
if (null != otherCheckStr) {
return AjaxResult.error(otherCheckStr);
}
// 封装订单信息
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember);
@ -710,9 +718,9 @@ public class ApiRetailOrderController {
if (null == buyMember) {
return "购买会员编号不存在,请重试";
}
if (ESpecialArea.RETAIL_REPURCHASE.getValue() != specialArea) {
// 2025.02.24 新需求升级专区取消V0可以直接购买复购专区
// 判断购买会员是否是V0V0不允许下升级以外订单
if (ESpecialArea.RETAIL_UPGRADE.getValue() != specialArea
&& ESpecialArea.RETAIL_REPURCHASE.getValue() != specialArea) {
// 判断购买会员是否是V0V0不允许下升级复购以外订单
GradeDTO gradeDTO = iGradeServiceApi.getGrade(buyMember.getPkSettleGrade()).getData();
if (gradeDTO.getGradeValue() == EGrade.START_UP.getValue()) {
return "当前购买会员编号不允许下单";

View File

@ -2673,7 +2673,7 @@ 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("当前已是最高等级");
throw new ServiceException("当前已可以购买的最高等级");
}
// 计算等级