Browse Source

客户退拆中止申请完成任务

dev_DY_CC
lvzb 1 year ago
parent
commit
6e9f907b4f
  1. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ProductRecycleJobs/IProductRecycleJobAppService.cs
  2. 23
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductRecycleJobs/ProductRecycleJobAppService.cs
  3. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ProductRecycleRequestEventHandler.cs

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/ProductRecycleJobs/IProductRecycleJobAppService.cs

@ -7,5 +7,5 @@ public interface IProductRecycleJobAppService
: ISfsJobAppServiceBase<ProductRecycleJobDTO, SfsJobRequestInputBase, ProductRecycleJobCheckInput, ProductRecycleJobEditInput>
{
Task<ProductRecycleJobDTO> CompleteByRequestNumberAsync(string number);
}

23
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductRecycleJobs/ProductRecycleJobAppService.cs

@ -8,6 +8,10 @@ using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
using Volo.Abp.Domain.Entities;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
using Volo.Abp.Users;
using Volo.Abp.Domain.Repositories;
namespace Win_in.Sfs.Wms.Store.Application;
@ -19,13 +23,14 @@ public class ProductRecycleJobAppService
, IProductRecycleJobAppService
{
private readonly IProductRecycleJobManager _productRecycleJobManager;
private readonly IProductRecycleJobRepository _repository;
private readonly IProductRecycleRequestAppService _productRecycleRequestAppService;
public ProductRecycleJobAppService(
IProductRecycleJobRepository repository, IProductRecycleJobManager productRecycleJobManager,
IProductRecycleRequestAppService productRecycleRequestAppService)
: base(repository, productRecycleJobManager)
{
_repository = repository;
_productRecycleJobManager = productRecycleJobManager;
_productRecycleRequestAppService = productRecycleRequestAppService;
}
@ -55,4 +60,20 @@ public class ProductRecycleJobAppService
var handleDto = ObjectMapper.Map<ProductRecycleJob, ProductRecycleJobDTO>(handleResult);
return handleDto;
}
/// <summary>
/// 根据请求号完成任务
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
[HttpPost("complete-by-request-number")]
public async Task<ProductRecycleJobDTO> CompleteByRequestNumberAsync(string number)
{
var entity = await _repository.FirstOrDefaultAsync(r => r.RequestNumber == number).ConfigureAwait(false);
await entity.CompleteAsync(CurrentUser.Id, CurrentUser.Name, Clock.Now).ConfigureAwait(false);
var updatejob = await _repository.UpdateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<ProductRecycleJob, ProductRecycleJobDTO>(updatejob);
return dto;
}
}

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ProductRecycleRequestEventHandler.cs

@ -21,6 +21,7 @@ public class ProductRecycleRequestEventHandler
, ILocalEventHandler<SfsHandledEntityEventData<ProductRecycleRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<ProductRecycleRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<ProductRecycleRequest>>>
, ILocalEventHandler<SfsAbortedEntityEventData<ProductRecycleRequest>>
{
private readonly IProductRecycleJobAppService _productRecycleJobAppService;
private readonly IProductRecycleNoteAppService _productRecycleNoteApp;
@ -50,6 +51,21 @@ public class ProductRecycleRequestEventHandler
}
/// <summary>
/// 中止
/// </summary>
/// <param name="eventData"></param>
/// <returns></returns>
/// <exception cref="System.NotImplementedException"></exception>
[UnitOfWork]
public async Task HandleEventAsync(SfsAbortedEntityEventData<ProductRecycleRequest> eventData)
{
var number = eventData.Entity?.Number;
if (!string.IsNullOrEmpty(number))
{
await _productRecycleJobAppService.CompleteByRequestNumberAsync(number).ConfigureAwait(false);
}
}
/// <summary>
/// 创建后
/// </summary>
@ -278,6 +294,8 @@ public class ProductRecycleRequestEventHandler
return detailInput;
}
#endregion

Loading…
Cancel
Save