## 新需求,注册、升级支付多送两级;
This commit is contained in:
parent
ea76dfab3b
commit
b9ddee109f
|
@ -8,6 +8,7 @@ import com.hzs.common.core.constant.CacheConstants;
|
|||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.EGrade;
|
||||
import com.hzs.common.core.enums.ESpecialArea;
|
||||
import com.hzs.common.core.enums.EYesNo;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
|
@ -94,7 +95,7 @@ public class ApiRetailOrderController {
|
|||
try {
|
||||
// 购物车中获取商品信息,获取等级
|
||||
BdGrade bdGrade = iSaOrderService.calculateGrade(levelParam.getSpecialArea(), convertShoppingCarToSku(SecurityUtils.getUserId(), levelParam.getShopList()),
|
||||
null, levelParam.getUpgradeMember(), SecurityUtils.getSystemType());
|
||||
null, levelParam.getUpgradeMember(), SecurityUtils.getSystemType(), EYesNo.NO.getIntValue());
|
||||
if (null != bdGrade) {
|
||||
orderLevelVO.setIsEnough(true);
|
||||
orderLevelVO.setPkGradeVal(bdGrade.getGradeName());
|
||||
|
@ -276,6 +277,9 @@ public class ApiRetailOrderController {
|
|||
// return AjaxResult.error(relationStr);
|
||||
// }
|
||||
|
||||
// 支付入参
|
||||
payParam.setIsPay(EYesNo.YES.getIntValue());
|
||||
|
||||
// 封装会员信息
|
||||
CuMember newMember = iRetailOrderService.packageCuMember(registerParam);
|
||||
// 封装订单信息
|
||||
|
@ -383,6 +387,9 @@ public class ApiRetailOrderController {
|
|||
return AjaxResult.error(otherCheckStr);
|
||||
}
|
||||
|
||||
// 支付入参
|
||||
payParam.setIsPay(EYesNo.YES.getIntValue());
|
||||
|
||||
// 封装订单信息
|
||||
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(upgradeParam, null, updateGradeMember);
|
||||
|
||||
|
|
|
@ -208,7 +208,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()
|
||||
|| ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) {
|
||||
// 注册、升级订单,计算会员等级
|
||||
BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList, cuMember, orderParam.getSystemType());
|
||||
BdGrade newGrade = iSaOrderService.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), gradeList,
|
||||
cuMember, orderParam.getSystemType(), orderParam.getIsPay());
|
||||
if (null == newGrade) {
|
||||
throw new ServiceException("会员不满足升级条件");
|
||||
}
|
||||
|
|
|
@ -161,4 +161,9 @@ public class RetailOrderParam implements Serializable {
|
|||
*/
|
||||
private Integer systemType;
|
||||
|
||||
/**
|
||||
* 是否支付操作(0=是,1=否)
|
||||
*/
|
||||
private Integer isPay;
|
||||
|
||||
}
|
||||
|
|
|
@ -9,11 +9,7 @@ import javax.validation.constraints.NotNull;
|
|||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 新零售订单支付入参
|
||||
* @Author: jiang chao
|
||||
* @Time: 2024/12/12 16:45
|
||||
* @Classname: RetailPayOrderParam
|
||||
* @PackageName: com.hzs.retail.sale.param
|
||||
* 新零售订单支付入参
|
||||
*/
|
||||
@Data
|
||||
public class RetailOrderPayParam implements Serializable {
|
||||
|
@ -42,4 +38,10 @@ public class RetailOrderPayParam implements Serializable {
|
|||
@JsonIgnore
|
||||
private Integer pkCountry = CountryConstants.CHINA_COUNTRY;
|
||||
|
||||
/**
|
||||
* 是否支付操作(0=是,1=否)
|
||||
*/
|
||||
private Integer isPay;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -689,7 +689,9 @@ public interface ISaOrderService extends IService<SaOrder> {
|
|||
* @param systemType 系统类型
|
||||
* @return 返回 null 则为不满足升级条件
|
||||
*/
|
||||
BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams, List<BdGrade> gradeList, CuMember updateGradeMember, Integer systemType);
|
||||
BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams,
|
||||
List<BdGrade> gradeList, CuMember updateGradeMember,
|
||||
Integer systemType, Integer isPay);
|
||||
|
||||
/**
|
||||
* 根据盒数计算等级
|
||||
|
|
|
@ -2607,7 +2607,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
|
||||
@Override
|
||||
public BdGrade calculateGrade(Integer specialArea, List<OrderItemsParam> orderItemsParams,
|
||||
List<BdGrade> gradeList, CuMember updateGradeMember, Integer systemType) {
|
||||
List<BdGrade> gradeList, CuMember updateGradeMember,
|
||||
Integer systemType, Integer isPay) {
|
||||
if (CollectionUtil.isEmpty(gradeList)) {
|
||||
gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||
}
|
||||
|
@ -2654,6 +2655,25 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO 2025.06.14 添加新需求,V1-V3,购买多给两级
|
||||
if (EYesNo.YES.getIntValue() == isPay) {
|
||||
// 支付时才进行处理
|
||||
if (null != bdGrade) {
|
||||
if (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue()) {
|
||||
// V1 给 V3
|
||||
bdGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
} else if (EGrade.YOU_KE.getValue() == bdGrade.getGradeValue()) {
|
||||
// V2 给 V4
|
||||
bdGrade = gradeList.stream().filter(tmpData -> EGrade.VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
} else if (EGrade.MAKER.getValue() == bdGrade.getGradeValue()) {
|
||||
// V3 给 V5
|
||||
bdGrade = gradeList.stream().filter(tmpData -> EGrade.S_VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return bdGrade;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue