From a26521d671addc34e3b5de10a360070f81184620 Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期五, 21 三月 2025 16:19:20 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi --- LifePayment/LifePayment.Worker/LifePaymentServicesWorkModule.cs | 28 ++++++ LifePayment/LifePayment.Worker/LifePayment.Worker.csproj | 6 - LifePayment/LifePayment.Worker/appsettings.json | 134 ++++++++++++++++++--------------- LifePayment/LifePayment.Worker/Worker/GetStaticsWorker.cs | 46 +++++++++++ 4 files changed, 146 insertions(+), 68 deletions(-) diff --git a/LifePayment/LifePayment.Worker/LifePayment.Worker.csproj b/LifePayment/LifePayment.Worker/LifePayment.Worker.csproj index 75c0cf5..dee56af 100644 --- a/LifePayment/LifePayment.Worker/LifePayment.Worker.csproj +++ b/LifePayment/LifePayment.Worker/LifePayment.Worker.csproj @@ -10,12 +10,6 @@ </PropertyGroup> <ItemGroup> - <Compile Remove="Worker\**" /> - <EmbeddedResource Remove="Worker\**" /> - <None Remove="Worker\**" /> - </ItemGroup> - - <ItemGroup> <None Remove="appsettings.json" /> </ItemGroup> diff --git a/LifePayment/LifePayment.Worker/LifePaymentServicesWorkModule.cs b/LifePayment/LifePayment.Worker/LifePaymentServicesWorkModule.cs index 13ba661..b1b3e1f 100644 --- a/LifePayment/LifePayment.Worker/LifePaymentServicesWorkModule.cs +++ b/LifePayment/LifePayment.Worker/LifePaymentServicesWorkModule.cs @@ -1,10 +1,15 @@ +using Alipay.EasySDK.Factory; using Alipay.EasySDK.Kernel; using LifePayment.Application; +using LifePayment.Domain.Shared; using LifePayment.EntityFrameworkCore; +using LifePayment.Worker.Worker; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Serilog; using Volo.Abp; +using Volo.Abp.BackgroundWorkers; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.Identity; using Volo.Abp.IdentityServer.EntityFrameworkCore; @@ -23,6 +28,10 @@ public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); + + //Configure<AliYunSMSSettingOptions>(configuration.GetSection("AliYunSMSSetting")); + context.Services.AddAutoMapperObjectMapper(); + ConfigurePays(context, configuration); Configure<AbpDbContextOptions>(options => { options.UseSqlServer(); @@ -33,12 +42,29 @@ c.AddConsole().SetMinimumLevel(LogLevel.Warning); }); - Configure<Config>(configuration.GetSection("AliPay")); + this.Configure<OssSettings>(configuration.GetSection("ossSettings")); + this.Configure<ACOOLYOption>(configuration.GetSection("ACOOLY")); + this.Configure<Config>("AliPayEcsign", configuration.GetSection("AliPayEcsign")); + this.Configure<InformationOption>(configuration.GetSection("WeiXinCgi")); } public async override Task OnApplicationInitializationAsync(ApplicationInitializationContext context) { + await context.AddBackgroundWorkerAsync<GetStaticsWorker>(); + } + private void ConfigurePays(ServiceConfigurationContext context, IConfiguration configuration) + { + Configure<WxPayOption>(configuration.GetSection("WxPay")); + context.Services.AddHttpClient(LifePaymentConstant.WxPayHttpClientName, config => + { + config.Timeout = TimeSpan.FromSeconds(120); + config.DefaultRequestHeaders.Add("Connection", "Keep-Alive"); + config.DefaultRequestHeaders.Add("User-Agent", "Aop4Net"); + config.DefaultRequestHeaders.Add("Accept", "application/json"); + }); + Configure<Config>(configuration.GetSection("AliPay")); + PostConfigure<Config>(r => { Factory.SetOptions(r); }); } } } \ No newline at end of file diff --git a/LifePayment/LifePayment.Worker/Worker/GetStaticsWorker.cs b/LifePayment/LifePayment.Worker/Worker/GetStaticsWorker.cs new file mode 100644 index 0000000..d0e6ef7 --- /dev/null +++ b/LifePayment/LifePayment.Worker/Worker/GetStaticsWorker.cs @@ -0,0 +1,46 @@ +锘縰sing LifePayment.Application.Contracts; +using LifePayment.Domain; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.BackgroundWorkers; +using Volo.Abp.Threading; +using Volo.Abp.Uow; + +namespace LifePayment.Worker.Worker +{ + public class GetStaticsWorker : AsyncPeriodicBackgroundWorkerBase + { + private readonly ILifePayService _lifePayService; + private readonly int _doWorkHour = 0; + private readonly int _doWorkMinute = 30; + public GetStaticsWorker(AbpAsyncTimer timer, IServiceScopeFactory serviceScopeFactory, ILifePayService lifePayService) : base(timer, serviceScopeFactory) + { + _lifePayService = lifePayService; + timer.Period = PeriodTool.CalcuPeriodFromEveryDayTime(_doWorkHour, _doWorkMinute, 0); + //timer.Period =5 * 60000; + } + + [UnitOfWork] + protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) + { + try + { + await _lifePayService.GetTopStatistics(); + Logger.LogError($"鑾峰彇缁熻淇℃伅寮�濮�: {DateTime.Now}"); + } + catch (Exception ex) + { + Logger.LogError($"鑾峰彇缁熻淇℃伅閿欒: {DateTime.Now}" + ex.Message); + } + + + } + } + +} diff --git a/LifePayment/LifePayment.Worker/appsettings.json b/LifePayment/LifePayment.Worker/appsettings.json index ce82f8c..6a600f9 100644 --- a/LifePayment/LifePayment.Worker/appsettings.json +++ b/LifePayment/LifePayment.Worker/appsettings.json @@ -14,8 +14,8 @@ }, "ConnectionStrings": { //"LifePayment": "Server=120.26.58.240; Database=Dev_12333; User=bole;Password=Blym123!@#$" - "AbpIdentity": "Server=120.26.58.240; Database=Dev_12333Identity; User=bole;Password=Bole147258", - "LifePayment": "Server=120.26.58.240; Database=Dev_12333; User=bole;Password=Bole147258" + "AbpIdentity": "Server=120.26.58.240; Database=Dev_LifePaymentIdentity; User=bole;Password=Bole147258", + "LifePaymentServices": "Server=120.26.58.240; Database=Dev_LifePayment; User=bole;Password=Bole147258" }, "App": { "CorsOrigins": "http://localhost:31804" @@ -26,39 +26,81 @@ "Redis": { "Configuration": "localhost:6379" }, - "RabbitMQ": { - "Connections": { - "Default": { - "HostName": "118.178.252.28", - "UserName": "admin", - "Password": "Bole12345678", - "Port": "5672" - } - }, - "EventBus": { - "ClientName": "MsDemo_LifePaymentService_Development", - "ExchangeName": "MsDemo_Development" - } + "AliYunSMSSetting": { + "AliYunSmsAccessId": "LTAI4G5qXfYeS14JxEeN9JxF", + "SignName": "浜哄姏鏃犲咖浜戝钩鍙�", + "AliYunSmsAccessSecret": "SL2Ta1s3e80Dp14i2XR8aJQS6cMIWG", + "AliYunSmsDomain": "dysmsapi.aliyuncs.com", + "AliYunSmsRegionId": "cn-hangzhou", + "ClaimNoticeSMSCode": "SMS_477970045", + "DefaultSendPhone": "17858022569" //"18957421305" }, - "CaiNiao": { - "RequestUrl": "https://link.cainiao.com/gateway/link.do", - "LogisticProviderId": "a64af01f0596d347c7fc5670a1b57d4b", - "AppKey": "528970", - "AppSecret": "2eu3Z8O0i070m313EO5x386nl2U66428" - }, - "Logging": { - "LogLevel": { - "Default": "Warning" - } - }, - "WxMiniApp": { + "WxCClientApp": { "Url": "https://api.weixin.qq.com", "EnvVersion": "trial", //灏忕▼搴忕増鏈�傛寮忕増涓� "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop", "SignUpPage": "subpackages/login/authorization/authorization", //鎵爜娉ㄥ唽/鐧诲綍鍏ュ彛椤� - "AppId": "wx9d32ea368fdac12c", - "Secret": "bb4b77347568dc53e4ad800abee9cf09", + "AppId": "wxb9e0baf4f87aa0de ", + "Secret": "24abded2cd32b677b1f14ea9ec5767f0", "CheckPath": false, - "AppName": "818琛屼笟璧勮" + "AppName": "C绔鎴风" + }, + "InitSetting": { + "SelfSupportingServiceName": "澹硅窗鍙佸弫鍙佷俊鎭妧鏈�", + "PlatServicePhone": "13005741111", + "SendPhoneMesssageCodeProviderName": "鐧诲綍娉ㄥ唽楠岃瘉鐮�", + "PhoneMsgLoginCodeValidTime ": 5, //鐧诲綍楠岃瘉鐮佹湁鏁堟椂闂达紙鍗曚綅鍒嗭級 + "LoginQrCodeValidTime": 120, //鐧诲綍浜岀淮鐮佹湁鏁堟椂闂达紙鍗曚綅绉掞級 + "ProductCommentCount": 100, + "HeadlineInformationCount": 10, + "MyRecentCount": 10, + "ReceivingAccount": "94090078801900002102", //鏀舵璐︽埛 + "ReceivingCompanyName": "瀹佹尝鍒涜儨淇℃伅鎶�鏈湇鍔℃湁闄愬叕鍙�", //鏀舵鍏徃 + "ReceivingBankName": "涓婃捣娴︿笢鍙戝睍閾惰瀹佹尝姹熷寳鏀", //鏀舵閾惰 + "UserCertificationAmount": 123.33, //鐢ㄦ埛璁よ瘉璐圭敤閲戦 + "UserCertificationReceivingRemark": "浼佷笟瀹炲悕璁よ瘉", //鐢ㄦ埛璁よ瘉鏀舵澶囨敞 + "EnterprisePowerAttorneyTempPath": "/%E4%BC%81%E4%B8%9A%E6%8E%88%E6%9D%83%E4%B9%A6%E6%A8%A1%E6%9D%BF.docx", //鎺堟潈涔︽ā鏉� + "AuthenticationHelpUrl": "https://www.rlwyyun.com/Help/FAQDetail/e44e0b1d-e1ee-5a5e-d9b3-3a138db1edd4", //FAQ閾炬帴 + "IDPhoteTempPath": "/%E8%BA%AB%E4%BB%BD%E8%AF%81%E7%85%A7%E7%89%87%E7%A4%BA%E4%BE%8B.png", //韬唤璇佺収鐗囩ず渚� + "UserCertificationAuditCodeProviderName": "UserCertificationAudit", //鐢ㄦ埛璁よ瘉楠岃瘉鐮佹ā鏉垮悕绉� + "UserCertificationAuditCodeValidTime": 5, //鐢ㄦ埛璁よ瘉楠岃瘉鐮佹湁鏁堟椂闂�(鍒嗛挓) + "UserCertificationValidTime": 365, //鐢ㄦ埛璁よ瘉鏈夋晥鏃堕棿(澶�) + "UserCertificationComingExpirationTime": 30, //鐢ㄦ埛璁よ瘉鍗冲皢杩囨湡鏃堕棿(澶�)锛屽埌鏈熷墠{UserCertificationComingExpirationTime}澶╁皢寮�鍚勾瀹″苟鍙戦�佹彁閱掓秷鎭� + "UserCertificationPayDescription": "鐢ㄦ埛璁よ瘉", //鐢ㄦ埛璁よ瘉鏀粯鎻忚堪 + "ChangeUserPhoneNumberForUserCodeProviderName": "ChangeUserPhoneNumberForUser", //鐢ㄦ埛鏇存敼鐧诲綍鎵嬫満鍙烽獙璇佺爜鐭俊妯℃澘鍚嶇О + "ChangeUserPhoneNumberForUserCodeValidTime": 5, //鐢ㄦ埛鏇存敼鐧诲綍鎵嬫満鍙烽獙璇佺爜鏈夋晥鏃堕棿(鍗曚綅鍒�) + "ChangePasswordFromPhoneNumberCodeProviderName": "ChangePasswordFromPhoneNumber", //鐢ㄦ埛鏍规嵁鎵嬫満鍙蜂慨鏀瑰瘑鐮侀獙璇佺爜妯℃澘鍚嶇О + "ChangePasswordFromPhoneNumberCodeValidTime": 5, //鐢ㄦ埛鏍规嵁鎵嬫満鍙蜂慨鏀瑰瘑鐮侀獙璇佺爜鏈夋晥鏃堕棿(鍗曚綅鍒�) + "OfflinePayEndDays": 3, //绾夸笅鏀粯姹囨鏃堕棿鏈�鏅氬ぉ鏁�(鍗曚綅锛氬ぉ) + "BankWalletAccountOpenCodeProviderName": "BankWalletAccountOpen", //閾惰閽卞寘寮�鎴烽獙璇佺爜妯℃澘鍚嶇О + "BankWalletAccountOpenCodeValidTime": 5, //閾惰閽卞寘寮�鎴烽獙璇佺爜鏈夋晥鏃堕棿(鍗曚綅鍒�) + "FaceAuthReturnUrl": "https://www.81812333.com/" + }, + "ACOOLY": { + "PartnerId": "250220171531F0572977", + "SecrtKey": "d2fd519f5ed71515c0f9f7231a81a7d6", + "ServerHost": "http://recharge.huazhiweilai.com/gateway.do", + "Accesskey": "250220171531F0572977", + //"NotifyUrl": "https://api.81812333.com" + "NotifyUrl": "https://testrlywx.boleyuma.com" + }, + "WxLifePayApp": { + "Url": "https://api.weixin.qq.com", + "EnvVersion": "trial", //灏忕▼搴忕増鏈�傛寮忕増涓� "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop", + "SignUpPage": "subpackages/login/authorization/authorization", //鎵爜娉ㄥ唽/鐧诲綍鍏ュ彛椤� + "AppId": "wx88251c84f5cd886b", + "Secret": "885e737a35a9385226793ca27c76816d", + "CheckPath": false, + "AppName": "鐢熸椿缂磋垂" + }, + "WxPay": { + "Mchid": "1679627608", + "Url": "https://api.mch.weixin.qq.com", + "AppID": "wxf940ff1d35a98493", + "APIKey": "NingBoChuangSheng818nbcsxxjsfwyx", + "APIPrivateKey": "MIIEpQIBAAKCAQEA7M9w/63JiWRd9p1jAvnwbz52VFLCyG5qQLwZQP1WqD8UpUtuaqpOA0RNuCXJuNjyDpwGJdEU1vOTTEmrSmJ+liMTBC2Am6k15my1mxkaei/3UtzJLxzptLROBkWDz9SIMtuhMA+ychmAgJwuMS6HaDqSvfa9sdBqSkZf7i2ZMOUaZPVr+rsDMjlYlp87MNTJzvPkKjIJdxGhRw0S1O5G3A7Q36zTu5heAnR6+S9MLlW4cWJ1Qn+DxS71oK1K9rHEloEqgBFZC8LFSPD6dJ9ls7kWSy897B2LiArWJW8m/DO5mqNpq+4lTaX9ZGvlOmRRekRX0pM8qbasRZpN9TXNHwIDAQABAoIBAQCpXsCqDYj8XC2cSfrb0Rl25wzIyJyJr/cMr7u8MLV/BgblJisl3QKI8ZxInbZGH9wYON1oxL6L8pAiWvpI7GMvTIy4SzcVnhNv58aH1I+MXqwcts6phJteZCr971AUICT9gvopHsD5PGYdFhcvk+DC2knD1ircd3zd/LF172UGgyWCiyernOWYVdt+1HiO3EQNYpuiS1aTaDzRsxR4UOv8Cjlj5jKxa5Grhe5OwzUmupj48slwVqBgfhbWP70ZzIbFfBbRpMMkcU20v0N6QK2I0GsQ5ZdXnZb9pXWcUfgu8TMvpEiUYlAZOvYmDq/mnXc8epr9YfVTWxwomfvSRcWBAoGBAPiSKqQTzU1XBhJgFU+q8VSDHMz7ZYgZ++Pp9Jxti9jDzThDIxBFWHWCybsaZd0VZmJbDX3lq7G3+n783cXDgWDubdY57wo7nBlhRbf3h3nbS53gzrJ1pfVwIL+rpb3MqvfNnq5ffsO13fpoudI17IaFyyQ3BJwPvLtiWJUvmyBfAoGBAPPjSxf/SLcfP7pBs87gEiOAEi3cGZcwfgQijbdI+7fb3zyHXxE1muiH7VOwcVFJ3GnggQcvH+sG1ChoFG1O4ZYxPlZeANtgVX+HikVIOuddP2nkOf7ogUhhJswS8qBnELjW24+mzBrlOdm4kBvppk9Mya+mmy37uwP0o96IIYtBAoGASMIIBzTgoCW72j8TndksgI9MK9feNUNdzq2ZcvxBtfZCKJjGN6oEpYjd4Y1tiZQM/vcl8Nb8Na3jfa4ogA2k3imMLuuQQ4+FNoyZaqrildGRxama9vOm2zux6kik3/R7isM+Ek5TfZfLXNOwqI4uKIYbGwObrs6QcMztnuVrY8MCgYEAqCSZPicre8zYg9IOZF9JQh5m6iUno3u0NaeY6rcvjBfTdYii+1tovE4SSjOIPJHem0RD0K8lo0Sm+mCfTKkokALNRoAyuQxWhcDtjEx7B83bDWdisKKdl0gblnCtw/aqqbS/1O8bIqPM2ZUMDaJtnZiEKEyGChLWYajFXYOfFMECgYEAv1UxaZDVdge7qulUBtbALmuRE2kl+NZiuTkb9hjvQTD9iKJ8xdxBMvRIHi7m9tm10whDXdYSYMESEeyhEGE2HNoPqr4r8E10aH5GqrsZ6oil5xOB81B6aHksEJG9WIzbMjnKo6KSjx8PxMng9+tlMMmG5kA368dHOxnQxBTcZh4=", + "APIPublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7M9w/63JiWRd9p1jAvnwbz52VFLCyG5qQLwZQP1WqD8UpUtuaqpOA0RNuCXJuNjyDpwGJdEU1vOTTEmrSmJ+liMTBC2Am6k15my1mxkaei/3UtzJLxzptLROBkWDz9SIMtuhMA+ychmAgJwuMS6HaDqSvfa9sdBqSkZf7i2ZMOUaZPVr+rsDMjlYlp87MNTJzvPkKjIJdxGhRw0S1O5G3A7Q36zTu5heAnR6+S9MLlW4cWJ1Qn+DxS71oK1K9rHEloEqgBFZC8LFSPD6dJ9ls7kWSy897B2LiArWJW8m/DO5mqNpq+4lTaX9ZGvlOmRRekRX0pM8qbasRZpN9TXNHwIDAQAB", + "SerialNo": "6DDD965D7597FA8280A0715306B86E77A87BA15B", + "NotifyUrl": "https://testrlywx.boleyuma.com" }, "AliPay": { "Protocol": "https", @@ -69,40 +111,10 @@ "MerchantCertPath": "Cert/appCertPublicKey_2021004171602214.crt", "AlipayCertPath": "Cert/alipayCertPublicKey_RSA2.crt", "AlipayRootCertPath": "Cert/alipayRootCert.crt", - "NotifyUrl": "https://api.81812333.com", + "NotifyUrl": "https://testrlywx.boleyuma.com", "EncryptKey": "jjy8A7hB/1Bkhg+8FtXyyg==", "AlipayPublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoDrOheetqHkE1RYaNhogP/iHVXEtGZW4A/JJnwpJs+6eLXfpXf/ecuywplDpgc/BXSUEnDaktUwceLXO8vdIf8h0y8yqWwYdgzC0xELYpTroK3dlNiShgVkUEeMXi+n3Mhjp9OVrqieggDI3YGzDBLY4UAWsXCcXnD+r/xIpT8keVMtb/LrUmL5XLvBVcn5MkJTAoeFt18EQXOLFN1+ldpaf9k+iyM2fbgXCc6InNSgHGSHZwhzm9t+cGqNd1ju/nQN9lHwKCDQPMn6cor2lsP1nsEfpHp2vdfNEdccVSRZB/kdtFzXEUpTFznz8+zK2D0Ra+B0G1nSxus9xsD3HmwIDAQAB" }, - "WeiXinCgi": { - "RequestUrl": "https://api.weixin.qq.com", - "AppId": "wxf940ff1d35a98493", - "AppSecret": "9a132eda735bc925200b0e215cffe20a" - }, - "PingAnBank": { - "EnterpriseCode": "0090102612410315087E", - "PlatAccount": "15576505688825", - "PlatAccountName": "瀹佹尝鍒涜儨淇℃伅鎶�鏈湇鍔℃湁闄愬叕鍙�", - "BecifNo": "680014037440", - "EnterpirseNo": "2002651390", - "AgreementCode": "04900", - "FilePath": "/PingAnBank/FileDown/", - "DownFilePath": "E:\\PingAnBank\\FileDown\\" - }, - "BestSign": { - "ServerHost": "https://openapi.bestsign.info/openapi/v2", - "DeveloperId": "1725525122018594134", - "PrivateKey": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCYgAe+dO3MFLsIzQlvsOATEvtTku87Ykn8vfKU61A7XcDsCXMrc2WSsVS/krkxTXFC+zZIs8TocOgsheusYtC3xmRBv2hQBaro+oeO7q0AKW1VdwYYShLh90xES+kDitWXWVSPVsTkVHdg3EHO531fpY3S7ymBH/5VxBsEVMfvXXD/F41/HclMfHhHHqDSQ4wGsR7sz23fZRpUyoJ5dr+xq4LD57Zl1kZTyrF3pQOhmlFQDpwYrcpYFDhur4sv7ZIviSFR7n4SJd6/7Mp2so6bS5zqbYkSL34Vv2F+SiBKn3ojZX9ZGeEN8kFNrcDvaUW0FFHtW6QiDhzanRbkrvvxAgMBAAECggEBAJY9nGOA4z4qNlHnXqKRCVEBZGXj3pkMroO3xyP76KF0Ljrc3IA0Qh+RYUMTlCwEdc9dmw9pPFcb1UD390VwXNyRMfisUGJ2EvlQyPiCICKGrdaDWpfXcl74ukSW3MvGncNsGKjW/UdOCAZ/OL5UxenTOrRTNvqlwHZSq6NKu2cPi5Uvxz+8Ct1NdcP2trXnLMQry1jtbgeD15OjJXklcjbhMxlCoLJRDvEagL7jB5lHt/ibXobONlNrfGPCn+iZDDSzd/nA2HYpCMX4ogqM8u0Zr8G6hSWi6/tbtpbO0nI5C6rxoC0Xym6q1qrDyId9K4eKm5iScykymlflSJKAwnkCgYEA1BPUt4G05KsFRQ6kl3h9vk45q3d0vhr91gAuNHVhkEbFS/P0Yy/KiSwchX+3Elj7X3CtFePcze4DPHQiVz8Nj8OxCUIHDM9RONf6cxrcEmj2w6w+/lUn0lDIPyyTIs3AWVOeAvVkAn/vuD3aJ31OvzqqUR8NgY9+n2Moj9PjMRMCgYEAuBV1XQF7Br1ck0T89sS/QDj50eqJ7dCPdYeMl1235pimJhYddOS526ULvqxqCP4lcDnQ2OHoGNowAbcKYpht7VpDz4fbIGFc1wMBdqUzeQ5iBk+IANZbkg09SjJKgzR9YIk+7+CVDKxMBi5OpF43eSQu682LNDvVG7aQBMNIw2sCgYAxPSl2Mbc+IDbpAa1VPbR0KtVY6jNAsCOfPAt+QoKUbNoB+HIVVVNA5ez5Ud2/dMloL1EAdBcf+NLnhk8y0oDjkBvaemoIn1nMSNjtQJ835wbkB2nYwwyr1/WmNUM0IXE3TCKzrSW7LtkJfdLYuE9ANu60RvFr01UizHLucdOd4QKBgQCMl270Yn4YjqVWoLjmqys6HInIJe3D4KbAZ48bx+r9RhaXPgqvTUUZmLsYnEu7pIbpaG62RgrieDl0Bdz7ollKjsb9iE/2MgYa/OOwPsnKKg75rOI9aXm0WUI3GaPJA1zCTu/vesG7VRgXHGTZqk+JyPXBCFHJyeyf5tWlnZREEwKBgG3stuJ+3fIFHzyxfrRyS6x0z2uLJXw3hbXMPLRZ6b3ioEIXHBPj7PiCUvtJl2AvjIuBVwIwpeKW/I8HFNBTgpKdkvtVKZ+qYguFrg2zg5XKvyF77f5Azmow3Op3bI70NXe4EGDwyiMDgZTl/UMTcN7zTygVIQjI34SLlSFlHQZD", - "SignTypeVersion": "signType=rsa/openapi/v2", - "SignType": "&signType=rsa", - "ContractDownload": "/storage/contract/download", - "FileDownload": "/storage/download", - "DownloadSignatureImage": "/signatureImage/user/download", - "Reg": "/user/reg", - "CommonTemplateId": "172707912110000001", - "ReturnUrlHost": "https://api.81812333.com/", - "SignReturnNotice": "api/BestSign/SignNotice", - "ChannelIntId": 10 - }, "AllowedHosts": "*" } -- Gitblit v1.9.1