😎增加获取当前账号类型信息

This commit is contained in:
zuohuaijun 2025-07-19 14:29:08 +08:00
parent 21140b595b
commit 891021d957
3 changed files with 16 additions and 2 deletions

View File

@ -241,6 +241,12 @@ public enum ErrorCodeEnum
[ErrorCodeItemMetadata("手机号已存在")] [ErrorCodeItemMetadata("手机号已存在")]
D1032, D1032,
/// <summary>
/// 无权操作此账号
/// </summary>
[ErrorCodeItemMetadata("无权操作此账号")]
D1033,
/// <summary> /// <summary>
/// 父机构不存在 /// 父机构不存在
/// </summary> /// </summary>

View File

@ -106,6 +106,9 @@ public class SysUserService : IDynamicApiController, ITransient
[DisplayName("增加用户")] [DisplayName("增加用户")]
public virtual async Task<long> AddUser(AddUserInput input) public virtual async Task<long> AddUser(AddUserInput input)
{ {
// 是否有权操作此账号
if (!_userManager.SuperAdmin && input.AccountType is AccountTypeEnum.SuperAdmin) throw Oops.Oh(ErrorCodeEnum.D1033);
var query = _sysUserRep.AsQueryable().ClearFilter(); var query = _sysUserRep.AsQueryable().ClearFilter();
if (await query.AnyAsync(u => u.Account == input.Account)) throw Oops.Oh(ErrorCodeEnum.D1003); if (await query.AnyAsync(u => u.Account == input.Account)) throw Oops.Oh(ErrorCodeEnum.D1003);
if (!string.IsNullOrWhiteSpace(input.Phone) && await query.AnyAsync(u => u.Phone == input.Phone)) throw Oops.Oh(ErrorCodeEnum.D1032); if (!string.IsNullOrWhiteSpace(input.Phone) && await query.AnyAsync(u => u.Phone == input.Phone)) throw Oops.Oh(ErrorCodeEnum.D1032);

View File

@ -43,6 +43,11 @@ public class UserManager : IScoped
/// </summary> /// </summary>
public string NickName => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.NickName)?.Value; public string NickName => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.NickName)?.Value;
/// <summary>
/// 账号类型
/// </summary>
public AccountTypeEnum? AccountType => int.TryParse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.AccountType)?.Value, out var val) ? (AccountTypeEnum?)val : null;
/// <summary> /// <summary>
/// 是否超级管理员 /// 是否超级管理员
/// </summary> /// </summary>