创建订单,校验参数相关流程调整
This commit is contained in:
parent
ac68acda50
commit
47c42db720
@ -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<>();
|
||||||
|
@ -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:
|
||||||
|
@ -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<>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user