From d727e9200da3a35b6d4af7bb3f11ba13a99e3c41 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 07 Feb 2025 15:45:28 +0800 Subject: [PATCH] refactor(mall): 重构订单相关服务实现 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 37 +++++++++---------------------------- 1 files changed, 9 insertions(+), 28 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index c1e9602..4f5edc2 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -93,13 +93,12 @@ @Transactional(rollbackFor = Exception.class) public Long createOrder(AddOrderDto addOrderDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); - MallMember member = mallMemberMapper.selectById(memberId); + MallMember member = ValidateEntityUtils + .ensureColumnReturnEntity(memberId, MallMember::getId, mallMemberMapper::selectOne, "用户不存在"); //订单范围内才允许下单 - MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId()); - if(ObjectUtil.isEmpty(address)){ - throw new FebsException("请重新选择收货地址信息"); - } + MallAddressInfo address = ValidateEntityUtils + .ensureColumnReturnEntity(addOrderDto.getAddressId(), MallAddressInfo::getId, mallAddressInfoMapper::selectOne, "收货地址信息不存在"); String orderNo = MallUtils.getOrderNum(); MallOrderInfo orderInfo = new MallOrderInfo(); @@ -173,18 +172,6 @@ throw new FebsException("购买商品或sku不存在"); } -// if("样品".equals(sku.getSample())){ -// List<MallOrderItem> items = mallOrderItemMapper.selectItemBySkuIdUnCancel(sku.getId(), member.getId()); -// if (CollUtil.isNotEmpty(items)) { -// throw new FebsException("样品一个用户只能购买一次"); -// } -// Integer cnt = item.getCnt(); -// if(1 < cnt){ -// throw new FebsException("样品只能购买一件"); -// } -// -// } - if (sku.getStock() < item.getCnt()) { throw new FebsException(sku.getSkuName() + "库存不足"); } @@ -243,9 +230,7 @@ total = total.add(amount); //规格的库存销量 Integer skuResult = mallGoodsSkuMapper.upDateStockAndVolumeBySkuId(sku.getId(),item.getCnt()); - if(1 != skuResult){ - throw new FebsException(sku.getSkuName() + "库存不足"); - } + ValidateEntityUtils.ensureEqual(1,skuResult,sku.getSkuName() + "库存不足"); if (addOrderDto.getType() == 1) { mallShoppingCartMapper.delBySkuId(sku.getId(), member.getId()); } @@ -501,14 +486,10 @@ @Transactional(rollbackFor = Exception.class) public Map<String, Object> payOrder(PayOrderDto payOrderDto) { MallMember member = LoginUserUtil.getLoginUser(); - MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), payOrderDto.getId()); - if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { - throw new FebsException("订单不存在"); - } - - if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) { - throw new FebsException("订单状态不能支付"); - } + MallOrderInfo orderInfo = ValidateEntityUtils + .ensureColumnReturnEntity(payOrderDto.getId(), MallOrderInfo::getId, this.baseMapper::selectOne, "订单不存在"); + ValidateEntityUtils.ensureEqual(member.getId(),orderInfo.getMemberId(),"订单不存在"); + ValidateEntityUtils.ensureEqual(OrderStatusEnum.WAIT_PAY.getValue(),orderInfo.getStatus(),"订单状态不能支付"); String payResultStr = ""; String wxResultStr = ""; -- Gitblit v1.9.1