From 64ac71f73f426fa8c8e2cbe34b600a152fc15406 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Mon, 14 Aug 2023 10:23:43 +0800 Subject: [PATCH] =?UTF-8?q?wms=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataExchangeOptions.cs | 1 + .../IncomingToWmsWorker.cs | 54 +++++++++++-------- .../appsettings.json | 10 ++-- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/DataExchangeOptions.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/DataExchangeOptions.cs index 1dc8acf8c..1731c384a 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/DataExchangeOptions.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/DataExchangeOptions.cs @@ -12,6 +12,7 @@ public class IncomingOptions public int PeriodSeconds { get; set; } = 5 * 60; public int RetryTimes { get; set; } = 3; public int BatchSize { get; set; } = 100; + public string apiUrl { get; set; } = ""; } public class OutgoingOptions diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs index 347421104..dcd78cc32 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs @@ -141,7 +141,7 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase await incomingToWms.HandleAsnsAsync(workerContext).ConfigureAwait(false); break; case EnumIncomingDataType.ProductReceipt: - await SendProductReceipt(workerContext, incomingToWms); + await SendProductReceipt(workerContext, incomingToWms).ConfigureAwait(false); break; case EnumIncomingDataType.MaterialRequest: await incomingToWms.HandleMaterialRequestsAsync(workerContext).ConfigureAwait(false); @@ -169,34 +169,44 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase private async Task SendProductReceipt(PeriodicBackgroundWorkerContext workerContext, IncomingToWms incomingToWms) { // 定义请求的 URL - string apiUrl = "http://10.164.113.31:60085/api/wms/store/product-receipt-note"; - - var productReceiptJson = JsonSerializer.Deserialize(incomingToWms.DataContent); - try + // string apiUrl = "http://10.164.113.31:60085/api/wms/store/product-receipt-note"; + + string apiUrl = _options.Value.IncomingOptions.apiUrl; + + if (!string.IsNullOrEmpty(apiUrl)) { - - // 将参数转换为 JSON 格式 - string jsonContent = JsonSerializer.Serialize(productReceiptJson); + var productReceiptJson = JsonSerializer.Deserialize(incomingToWms.DataContent); + try + { + + // 将参数转换为 JSON 格式 + string jsonContent = JsonSerializer.Serialize(productReceiptJson); - // 创建请求的内容 - StringContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); + // 创建请求的内容 + StringContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); - - // 发送 POST 请求 - HttpResponseMessage response = await _httpClient.PostAsync(apiUrl, content); - // 确保响应成功 - response.EnsureSuccessStatusCode(); + // 发送 POST 请求 + HttpResponseMessage response = await _httpClient.PostAsync(apiUrl, content).ConfigureAwait(false); - // 读取响应内容并返回 - string responseBody = await response.Content.ReadAsStringAsync(); + // 确保响应成功 + response.EnsureSuccessStatusCode(); + + // 读取响应内容并返回 + string responseBody = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + } + catch (HttpRequestException ex) + { + // 处理请求异常 + // 可以记录日志或者抛出异常 + Console.WriteLine(ex.Message); + //incomingToWms.SetError(EnumExchangeDataErrorCode.Exception, ex.Message); + } } - catch (HttpRequestException ex) + else { - // 处理请求异常 - // 可以记录日志或者抛出异常 - Console.WriteLine(ex.Message); - //incomingToWms.SetError(EnumExchangeDataErrorCode.Exception, ex.Message); + Console.WriteLine("apiUrl未配置!"); + } //finally //{ diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json index bf959b2e1..c3163280c 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json @@ -1,7 +1,7 @@ { "ConnectionStrings": { - "Default": "Server=10.164.113.32,1818\\SHDB;Database=WMS_DongYang_DataExchange;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True", - "DataExchange": "Server=10.164.113.32,1818\\SHDB;Database=WMS_DongYang_DataExchange;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True" + "Default": "Server=10.164.113.32,1818\\SHDB;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True", + "DataExchange": "Server=10.164.113.32,1818\\SHDB;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ShWmsUser;pwd=Faty@Wms_20230413#SH;TrustServerCertificate=True" }, @@ -43,7 +43,8 @@ "Active": true, "PeriodSeconds": 10, "RetryTimes": 3, - "BatchSize": 100 + "BatchSize": 100, + "apiUrl": "http://10.164.113.31:60085/api/wms/store/product-receipt-note" }, "OutgoingOptions": { "Active": false, @@ -58,3 +59,6 @@ } + + +