## 加购升级处理;
This commit is contained in:
parent
56c26c9d80
commit
a296582304
|
@ -5,6 +5,7 @@ import com.hzs.activity.add.param.AcAddUpgradeListParam;
|
|||
import com.hzs.activity.add.param.AcAddUpgradeRuleConfigParam;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeConfig;
|
||||
import com.hzs.activity.add.vo.AcAddUpgradeListVO;
|
||||
import com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt;
|
||||
import com.hzs.common.domain.system.config.BdGrade;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
@ -28,4 +29,19 @@ public interface AcAddUpgradeConfigMapper extends BaseMapper<AcAddUpgradeConfig>
|
|||
List<AcAddUpgradeListVO> queryList(AcAddUpgradeListParam param);
|
||||
|
||||
BdGrade selectGradeValue(@Param("pkId") Integer pkId);
|
||||
|
||||
/**
|
||||
* 查询符合条件的规则
|
||||
*/
|
||||
AcAddUpgradeConfigExt getUpgradeConfig(@Param("orderType") Integer orderType,
|
||||
@Param("waresCodeList") List<String> waresCodeList,
|
||||
@Param("pkGrade") Integer pkGrade);
|
||||
|
||||
/**
|
||||
* 查询符合条件的规则
|
||||
*/
|
||||
AcAddUpgradeConfigExt getUpgradeConfigByPkWares(@Param("orderType") Integer orderType,
|
||||
@Param("pkWaresList") List<Integer> pkWaresList,
|
||||
@Param("pkGrade") Integer pkGrade);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,8 +2,14 @@ package com.hzs.activity.add.service;
|
|||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.activity.add.param.AcAddUpgradeParam;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeConfig;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeConfig;
|
||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||
import com.hzs.sale.order.param.OrderParam;
|
||||
import com.hzs.sale.order.param.OrderReturn;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -18,4 +24,9 @@ public interface IAcAddUpgradeConfigService extends IService<AcAddUpgradeConfig>
|
|||
String onLinePetition(AcAddUpgradeParam acAddUpgradeParam);
|
||||
|
||||
AjaxResult getDetail(Integer pkId);
|
||||
|
||||
void handleAddUpgrade(OrderParam orderParam, OrderReturn orderReturn);
|
||||
|
||||
GradeDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.activity.add.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.activity.add.mapper.AcAddUpgradeConfigMapper;
|
||||
|
@ -15,10 +16,16 @@ import com.hzs.common.core.enums.EActType;
|
|||
import com.hzs.common.core.enums.EApprovalBusiness;
|
||||
import com.hzs.common.core.enums.EControlType;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt;
|
||||
import com.hzs.common.domain.activity.base.AcBaseConfig;
|
||||
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
|
||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||
import com.hzs.common.domain.system.config.BdGrade;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.sale.order.param.OrderItemsParam;
|
||||
import com.hzs.sale.order.param.OrderParam;
|
||||
import com.hzs.sale.order.param.OrderReturn;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -26,6 +33,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -75,7 +83,7 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
|
|||
// 新增活动基本配置
|
||||
AcBaseConfig acBaseConfig = iActivityService.saveBaseConfig(activityParam);
|
||||
// 新增加购活动配置
|
||||
saveAddUpgradeConfig(acAddUpgradeParam.getAcAddUpgradeConfigParam(),acBaseConfig);
|
||||
saveAddUpgradeConfig(acAddUpgradeParam.getAcAddUpgradeConfigParam(), acBaseConfig);
|
||||
} else if (acAddUpgradeParam.getControlType().equals(EControlType.MODIFY.getValue())) {
|
||||
ActivityParam activityParam = acAddUpgradeParam.getActivityParam();
|
||||
activityParam.setPkCountry(loginUser.getDataCountry());
|
||||
|
@ -140,11 +148,11 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
|
|||
baseMapper.delete(new LambdaQueryWrapper<AcAddUpgradeConfig>()
|
||||
.eq(AcAddUpgradeConfig::getPkBaseId, pkId));
|
||||
// 添加加购活动配置
|
||||
saveAddUpgradeConfig(acAddUpgradeConfigParam,baseConfig);
|
||||
saveAddUpgradeConfig(acAddUpgradeConfigParam, baseConfig);
|
||||
}
|
||||
}
|
||||
|
||||
private void saveAddUpgradeConfig(List<AcAddUpgradeConfigParam> acAddUpgradeConfigParam,AcBaseConfig acBaseConfig) {
|
||||
private void saveAddUpgradeConfig(List<AcAddUpgradeConfigParam> acAddUpgradeConfigParam, AcBaseConfig acBaseConfig) {
|
||||
acAddUpgradeConfigParam.forEach(item -> {
|
||||
List<AcAddUpgradeRuleConfigParam> acAddUpgradeRuleConfigParams = item.getAcAddUpgradeRuleConfigParams();
|
||||
if (acAddUpgradeRuleConfigParams != null) {
|
||||
|
@ -178,4 +186,37 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
|
|||
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleAddUpgrade(OrderParam orderParam, OrderReturn orderReturn) {
|
||||
List<OrderItemsParam> orderItemsParams = orderParam.getOrderItemsParams();
|
||||
if (CollectionUtil.isEmpty(orderItemsParams)) {
|
||||
return;
|
||||
}
|
||||
List<String> waresCodeList = orderItemsParams.stream().map(OrderItemsParam::getWaresCode).collect(Collectors.toList());
|
||||
|
||||
AcAddUpgradeConfigExt configExt = baseMapper.getUpgradeConfig(orderParam.getSpecialArea(), waresCodeList, orderReturn.getPkGradeTmp());
|
||||
if (null != configExt) {
|
||||
orderReturn.setPkGradeVal(configExt.getGradeName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public GradeDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade) {
|
||||
if (CollectionUtil.isEmpty(orderItemsList)) {
|
||||
return null;
|
||||
}
|
||||
List<Integer> pkWaresList = orderItemsList.stream().map(SaOrderItems::getPkWares).collect(Collectors.toList());
|
||||
AcAddUpgradeConfigExt configExt = baseMapper.getUpgradeConfigByPkWares(specialArea, pkWaresList, pkGrade);
|
||||
if (null != configExt) {
|
||||
return GradeDTO.builder()
|
||||
.pkId(configExt.getUpgradeLevel())
|
||||
.gradeName(configExt.getGradeName())
|
||||
.pkAwards(configExt.getPkAwards())
|
||||
.registerAuthority(configExt.getRegisterAuthority())
|
||||
.build();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.hzs.sale.order.controller.api;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.hzs.activity.add.service.IAcAddUpgradeConfigService;
|
||||
import com.hzs.activity.pick.IAcPickServiceApi;
|
||||
import com.hzs.common.core.annotation.RepeatSubmit;
|
||||
import com.hzs.common.core.config.BdConfig;
|
||||
|
@ -32,6 +33,7 @@ import com.hzs.system.config.IGradeServiceApi;
|
|||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
@ -47,6 +49,9 @@ import java.util.concurrent.TimeUnit;
|
|||
@Slf4j
|
||||
public class ApiRegSaOrderController extends ParentOrderController {
|
||||
|
||||
@Autowired
|
||||
private IAcAddUpgradeConfigService iAcAddUpgradeConfigService;
|
||||
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
@DubboReference
|
||||
|
@ -251,7 +256,8 @@ public class ApiRegSaOrderController extends ParentOrderController {
|
|||
CuMember parentCuMember = getOrderService().getCuMemberByKey(cuMember.getPkParent());
|
||||
CuMember placeCuMember = getOrderService().getCuMemberByKey(cuMember.getPkPlaceParent());
|
||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
orderReturn.setPkGrade(gradeDTO.getPkTransaction());
|
||||
orderReturn.setPkGrade(gradeDTO.getPkId());
|
||||
orderReturn.setPkGradeVal(gradeDTO.getGradeName());
|
||||
orderReturn.setPhone(cuMember.getPhone());
|
||||
orderReturn.setParent(CommonUtil.getMemberCode(parentCuMember.getMemberCode(), parentCuMember.getServiceCode()));
|
||||
orderReturn.setPlaceParent(CommonUtil.getMemberCode(placeCuMember.getMemberCode(), placeCuMember.getServiceCode()));
|
||||
|
@ -266,9 +272,10 @@ public class ApiRegSaOrderController extends ParentOrderController {
|
|||
orderReturn.setSource(cuMember.getSource());
|
||||
} else if (EOrderType.UPGRADE_ORDER.getValue() == saOrder.getOrderType() ||
|
||||
EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrder.getOrderType()) {
|
||||
getOrderService().setLastCuMemberGrade(cuMember, saOrder);
|
||||
getOrderService().setLastCuMemberGrade(cuMember, saOrder, null);
|
||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
orderReturn.setPkGrade(gradeDTO.getPkTransaction());
|
||||
orderReturn.setPkGrade(gradeDTO.getPkId());
|
||||
orderReturn.setPkGradeVal(gradeDTO.getGradeName());
|
||||
}
|
||||
}
|
||||
} else if (EOrderType.PICK_ORDER.getValue() == orderParam.getSpecialArea()) {
|
||||
|
@ -282,7 +289,8 @@ public class ApiRegSaOrderController extends ParentOrderController {
|
|||
orderParam = redisService.getCacheObject(CacheConstants.TEMP_PARAM + SecurityUtils.getUserId() + orderParam.getOrderCode());
|
||||
if (orderParam.getPkGrade() != null) {
|
||||
GradeDTO gradeDTO = iGradeServiceApi.getGrade(orderParam.getPkGrade()).getData();
|
||||
orderReturn.setPkGrade(gradeDTO.getPkTransaction());
|
||||
orderReturn.setPkGrade(gradeDTO.getPkId());
|
||||
orderReturn.setPkGradeVal(gradeDTO.getGradeName());
|
||||
}
|
||||
orderReturn.setMemberCode(orderParam.getMemberCode());
|
||||
orderReturn.setMemberName(orderParam.getMemberName());
|
||||
|
@ -474,6 +482,8 @@ public class ApiRegSaOrderController extends ParentOrderController {
|
|||
// 返回计算等级
|
||||
OrderReturn orderReturn = getOrderService().computeLevel(orderParam);
|
||||
if (orderReturn.getIsEnough()) {
|
||||
// TODO 2025.10.20,如果满足升级条件,判断是否有加购升级活动
|
||||
iAcAddUpgradeConfigService.handleAddUpgrade(orderParam, orderReturn);
|
||||
return AjaxResult.success(orderReturn);
|
||||
} else {
|
||||
if (EOrderType.UPGRADE_ORDER.getValue() == orderParam.getSpecialArea() ||
|
||||
|
|
|
@ -117,7 +117,6 @@ public class OrderReturn implements Serializable {
|
|||
/**
|
||||
* 等级
|
||||
*/
|
||||
@Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
|
||||
private Integer pkGrade;
|
||||
|
||||
/**
|
||||
|
@ -125,6 +124,11 @@ public class OrderReturn implements Serializable {
|
|||
*/
|
||||
private String pkGradeVal;
|
||||
|
||||
/**
|
||||
* 临时等级值
|
||||
*/
|
||||
private Integer pkGradeTmp;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
|
|
|
@ -172,7 +172,7 @@ public interface ISaOrderService extends IService<SaOrder> {
|
|||
/*
|
||||
* 这是会员等级
|
||||
**/
|
||||
Boolean setLastCuMemberGrade(CuMember cuMember, SaOrder saOrderExt);
|
||||
Boolean setLastCuMemberGrade(CuMember cuMember, SaOrder saOrderExt, List<SaOrderItems> orderItemsList);
|
||||
|
||||
/**
|
||||
* 点击支付按钮,输入密码,确认下单(注册订单)
|
||||
|
|
|
@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.activity.add.service.IAcAddUpgradeConfigService;
|
||||
import com.hzs.activity.pick.service.IAcPickService;
|
||||
import com.hzs.common.core.config.BdConfig;
|
||||
import com.hzs.common.core.constant.*;
|
||||
|
@ -163,6 +164,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
private IBdWaresMemberLimitService iBdWaresMemberLimitService;
|
||||
@Autowired
|
||||
private ISaOrderSyncService iSaOrderSyncService;
|
||||
@Autowired
|
||||
private IAcAddUpgradeConfigService iAcAddUpgradeConfigService;
|
||||
|
||||
@Autowired
|
||||
private UserTokenService userTokenService;
|
||||
|
@ -474,7 +477,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
|
||||
SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember);
|
||||
// 设置会员等级
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt, saOrderExt.getOrderItemsList())) {
|
||||
return false;
|
||||
}
|
||||
// cabbage 这个位置的订单只用于注册订单确认,支付单独有别的地方处理
|
||||
|
@ -511,7 +514,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
@Override
|
||||
public SaOrderExt packageSaOrder(OrderParam orderParam, CuMember cuMember) {
|
||||
SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember);
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt, null)) {
|
||||
return null;
|
||||
}
|
||||
// cabbage 这个位置的订单只用于注册订单支付,支付这个处理和确认不是一个地方
|
||||
|
@ -549,7 +552,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
|
||||
@Override
|
||||
public Boolean setLastCuMemberGrade(CuMember cuMember, SaOrder saOrderExt) {
|
||||
public Boolean setLastCuMemberGrade(CuMember cuMember, SaOrder saOrderExt, List<SaOrderItems> orderItemsList) {
|
||||
OrderReturn orderReturn = OrderReturn.builder().isEnough(false).build();
|
||||
GradeDTO gradeDTO = calculateGradeDTO(saOrderExt.getOrderType(), cuMember.getPkSettleCountry(), cuMember.getPkId(), saOrderExt, orderReturn);
|
||||
|
||||
|
@ -606,27 +609,49 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
}
|
||||
|
||||
// 判断奖衔,原会员有奖衔的话判断哪个大,使用大的
|
||||
if (pkAwards != null && gradeDTO.getGradeValue() != null) {
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards newAwards = iAwardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData();
|
||||
if (bdAwards.getAwardsValue() < newAwards.getAwardsValue()) {
|
||||
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||
// TODO 2025.10.20 处理加购升级活动
|
||||
GradeDTO acGradeDTO = iAcAddUpgradeConfigService.handleAddUpgrade(saOrderExt.getOrderType(), orderItemsList, gradeDTO.getPkId());
|
||||
if (null != acGradeDTO) {
|
||||
// 达到活动升级,需要处理
|
||||
cuMember.setPkSettleGrade(acGradeDTO.getPkId());
|
||||
cuMember.setPkSettleGradeValue(acGradeDTO.getGradeValue());
|
||||
|
||||
if (pkAwards != null && acGradeDTO.getGradeValue() != null) {
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards newAwards = iAwardsServiceApi.getAwardsOne(acGradeDTO.getPkAwards()).getData();
|
||||
if (bdAwards.getAwardsValue() < newAwards.getAwardsValue()) {
|
||||
cuMember.setPkAwards(acGradeDTO.getPkAwards());
|
||||
}
|
||||
} else {
|
||||
cuMember.setPkAwards(acGradeDTO.getPkAwards());
|
||||
}
|
||||
if (cuMember.getRegisterAuthority() == null || cuMember.getRegisterAuthority() < acGradeDTO.getRegisterAuthority()) {
|
||||
cuMember.setRegisterAuthority(acGradeDTO.getRegisterAuthority());
|
||||
}
|
||||
} else {
|
||||
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||
}
|
||||
// 等级对应的结算值
|
||||
cuMember.setConsumeMoney(saOrderExt.getOrderAmount());
|
||||
if (EGrade.HAI_FAN.getValue() == gradeDTO.getGradeValue()) {
|
||||
// 顾客注册会员显示订单业绩
|
||||
cuMember.setConsumeAchieve(saOrderExt.getOrderAchieve());
|
||||
} else {
|
||||
cuMember.setConsumeAchieve(gradeDTO.getStartValue());
|
||||
}
|
||||
if (cuMember.getRegisterAuthority() == null || cuMember.getRegisterAuthority() < gradeDTO.getRegisterAuthority()) {
|
||||
cuMember.setRegisterAuthority(gradeDTO.getRegisterAuthority());
|
||||
// 判断奖衔,原会员有奖衔的话判断哪个大,使用大的
|
||||
if (pkAwards != null && gradeDTO.getGradeValue() != null) {
|
||||
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
|
||||
BdAwards newAwards = iAwardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData();
|
||||
if (bdAwards.getAwardsValue() < newAwards.getAwardsValue()) {
|
||||
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||
}
|
||||
} else {
|
||||
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||
}
|
||||
if (cuMember.getRegisterAuthority() == null || cuMember.getRegisterAuthority() < gradeDTO.getRegisterAuthority()) {
|
||||
cuMember.setRegisterAuthority(gradeDTO.getRegisterAuthority());
|
||||
}
|
||||
if (EGrade.HAI_FAN.getValue() == gradeDTO.getGradeValue()) {
|
||||
// 顾客注册会员显示订单业绩
|
||||
cuMember.setConsumeAchieve(saOrderExt.getOrderAchieve());
|
||||
} else {
|
||||
cuMember.setConsumeAchieve(gradeDTO.getStartValue());
|
||||
}
|
||||
}
|
||||
cuMember.setConsumeMoney(saOrderExt.getOrderAmount());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -742,7 +767,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
} else {
|
||||
newCuMember.setConsumeMoney(BigDecimal.ZERO);
|
||||
newCuMember.setConsumeAchieve(BigDecimal.ZERO);
|
||||
if (setLastCuMemberGrade(newCuMember, saOrderExt)) {
|
||||
if (setLastCuMemberGrade(newCuMember, saOrderExt, saOrderExt.getOrderItemsList())) {
|
||||
return false;
|
||||
}
|
||||
if (isHaiFun) {
|
||||
|
@ -942,7 +967,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember());
|
||||
GradeDTO oldGradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
// 封装等级,重新计算会员等级
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt, saOrderExt.getOrderItemsList())) {
|
||||
return false;
|
||||
}
|
||||
// 验证等级,原等级<新等级,才可以进行升级 或者 累计升级
|
||||
|
@ -1028,7 +1053,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 升级订单验证等级
|
||||
if (EOrderType.UPGRADE_ORDER.getValue() == orderParam.getSpecialArea() ||
|
||||
EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == orderParam.getSpecialArea()) {
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
|
||||
if (setLastCuMemberGrade(cuMember, saOrderExt, saOrderExt.getOrderItemsList())) {
|
||||
return false;
|
||||
}
|
||||
} else if (EOrderType.MALL_ORDER.getValue() == orderParam.getSpecialArea()) {
|
||||
|
@ -1193,6 +1218,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
orderReturn.setIsEnough(Boolean.TRUE);
|
||||
CuMember member = getCuMemberByKey(orderParam.getCenterCodeId());
|
||||
GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
|
||||
orderReturn.setPkGradeTmp(grade.getPkId());
|
||||
orderReturn.setPkGradeVal(grade.getGradeName());
|
||||
return orderReturn;
|
||||
}
|
||||
|
@ -1222,6 +1248,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
}
|
||||
|
||||
orderReturn.setPkGradeTmp(gradeDTO.getPkId());
|
||||
orderReturn.setPkGradeVal(gradeDTO.getGradeName());
|
||||
return orderReturn;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
LEFT JOIN BD_GRADE bgg ON aauc.UPGRADE_LEVEL = bgg.PK_ID
|
||||
WHERE aauc.PK_BASE_ID = #{pkId}
|
||||
AND aauc.DEL_FLAG = 0
|
||||
AND aauc.ORDER_TYPE = #{orderType}
|
||||
AND aauc.ORDER_TYPE = #{orderType}
|
||||
</select>
|
||||
<select id="selectOrderTypeByBaseId" resultType="java.lang.Integer">
|
||||
SELECT DISTINCT ORDER_TYPE
|
||||
|
@ -90,7 +90,61 @@
|
|||
</if>
|
||||
</select>
|
||||
<select id="selectGradeValue" resultType="com.hzs.common.domain.system.config.BdGrade">
|
||||
SELECT * FROM BD_GRADE WHERE PK_ID = #{pkId}
|
||||
SELECT *
|
||||
FROM BD_GRADE
|
||||
WHERE PK_ID = #{pkId}
|
||||
</select>
|
||||
|
||||
<!-- 查询符合条件的规则 -->
|
||||
<select id="getUpgradeConfig" resultType="com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt">
|
||||
select t.*,
|
||||
bg.grade_name, bg.grade_value, bg.pk_awards, bg.register_authority
|
||||
from (select aauc.*
|
||||
from ac_base_config abc
|
||||
left join AC_ADD_UPGRADE_CONFIG aauc
|
||||
on aauc.pk_base_id = abc.pk_id
|
||||
where abc.del_flag = 0
|
||||
and abc.act_type = 31
|
||||
and sysdate >= abc.act_start_date
|
||||
and abc.act_end_date >= sysdate
|
||||
and aauc.del_flag = 0
|
||||
and aauc.order_type = #{orderType}
|
||||
and aauc.original_level = #{pkGrade}
|
||||
and aauc.pk_wares in (select pk_id
|
||||
from bd_wares bw
|
||||
where bw.wares_code in
|
||||
<foreach collection="waresCodeList" item="items" open="(" separator="," close=")">
|
||||
#{items}
|
||||
</foreach>
|
||||
and bw.del_flag = 0)
|
||||
order by abc.act_start_date desc) t
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = t.upgrade_level
|
||||
where rownum = 1
|
||||
</select>
|
||||
|
||||
<select id="getUpgradeConfigByPkWares" resultType="com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt">
|
||||
select t.*,
|
||||
bg.grade_name, bg.grade_value, bg.pk_awards, bg.register_authority
|
||||
from (select aauc.*
|
||||
from ac_base_config abc
|
||||
left join AC_ADD_UPGRADE_CONFIG aauc
|
||||
on aauc.pk_base_id = abc.pk_id
|
||||
where abc.del_flag = 0
|
||||
and abc.act_type = 31
|
||||
and sysdate >= abc.act_start_date
|
||||
and abc.act_end_date >= sysdate
|
||||
and aauc.del_flag = 0
|
||||
and aauc.order_type = #{orderType}
|
||||
and aauc.original_level = #{pkGrade}
|
||||
and aauc.pk_wares in
|
||||
<foreach collection="pkWaresList" item="items" open="(" separator="," close=")">
|
||||
#{items}
|
||||
</foreach>
|
||||
order by abc.act_start_date desc) t
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = t.upgrade_level
|
||||
where rownum = 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -5,9 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
|
@ -19,6 +17,8 @@ import lombok.experimental.Accessors;
|
|||
* @since 2025-10-13
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@TableName("AC_ADD_UPGRADE_CONFIG")
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package com.hzs.common.domain.activity.add.ext;
|
||||
|
||||
import com.hzs.common.domain.activity.add.AcAddUpgradeConfig;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AcAddUpgradeConfigExt extends AcAddUpgradeConfig {
|
||||
|
||||
/**
|
||||
* 等级名称
|
||||
*/
|
||||
private String gradeName;
|
||||
/**
|
||||
* 等级值
|
||||
*/
|
||||
private Integer gradeValue;
|
||||
/**
|
||||
* 奖衔ID
|
||||
*/
|
||||
private Integer pkAwards;
|
||||
/**
|
||||
* 注册权限
|
||||
*/
|
||||
private Integer registerAuthority;
|
||||
|
||||
}
|
Loading…
Reference in New Issue