diff --git a/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs b/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
index 04423fc0..af365498 100644
--- a/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
@@ -5,6 +5,7 @@
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Furion.Logging.Extensions;
+using NewLife;
using Newtonsoft.Json;
namespace Admin.NET.Core.Service;
@@ -77,9 +78,10 @@ public class SysWechatPayService : IDynamicApiController, ITransient
///
///
[DisplayName("生成JSAPI调起支付所需参数")]
- public dynamic GenerateParametersForJsapiPay(WechatPayParaInput input)
+ public WechatPayParaOutput GenerateParametersForJsapiPay(WechatPayParaInput input)
{
- return _wechatTenpayClient.GenerateParametersForJsapiPayRequest(_wechatPayOptions.AppId, input.PrepayId);
+ var result = _wechatTenpayClient.GenerateParametersForJsapiPayRequest(_wechatPayOptions.AppId, input.PrepayId);
+ return result.Adapt();
}
///
@@ -91,10 +93,14 @@ public class SysWechatPayService : IDynamicApiController, ITransient
string outTradeNumber = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 微信需要的订单号(唯一)
// 检查订单信息是否已存在(使用“商户交易单号+状态”唯一性判断)
- var wechatPay = await _sysWechatPayRep.GetFirstAsync(u => u.OrderId == input.OrderId && u.OrderStatus == input.OrderStatus);
- if (wechatPay != null)
+ SysWechatPay wechatPay = null;
+ if (!string.IsNullOrEmpty(input.OrderId))
{
- outTradeNumber = wechatPay.OutTradeNumber;
+ wechatPay = await _sysWechatPayRep.GetFirstAsync(u => u.OrderId == input.OrderId && u.OrderStatus == input.OrderStatus);
+ if (wechatPay != null)
+ {
+ outTradeNumber = wechatPay.OutTradeNumber;
+ }
}
var request = new CreatePayTransactionJsapiRequest()