Browse Source

wms接口传数据少数据问题处理

dev_DY_CC
lvzb 1 year ago
parent
commit
780a98e20b
  1. 14
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/OutgoingFromWmsWorker.cs
  2. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs
  3. 14
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/ExchangeDataAppService.cs
  4. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/ExchangeDatas/ExchangeDataManager.cs

14
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/OutgoingFromWmsWorker.cs

@ -33,7 +33,7 @@ public class OutgoingFromWmsWorker : AsyncPeriodicBackgroundWorkerBase
var outgoingFromWmsManager = workerContext.ServiceProvider.GetRequiredService<OutgoingFromWmsManager>();
//Do the work
var batchSize = _options.BatchSize;
var batchSize = 10;
//List<Filter> filters = new List<Filter>();
//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<ExchangeDataDTO>, List<OutgoingFromWms>>(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;
}
}
}

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/ExchangeDatas/IExchangeDataAppService.cs

@ -14,4 +14,5 @@ public interface IExchangeDataAppService
Task<List<ExchangeDataDTO>> GetToBeProcessedListPostAsync(int batchSize);
Task<List<ExchangeDataDTO>> GetToBeProcessedListOnlyReadAsync(int batchSize);
Task<List<ExchangeDataDTO>> UpdateStatusByIdListAsync(List<Guid> list);
Task<List<ExchangeDataDTO>> UpdateManyAsync(List<ExchangeDataDTO> dtos);
}

14
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<ExchangeData>, List<ExchangeDataDTO>>(resultList);
return dtos;
}
[HttpPost("update-many")]
public virtual async Task<List<ExchangeDataDTO>> UpdateManyAsync(List<ExchangeDataDTO> dtos)
{
var list = ObjectMapper.Map<List<ExchangeDataDTO>, List<ExchangeData>>(dtos);
list.ForEach(p =>
{
p.Status = EnumExchangeDataStatus.Success;
p.ReadTime = Clock.Now;
p.Reader = "DataExchange.Agent";
});
await _repository.UpdateManyAsync(list).ConfigureAwait(false);
return dtos;
}
}

12
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;
}

Loading…
Cancel
Save