创建订单,校验参数相关流程调整

This commit is contained in:
Chopper 2021-06-25 10:48:21 +08:00
parent ac68acda50
commit 47c42db720
3 changed files with 32 additions and 10 deletions

View File

@ -1,7 +1,5 @@
package cn.lili.modules.order.cart.render; package cn.lili.modules.order.cart.render;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.order.cart.entity.vo.CartSkuVO; import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
@ -101,13 +99,6 @@ public class TradeBuilder {
} }
} }
if (tradeDTO.getNotSupportFreight() != null && tradeDTO.getNotSupportFreight().size() > 0) {
StringBuilder stringBuilder = new StringBuilder("包含商品有-");
tradeDTO.getNotSupportFreight().forEach(sku -> {
stringBuilder.append(sku.getGoodsSku().getGoodsName());
});
throw new ServiceException(ResultCode.ORDER_NOT_SUPPORT_DISTRIBUTION, stringBuilder.toString());
}
//购物车信息接受 //购物车信息接受
List<CartVO> cartVOList = new ArrayList<>(); List<CartVO> cartVOList = new ArrayList<>();

View File

@ -40,7 +40,7 @@ public class SkuFreightRender implements CartRenderStep {
MemberAddress memberAddress = tradeDTO.getMemberAddress(); MemberAddress memberAddress = tradeDTO.getMemberAddress();
//如果收货地址为空则抛出异常 //如果收货地址为空则抛出异常
if (memberAddress == null) { if (memberAddress == null) {
throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST); return;
} }
//循环渲染购物车商品运费价格 //循环渲染购物车商品运费价格
forSku: forSku:

View File

@ -8,6 +8,7 @@ import cn.lili.common.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.common.rocketmq.tags.MqOrderTagsEnum; import cn.lili.common.rocketmq.tags.MqOrderTagsEnum;
import cn.lili.config.rocketmq.RocketmqCustomProperties; import cn.lili.config.rocketmq.RocketmqCustomProperties;
import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.entity.dos.MemberAddress;
import cn.lili.modules.member.service.MemberService; import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO; import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO;
@ -68,6 +69,11 @@ public class TradeServiceImpl extends ServiceImpl<TradeMapper, Trade> implements
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Trade createTrade(TradeDTO tradeDTO) { public Trade createTrade(TradeDTO tradeDTO) {
//创建订单预校验
createTradeCheck(tradeDTO);
Trade trade = new Trade(tradeDTO); Trade trade = new Trade(tradeDTO);
String key = CachePrefix.TRADE.getPrefix() + trade.getSn(); String key = CachePrefix.TRADE.getPrefix() + trade.getSn();
//积分预处理 //积分预处理
@ -87,6 +93,31 @@ public class TradeServiceImpl extends ServiceImpl<TradeMapper, Trade> implements
return trade; return trade;
} }
/**
* 创建订单最后一步校验
*
* @param tradeDTO
*/
private void createTradeCheck(TradeDTO tradeDTO) {
//创建订单如果没有收获地址
MemberAddress memberAddress = tradeDTO.getMemberAddress();
if (memberAddress == null) {
throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST);
}
/**
* 订单配送区域校验
*/
if (tradeDTO.getNotSupportFreight() != null && tradeDTO.getNotSupportFreight().size() > 0) {
StringBuilder stringBuilder = new StringBuilder("包含商品有-");
tradeDTO.getNotSupportFreight().forEach(sku -> {
stringBuilder.append(sku.getGoodsSku().getGoodsName());
});
throw new ServiceException(ResultCode.ORDER_NOT_SUPPORT_DISTRIBUTION, stringBuilder.toString());
}
}
@Override @Override
public Trade getBySn(String sn) { public Trade getBySn(String sn) {
LambdaQueryWrapper<Trade> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Trade> queryWrapper = new LambdaQueryWrapper<>();