From 727d4605fd6826ee9078553b5c7626b7803629d8 Mon Sep 17 00:00:00 2001 From: goupan <goupan@chinapopin.com> Date: 星期一, 29 四月 2024 01:08:43 +0800 Subject: [PATCH] 修复改出的问题 --- rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java b/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java index 99dac1b..df0e19e 100644 --- a/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java +++ b/rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java @@ -107,6 +107,35 @@ totalAmount = counsellingOrder.getPayAmount(); } + + // 判断转换后的BigDecimal是否为0 + if (totalAmount.compareTo(BigDecimal.ZERO) == 0) { + if (req.getOrderNo().startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) { + // 心理测试订单 + orderMentalTestService.paySuccess(req.getOrderNo(), req.getOrderNo(), String.valueOf(totalAmount), PayTypeEnum.ALIPAY.getCode()); + } else if (req.getOrderNo().startsWith(OrderTypeEnum.CONSULT_ONE.getCode())) { + // 心理咨询1V1订单 + mentalTestOrderBizService.paySuccessOrderConsultOne(req.getOrderNo(), req.getOrderNo(), String.valueOf(totalAmount), PayTypeEnum.ALIPAY.getCode()); + } else if (req.getOrderNo().startsWith(OrderTypeEnum.COURSE_ORDER.getCode())) { + //课程订单 + OrderPayRequest orderPayRequest = new OrderPayRequest(); + orderPayRequest.setOrderNo(req.getOrderNo()); + orderPayRequest.setTransactionNo(req.getOrderNo()); + orderPayRequest.setPayType("2"); + orderPayRequest.setOrderType(1); + courseOrderService.payCourseOrder(orderPayRequest); + } else if (req.getOrderNo().startsWith(OrderTypeEnum.COUNSELLING_ORDER.getCode())) { + //咨询订单 + OrderPayRequest orderPayRequest = new OrderPayRequest(); + orderPayRequest.setOrderNo(req.getOrderNo()); + orderPayRequest.setTransactionNo(req.getOrderNo()); + orderPayRequest.setPayType("2"); + orderPayRequest.setOrderType(2); + counsellingOrderService.payCounsellingOrder(orderPayRequest); + } + return new SuccessResponseData("支付成功"); + } + // 设置支付配置 WxPayApiConfigKit.putApiConfig(getApiConfig()); //WxPayApiConfigKit.setThreadLocalAppId(wxPayBean.getAppId()); @@ -176,7 +205,7 @@ if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.MD5)) { if (WxPayKit.codeIsOk(returnCode)) { // 参数文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7&index=8 - String totalFee = params.get("total_fee"); + String totalFee = new BigDecimal(params.get("total_fee")).divide(BigDecimal.valueOf(100)).toString(); String transactionId = params.get("transaction_id"); // 获取订单号 String orderNo = params.get("out_trade_no"); -- Gitblit v1.7.1