From e6839a670cb185de6c8af9c7abcbebccc8e64e15 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 19 May 2025 12:43:32 +0800 Subject: [PATCH] refactor(prod): 更新生产环境配置和微信小程序支付参数 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 88 ++++++++++++++++++++++++++------------------ 1 files changed, 52 insertions(+), 36 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..2a89336 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 @@ -109,7 +109,7 @@ throw new FebsException("请重新选择收货地址信息"); } - String orderNo = MallUtils.getOrderNum(); + String orderNo = MallUtils.getOrderNum("O"); MallOrderInfo orderInfo = new MallOrderInfo(); orderInfo.setOrderNo(orderNo); orderInfo.setOrderTime(new Date()); @@ -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() + "已下架"); @@ -317,6 +317,7 @@ for (AddOrderItemDto item : items) { Long skuId = item.getSkuId(); + Integer cnt = item.getCnt(); MallGoodsSku sku = skusAll.stream().filter(s -> s.getId().equals(skuId)).findFirst().orElse(null); if (ObjectUtil.isNotEmpty(sku)) { Long goodsId = sku.getGoodsId(); @@ -324,7 +325,7 @@ if (ObjectUtil.isNotEmpty(mallGoods)) { BigDecimal multi = mallGoods.getStaticProp().divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN); //获取该商品该规格的积分 - BigDecimal scoreAmount = sku.getOriginalPrice().multiply(multi).setScale(0, RoundingMode.HALF_DOWN); + BigDecimal scoreAmount = sku.getOriginalPrice().multiply(multi).multiply(new BigDecimal(cnt)).setScale(0, RoundingMode.HALF_DOWN); scoreAmountMap.put(skuId, scoreAmount); } } @@ -543,23 +544,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 +592,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 +622,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 +710,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 +725,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 +951,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