Browse Source

单位缓存

bjmzak
wxd 2 years ago
parent
commit
1b5e8315d6
  1. 11
      src/Shentun.Peis.Application/CustomerOrgs/CustomerOrgAppService.cs

11
src/Shentun.Peis.Application/CustomerOrgs/CustomerOrgAppService.cs

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Caching.Memory;
using Shentun.Peis.CustomerOrgRegisters;
using Shentun.Peis.Enums;
using Shentun.Peis.HelperDto;
@ -39,13 +40,15 @@ namespace Shentun.Peis.CustomerOrgs
private readonly CustomerOrgManager _manager;
private readonly CustomerOrgRegisterManager _customerOrgRegisterManager;
private readonly CacheService _cacheService;
private readonly IMemoryCache _customerOrgCache;
public CustomerOrgAppService(
IRepository<CustomerOrg, Guid> repository,
IRepository<IdentityUser, Guid> userRepository,
CustomerOrgManager manager,
CustomerOrgRegisterManager customerOrgRegisterManager,
IRepository<CustomerOrgRegister, Guid> customerOrgRegisterRepository,
CacheService cacheService)
CacheService cacheService,
IMemoryCache customerOrgCache)
: base(repository)
{
_userRepository = userRepository;
@ -53,6 +56,7 @@ namespace Shentun.Peis.CustomerOrgs
this._customerOrgRegisterManager = customerOrgRegisterManager;
this._customerOrgRegisterRepository = customerOrgRegisterRepository;
_cacheService = cacheService;
_customerOrgCache = customerOrgCache;
}
/// <summary>
/// 获取通过主键
@ -179,6 +183,7 @@ namespace Shentun.Peis.CustomerOrgs
var customerOrgRegisterEntity = await _customerOrgRegisterManager.CreateAsync(entity.Id);
await _customerOrgRegisterRepository.InsertAsync(customerOrgRegisterEntity);
}
_customerOrgCache.Set(entity.Id, entity);
var dto = ObjectMapper.Map<CustomerOrg, CustomerOrgDto>(entity);
return dto;
}
@ -194,6 +199,7 @@ namespace Shentun.Peis.CustomerOrgs
var sourceEntity = ObjectMapper.Map<UpdateCustomerOrgDto, CustomerOrg>(input);
await _manager.UpdateAsync(sourceEntity, entity);
entity = await Repository.UpdateAsync(entity);
_customerOrgCache.Set(entity.Id, entity);
return ObjectMapper.Map<CustomerOrg, CustomerOrgDto>(entity);
}
/// <summary>
@ -210,7 +216,10 @@ namespace Shentun.Peis.CustomerOrgs
foreach (var CustomerOrgChildrenId in CustomerOrgChildrenIds)
{
if (CustomerOrgChildrenId != null)
{
await _manager.CheckAndDeleteAsync(CustomerOrgChildrenId.Value);
_customerOrgCache.Remove(CustomerOrgChildrenId);
}
}
}

Loading…
Cancel
Save