diff --git a/ruoyi-admin/src/main/java/org/dromara/app/AppPayController.java b/ruoyi-admin/src/main/java/org/dromara/app/AppPayController.java index a3ad772b9..e80ca21e2 100644 --- a/ruoyi-admin/src/main/java/org/dromara/app/AppPayController.java +++ b/ruoyi-admin/src/main/java/org/dromara/app/AppPayController.java @@ -1,25 +1,14 @@ package org.dromara.app; import com.wzj.soopin.transaction.business.IChargeBusiness; -import com.wzj.soopin.transaction.convert.ChargeConvert; import com.wzj.soopin.transaction.domain.bo.ChargeBO; -import com.wzj.soopin.transaction.domain.bo.PaymentBO; -import com.wzj.soopin.transaction.domain.po.Charge; -import com.wzj.soopin.transaction.domain.po.PayOrder; import com.wzj.soopin.transaction.enums.PaymentClientEnum; import com.wzj.soopin.transaction.enums.PaymentMethodEnum; -import com.wzj.soopin.transaction.enums.TransState; -import com.wzj.soopin.transaction.enums.easypay.PayType; import com.wzj.soopin.transaction.kit.CashierSupport; import com.wzj.soopin.transaction.kit.dto.PayParam; import com.wzj.soopin.transaction.kit.params.dto.CashierParam; -import com.wzj.soopin.transaction.service.IChargeService; -import com.wzj.soopin.transaction.service.PayOrderService; -import com.wzj.soopin.transaction.util.SnowFlake; -import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; @@ -34,8 +23,6 @@ import org.dromara.common.satoken.utils.LoginHelper; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.Date; - /** * 买家端,收银台接口 diff --git a/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/CashierSupport.java b/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/CashierSupport.java index e8c723693..48e6600d7 100644 --- a/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/CashierSupport.java +++ b/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/CashierSupport.java @@ -6,6 +6,7 @@ import com.wzj.soopin.transaction.enums.ClientTypeEnum; import com.wzj.soopin.transaction.enums.PaymentClientEnum; import com.wzj.soopin.transaction.enums.PaymentMethodEnum; import com.wzj.soopin.transaction.kit.dto.PayParam; +import com.wzj.soopin.transaction.kit.dto.PaymentSuccessParams; import com.wzj.soopin.transaction.kit.params.CashierExecute; import com.wzj.soopin.transaction.kit.params.dto.CashierParam; import jakarta.servlet.http.HttpServletRequest; @@ -197,4 +198,12 @@ public class CashierSupport { } return false; } + + public boolean paymentSuccess(PaymentSuccessParams payParam) { + for (CashierExecute paramInterface : cashierExecuteList) { + paramInterface.paymentSuccess(payParam); + log.info("订单编号{}支付成功", payParam.getReceivableNo()); + } + return true; + } } diff --git a/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/plugin/wechat/WechatPlugin.java b/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/plugin/wechat/WechatPlugin.java index 82e027620..847850d2a 100644 --- a/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/plugin/wechat/WechatPlugin.java +++ b/ruoyi-modules/ruoyi-transaction/src/main/java/com/wzj/soopin/transaction/kit/plugin/wechat/WechatPlugin.java @@ -493,30 +493,30 @@ public class WechatPlugin implements Payment { log.info("微信支付通知密文 {}", result); //校验服务器端响应¬7 -// String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp, -// setting.getApiKey3(), Objects.requireNonNull(getPlatformCert())); -// -// log.info("微信支付通知明文 {}", plainText); -// -// JSONObject jsonObject = JSONUtil.parseObj(plainText); -// -// String payParamStr = jsonObject.getStr("attach"); -// String payParamJson = URLDecoder.decode(payParamStr, StandardCharsets.UTF_8); -// PayParam payParam = JSONUtil.toBean(payParamJson, PayParam.class); + String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp, + setting.getApiV3Key(), Objects.requireNonNull(getPlatformCert())); + + log.info("微信支付通知明文 {}", plainText); + + JSONObject jsonObject = JSONUtil.parseObj(plainText); + + String payParamStr = jsonObject.getStr("attach"); + String payParamJson = URLDecoder.decode(payParamStr, StandardCharsets.UTF_8); + PayParam payParam = JSONUtil.toBean(payParamJson, PayParam.class); -// String tradeNo = jsonObject.getStr("transaction_id"); -// Double totalAmount = CurrencyUtil.reversalFen(jsonObject.getJSONObject("amount").getDouble("total")); -// -// PaymentSuccessParams paymentSuccessParams = new PaymentSuccessParams( -// PaymentMethodEnum.WECHAT.name(), -// tradeNo, -// totalAmount, -// payParam -// ); -// -// paymentService.success(paymentSuccessParams); -// log.info("微信支付回调:支付成功{}", plainText); + String tradeNo = jsonObject.getStr("transaction_id"); + Double totalAmount = CurrencyUtil.reversalFen(jsonObject.getJSONObject("amount").getDouble("total")); + + PaymentSuccessParams paymentSuccessParams = new PaymentSuccessParams( + PaymentMethodEnum.WECHAT.name(), + tradeNo, + totalAmount, + payParam + ); + + cashierSupport.paymentSuccess(paymentSuccessParams); + log.info("微信支付回调:支付成功{}", plainText); } @Override