GenerateParametersForJsapiPay 要改为强类型转换,dynamic是diction<string,string>无法自动转为 WechatPayParaOutput

This commit is contained in:
yzp 2025-03-02 11:24:42 +08:00
parent 0f30009f91
commit a77165bc33

View File

@ -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
/// <param name="input"></param>
/// <returns></returns>
[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<WechatPayParaOutput>();
}
/// <summary>
@ -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()