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,18 +379,7 @@
                }
            }
        }
        // 发起付款码支付请求
        String payResult = "支付成功";
        if(amount.subtract(carriage).compareTo(BigDecimal.ZERO) > 0){
            String wxPayCode = wxCodePayDto.getWxPayCode();
            /**
             * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头
             */
            String regex = "^(10|11|12|13|14|15)\\d{16}$";
            boolean flag = wxPayCode.matches(regex);
            if(!flag){
                throw new FebsException("请打开微信付款码!");
            }
            mallOrderInfo.setTakeCode(wxPayCode);
            List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
            if(CollUtil.isEmpty(appOrderItemByOrderId)){
@@ -398,6 +388,17 @@
                mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
            }
            mallOrderInfoMapper.updateById(mallOrderInfo);
        // 发起付款码支付请求
        String payResult = "支付成功";
        if(amount.subtract(carriage).compareTo(BigDecimal.ZERO) > 0){
            /**
             * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头
             */
            String regex = "^(10|11|12|13|14|15)\\d{16}$";
            boolean flag = wxPayCode.matches(regex);
            if(!flag){
                throw new FebsException("请打开微信付款码!");
            }
            payResult = xcxCodePayService.pay(mallOrderInfo);
        }
        return new FebsResponse().success().message(payResult);