forked from angelo/java-retail-app
## 复购、重消订单下单处理;
This commit is contained in:
parent
e635528d63
commit
8ddb794ada
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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可以直接购买复购专区
|
||||
// 判断购买会员是否是V0,V0不允许下升级以外订单
|
||||
if (ESpecialArea.RETAIL_UPGRADE.getValue() != specialArea
|
||||
&& ESpecialArea.RETAIL_REPURCHASE.getValue() != specialArea) {
|
||||
// 判断购买会员是否是V0,V0不允许下升级、复购以外订单
|
||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(buyMember.getPkSettleGrade()).getData();
|
||||
if (gradeDTO.getGradeValue() == EGrade.START_UP.getValue()) {
|
||||
return "当前购买会员编号不允许下单";
|
||||
|
|
|
@ -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("当前已经是可以购买的最高等级");
|
||||
}
|
||||
|
||||
// 计算等级
|
||||
|
|
Loading…
Reference in New Issue