From 04ff0392849be2bcddba6747679790b0bce464fb Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 16 May 2025 14:07:34 +0800 Subject: [PATCH] refactor(mall): 调整订单相关功能和界面 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 83 ++++++++++++++++++++++++----------------- 1 files changed, 49 insertions(+), 34 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 65239cf..c8a99ec 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 @@ -208,13 +208,13 @@ } MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId()); - // 零撸专区购买 - if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) { - List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId()); - if (CollUtil.isNotEmpty(items)) { - throw new FebsException("无法重复领取同一个商品"); - } - } + // todo 纯积分商品一个账号限制购买一次 +// if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) { +// List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId()); +// if (CollUtil.isNotEmpty(items)) { +// throw new FebsException("积分商品一个账号只能购买一次"); +// } +// } if (MallGoods.ISSALE_STATUS_DISABLED.equals(mallGoods.getIsSale())) { throw new FebsException(mallGoods.getGoodsName() + "已下架"); @@ -543,23 +543,23 @@ if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) { throw new FebsException("订单状态不能支付"); } - //先支付积分部分 - if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ - balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore"); - mallMoneyFlowService.addMoneyFlow( - member.getId(), - orderInfo.getAmount().negate(), - ScoreFlowTypeEnum.PAY.getValue(), - orderInfo.getOrderNo(), - FlowTypeEnum.PRIZE_SCORE.getValue(), - StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()), - 2 - ); - } String payResultStr = ""; String wxResultStr = ""; if(orderInfo.getAmount().compareTo(BigDecimal.ZERO) <= 0){ + //先支付积分部分 + if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ + balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore"); + mallMoneyFlowService.addMoneyFlow( + member.getId(), + orderInfo.getScoreAmount().negate(), + ScoreFlowTypeEnum.PAY.getValue(), + orderInfo.getOrderNo(), + FlowTypeEnum.PRIZE_SCORE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()), + 2 + ); + } orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayMethod("积分支付"); orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); @@ -591,7 +591,22 @@ agentProducer.sendOrderReturn(orderInfo.getId()); break; case "3": + payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance"); + + //先支付积分部分 + if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ + balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore"); + mallMoneyFlowService.addMoneyFlow( + member.getId(), + orderInfo.getScoreAmount().negate(), + ScoreFlowTypeEnum.PAY.getValue(), + orderInfo.getOrderNo(), + FlowTypeEnum.PRIZE_SCORE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()), + 2 + ); + } orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayMethod("余额支付"); @@ -606,7 +621,7 @@ ScoreFlowTypeEnum.PAY_BALANCE.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(), - StrUtil.format(ScoreFlowTypeEnum.PAY_BALANCE.getDesc(),orderInfo.getScoreAmount()), + StrUtil.format(ScoreFlowTypeEnum.PAY_BALANCE.getDesc(),orderInfo.getAmount()), 2 ); agentProducer.sendOrderCoupon(orderInfo.getId()); @@ -694,11 +709,11 @@ orderListDto.setMemberId(member.getId()); // IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiOrderListInPage(page, orderListDto); IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiOrderListInPage(page, orderListDto); - if (CollUtil.isNotEmpty(mallOrderInfos.getRecords())) { - mallOrderInfos.getRecords().forEach(item -> { - item.setItems(mallOrderItemMapper.selectListByOrderId(item.getId())); - }); - } +// if (CollUtil.isNotEmpty(mallOrderInfos.getRecords())) { +// mallOrderInfos.getRecords().forEach(item -> { +// item.setItems(mallOrderItemMapper.selectListByOrderId(item.getId())); +// }); +// } return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords()); } @@ -709,13 +724,13 @@ if (ObjectUtil.isNull(orderInfo)) { throw new FebsException("订单不存在"); } - List<MallOrderItem> items = orderInfo.getItems(); - if(CollUtil.isNotEmpty(items)){ - for(MallOrderItem mallOrderItem : items){ - mallOrderItem.setItemAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getAmount()); - mallOrderItem.setScoreAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getScoreAmount()); - } - } +// List<MallOrderItem> items = orderInfo.getItems(); +// if(CollUtil.isNotEmpty(items)){ +// for(MallOrderItem mallOrderItem : items){ +// mallOrderItem.setItemAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getAmount()); +// mallOrderItem.setScoreAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getScoreAmount()); +// } +// } OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); @@ -935,7 +950,7 @@ mallGoodsComment.setSkuName(mallGoodsSku.getSkuName()); mallGoodsComment.setStyleId(mallGoodsSku.getStyleId()); mallGoodsComment.setStyleName(mallGoodsSku.getStyleName()); - mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_ENABLE); + mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_DISABLED); mallGoodsCommentMapper.insert(mallGoodsComment); } } -- Gitblit v1.9.1