KKSU
2023-12-27 c19dc78c41273727339aeea025b3c75c09454c5a
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
@@ -336,6 +336,7 @@
    }
    @Override
    @Transactional
    public FebsResponse wxCodePay(ApiWxCodePayDto wxCodePayDto) {
        Long orderId = wxCodePayDto.getOrderId();
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
@@ -378,10 +379,18 @@
                }
            }
        }
        String wxPayCode = wxCodePayDto.getWxPayCode();
        mallOrderInfo.setTakeCode(wxPayCode);
        List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
        if(CollUtil.isEmpty(appOrderItemByOrderId)){
            mallOrderInfo.setName("商品");
        }else{
            mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
        }
        mallOrderInfoMapper.updateById(mallOrderInfo);
        // 发起付款码支付请求
        String payResult = "支付成功";
        if(amount.subtract(carriage).compareTo(BigDecimal.ZERO) > 0){
            String wxPayCode = wxCodePayDto.getWxPayCode();
            /**
             * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头
             */
@@ -390,14 +399,6 @@
            if(!flag){
                throw new FebsException("请打开微信付款码!");
            }
            mallOrderInfo.setTakeCode(wxPayCode);
            List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
            if(CollUtil.isEmpty(appOrderItemByOrderId)){
                mallOrderInfo.setName("商品");
            }else{
                mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
            }
            mallOrderInfoMapper.updateById(mallOrderInfo);
            payResult = xcxCodePayService.pay(mallOrderInfo);
        }
        return new FebsResponse().success().message(payResult);