Merge branch 'Test.IRC' of http://192.168.3.69:2000/XCKJ/irc-netcore-api into Test.IRC
This commit is contained in:
@@ -12,6 +12,7 @@ using IRaCIS.Core.Infra.Common.Cache;
|
||||
using Microsoft.Identity.Client;
|
||||
using static IRaCIS.Core.Domain.Share.StaticData;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
using Medallion.Threading;
|
||||
|
||||
namespace IRaCIS.Application.Services
|
||||
{
|
||||
@@ -25,7 +26,7 @@ namespace IRaCIS.Application.Services
|
||||
private readonly IRepository<TrialUser> _userTrialRepository;
|
||||
private readonly IRepository<UserLog> _userLogRepository;
|
||||
|
||||
|
||||
private readonly IDistributedLockProvider _distributedLockProvider;
|
||||
private readonly IMemoryCache _cache;
|
||||
|
||||
private readonly IOptionsMonitor<ServiceVerifyConfigOption> _verifyConfig;
|
||||
@@ -40,7 +41,8 @@ namespace IRaCIS.Application.Services
|
||||
IRepository<TrialUser> userTrialRepository,
|
||||
IOptionsMonitor<ServiceVerifyConfigOption> verifyConfig,
|
||||
IRepository<UserLog> userLogRepository
|
||||
)
|
||||
,
|
||||
IDistributedLockProvider distributedLockProvider)
|
||||
{
|
||||
_userLogRepository = userLogRepository;
|
||||
|
||||
@@ -52,6 +54,7 @@ namespace IRaCIS.Application.Services
|
||||
_doctorRepository = doctorRepository;
|
||||
_userTrialRepository = userTrialRepository;
|
||||
_userLogRepository = userLogRepository;
|
||||
_distributedLockProvider = distributedLockProvider;
|
||||
}
|
||||
|
||||
|
||||
@@ -504,29 +507,32 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
var saveItem = _mapper.Map<User>(userAddModel);
|
||||
|
||||
saveItem.Code = await _userRepository.Select(t => t.Code).DefaultIfEmpty().MaxAsync() + 1;
|
||||
var @lock = _distributedLockProvider.CreateLock($"UserAccount");
|
||||
|
||||
saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(User));
|
||||
|
||||
if (saveItem.IsZhiZhun)
|
||||
using (await @lock.AcquireAsync())
|
||||
{
|
||||
saveItem.OrganizationName = AppSettings.DefaultInternalOrganizationName;
|
||||
saveItem.Code = await _userRepository.Select(t => t.Code).DefaultIfEmpty().MaxAsync() + 1;
|
||||
|
||||
saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(User));
|
||||
|
||||
if (saveItem.IsZhiZhun)
|
||||
{
|
||||
saveItem.OrganizationName = AppSettings.DefaultInternalOrganizationName;
|
||||
}
|
||||
|
||||
|
||||
saveItem.Password = MD5Helper.Md5("123456");
|
||||
|
||||
await _userRepository.AddAsync(saveItem);
|
||||
|
||||
var success = await _userRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
saveItem.Password = MD5Helper.Md5("123456");
|
||||
|
||||
await _userRepository.AddAsync(saveItem);
|
||||
|
||||
var success = await _userRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
|
||||
await _mailVerificationService.AddUserSendEmailAsync(saveItem.Id, userAddModel.BaseUrl, userAddModel.RouteUrl);
|
||||
|
||||
|
||||
|
||||
|
||||
return ResponseOutput.Result(success, new UserAddedReturnDTO { Id = saveItem.Id, UserCode = saveItem.UserCode });
|
||||
return ResponseOutput.Ok( new UserAddedReturnDTO { Id = saveItem.Id, UserCode = saveItem.UserCode });
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user