Merge pull request '微信支付小改' (#279) from koy07555/Admin.NET.Pro:微信支付小改 into v2

Reviewed-on: https://code.adminnet.top/Admin.NET/Admin.NET.Pro/pulls/279
This commit is contained in:
zuohuaijun 2025-03-01 10:17:35 +08:00
commit 7136375c9b
2 changed files with 18 additions and 16 deletions

View File

@ -68,23 +68,23 @@ public class CreatePayTransactionOutput
{ {
public string PrepayId { get; set; } public string PrepayId { get; set; }
public string OutTradeNumber { get; set; } public string OutTradeNumber { get; set; }
//public WechatPayParaOutput SingInfo { get; set; } public WechatPayParaOutput SingInfo { get; set; }
} }
//public class WechatPayParaOutput public class WechatPayParaOutput
//{ {
// public string AppId { get; set; } public string AppId { get; set; }
// public string TimeStamp { get; set; } public string TimeStamp { get; set; }
// public string NonceStr { get; set; } public string NonceStr { get; set; }
// public string Package { get; set; } public string Package { get; set; }
// public string SignType { get; set; } public string SignType { get; set; }
// public string PaySign { get; set; } public string PaySign { get; set; }
//} }
public class CreatePayTransactionNativeOutput public class CreatePayTransactionNativeOutput
{ {

View File

@ -5,6 +5,7 @@
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Furion.Logging.Extensions; using Furion.Logging.Extensions;
using NewLife;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace Admin.NET.Core.Service; namespace Admin.NET.Core.Service;
@ -15,7 +16,7 @@ namespace Admin.NET.Core.Service;
[ApiDescriptionSettings(Order = 210, Description = "微信支付")] [ApiDescriptionSettings(Order = 210, Description = "微信支付")]
public class SysWechatPayService : IDynamicApiController, ITransient public class SysWechatPayService : IDynamicApiController, ITransient
{ {
private static readonly List<WechatPayEventInterceptor> wechatPayEventHandlers = [new WechatPayEventInterceptor() { Order = int.MaxValue }]; private static readonly List<WechatPayEventInterceptor> wechatPayEventHandlers = new List<WechatPayEventInterceptor>();
/// <summary> /// <summary>
/// 注册支付记录变化事件处理器 /// 注册支付记录变化事件处理器
@ -135,12 +136,12 @@ public class SysWechatPayService : IDynamicApiController, ITransient
await _sysWechatPayRep.InsertAsync(wechatPay); await _sysWechatPayRep.InsertAsync(wechatPay);
} }
//var singInfo = GenerateParametersForJsapiPay(new WechatPayParaInput() { PrepayId = response.PrepayId }); var singInfo = GenerateParametersForJsapiPay(new WechatPayParaInput() { PrepayId = response.PrepayId });
return new CreatePayTransactionOutput return new CreatePayTransactionOutput
{ {
PrepayId = response.PrepayId, PrepayId = response.PrepayId,
OutTradeNumber = request.OutTradeNumber, OutTradeNumber = request.OutTradeNumber,
//SingInfo = singInfo SingInfo = singInfo
}; };
} }
@ -310,7 +311,8 @@ public class SysWechatPayService : IDynamicApiController, ITransient
{ {
try try
{ {
if (!await eh.PayInforChanged(wechatPayOld, wechatPayNew)) //这里一定要用 DeepCopy 来创一个新的对象传进不,不然会被外面的 主线程改变就麻烦了
if (!await eh.PayInforChanged(wechatPayOld, wechatPayNew.DeepCopy()))
break; break;
} }
catch (Exception ex) catch (Exception ex)
@ -321,7 +323,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
}); });
} }
// 下面这里创建一个新的对象,是因为不想把全部字段都返回 // 下面这里创建一个新的对象,是因为不想把全部字段都返回
wechatPayNew = new SysWechatPay() var result = new SysWechatPay()
{ {
AppId = _wechatPayOptions.AppId, AppId = _wechatPayOptions.AppId,
MerchantId = _wechatPayOptions.MerchantId, MerchantId = _wechatPayOptions.MerchantId,
@ -337,7 +339,7 @@ public class SysWechatPayService : IDynamicApiController, ITransient
SuccessTime = response.SuccessTime.HasValue ? response.SuccessTime.Value.DateTime : DateTime.Now // 支付完成时间 SuccessTime = response.SuccessTime.HasValue ? response.SuccessTime.Value.DateTime : DateTime.Now // 支付完成时间
}; };
return wechatPayNew; return result;
} }
/// <summary> /// <summary>