diff --git a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs index fe3ae388..f4a9b4ca 100644 --- a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs @@ -6,8 +6,6 @@ using Microsoft.Extensions.Caching.Memory; using Newtonsoft.Json; using QuanTan.SDK.Client; using QuanTan.SDK.Model; -using System; -using System.Collections.Generic; using System.Linq; namespace BBWY.Server.Business { @@ -18,7 +16,7 @@ namespace BBWY.Server.Business public QuanTanBusiness(IMemoryCache memoryCache, NLogManager nLogManager, RestApiService restApiService) : base(memoryCache, nLogManager) { - this.quanTanOrderClient = new QuanTanOrderClient(restApiService); + this.quanTanOrderClient = new QuanTanOrderClient(restApiService, nLogManager.Default()); } public override PreviewOrderResponse PreviewOrder(PreviewOrderReuqest previewOrderReuqest) diff --git a/QuanTan.SDK/Client/BaseClient.cs b/QuanTan.SDK/Client/BaseClient.cs index d836a87f..d36544d1 100644 --- a/QuanTan.SDK/Client/BaseClient.cs +++ b/QuanTan.SDK/Client/BaseClient.cs @@ -13,9 +13,12 @@ namespace QuanTan.SDK.Client protected readonly string host = "https://qt.qiyue666.com/"; - public BaseClient(RestApiService restApiService) + private NLog.ILogger logger; + + public BaseClient(RestApiService restApiService, NLog.ILogger logger) { this.restApiService = restApiService; + this.logger = logger; } public QuanTanResponse SendRequest(string apiPath, object param, string appId, string appSecret) @@ -42,16 +45,25 @@ namespace QuanTan.SDK.Client Params = paramStr, token = qtToken }; - + RestApiResult restApiResult = null; try { - var restApiResult = restApiService.SendRequest(host, apiPath, requestParam, null, HttpMethod.Post); + restApiResult = restApiService.SendRequest(host, apiPath, requestParam, null, HttpMethod.Post); if (restApiResult.StatusCode != System.Net.HttpStatusCode.OK) throw new Exception(restApiResult.Content); return JsonConvert.DeserializeObject>(restApiResult.Content); } catch (Exception ex) { + if (logger != null) + { + try + { + logger.Error(ex, $"Request {JsonConvert.SerializeObject(requestParam)}\r\nResponse {(restApiResult == null ? string.Empty : JsonConvert.SerializeObject(restApiResult))}"); + } + catch { } + } + return new QuanTanResponse() { Status = 0, Message = ex.Message }; } } diff --git a/QuanTan.SDK/Client/QuanTanOrderClient.cs b/QuanTan.SDK/Client/QuanTanOrderClient.cs index ebc1bb8e..46013ca3 100644 --- a/QuanTan.SDK/Client/QuanTanOrderClient.cs +++ b/QuanTan.SDK/Client/QuanTanOrderClient.cs @@ -5,7 +5,7 @@ namespace QuanTan.SDK.Client { public class QuanTanOrderClient : BaseClient { - public QuanTanOrderClient(RestApiService restApiService) : base(restApiService) + public QuanTanOrderClient(RestApiService restApiService, NLog.ILogger logger) : base(restApiService, logger) { } diff --git a/QuanTan.SDK/Client/QuanTanProductClient.cs b/QuanTan.SDK/Client/QuanTanProductClient.cs index b88d4484..45e2126a 100644 --- a/QuanTan.SDK/Client/QuanTanProductClient.cs +++ b/QuanTan.SDK/Client/QuanTanProductClient.cs @@ -4,7 +4,7 @@ namespace QuanTan.SDK.Client { public class QuanTanProductClient : BaseClient { - public QuanTanProductClient(RestApiService restApiService) : base(restApiService) + public QuanTanProductClient(RestApiService restApiService) : base(restApiService, null) { } diff --git a/QuanTan.SDK/QuanTan.SDK.csproj b/QuanTan.SDK/QuanTan.SDK.csproj index fa845a9f..4edef9c5 100644 --- a/QuanTan.SDK/QuanTan.SDK.csproj +++ b/QuanTan.SDK/QuanTan.SDK.csproj @@ -8,6 +8,7 @@ +