goupan
2024-04-28 02c91dee8fb804ce33f2b1845da843993e43c0b6
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");