소스 검색

用户服务添加会员新增和修改方法

zhontai 2 년 전
부모
커밋
79f8705fbb

+ 1 - 1
src/hosts/ZhonTai.Host/Configs/appconfig.json

@@ -30,7 +30,7 @@
       {
         "name": "中台Admin",
         "code": "admin",
-        "version": "v3.0.2",
+        "version": "v3.0.3",
         "description": ""
       }
     ]

+ 6 - 1
src/platform/ZhonTai.Admin/Domain/User/UserType.cs

@@ -6,7 +6,12 @@
 public enum UserType
 {
     /// <summary>
-    /// 默认用户
+    /// 会员
+    /// </summary>
+    Member = 0,
+
+    /// <summary>
+    /// 普通用户
     /// </summary>
     DefaultUser = 1,
 

+ 1 - 1
src/platform/ZhonTai.Admin/Services/Auth/AuthService.cs

@@ -191,7 +191,7 @@ public class AuthService : BaseService, IAuthService, IDynamicApi
     [NoOprationLog]
     public async Task<dynamic> LoginAsync(AuthLoginInput input)
     {
-        using (_userRepository.DataFilter.Disable(FilterNames.Tenant, FilterNames.Self, FilterNames.Data))
+        using (_userRepository.DataFilter.DisableAll())
         {
             var sw = new Stopwatch();
             sw.Start();

+ 10 - 0
src/platform/ZhonTai.Admin/Services/User/Dto/UserAddInput.cs

@@ -65,6 +65,16 @@ public class UserAddInput
     /// </summary>
     public string ManagerUserName { get; set; }
 
+    /// <summary>
+    /// 昵称
+    /// </summary>
+    public string NickName { get; set; }
+
+    /// <summary>
+    /// 头像
+    /// </summary>
+    public string Avatar { get; set; }
+
     /// <summary>
     /// 状态
     /// </summary>

+ 52 - 0
src/platform/ZhonTai.Admin/Services/User/Dto/UserAddMemberInput.cs

@@ -0,0 +1,52 @@
+using System.ComponentModel.DataAnnotations;
+using ZhonTai.Admin.Domain.User;
+
+namespace ZhonTai.Admin.Services.User.Dto;
+
+/// <summary>
+/// 添加会员
+/// </summary>
+public class UserAddMemberInput
+{
+    /// <summary>
+    /// 账号
+    /// </summary>
+    [Required(ErrorMessage = "请输入账号")]
+    public string UserName { get; set; }
+
+    /// <summary>
+    /// 密码
+    /// </summary>
+    [Required(ErrorMessage = "请输入密码")]
+    public string Password { get; set; }
+
+    /// <summary>
+    /// 姓名
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 手机号
+    /// </summary>
+    public string Mobile { get; set; }
+
+    /// <summary>
+    /// 邮箱
+    /// </summary>
+    public string Email { get; set; }
+
+    /// <summary>
+    /// 昵称
+    /// </summary>
+    public string NickName { get; set; }
+
+    /// <summary>
+    /// 头像
+    /// </summary>
+    public string Avatar { get; set; }
+
+    /// <summary>
+    /// 状态
+    /// </summary>
+    public UserStatus Status { get; set; }
+}

+ 2 - 71
src/platform/ZhonTai.Admin/Services/User/Dto/UserUpdateInput.cs

@@ -1,14 +1,12 @@
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations;
 using ZhonTai.Admin.Core.Validators;
-using ZhonTai.Admin.Domain.User;
 
 namespace ZhonTai.Admin.Services.User.Dto;
 
 /// <summary>
 /// 修改
 /// </summary>
-public partial class UserUpdateInput
+public partial class UserUpdateInput: UserAddInput
 {
     /// <summary>
     /// 主键Id
@@ -16,71 +14,4 @@ public partial class UserUpdateInput
     [Required]
     [ValidateRequired("请选择用户")]
     public long Id { get; set; }
-
-    /// <summary>
-    /// 账号
-    /// </summary>
-    [Required(ErrorMessage = "请输入账号")]
-    public string UserName { get; set; }
-
-    /// <summary>
-    /// 姓名
-    /// </summary>
-    [Required(ErrorMessage = "请输入姓名")]
-    public string Name { get; set; }
-
-    /// <summary>
-    /// 手机号
-    /// </summary>
-    public string Mobile { get; set; }
-
-    /// <summary>
-    /// 邮箱
-    /// </summary>
-    public string Email { get; set; }
-
-    /// <summary>
-    /// 角色
-    /// </summary>
-    public long[] RoleIds { get; set; }
-
-    /// <summary>
-    /// 角色
-    /// </summary>
-    public ICollection<UserGetRoleDto> Roles { get; set; }
-
-    /// <summary>
-    /// 所属部门
-    /// </summary>
-    public long[] OrgIds { get; set; }
-
-    /// <summary>
-    /// 部门列表
-    /// </summary>
-    public ICollection<UserGetOrgDto> Orgs { get; set; }
-
-    /// <summary>
-    /// 主属部门Id
-    /// </summary>
-    public long OrgId { get; set; }
-
-    /// <summary>
-    /// 直属主管Id
-    /// </summary>
-    public long? ManagerUserId { get; set; }
-
-    /// <summary>
-    /// 直属主管姓名
-    /// </summary>
-    public string ManagerUserName { get; set; }
-
-    /// <summary>
-    /// 状态
-    /// </summary>
-    public UserStatus Status { get; set; }
-
-    /// <summary>
-    /// 员工信息
-    /// </summary>
-    public StaffUpdateInput Staff { get; set; }
 }

+ 17 - 0
src/platform/ZhonTai.Admin/Services/User/Dto/UserUpdateMemberInput.cs

@@ -0,0 +1,17 @@
+using System.ComponentModel.DataAnnotations;
+using ZhonTai.Admin.Core.Validators;
+
+namespace ZhonTai.Admin.Services.User.Dto;
+
+/// <summary>
+/// 修改会员
+/// </summary>
+public class UserUpdateMemberInput: UserAddMemberInput
+{
+    /// <summary>
+    /// 主键Id
+    /// </summary>
+    [Required]
+    [ValidateRequired("请选择用户")]
+    public long Id { get; set; }
+}

+ 2 - 0
src/platform/ZhonTai.Admin/Services/User/IUserService.cs

@@ -24,6 +24,8 @@ public interface IUserService
 
     Task<long> AddAsync(UserAddInput input);
 
+    Task<long> AddMemberAsync(UserAddMemberInput input);
+
     Task UpdateAsync(UserUpdateInput input);
 
     Task DeleteAsync(long id);

+ 75 - 0
src/platform/ZhonTai.Admin/Services/User/UserService.cs

@@ -100,6 +100,7 @@ public class UserService : BaseService, IUserService, IDynamicApi
         var orgId = input.Filter;
         var list = await _userRepository.Select
         .WhereIf(orgId.HasValue && orgId > 0, a => _userOrgRepository.Where(b => b.UserId == a.Id && b.OrgId == orgId).Any())
+        .Where(a=>a.Type != UserType.Member)
         .WhereDynamicFilter(input.DynamicFilter)
         .Count(out var total)
         .OrderByDescending(true, a => a.Id)
@@ -313,6 +314,7 @@ public class UserService : BaseService, IUserService, IDynamicApi
         input.Password = MD5Encrypt.Encrypt32(input.Password);
 
         var entity = Mapper.Map<UserEntity>(input);
+        entity.Type = UserType.DefaultUser;
         var user = await _userRepository.InsertAsync(entity);
 
         var userId = user.Id;
@@ -347,6 +349,79 @@ public class UserService : BaseService, IUserService, IDynamicApi
         return userId;
     }
 
+    /// <summary>
+    /// 新增会员
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public virtual async Task<long> AddMemberAsync(UserAddMemberInput input)
+    {
+        using (_userRepository.DataFilter.DisableAll())
+        {
+            if (await _userRepository.Select.AnyAsync(a => a.UserName == input.UserName))
+            {
+                throw ResultOutput.Exception($"账号已存在");
+            }
+
+            if (input.Mobile.NotNull() && await _userRepository.Select.AnyAsync(a => a.Mobile == input.Mobile))
+            {
+                throw ResultOutput.Exception($"手机号已存在");
+            }
+
+            if (input.Email.NotNull() && await _userRepository.Select.AnyAsync(a => a.Email == input.Email))
+            {
+                throw ResultOutput.Exception($"邮箱已存在");
+            }
+
+            // 用户信息
+            if (input.Password.IsNull())
+            {
+                input.Password = _appConfig.DefaultPassword;
+            }
+
+            input.Password = MD5Encrypt.Encrypt32(input.Password);
+
+            var entity = Mapper.Map<UserEntity>(input);
+            entity.Type = UserType.Member;
+            var user = await _userRepository.InsertAsync(entity);
+
+            return user.Id;
+        }
+    }
+
+    /// <summary>
+    /// 修改会员
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [AdminTransaction]
+    public virtual async Task UpdateMemberAsync(UserUpdateMemberInput input)
+    {
+        var user = await _userRepository.GetAsync(input.Id);
+        if (!(user?.Id > 0))
+        {
+            throw ResultOutput.Exception("用户不存在");
+        }
+
+        if (await _userRepository.Select.AnyAsync(a => a.Id != input.Id && a.UserName == input.UserName))
+        {
+            throw ResultOutput.Exception($"账号已存在");
+        }
+
+        if (input.Mobile.NotNull() && await _userRepository.Select.AnyAsync(a => a.Id != input.Id && a.Mobile == input.Mobile))
+        {
+            throw ResultOutput.Exception($"手机号已存在");
+        }
+
+        if (input.Email.NotNull() && await _userRepository.Select.AnyAsync(a => a.Id != input.Id && a.Email == input.Email))
+        {
+            throw ResultOutput.Exception($"邮箱已存在");
+        }
+
+        Mapper.Map(input, user);
+        await _userRepository.UpdateAsync(user);
+    }
+
     /// <summary>
     /// 修改用户
     /// </summary>

+ 79 - 60
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -2919,9 +2919,14 @@
             用户类型
             </summary>
         </member>
+        <member name="F:ZhonTai.Admin.Domain.User.UserType.Member">
+            <summary>
+            会员
+            </summary>
+        </member>
         <member name="F:ZhonTai.Admin.Domain.User.UserType.DefaultUser">
             <summary>
-            默认用户
+            普通用户
             </summary>
         </member>
         <member name="F:ZhonTai.Admin.Domain.User.UserType.TenantAdmin">
@@ -5566,6 +5571,16 @@
             直属主管姓名
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddInput.NickName">
+            <summary>
+            昵称
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddInput.Avatar">
+            <summary>
+            头像
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddInput.Status">
             <summary>
             状态
@@ -5576,6 +5591,51 @@
             员工
             </summary>
         </member>
+        <member name="T:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput">
+            <summary>
+            添加会员
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.UserName">
+            <summary>
+            账号
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.Password">
+            <summary>
+            密码
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.Name">
+            <summary>
+            姓名
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.Mobile">
+            <summary>
+            手机号
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.Email">
+            <summary>
+            邮箱
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.NickName">
+            <summary>
+            昵称
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.Avatar">
+            <summary>
+            头像
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserAddMemberInput.Status">
+            <summary>
+            状态
+            </summary>
+        </member>
         <member name="T:ZhonTai.Admin.Services.User.Dto.UserChangePasswordInput">
             <summary>
             修改密码
@@ -5706,69 +5766,14 @@
             主键Id
             </summary>
         </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.UserName">
-            <summary>
-            账号
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Name">
+        <member name="T:ZhonTai.Admin.Services.User.Dto.UserUpdateMemberInput">
             <summary>
-            姓名
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Mobile">
-            <summary>
-            手机号
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Email">
-            <summary>
-            邮箱
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.RoleIds">
-            <summary>
-            角色
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Roles">
-            <summary>
-            角色
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.OrgIds">
-            <summary>
-            所属部门
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Orgs">
-            <summary>
-            部门列表
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.OrgId">
-            <summary>
-            主属部门Id
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.ManagerUserId">
-            <summary>
-            直属主管Id
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.ManagerUserName">
-            <summary>
-            直属主管姓名
-            </summary>
-        </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Status">
-            <summary>
-            状态
+            修改会员
             </summary>
         </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateInput.Staff">
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateMemberInput.Id">
             <summary>
-            员工信息
+            主键Id
             </summary>
         </member>
         <member name="T:ZhonTai.Admin.Services.User.IUserService">
@@ -5827,6 +5832,20 @@
             <param name="input"></param>
             <returns></returns>
         </member>
+        <member name="M:ZhonTai.Admin.Services.User.UserService.AddMemberAsync(ZhonTai.Admin.Services.User.Dto.UserAddMemberInput)">
+            <summary>
+            新增会员
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.User.UserService.UpdateMemberAsync(ZhonTai.Admin.Services.User.Dto.UserUpdateMemberInput)">
+            <summary>
+            修改会员
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
         <member name="M:ZhonTai.Admin.Services.User.UserService.UpdateAsync(ZhonTai.Admin.Services.User.Dto.UserUpdateInput)">
             <summary>
             修改用户