Sfoglia il codice sorgente

更新个人设置
修复用户新增和修改多个部门或角色无法保存的问题

zhontai 2 anni fa
parent
commit
85ef836fd5

+ 6 - 1
src/hosts/ZhonTai.Host/Configs/dbconfig.json

@@ -56,6 +56,11 @@
 
   //读写分离从库列表
   "slaveList": [
-    "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1"
+    {
+      //连接字符串
+      "ConnectionString": "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1",
+      //权重
+      "Weight": 1
+    }
   ]
 }

+ 3 - 3
src/hosts/ZhonTai.Host/InitData/Admin/ad_user.json

@@ -2,20 +2,20 @@
   {
     "id": 161223411986501,
     "userName": "admin",
-    "password": "96E79218965EB72C92A549DD5A33112",
+    "password": "96E79218965EB72C92A549DD5A330112",
     "name": "管理员",
     "mobile": "13122223333"
   },
   {
     "id": 162083448746053,
     "userName": "18988889999",
-    "password": "96E79218965EB72C92A549DD5A33112",
+    "password": "96E79218965EB72C92A549DD5A330112",
     "name": "租户"
   },
   {
     "id": 162605614280773,
     "userName": "user",
-    "password": "96E79218965EB72C92A549DD5A33112",
+    "password": "96E79218965EB72C92A549DD5A330112",
     "name": "员工",
     "mobile": "13155556666"
   }

+ 3 - 3
src/hosts/ZhonTai.Host/InitData/Admin/ad_user.tenant.json

@@ -3,7 +3,7 @@
     "id": 161223411986501,
     "tenantId": 161223412138053,
     "userName": "admin",
-    "password": "96E79218965EB72C92A549DD5A33112",
+    "password": "96E79218965EB72C92A549DD5A330112",
     "name": "管理员",
     "mobile": "13122223333"
   },
@@ -11,14 +11,14 @@
     "id": 162083448746053,
     "tenantId": 162083448455237,
     "userName": "18988889999",
-    "password": "96E79218965EB72C92A549DD5A33112",
+    "password": "96E79218965EB72C92A549DD5A330112",
     "name": "租户"
   },
   {
     "id": 162605614280773,
     "tenantId": 161223412138053,
     "userName": "user",
-    "password": "96E79218965EB72C92A549DD5A33112",
+    "password": "96E79218965EB72C92A549DD5A330112",
     "name": "员工",
     "mobile": "13155556666"
   }

+ 17 - 1
src/platform/ZhonTai.Admin/Core/Configs/DbConfig.cs

@@ -96,5 +96,21 @@ public class DbConfig
     /// <summary>
     /// 读写分离从库列表
     /// </summary>
-    public string[] SlaveList { get; set; }
+    public SlaveDb[] SlaveList { get; set; }
+}
+
+/// <summary>
+/// 读写分离从库
+/// </summary>
+public class SlaveDb
+{
+    /// <summary>
+    /// 数据库连接字符串
+    /// </summary>
+    public string ConnectionString { get; set; }
+
+    /// <summary>
+    /// 数据库类型
+    /// </summary>
+    public int Weight { get; set; } = 1;
 }

+ 4 - 1
src/platform/ZhonTai.Admin/Core/Db/DBServiceCollectionExtensions.cs

@@ -10,6 +10,7 @@ using ZhonTai.Admin.Core.Entities;
 using ZhonTai.Admin.Core.Auth;
 using ZhonTai.Admin.Core.Startup;
 using ZhonTai.Admin.Core.Consts;
+using System.Linq;
 
 namespace ZhonTai.Admin.Core.Db;
 
@@ -45,7 +46,9 @@ public static class DBServiceCollectionExtensions
             
             if (dbConfig.SlaveList?.Length > 0)
             {
-                freeSqlBuilder.UseSlave(dbConfig.SlaveList);
+                var slaveList = dbConfig.SlaveList.Select(a => a.ConnectionString).ToArray();
+                var slaveWeightList = dbConfig.SlaveList.Select(a => a.Weight).ToArray();
+                freeSqlBuilder.UseSlave(slaveList).UseSlaveWeight(slaveWeightList);
             }
             
             hostAppOptions?.ConfigureFreeSqlBuilder?.Invoke(freeSqlBuilder);

+ 5 - 0
src/platform/ZhonTai.Admin/Services/Auth/Dto/AuthUserProfileDto.cs

@@ -10,6 +10,11 @@ public class AuthUserProfileDto
     /// <summary>
     /// 姓名
     /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 昵称
+    /// </summary>
     public string NickName { get; set; }
 
     /// <summary>

+ 8 - 3
src/platform/ZhonTai.Admin/Services/User/Dto/UserUpdateBasicInput.cs

@@ -13,16 +13,21 @@ public class UserUpdateBasicInput : Entity
     /// </summary>
     public string Avatar { get; set; }
 
+    /// <summary>
+    /// 姓名
+    /// </summary>
+    [Required(ErrorMessage = "请输入姓名")]
+    public string Name { get; set; }
+
     /// <summary>
     /// 昵称
     /// </summary>
-    [Required(ErrorMessage = "请输入昵称")]
     public string NickName { get; set; }
 
     /// <summary>
-    /// 备注
+    /// 个人简介
     /// </summary>
-    public string Remark { get; set; }
+    public string Introduce { get; set; }
 
     /// <summary>
     /// 版本

+ 15 - 10
src/platform/ZhonTai.Admin/Services/User/UserService.cs

@@ -115,7 +115,13 @@ public class UserService : BaseService, IUserService, IDynamicApi
         var entityDto = await _userRepository.Select.DisableGlobalFilter("Tenant").WhereDynamic(id).ToOneAsync<AuthLoginOutput>();
         if (_appConfig.Tenant && entityDto?.TenantId.Value > 0)
         {
-            var tenant = await _tenantRepository.Select.DisableGlobalFilter("Tenant").WhereDynamic(entityDto.TenantId).ToOneAsync(a => new { a.TenantType, a.DataIsolationType });
+            var tenant = await _tenantRepository.Select.DisableGlobalFilter("Tenant")
+                .WhereDynamic(entityDto.TenantId)
+                .ToOneAsync(a => new 
+                { 
+                    a.TenantType, 
+                    a.DataIsolationType 
+                });
             if (null != tenant)
             {
                 entityDto.TenantType = tenant.TenantType;
@@ -201,7 +207,7 @@ public class UserService : BaseService, IUserService, IDynamicApi
         //用户角色
         if (input.RoleIds != null && input.RoleIds.Any())
         {
-            var roles = input.RoleIds.Select(a => new UserRoleEntity { UserId = user.Id, RoleId = a });
+            var roles = input.RoleIds.Select(roleId => new UserRoleEntity { UserId = user.Id, RoleId = roleId }).ToList();
             await _userRoleRepository.InsertAsync(roles);
         }
 
@@ -217,7 +223,7 @@ public class UserService : BaseService, IUserService, IDynamicApi
             {
                 StaffId = staff.Id,
                 OrgId = orgId
-            });
+            }).ToList();
             await _staffOrgRepository.InsertAsync(orgs);
         }
 
@@ -260,7 +266,7 @@ public class UserService : BaseService, IUserService, IDynamicApi
         await _userRoleRepository.DeleteAsync(a => a.UserId == user.Id);
         if (input.RoleIds != null && input.RoleIds.Any())
         {
-            var roles = input.RoleIds.Select(a => new UserRoleEntity { UserId = user.Id, RoleId = a });
+            var roles = input.RoleIds.Select(roleId => new UserRoleEntity { UserId = user.Id, RoleId = roleId }).ToList();
             await _userRoleRepository.InsertAsync(roles);
         }
 
@@ -272,7 +278,6 @@ public class UserService : BaseService, IUserService, IDynamicApi
         }
         Mapper.Map(input.Staff, staff);
         staff.Id = user.Id;
-
         await _staffRepository.InsertOrUpdateAsync(staff);
 
         //所属部门
@@ -283,7 +288,7 @@ public class UserService : BaseService, IUserService, IDynamicApi
             {
                 StaffId = staff.Id,
                 OrgId = orgId
-            });
+            }).ToList();
             await _staffOrgRepository.InsertAsync(orgs);
         }
 
@@ -299,12 +304,12 @@ public class UserService : BaseService, IUserService, IDynamicApi
     {
         var entity = await _userRepository.GetAsync(input.Id);
         entity = Mapper.Map(input, entity);
-        var result = (await _userRepository.UpdateAsync(entity)) > 0;
+        await _userRepository.UpdateAsync(entity);
 
         //清除用户缓存
         await Cache.DelAsync(string.Format(CacheKeys.UserInfo, input.Id));
 
-        return ResultOutput.Result(result);
+        return ResultOutput.Ok();
     }
 
     /// <summary>
@@ -316,14 +321,14 @@ public class UserService : BaseService, IUserService, IDynamicApi
     {
         if (input.ConfirmPassword != input.NewPassword)
         {
-            return ResultOutput.NotOk("新密码和确认密码不一致");
+            return ResultOutput.NotOk("新密码和确认密码不一致");
         }
 
         var entity = await _userRepository.GetAsync(input.Id);
         var oldPassword = MD5Encrypt.Encrypt32(input.OldPassword);
         if (oldPassword != entity.Password)
         {
-            return ResultOutput.NotOk("旧密码不正确");
+            return ResultOutput.NotOk("旧密码不正确");
         }
 
         input.Password = MD5Encrypt.Encrypt32(input.NewPassword);

+ 5 - 5
src/platform/ZhonTai.Admin/ZhonTai.Admin.csproj

@@ -37,11 +37,11 @@
 	</ItemGroup>
 
 	<ItemGroup Condition="'$(Configuration)'=='Debug'">
-		<PackageReference Include="FreeSql.Provider.MySql" Version="3.2.680" />
-		<PackageReference Include="FreeSql.Provider.SqlServer" Version="3.2.680" />
-		<PackageReference Include="FreeSql.Provider.PostgreSQL" Version="3.2.680" />
-		<PackageReference Include="FreeSql.Provider.Oracle" Version="3.2.680" />
-		<PackageReference Include="FreeSql.Provider.Sqlite" Version="3.2.680" />
+		<PackageReference Include="FreeSql.Provider.MySql" Version="3.2.665" />
+		<PackageReference Include="FreeSql.Provider.SqlServer" Version="3.2.665" />
+		<PackageReference Include="FreeSql.Provider.PostgreSQL" Version="3.2.665" />
+		<PackageReference Include="FreeSql.Provider.Oracle" Version="3.2.665" />
+		<PackageReference Include="FreeSql.Provider.Sqlite" Version="3.2.665" />
 	</ItemGroup>
 
 	<ItemGroup>

+ 28 - 3
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -490,6 +490,21 @@
             读写分离从库列表
             </summary>
         </member>
+        <member name="T:ZhonTai.Admin.Core.Configs.SlaveDb">
+            <summary>
+            读写分离从库
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Core.Configs.SlaveDb.ConnectionString">
+            <summary>
+            数据库连接字符串
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Core.Configs.SlaveDb.Weight">
+            <summary>
+            数据库类型
+            </summary>
+        </member>
         <member name="T:ZhonTai.Admin.Core.Configs.JwtConfig">
             <summary>
             Jwt配置
@@ -3008,11 +3023,16 @@
             账号
             </summary>
         </member>
-        <member name="P:ZhonTai.Admin.Services.Auth.Dto.AuthUserProfileDto.NickName">
+        <member name="P:ZhonTai.Admin.Services.Auth.Dto.AuthUserProfileDto.Name">
             <summary>
             姓名
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Services.Auth.Dto.AuthUserProfileDto.NickName">
+            <summary>
+            昵称
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Services.Auth.Dto.AuthUserProfileDto.Avatar">
             <summary>
             头像
@@ -5259,14 +5279,19 @@
             头像
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateBasicInput.Name">
+            <summary>
+            姓名
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateBasicInput.NickName">
             <summary>
             昵称
             </summary>
         </member>
-        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateBasicInput.Remark">
+        <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateBasicInput.Introduce">
             <summary>
-            备注
+            个人简介
             </summary>
         </member>
         <member name="P:ZhonTai.Admin.Services.User.Dto.UserUpdateBasicInput.Version">