创建订单,校验参数相关流程调整
This commit is contained in:
parent
ac68acda50
commit
47c42db720
@ -1,7 +1,5 @@
|
||||
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.enums.CartTypeEnum;
|
||||
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<>();
|
||||
|
@ -40,7 +40,7 @@ public class SkuFreightRender implements CartRenderStep {
|
||||
MemberAddress memberAddress = tradeDTO.getMemberAddress();
|
||||
//如果收货地址为空,则抛出异常
|
||||
if (memberAddress == null) {
|
||||
throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST);
|
||||
return;
|
||||
}
|
||||
//循环渲染购物车商品运费价格
|
||||
forSku:
|
||||
|
@ -8,6 +8,7 @@ import cn.lili.common.rocketmq.RocketmqSendCallbackBuilder;
|
||||
import cn.lili.common.rocketmq.tags.MqOrderTagsEnum;
|
||||
import cn.lili.config.rocketmq.RocketmqCustomProperties;
|
||||
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.order.cart.entity.dto.MemberCouponDTO;
|
||||
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
||||
@ -68,6 +69,11 @@ public class TradeServiceImpl extends ServiceImpl<TradeMapper, Trade> implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Trade createTrade(TradeDTO tradeDTO) {
|
||||
|
||||
//创建订单预校验
|
||||
createTradeCheck(tradeDTO);
|
||||
|
||||
|
||||
Trade trade = new Trade(tradeDTO);
|
||||
String key = CachePrefix.TRADE.getPrefix() + trade.getSn();
|
||||
//积分预处理
|
||||
@ -87,6 +93,31 @@ public class TradeServiceImpl extends ServiceImpl<TradeMapper, Trade> implements
|
||||
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
|
||||
public Trade getBySn(String sn) {
|
||||
LambdaQueryWrapper<Trade> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
Loading…
x
Reference in New Issue
Block a user