This commit is contained in:
owenchen committed 2026-10-17 22:31:52 +08:00
1 parent 28dd3ffebd
commit 1b7ee59d23
14 files changed
+538 -4

No files matched your search

@@ -71,6 +71,10 @@ return Task.Run(() => serviceRequest.PostAsJsonAsync<SecurityFunctionResultDat
{
Task.Run(() => serviceRequest.PostAsync("/SecurityUser/UpdateLocalName?localName=" + localName.ToString())).GetAwaiter().GetResult(); }
public void UpdateSecurityUserIdCard(SecurityUserDisplayData user)
{
Task.Run(() => serviceRequest.PostAsJsonAsync<SecurityUserDisplayData,dynamic>("/SecurityUser/UpdateSecurityUserIdCard" , user)).GetAwaiter().GetResult(); }
}
}
@@ -349,5 +349,27 @@ namespace CloudBuilder.Security.Service
repository.UpdateNow(securityUser);
}
[AllowAnonymous]
public void UpdateSecurityUserIdCard(SecurityUserDisplayData user)
{
PermissionContext permissionContext = new PermissionContext(service);
if (permissionContext.CanView(SecurityPermissionPolicy.CanSeeAllUser))
{
return ;
}
SecurityUserEntity securityUser = repository.DetachedEntities.Where(x => x.UserName == service.UserId && x.UserIsValidIndc == YesNoPolicy.YES).FirstOrDefault();
if (securityUser == null)
{
throw new ValidatedException("用户不存在.");
}
securityUser.UserLocalName = user.UserLocalName;
securityUser.UserType = SecurityUserTypePolicy.NORMAL_USERS;
securityUser.UserRemark = user.UserRemark;
repository.UpdateNow(securityUser);
}
}
}
@@ -23,6 +23,30 @@ namespace CloudBuilder.Security.Data
public string? OrgUserPassword { get; set; }
public bool? IsCanAmend { get; set; } = false;
// ===== 身份证 OCR 识别信息(transient 显示字段:识别后回填表单,随保存提交但不落 family_person 表) =====
/// <summary>民族(OCR nation)</summary>
public string? Nation { get; set; }
/// <summary>住址(OCR address)</summary>
public string? Address { get; set; }
/// <summary>公民身份号码(OCR id_number)</summary>
public string? IdNumber { get; set; }
/// <summary>签发机关(OCR issuer,仅背面)</summary>
public string? Issuer { get; set; }
/// <summary>有效期限(OCR validity,仅背面)</summary>
public string? Validity { get; set; }
/// <summary>身份证照片物理文件名(上传到 idcard 目录后回写,与头像 AvatarFilename 同口径)</summary>
public string? IdCardFilename { get; set; }
/// <summary>身份证照片预览 URL(本地临时预览,不入库)</summary>
public string? IdCardUrl { get; set; }
}
}
@@ -19,5 +19,7 @@ namespace CloudBuilder.Security.Service
void Deletes(string[] keys);
void UpdateLocalName(string localName);
void UpdateSecurityUserIdCard(SecurityUserDisplayData securityUser);
}
}
@@ -254,6 +254,25 @@ this.securityUserService= securityUserService;
}
}
[AllowAnonymous]
[HttpPost]
public dynamic UpdateSecurityUserIdCard(SecurityUserDisplayData user){
try
{
securityUserService.UpdateSecurityUserIdCard(user);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}