Browse Source

wms接口优化

集成Redis
lvzb 2 years ago
parent
commit
64ac71f73f
  1. 1
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/DataExchangeOptions.cs
  2. 18
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs
  3. 10
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json

1
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

18
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,8 +169,12 @@ 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";
// string apiUrl = "http://10.164.113.31:60085/api/wms/store/product-receipt-note";
string apiUrl = _options.Value.IncomingOptions.apiUrl;
if (!string.IsNullOrEmpty(apiUrl))
{
var productReceiptJson = JsonSerializer.Deserialize<ProductReceiptNoteEditInput>(incomingToWms.DataContent);
try
{
@ -183,13 +187,13 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase
// 发送 POST 请求
HttpResponseMessage response = await _httpClient.PostAsync(apiUrl, content);
HttpResponseMessage response = await _httpClient.PostAsync(apiUrl, content).ConfigureAwait(false);
// 确保响应成功
response.EnsureSuccessStatusCode();
// 读取响应内容并返回
string responseBody = await response.Content.ReadAsStringAsync();
string responseBody = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
}
catch (HttpRequestException ex)
{
@ -198,6 +202,12 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase
Console.WriteLine(ex.Message);
//incomingToWms.SetError(EnumExchangeDataErrorCode.Exception, ex.Message);
}
}
else
{
Console.WriteLine("apiUrl未配置!");
}
//finally
//{
// //Resolve dependencies

10
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 @@
}

Loading…
Cancel
Save