Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
02fb4c9753
|
|
@ -68,6 +68,9 @@
|
||||||
"FromName": "IRC Imaging System",
|
"FromName": "IRC Imaging System",
|
||||||
"AuthorizationCode": "ExtImg@2022",
|
"AuthorizationCode": "ExtImg@2022",
|
||||||
"SiteUrl": "http://irc.extimaging.com/login",
|
"SiteUrl": "http://irc.extimaging.com/login",
|
||||||
|
|
||||||
|
"PlatformName": "EICS",
|
||||||
|
"PlatformNameCN": "展影云平台",
|
||||||
"SystemShortName": "IRC",
|
"SystemShortName": "IRC",
|
||||||
"OrganizationName": "ExtImaging",
|
"OrganizationName": "ExtImaging",
|
||||||
"OrganizationNameCN": "ExtImaging",
|
"OrganizationNameCN": "ExtImaging",
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,10 @@
|
||||||
"AuthorizationCode": "SHzyyl2021",
|
"AuthorizationCode": "SHzyyl2021",
|
||||||
// 系统对外访问地址
|
// 系统对外访问地址
|
||||||
"SiteUrl": "http://irc.test.extimaging.com/login",
|
"SiteUrl": "http://irc.test.extimaging.com/login",
|
||||||
// 系统简称
|
|
||||||
|
"PlatformName": "EICS",
|
||||||
|
"PlatformNameCN": "展影云平台",
|
||||||
|
// 系统简称一致性核查使用
|
||||||
"SystemShortName": "IRC",
|
"SystemShortName": "IRC",
|
||||||
// 组织英文名称
|
// 组织英文名称
|
||||||
"OrganizationName": "ExtImaging",
|
"OrganizationName": "ExtImaging",
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,9 @@
|
||||||
"FromName": "LiLi System",
|
"FromName": "LiLi System",
|
||||||
"AuthorizationCode": "Q#669869497420ul",
|
"AuthorizationCode": "Q#669869497420ul",
|
||||||
|
|
||||||
|
|
||||||
|
"PlatformName": "LiLi",
|
||||||
|
"PlatformNameCN": "LiLi",
|
||||||
"SystemShortName": "LiLi",
|
"SystemShortName": "LiLi",
|
||||||
"OrganizationName": "Elevate Imaging",
|
"OrganizationName": "Elevate Imaging",
|
||||||
"OrganizationNameCN": "Elevate Imaging",
|
"OrganizationNameCN": "Elevate Imaging",
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,9 @@
|
||||||
"FromName": "LiLi System",
|
"FromName": "LiLi System",
|
||||||
"AuthorizationCode": "Q#669869497420ul",
|
"AuthorizationCode": "Q#669869497420ul",
|
||||||
|
|
||||||
|
|
||||||
|
"PlatformName": "LiLi",
|
||||||
|
"PlatformNameCN": "LiLi",
|
||||||
"SystemShortName": "LiLi",
|
"SystemShortName": "LiLi",
|
||||||
"OrganizationName": "Elevate Imaging",
|
"OrganizationName": "Elevate Imaging",
|
||||||
"OrganizationNameCN": "Elevate Imaging",
|
"OrganizationNameCN": "Elevate Imaging",
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,8 @@
|
||||||
"FromName": "LiLi System",
|
"FromName": "LiLi System",
|
||||||
"AuthorizationCode": "Q#669869497420ul",
|
"AuthorizationCode": "Q#669869497420ul",
|
||||||
|
|
||||||
|
"PlatformName": "LiLi",
|
||||||
|
"PlatformNameCN": "LiLi",
|
||||||
"SystemShortName": "LiLi",
|
"SystemShortName": "LiLi",
|
||||||
"OrganizationName": "Elevate Imaging",
|
"OrganizationName": "Elevate Imaging",
|
||||||
"OrganizationNameCN": "Elevate Imaging",
|
"OrganizationNameCN": "Elevate Imaging",
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,8 @@
|
||||||
"AuthorizationCode": "SHzyyl2021",
|
"AuthorizationCode": "SHzyyl2021",
|
||||||
"SiteUrl": "http://irc.uat.extimaging.com/login",
|
"SiteUrl": "http://irc.uat.extimaging.com/login",
|
||||||
|
|
||||||
|
"PlatformName": "EICS",
|
||||||
|
"PlatformNameCN": "展影云平台",
|
||||||
"SystemShortName": "IRC",
|
"SystemShortName": "IRC",
|
||||||
"OrganizationName": "ExtImaging",
|
"OrganizationName": "ExtImaging",
|
||||||
"OrganizationNameCN": "ExtImaging",
|
"OrganizationNameCN": "ExtImaging",
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,10 @@ public class SystemEmailSendConfig
|
||||||
|
|
||||||
public string SiteUrl { get; set; } = string.Empty;
|
public string SiteUrl { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
public string PlatformName { get; set; } = string.Empty;
|
||||||
|
public string PlatformNameCN { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string SystemShortName { get; set; } = string.Empty;
|
public string SystemShortName { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string OrganizationName { get; set; } = string.Empty;
|
public string OrganizationName { get; set; } = string.Empty;
|
||||||
|
|
|
||||||
|
|
@ -363,7 +363,7 @@
|
||||||
访视读片任务
|
访视读片任务
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskAllocationRule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectUser},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTaskReReading},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskMedicalReview},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingClinicalData},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluationVisitFilter},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomSeries},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCanceDoctor},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableAnswerRowInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskInfluence},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestionAnswer},Microsoft.Extensions.Logging.ILogger{IRaCIS.Core.Application.Service.Allocation.VisitTaskService},IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluationVisitStudyFilter},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectVisit},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskAllocationRule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectUser},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadModule},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTaskReReading},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskMedicalReview},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingClinicalData},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluation},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluationVisitFilter},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomInstance},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomSeries},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCanceDoctor},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTaskQuestionMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMark},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingNoneDicomMarkBinding},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingTableAnswerRowInfo},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TaskInfluence},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestionAnswer},Microsoft.Extensions.Logging.ILogger{IRaCIS.Core.Application.Service.Allocation.VisitTaskService},IRaCIS.Core.Application.Service.IVisitTaskHelpeService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SubjectCriteriaEvaluationVisitStudyFilter},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
||||||
<summary>
|
<summary>
|
||||||
访视读片任务
|
访视读片任务
|
||||||
</summary>
|
</summary>
|
||||||
|
|
@ -3403,11 +3403,10 @@
|
||||||
<member name="M:IRaCIS.Core.Application.Service.UserService.SendVerificationCode(System.String)">
|
<member name="M:IRaCIS.Core.Application.Service.UserService.SendVerificationCode(System.String)">
|
||||||
<summary>发送验证码 修改邮箱(已经登陆修改) New </summary>
|
<summary>发送验证码 修改邮箱(已经登陆修改) New </summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.UserService.ResetPassword(System.Guid)">
|
<member name="M:IRaCIS.Core.Application.Service.UserService.ResetPassword(IRaCIS.Application.Contracts.AdminResetUserPwdCommand)">
|
||||||
<summary>
|
<summary>
|
||||||
重置密码为 默认密码
|
重置密码为 默认密码
|
||||||
</summary>
|
</summary>
|
||||||
<param name="identityUserId"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.UserService.AnonymousSendVerificationCode(System.String)">
|
<member name="M:IRaCIS.Core.Application.Service.UserService.AnonymousSendVerificationCode(System.String)">
|
||||||
|
|
|
||||||
|
|
@ -2220,7 +2220,7 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task CopyForms(VisitTask newTask, VisitTask origenalTask)
|
private void CopyForms(VisitTask newTask, VisitTask origenalTask)
|
||||||
{
|
{
|
||||||
newTask.IsCopyLesionAnswer = true;
|
newTask.IsCopyLesionAnswer = true;
|
||||||
//自定义
|
//自定义
|
||||||
|
|
@ -2311,9 +2311,9 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
_ = _readingTableAnswerRowInfoRepository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
|
_ = _readingTableAnswerRowInfoRepository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
|
||||||
|
|
||||||
|
|
||||||
var noneMarkList = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == origenalTask.Id).ToListAsync();
|
var noneMarkList = _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == origenalTask.Id).ToList();
|
||||||
|
|
||||||
var noneMarkBindingList = await _readingNoneDicomMarkBindingRepository.Where(x => x.VisitTaskId == origenalTask.Id).ToListAsync();
|
var noneMarkBindingList = _readingNoneDicomMarkBindingRepository.Where(x => x.VisitTaskId == origenalTask.Id).ToList();
|
||||||
|
|
||||||
|
|
||||||
foreach (var item in noneMarkList)
|
foreach (var item in noneMarkList)
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
Task AddUserSendEmailAsync(Guid userId, string baseUrl, string routeUrl);
|
Task AddUserSendEmailAsync(Guid userId, string baseUrl, string routeUrl);
|
||||||
|
|
||||||
Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5 = "123456");
|
Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5 = "123456", string baseUrl="");
|
||||||
|
|
||||||
Task SiteSurveyUserJoinEmail(Guid trialId, Guid userId, string userTypes, string baseUrl, string rootUrl);
|
Task SiteSurveyUserJoinEmail(Guid trialId, Guid userId, string userTypes, string baseUrl, string rootUrl);
|
||||||
|
|
||||||
|
|
@ -189,6 +189,14 @@ namespace IRaCIS.Core.Application.Service
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string ReplacePlatformName(string needDealtxt)
|
||||||
|
{
|
||||||
|
var platformName = _userInfo.IsEn_Us ? _systemEmailConfig.PlatformName : _systemEmailConfig.PlatformNameCN;
|
||||||
|
|
||||||
|
var str = needDealtxt.Replace("{platformName}", platformName);
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
//MFA
|
//MFA
|
||||||
public async Task SenMFAVerifyEmail(Guid userId, string userName, string emailAddress, int verificationCode, UserMFAType mfaType = UserMFAType.Login)
|
public async Task SenMFAVerifyEmail(Guid userId, string userName, string emailAddress, int verificationCode, UserMFAType mfaType = UserMFAType.Login)
|
||||||
{
|
{
|
||||||
|
|
@ -373,7 +381,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
//管理员重置密码发送邮件
|
//管理员重置密码发送邮件
|
||||||
public async Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5 = "123456")
|
public async Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5 = "123456", string baseUrl = "")
|
||||||
{
|
{
|
||||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).Include(t => t.UserRoleList).ThenInclude(c => c.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
|
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).Include(t => t.UserRoleList).ThenInclude(c => c.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
|
@ -396,7 +404,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
sysUserInfo.FullName,
|
sysUserInfo.FullName,
|
||||||
sysUserInfo.UserName,
|
sysUserInfo.UserName,
|
||||||
//string.Join(',', sysUserInfo.UserRoleList.Select(t => t.UserTypeRole.UserTypeShortName)),
|
//string.Join(',', sysUserInfo.UserRoleList.Select(t => t.UserTypeRole.UserTypeShortName)),
|
||||||
pwdNotMd5
|
pwdNotMd5,
|
||||||
|
baseUrl
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return (topicStr, htmlBodyStr);
|
return (topicStr, htmlBodyStr);
|
||||||
|
|
@ -919,7 +929,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
var topicStr = string.Format(input.topicStr, companyName);
|
var topicStr = string.Format(input.topicStr, companyName);
|
||||||
|
|
||||||
var htmlBodyStr = string.Format(ReplaceCompanyName(input.htmlBodyStr),
|
var htmlBodyStr = string.Format(ReplacePlatformName(ReplaceCompanyName(input.htmlBodyStr)) ,
|
||||||
|
|
||||||
sysUserInfo.FullName
|
sysUserInfo.FullName
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -279,8 +279,15 @@ namespace IRaCIS.Application.Contracts
|
||||||
public string OldPassWord { get; set; } = string.Empty;
|
public string OldPassWord { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class AdminResetUserPwdCommand
|
||||||
|
{
|
||||||
|
public Guid IdentityUserId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public string BaseUrl { get; set; } = string.Empty;
|
||||||
|
public string RouteUrl { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
public class UserAccountDto
|
public class UserAccountDto
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
Task<IResponseOutput> SendMFAEmail(SendMfaCommand sendMfa);
|
Task<IResponseOutput> SendMFAEmail(SendMfaCommand sendMfa);
|
||||||
Task<UserBasicInfo> GetUserBasicInfo(Guid userId, string pwd);
|
Task<UserBasicInfo> GetUserBasicInfo(Guid userId, string pwd);
|
||||||
Task<IResponseOutput> ModifyPassword(EditPasswordCommand editPwModel);
|
Task<IResponseOutput> ModifyPassword(EditPasswordCommand editPwModel);
|
||||||
Task<IResponseOutput> ResetPassword(Guid userId);
|
Task<IResponseOutput> ResetPassword(AdminResetUserPwdCommand inCommand);
|
||||||
|
|
||||||
Task<IResponseOutput> UpdateUser(UserCommand model);
|
Task<IResponseOutput> UpdateUser(UserCommand model);
|
||||||
//Task<IResponseOutput> UpdateUserState(Guid userId, UserStateEnum state);
|
//Task<IResponseOutput> UpdateUserState(Guid userId, UserStateEnum state);
|
||||||
|
|
|
||||||
|
|
@ -286,17 +286,17 @@ namespace IRaCIS.Core.Application.Service
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重置密码为 默认密码
|
/// 重置密码为 默认密码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="identityUserId"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("{identityUserId:guid}")]
|
|
||||||
[UnitOfWork]
|
[UnitOfWork]
|
||||||
public async Task<IResponseOutput> ResetPassword(Guid identityUserId)
|
[HttpPost]
|
||||||
|
public async Task<IResponseOutput> ResetPassword(AdminResetUserPwdCommand inCommand)
|
||||||
{
|
{
|
||||||
|
var identityUserId = inCommand.IdentityUserId;
|
||||||
|
|
||||||
var pwd = IRCEmailPasswordHelper.GenerateRandomPassword(10);
|
var pwd = IRCEmailPasswordHelper.GenerateRandomPassword(10);
|
||||||
|
|
||||||
|
|
||||||
await _mailVerificationService.AdminResetPwdSendEmailAsync(identityUserId, pwd);
|
await _mailVerificationService.AdminResetPwdSendEmailAsync(identityUserId, pwd,inCommand.BaseUrl);
|
||||||
|
|
||||||
await _identityUserRepository.UpdatePartialFromQueryAsync(t => t.Id == identityUserId, u => new IdentityUser()
|
await _identityUserRepository.UpdatePartialFromQueryAsync(t => t.Id == identityUserId, u => new IdentityUser()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue