From 34b183e63bb0066f01c39f52360e938ec6a77e3c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 29 Jul 2022 10:30:07 +0800 Subject: [PATCH] 20220727 保存代码 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 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 b525076..62c8152 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 @@ -2,10 +2,7 @@ import cc.mrbird.febs.common.enumerates.*; import cc.mrbird.febs.common.exception.FebsException; -import cc.mrbird.febs.common.utils.AppContants; -import cc.mrbird.febs.common.utils.LoginUserUtil; -import cc.mrbird.febs.common.utils.MallUtils; -import cc.mrbird.febs.common.utils.RedisUtils; +import cc.mrbird.febs.common.utils.*; import cc.mrbird.febs.mall.conversion.MallGoodsCommentConversion; import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion; import cc.mrbird.febs.mall.conversion.MallOrderRefundConversion; @@ -16,7 +13,9 @@ import cc.mrbird.febs.mall.vo.OrderDetailVo; import cc.mrbird.febs.mall.vo.OrderListVo; import cc.mrbird.febs.mall.vo.OrderRefundVo; +import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.service.IPayService; +import cc.mrbird.febs.pay.service.IXcxPayService; import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUnit; @@ -60,6 +59,7 @@ private final AgentProducer agentProducer; private final IPayService payService; + private final IXcxPayService iXcxPayService; private final IMallAchieveService mallAchieveService; @Override @@ -85,6 +85,9 @@ orderInfo.setLongitude(address.getLongitude()); orderInfo.setRemark(addOrderDto.getRemark()); orderInfo.setOrderType(addOrderDto.getOrderType()); + + orderInfo.setTakeUniqueCode(addOrderDto.getTakeUniqueCode()); + orderInfo.setDeliveryType(1); if (CollUtil.isEmpty(addOrderDto.getItems())) { throw new FebsException("参数错误"); @@ -216,6 +219,13 @@ case "1": // orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo()); // orderInfo.setPayImage(payOrderDto.getPayImage()); + BrandWCPayRequestData brandWCPayRequestData = null; + try { + brandWCPayRequestData = iXcxPayService.startPayment(orderInfo); + } catch (Exception e) { + throw new FebsException("支付失败"); + } + payResultStr = brandWCPayRequestData.getPrepay_id(); orderInfo.setPayMethod("微信支付"); agentProducer.sendOrderReturn(orderInfo.getId()); break; @@ -249,7 +259,7 @@ MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId()); if (mallGoods.getIsNormal() == 2) { hasTc = true; - score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti()); + score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti()).multiply(new BigDecimal(orderItem.getCnt())); // BigDecimal staticMulti = mallGoods.getStaticMulti() == null ? BigDecimal.ZERO : mallGoods.getStaticMulti(); // score = sku.getPresentPrice().multiply(staticMulti); } @@ -294,6 +304,9 @@ default: } + //订单支付成功产生一个提货码 + String takeCode = ShareCodeUtil.toSerialCode(orderInfo.getId()); + orderInfo.setTakeCode(takeCode); this.baseMapper.updateById(orderInfo); Map<String, Object> map = new HashMap<>(); @@ -318,7 +331,10 @@ throw new FebsException("支付密码错误"); } - memberWalletService.reduce(orderInfo.getAmount().add(orderInfo.getCarriage()), mallMember.getId(), field); + int reduce = memberWalletService.reduce(orderInfo.getAmount().add(orderInfo.getCarriage()), mallMember.getId(), field); + if (reduce == 2) { + throw new FebsException("余额不足"); + } return orderInfo.getOrderNo(); } -- Gitblit v1.9.1