From a22af1da254b90c79fd3e1433ed98f51c0a39a65 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 19 十二月 2025 18:57:08 +0800
Subject: [PATCH] feat:开发
---
ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayDownloadEreceiptRequest.cs | 24 ---
ApiTools.Core/Utils/NongYePayUtils/NongYePayOptions.cs | 10 +
ApiTools.Web.Entry/appsettings.json | 8
ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayRealTimeDownloadEreceiptRequest.cs | 12 -
ApiTools.Core/Utils/NongYePayUtils/Models/DownloadFileCommand.cs | 21 +++
ApiTools.Core/Utils/NongYePayUtils/NongYePayUtils.cs | 191 ++++++++++++++++----------
ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs | 46 +++++-
ApiTools.Core/ApiTools.Core.xml | 67 ++++++--
ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayBaseRequest.cs | 32 ++++
9 files changed, 270 insertions(+), 141 deletions(-)
diff --git a/ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs b/ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs
index bb82540..562c537 100644
--- a/ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs
+++ b/ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs
@@ -1,6 +1,8 @@
锘縰sing Aop.Api.Domain;
using ApiTools.Core;
+using Baidu.Aip;
using Consul;
+using Furion.DistributedIDGenerator;
using Furion.FriendlyException;
using Furion.UnifyResult;
using Mapster;
@@ -13,6 +15,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using static System.Runtime.InteropServices.JavaScript.JSType;
namespace ApiTools.Application
{
@@ -301,21 +304,42 @@
// }
//});
- //var res6 = await nongYePayUtils.GetTransferDetails(new Core.Utils.NongYePayUtils.Models.NongYePayGetTransferDetailsRequest
- //{
- // Corp = new Core.Utils.NongYePayUtils.Models.NongYePayGetTransferDetailsRequestCorp
- // {
- // StartDate = "20251217",
- // EndDate = "20251217",
+ var res6 = await nongYePayUtils.GetTransferDetails(new Core.Utils.NongYePayUtils.Models.NongYePayGetTransferDetailsRequest
+ {
+ Corp = new Core.Utils.NongYePayUtils.Models.NongYePayGetTransferDetailsRequestCorp
+ {
+ StartDate = "20251217",
+ EndDate = "20251217",
- // },
- // Cmp = new Core.Utils.NongYePayUtils.Models.NongYePayGetTransferDetailsRequestCmp
+ },
+ Cmp = new Core.Utils.NongYePayUtils.Models.NongYePayGetTransferDetailsRequestCmp
+ {
+ DbProv = "14",
+ DbAccNo = "314101046433493",
+ DbCur = "01",
+ }
+ });
+
+ //var res9 = await nongYePayUtils.DownloadEreceipt(new Core.Utils.NongYePayUtils.Models.NongYePayDownloadEreceiptRequest
+ //{
+ // Corp = new Core.Utils.NongYePayUtils.Models.NongYePayDownloadEreceiptRequestCorp
// {
- // DbProv = "14",
- // DbAccNo = "314101046433493",
- // DbCur = "01",
+ // StartDate = "20251218",
+ // AlterFlag = "1"
// }
//});
+ //foreach (var item in res9.Items)
+ //{
+ // var url = AliyunOSSUtils.Upload(
+ // "NongYePay",
+ // item.Stream,
+ // $"鐢靛瓙鍥炲崟-{IDGen.NextID()}.pdf")
+ // .Url;
+ // url = AliyunOSSUtils.GetUrl(url);
+ // Console.WriteLine();
+ //}
+ Console.WriteLine();
+
//var a = res6.Items.FirstOrDefault().TrJrn;
//var res8 = await nongYePayUtils.RealTimeDownloadEreceipt(new Core.Utils.NongYePayUtils.Models.NongYePayRealTimeDownloadEreceiptRequest
diff --git a/ApiTools.Core/ApiTools.Core.xml b/ApiTools.Core/ApiTools.Core.xml
index 95f4f75..46a1fa8 100644
--- a/ApiTools.Core/ApiTools.Core.xml
+++ b/ApiTools.Core/ApiTools.Core.xml
@@ -5138,6 +5138,16 @@
</summary>
<returns></returns>
</member>
+ <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.DownloadFileCommand.Scene">
+ <summary>
+ 鍦烘櫙
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.DownloadFileCommand.Path">
+ <summary>
+ 鍦板潃
+ </summary>
+ </member>
<member name="T:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayBaseRequest">
<summary>
鍐滀笟閾惰鏀粯鍩虹璇锋眰
@@ -5193,6 +5203,16 @@
鏁板瓧绛惧悕锛堢┖鑺傜偣锛孖CT鑷姩琛ュ厖锛�
</summary>
</member>
+ <member name="T:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayZipResponse">
+ <summary>
+ 鍐滀笟閾惰鏀粯鍩虹鍥炶皟
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayZipResponse.FileFlag">
+ <summary>
+ 鏂囦欢鏍囪瘑
+ </summary>
+ </member>
<member name="T:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayBaseResponse`1">
<summary>
鍐滀笟閾惰鏀粯鍩虹鍥炶皟
@@ -5268,6 +5288,16 @@
杩斿洖鏂囦欢鍚�
</summary>
</member>
+ <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayResponseZipFile.FileName">
+ <summary>
+ 鏂囦欢鍚�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayResponseZipFile.Stream">
+ <summary>
+ 娴�
+ </summary>
+ </member>
<member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayDownloadEreceiptRequestCorp.StartDate">
<summary>
鏌ヨ鏂囦欢鍖呮棩鏈�
@@ -5282,21 +5312,6 @@
鍏朵粬-浼佷笟涓�у寲绾﹀畾
</summary>
</member>
- <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayDownloadEreceiptResponse.FileFlag">
- <summary>
- 鏂囦欢鏍囪瘑
- </summary>
- </member>
- <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayDownloadEreceiptResponseItem.FileName">
- <summary>
- 鏂囦欢鍚�
- </summary>
- </member>
- <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayDownloadEreceiptResponseItem.Stream">
- <summary>
- 娴�
- </summary>
- </member>
<member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayGetBalanceRequest.Cmp">
<summary>
涓氬姟鏁版嵁
@@ -6177,11 +6192,6 @@
鏃ュ織鍙�
</summary>
</member>
- <member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayRealTimeDownloadEreceiptResponse.FileFlag">
- <summary>
- 鏂囦欢鏍囪瘑
- </summary>
- </member>
<member name="P:ApiTools.Core.Utils.NongYePayUtils.Models.NongYePaySingleCorporateTransferRequest.Amt">
<summary>
閲戦
@@ -6437,6 +6447,16 @@
鏂囦欢鐩綍
</summary>
</member>
+ <member name="P:ApiTools.Core.NongYePayOptions.RemoteFileUrl">
+ <summary>
+ 杩滅▼鏂囦欢鎺ュ彛
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.NongYePayOptions.RemoteFilePrivateKey">
+ <summary>
+ 杩滅▼鏂囦欢鎺ュ彛绉侀挜
+ </summary>
+ </member>
<member name="M:ApiTools.Core.NongYePayUtils.GetBalance(ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayGetBalanceRequest)">
<summary>
鏌ヨ璐︽埛浣欓
@@ -6478,6 +6498,13 @@
<param name="request"></param>
<returns></returns>
</member>
+ <member name="M:ApiTools.Core.NongYePayUtils.RealTimeDownloadEreceipt(ApiTools.Core.Utils.NongYePayUtils.Models.NongYePayRealTimeDownloadEreceiptRequest)">
+ <summary>
+ 瀹炴椂涓嬭浇鐢靛瓙鍥炲崟
+ </summary>
+ <param name="request"></param>
+ <returns></returns>
+ </member>
<member name="M:ApiTools.Core.NongYePayUtils.GetBankAreas">
<summary>
鑾峰彇閾惰鍦板尯
diff --git a/ApiTools.Core/Utils/NongYePayUtils/Models/DownloadFileCommand.cs b/ApiTools.Core/Utils/NongYePayUtils/Models/DownloadFileCommand.cs
new file mode 100644
index 0000000..81193df
--- /dev/null
+++ b/ApiTools.Core/Utils/NongYePayUtils/Models/DownloadFileCommand.cs
@@ -0,0 +1,21 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApiTools.Core.Utils.NongYePayUtils.Models
+{
+ public class DownloadFileCommand
+ {
+ /// <summary>
+ /// 鍦烘櫙
+ /// </summary>
+ public string Scene { get; set; }
+
+ /// <summary>
+ /// 鍦板潃
+ /// </summary>
+ public string Path { get; set; }
+ }
+}
diff --git a/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayBaseRequest.cs b/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayBaseRequest.cs
index db0d925..beff33d 100644
--- a/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayBaseRequest.cs
+++ b/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayBaseRequest.cs
@@ -1,6 +1,7 @@
锘縰sing Org.BouncyCastle.Ocsp;
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -69,6 +70,24 @@
/// 鍐滀笟閾惰鏀粯鍩虹鍥炶皟
/// </summary>
[XmlRoot("ap")]
+ public abstract class NongYePayZipResponse : NongYePayBaseResponse
+ {
+ /// <summary>
+ /// 鏂囦欢鏍囪瘑
+ /// </summary>
+ public string FileFlag { get; set; }
+
+ public NongYePayGetEreceiptResponseCmp Cmp { get; set; }
+
+ public List<NongYePayResponseZipFile> Items { get; set; } = [];
+
+ public string ZipFileName { get; set; }
+ }
+
+ /// <summary>
+ /// 鍐滀笟閾惰鏀粯鍩虹鍥炶皟
+ /// </summary>
+ [XmlRoot("ap")]
public abstract class NongYePayBaseResponse<T> : NongYePayBaseResponse
{
/// <summary>
@@ -154,4 +173,17 @@
/// </summary>
public string BatchFileName { get; set; }
}
+
+ public class NongYePayResponseZipFile
+ {
+ /// <summary>
+ /// 鏂囦欢鍚�
+ /// </summary>
+ public string FileName { get; set; }
+
+ /// <summary>
+ /// 娴�
+ /// </summary>
+ public MemoryStream Stream { get; set; }
+ }
}
diff --git a/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayDownloadEreceiptRequest.cs b/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayDownloadEreceiptRequest.cs
index c15191e..0b0d476 100644
--- a/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayDownloadEreceiptRequest.cs
+++ b/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayDownloadEreceiptRequest.cs
@@ -37,31 +37,9 @@
}
[XmlRoot("ap")]
- public class NongYePayDownloadEreceiptResponse : NongYePayBaseResponse
+ public class NongYePayDownloadEreceiptResponse : NongYePayZipResponse
{
- /// <summary>
- /// 鏂囦欢鏍囪瘑
- /// </summary>
- public string FileFlag { get; set; }
-
- public NongYePayGetEreceiptResponseCmp Cmp { get; set; }
-
- public List<NongYePayDownloadEreceiptResponseItem> Items { get; set; } = [];
-
- public string ZipFileName { get; set; }
}
- public class NongYePayDownloadEreceiptResponseItem
- {
- /// <summary>
- /// 鏂囦欢鍚�
- /// </summary>
- public string FileName { get; set; }
-
- /// <summary>
- /// 娴�
- /// </summary>
- public MemoryStream Stream { get; set; }
- }
}
diff --git a/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayRealTimeDownloadEreceiptRequest.cs b/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayRealTimeDownloadEreceiptRequest.cs
index 8e33955..2da76a7 100644
--- a/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayRealTimeDownloadEreceiptRequest.cs
+++ b/ApiTools.Core/Utils/NongYePayUtils/Models/NongYePayRealTimeDownloadEreceiptRequest.cs
@@ -67,17 +67,7 @@
}
[XmlRoot("ap")]
- public class NongYePayRealTimeDownloadEreceiptResponse : NongYePayBaseResponse
+ public class NongYePayRealTimeDownloadEreceiptResponse : NongYePayZipResponse
{
- /// <summary>
- /// 鏂囦欢鏍囪瘑
- /// </summary>
- public string FileFlag { get; set; }
-
- public NongYePayGetEreceiptResponseCmp Cmp { get; set; }
-
- public List<NongYePayDownloadEreceiptResponseItem> Items { get; set; } = [];
-
- public string ZipFileName { get; set; }
}
}
diff --git a/ApiTools.Core/Utils/NongYePayUtils/NongYePayOptions.cs b/ApiTools.Core/Utils/NongYePayUtils/NongYePayOptions.cs
index 01f027a..a178d2d 100644
--- a/ApiTools.Core/Utils/NongYePayUtils/NongYePayOptions.cs
+++ b/ApiTools.Core/Utils/NongYePayUtils/NongYePayOptions.cs
@@ -33,5 +33,15 @@
/// 鏂囦欢鐩綍
/// </summary>
public string FilePath { get; set; }
+
+ /// <summary>
+ /// 杩滅▼鏂囦欢鎺ュ彛
+ /// </summary>
+ public string RemoteFileUrl { get; set; }
+
+ /// <summary>
+ /// 杩滅▼鏂囦欢鎺ュ彛绉侀挜
+ /// </summary>
+ public string RemoteFilePrivateKey { get; set; }
}
}
diff --git a/ApiTools.Core/Utils/NongYePayUtils/NongYePayUtils.cs b/ApiTools.Core/Utils/NongYePayUtils/NongYePayUtils.cs
index 163b90d..3a7fc7a 100644
--- a/ApiTools.Core/Utils/NongYePayUtils/NongYePayUtils.cs
+++ b/ApiTools.Core/Utils/NongYePayUtils/NongYePayUtils.cs
@@ -4,9 +4,11 @@
using Azure.Core;
using Furion;
using Furion.DatabaseAccessor;
+using Furion.DataEncryption.Extensions;
using Furion.DependencyInjection;
using Furion.DistributedIDGenerator;
using Furion.FriendlyException;
+using Furion.HttpRemote;
using Microsoft.Extensions.Options;
using NetTopologySuite.Algorithm;
using Org.BouncyCastle.Asn1.Ocsp;
@@ -25,10 +27,12 @@
namespace ApiTools.Core
{
public class NongYePayUtils(
+ IHttpRemoteService httpRemoteService,
IOptions<NongYePayOptions> options,
IRepository<ThreeResourceLog, LogDbContextLocator> repThreeResourceLog
) : ITransient
{
+ private readonly IHttpRemoteService httpRemoteService = httpRemoteService;
private readonly IOptions<NongYePayOptions> options = options;
private readonly IRepository<ThreeResourceLog, LogDbContextLocator> repThreeResourceLog = repThreeResourceLog;
@@ -88,74 +92,17 @@
/// <returns></returns>
public async Task<NongYePayDownloadEreceiptResponse> DownloadEreceipt(NongYePayDownloadEreceiptRequest request)
{
- var response = await Send<NongYePayDownloadEreceiptRequest, NongYePayDownloadEreceiptResponse>(request);
- if (response != null
- && response.RespSource == "0"
- && response.Cmp != null
- && response.Cmp.BatchFileName.IsNotNull())
- {
- response.ZipFileName = $"{options.Value.FilePath}{response.Cmp.BatchFileName}";
- if (File.Exists(response.ZipFileName))
- {
- using (var archive = ZipFile.OpenRead(response.ZipFileName))
- {
- foreach (var entry in archive.Entries)
- {
- if (entry.FullName.EndsWith(".pdf"))
- {
- using (var stream = entry.Open())
- {
- var ms = new MemoryStream();
- stream.CopyTo(ms);
- ms.Position = 0;
- response.Items.Add(new NongYePayDownloadEreceiptResponseItem
- {
- FileName = entry.FullName,
- Stream = ms
- });
- }
- }
- }
- }
- }
- }
- return response;
+ return await SendWithZip<NongYePayDownloadEreceiptRequest, NongYePayDownloadEreceiptResponse>(request);
}
+ /// <summary>
+ /// 瀹炴椂涓嬭浇鐢靛瓙鍥炲崟
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns></returns>
public async Task<NongYePayRealTimeDownloadEreceiptResponse> RealTimeDownloadEreceipt(NongYePayRealTimeDownloadEreceiptRequest request)
{
- var response = await Send<NongYePayRealTimeDownloadEreceiptRequest, NongYePayRealTimeDownloadEreceiptResponse>(request);
- if (response != null
- && response.RespSource == "0"
- && response.Cmp != null
- && response.Cmp.BatchFileName.IsNotNull())
- {
- response.ZipFileName = $"{options.Value.FilePath}{response.Cmp.BatchFileName}";
- if (File.Exists(response.ZipFileName))
- {
- using (var archive = ZipFile.OpenRead(response.ZipFileName))
- {
- foreach (var entry in archive.Entries)
- {
- if (entry.FullName.EndsWith(".pdf"))
- {
- using (var stream = entry.Open())
- {
- var ms = new MemoryStream();
- stream.CopyTo(ms);
- ms.Position = 0;
- response.Items.Add(new NongYePayDownloadEreceiptResponseItem
- {
- FileName = entry.FullName,
- Stream = ms
- });
- }
- }
- }
- }
- }
- }
- return response;
+ return await SendWithZip<NongYePayRealTimeDownloadEreceiptRequest, NongYePayRealTimeDownloadEreceiptResponse>(request);
}
/// <summary>
@@ -228,6 +175,69 @@
return $"{now:yyyyMMddHHmmssfff}{random}";
}
+ private async Task<List<NongYePayResponseZipFile>> GetZipFiles(NongYePayZipResponse response)
+ {
+ var list = new List<NongYePayResponseZipFile>();
+ if (response != null
+ && response.RespSource == "0"
+ && response.Cmp != null
+ && response.Cmp.BatchFileName.IsNotNull())
+ {
+ var memoryStream = new MemoryStream();
+ if (options.Value.RemoteFileUrl.IsNotNull())
+ {
+ response.ZipFileName = response.Cmp.BatchFileName;
+ var url = $"{options.Value.RemoteFileUrl}/api/file/download";
+ var command = new DownloadFileCommand
+ {
+ Scene = "NongYePay",
+ Path = response.Cmp.BatchFileName
+ };
+ var timestamp = DateTime.Now.ToTimeStamp(true);
+ var sign = $"POST|/api/file/download|{command.ToJson()}|{options.Value.RemoteFilePrivateKey}|{timestamp}".ToMD5Encrypt();
+ using var stream = await httpRemoteService.PostAsStreamAsync(url,
+ builder => builder
+ .SetJsonContent(command)
+ .WithHeader("x-timestamp", timestamp, replace: true)
+ .WithHeader("x-sign", sign, replace: true));
+ stream.CopyTo(memoryStream);
+ memoryStream.Position = 0;
+ }
+ else if (options.Value.FilePath.IsNotNull())
+ {
+ response.ZipFileName = $"{options.Value.FilePath}{response.Cmp.BatchFileName}";
+ if (File.Exists(response.ZipFileName))
+ {
+ using var stream = File.OpenRead(response.ZipFileName);
+ stream.CopyTo(memoryStream);
+ memoryStream.Position = 0;
+ }
+ }
+
+ using (var archive = new ZipArchive(memoryStream))
+ {
+ foreach (var entry in archive.Entries)
+ {
+ if (entry.FullName.EndsWith(".pdf"))
+ {
+ using (var stream = entry.Open())
+ {
+ var ms = new MemoryStream();
+ stream.CopyTo(ms);
+ ms.Position = 0;
+ list.Add(new NongYePayResponseZipFile
+ {
+ FileName = entry.FullName,
+ Stream = ms
+ });
+ }
+ }
+ }
+ }
+ }
+ return list;
+ }
+
private async Task<List<T>> GetList<T>(NongYePayBaseResponse<T> response, ThreeResourceLog log)
where T : class, new()
{
@@ -236,11 +246,37 @@
&& response.FileFlag == "1"
&& response.Cmp.BatchFileName.IsNotNull())
{
- var fileName = $"{options.Value.FilePath}{response.Cmp.BatchFileName}";
- if (File.Exists(fileName))
+ var lines = new List<string>();
+ if (options.Value.RemoteFileUrl.IsNotNull())
+ {
+ var url = $"{options.Value.RemoteFileUrl}/api/file/download";
+ var command = new DownloadFileCommand
+ {
+ Scene = "NongYePay",
+ Path = response.Cmp.BatchFileName
+ };
+ var timestamp = DateTime.Now.ToTimeStamp(true);
+ var sign = $"POST|/api/file/download|{command.ToJson()}|{options.Value.RemoteFilePrivateKey}|{timestamp}".ToMD5Encrypt();
+ var buffer = await httpRemoteService.PostAsByteArrayAsync(url,
+ builder => builder
+ .SetJsonContent(command)
+ .WithHeader("x-timestamp", timestamp, replace: true)
+ .WithHeader("x-sign", sign, replace: true));
+ var text = Encoding.GetEncoding("GBK").GetString(buffer);
+ lines = text.Split("\n").Where(it => it.IsNotNull()).ToList();
+ }
+ else if (options.Value.FilePath.IsNotNull())
+ {
+ var fileName = $"{options.Value.FilePath}{response.Cmp.BatchFileName}";
+ if (File.Exists(fileName))
+ {
+ var array = await File.ReadAllLinesAsync(fileName, Encoding.GetEncoding("GBK"));
+ lines = array.ToList();
+ }
+ }
+ if (lines.IsNotNull())
{
var props = typeof(T).GetProperties();
- var lines = await File.ReadAllLinesAsync(fileName, Encoding.GetEncoding("GBK"));
foreach (var line in lines)
{
var item = new T();
@@ -251,12 +287,12 @@
}
list.Add(item);
}
-
- log.UpdatedTime = DateTimeOffset.Now;
- var json = list.ToJson();
- log.Response += $"\n{json}";
- await repThreeResourceLog.UpdateNowAsync(log);
}
+
+ log.UpdatedTime = DateTimeOffset.Now;
+ var json = list.ToJson();
+ log.Response += $"\n{json}";
+ await repThreeResourceLog.UpdateNowAsync(log);
}
return list;
}
@@ -267,7 +303,16 @@
where TResponseItem : class, new()
{
var response = await SendWithLog<TRequest, TResponse>(request);
- response.response.Items = await GetList<TResponseItem>(response.response, response.log);
+ response.response.Items = await GetList(response.response, response.log);
+ return response.response;
+ }
+
+ private async Task<TResponse> SendWithZip<TRequest, TResponse>(TRequest request)
+ where TRequest : NongYePayBaseRequest
+ where TResponse : NongYePayZipResponse, new()
+ {
+ var response = await SendWithLog<TRequest, TResponse>(request);
+ response.response.Items = await GetZipFiles(response.response);
return response.response;
}
diff --git a/ApiTools.Web.Entry/appsettings.json b/ApiTools.Web.Entry/appsettings.json
index e563143..e9961f1 100644
--- a/ApiTools.Web.Entry/appsettings.json
+++ b/ApiTools.Web.Entry/appsettings.json
@@ -97,11 +97,13 @@
"MrChCode": "0040107980000NBCS000"
},
"NongYePay": {
- "Ip": "127.0.0.1",
- "Port": 15999,
+ "Ip": "120.26.58.240",
+ "Port": 15998,
"CorpNo": "14314153600000025",
"OpNo": "0004",
- "FilePath": "C:\\Program Files (x86)\\涓浗鍐滀笟閾惰\\涓浗鍐滀笟閾惰閾朵紒閫氬钩鍙癨\detail\\"
+ "FilePath": "C:\\Program Files (x86)\\涓浗鍐滀笟閾惰\\涓浗鍐滀笟閾惰閾朵紒閫氬钩鍙癨\detail\\",
+ "RemoteFileUrl": "http://120.26.58.240:50300",
+ "RemoteFilePrivateKey": "78e9f45d87a2b9c4e6f879a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0"
},
"ChengLiYeSms": {
"UserName": "nbcsxx",
--
Gitblit v1.10.0