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