From 6ac9383c7cbc0c46d3407c5d7b0ad1de4afe01c5 Mon Sep 17 00:00:00 2001 From: "mingliang.tang" <1448969505@qq.com> Date: Fri, 4 Aug 2023 19:20:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IncomingToWmsWorker.cs | 33 ++++++++++--------- .../IncomingToWms/IIncomingToWmsManager.cs | 2 ++ .../IncomingToWms/IncomingToWmsManager.cs | 10 ++++++ 3 files changed, 29 insertions(+), 16 deletions(-) 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 f1689ec0a..2a2dcb714 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 @@ -168,30 +168,19 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase private async Task SendProductReceipt(PeriodicBackgroundWorkerContext workerContext, IncomingToWms incomingToWms) { // 定义请求的 URL - string apiUrl = "http://localhost:59095/api/wms/store/product-receipt-note"; + string apiUrl = "http://dev.ccwin-in.com:60085/api/wms/store/product-receipt-note"; string authUrl = "http://dev.ccwin-in.com:60083"; var productReceiptJson = JsonSerializer.Deserialize(incomingToWms.DataContent); try { - Thread.Sleep(60000); + // 将参数转换为 JSON 格式 string jsonContent = JsonSerializer.Serialize(productReceiptJson); // 创建请求的内容 StringContent content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); - var result = await _httpClientFactory.CreateClient().RequestPasswordTokenAsync(new PasswordTokenRequest - { - Address = $"{authUrl.TrimEnd('/')}/connect/token", - GrantType = "password", - ClientId = "Auth_App", - ClientSecret = "1q2w3E*", - UserName = "jiekou1", - Password = "1q2w3E*" - }).ConfigureAwait(false); - - // 添加 Token 到请求头部 - _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken); + // 发送 POST 请求 HttpResponseMessage response = await _httpClient.PostAsync(apiUrl, content); @@ -205,9 +194,21 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase { // 处理请求异常 // 可以记录日志或者抛出异常 - Console.WriteLine(ex.Message); + Console.WriteLine(ex.Message); + incomingToWms.SetError(EnumExchangeDataErrorCode.Exception, ex.Message); } + finally + { + //Resolve dependencies + var incomingToWmsManager = workerContext.ServiceProvider.GetRequiredService(); + //Do the work + var incomingToWmsList = await incomingToWmsManager.GetToBeProcessedListAsync().ConfigureAwait(false); + //归档并删除 + await incomingToWmsManager.ArchiveAutoSaveAsync(incomingToWms).ConfigureAwait(false); + + } + + // await incomingToWms.HandleProductReceiptsAsync(workerContext).ConfigureAwait(false); - await incomingToWms.HandleProductReceiptsAsync(workerContext).ConfigureAwait(false); } } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IIncomingToWmsManager.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IIncomingToWmsManager.cs index 19493cd9e..91aeddc80 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IIncomingToWmsManager.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IIncomingToWmsManager.cs @@ -13,4 +13,6 @@ public interface IIncomingToWmsManager : IDomainService Task ArchiveAsync(IncomingToWms entity); Task ArchiveManyAsync(List entities); Task> CreateBulkAsync(List entities); + + Task ArchiveAutoSaveAsync(IncomingToWms entity); } diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IncomingToWmsManager.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IncomingToWmsManager.cs index dbbc672e8..557bb74a6 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IncomingToWmsManager.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingToWms/IncomingToWmsManager.cs @@ -55,6 +55,16 @@ public class IncomingToWmsManager : DomainService, IIncomingToWmsManager await _archivedRepository.InsertAsync(archivedEntity).ConfigureAwait(false); } + [UnitOfWork] + public virtual async Task ArchiveAutoSaveAsync(IncomingToWms entity) + { + await _repository.DeleteAsync(entity,true).ConfigureAwait(false); + + var archivedEntity = _objectMapper.Map(entity); + + await _archivedRepository.InsertAsync(archivedEntity, true).ConfigureAwait(false); + } + [UnitOfWork] public virtual async Task ArchiveManyAsync(List entities) {