From 780a98e20b137399cc274bc2cb333dcc60f2c8df Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Wed, 10 Apr 2024 11:14:47 +0800 Subject: [PATCH] =?UTF-8?q?wms=E6=8E=A5=E5=8F=A3=E4=BC=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=B0=91=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OutgoingFromWmsWorker.cs | 14 ++++++++++++-- .../ExchangeDatas/IExchangeDataAppService.cs | 1 + .../ExchangeDatas/ExchangeDataAppService.cs | 14 ++++++++++++++ .../ExchangeDatas/ExchangeDataManager.cs | 12 ++++++------ 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/OutgoingFromWmsWorker.cs b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/OutgoingFromWmsWorker.cs index 45d3575ef..123fee399 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/OutgoingFromWmsWorker.cs +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/OutgoingFromWmsWorker.cs @@ -33,7 +33,7 @@ public class OutgoingFromWmsWorker : AsyncPeriodicBackgroundWorkerBase var outgoingFromWmsManager = workerContext.ServiceProvider.GetRequiredService(); //Do the work - var batchSize = _options.BatchSize; + var batchSize = 10; //List filters = new List(); //filters.Add( new Filter("Status", EnumExchangeDataStatus.Unread.ToString())); //var input = new SfsStoreRequestInputBase @@ -47,7 +47,17 @@ public class OutgoingFromWmsWorker : AsyncPeriodicBackgroundWorkerBase //var exchangeDataList = await exchangeDataAppService.GetAllListByFilterAsync(input).ConfigureAwait(false); var exchangeDataList = await exchangeDataAppService.GetToBeProcessedListAsync(batchSize).ConfigureAwait(false); var outgoingFromWmsList = objectMapper.Map, List>(exchangeDataList); - await outgoingFromWmsManager.CreateManyAsync(outgoingFromWmsList).ConfigureAwait(false); + + try + { + await outgoingFromWmsManager.CreateManyAsync(outgoingFromWmsList).ConfigureAwait(false); + await exchangeDataAppService.UpdateManyAsync(exchangeDataList).ConfigureAwait(false); + } + catch (System.Exception ex) + { + + throw ex; + } } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs index 922964398..b0be81c89 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs @@ -14,4 +14,5 @@ public interface IExchangeDataAppService Task> GetToBeProcessedListPostAsync(int batchSize); Task> GetToBeProcessedListOnlyReadAsync(int batchSize); Task> UpdateStatusByIdListAsync(List list); + Task> UpdateManyAsync(List dtos); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs index 2f3f76b7a..499737da7 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs @@ -142,4 +142,18 @@ public class ExchangeDataAppService var dtos = ObjectMapper.Map, List>(resultList); return dtos; } + + [HttpPost("update-many")] + public virtual async Task> UpdateManyAsync(List dtos) + { + var list = ObjectMapper.Map, List>(dtos); + list.ForEach(p => + { + p.Status = EnumExchangeDataStatus.Success; + p.ReadTime = Clock.Now; + p.Reader = "DataExchange.Agent"; + }); + await _repository.UpdateManyAsync(list).ConfigureAwait(false); + return dtos; + } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/ExchangeDataManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/ExchangeDataManager.cs index d7bf10578..425a6b09e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/ExchangeDataManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/ExchangeDataManager.cs @@ -43,14 +43,14 @@ public class ExchangeDataManager : DomainService, IExchangeDataManager .Take(batchSize) .ToListAsync().ConfigureAwait(false); - foreach (var entity in entities) - { + //foreach (var entity in entities) + //{ - entity.Status = EnumExchangeDataStatus.Success; - entity.ReadTime = Clock.Now; - entity.Reader = "DataExchange.Agent"; + // entity.Status = EnumExchangeDataStatus.Success; + // entity.ReadTime = Clock.Now; + // entity.Reader = "DataExchange.Agent"; - } + //} return entities; }