From cbf06cbb2e7988fdee53507dede034756ebfbf59 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期二, 14 一月 2025 15:47:40 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/PermissionDataHostService.cs | 76 +++++++++++++++++++++++++++++++------
1 files changed, 63 insertions(+), 13 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/PermissionDataHostService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/PermissionDataHostService.cs"
index 95b79b2..0ff7fb6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/PermissionDataHostService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HostedService/PermissionDataHostService.cs"
@@ -30,7 +30,21 @@
public Task StartAsync(CancellationToken cancellationToken)
{
- List<ExpandoObject> roles = _dbContext.Db.Queryable("Sys_Role", "x").Select(RoleSelectModes).ToList();
+ List<UserRole> userRoles = GetUserRoles(_dbContext.Db);
+ UserRoles = userRoles;
+ _cacheService.AddOrUpdate("UserRoles", userRoles.Serialize());
+
+ return Task.CompletedTask;
+ }
+
+ public Task StopAsync(CancellationToken cancellationToken)
+ {
+ throw new NotImplementedException();
+ }
+
+ public static List<UserRole> GetUserRoles(ISqlSugarClient db)
+ {
+ List<ExpandoObject> roles = db.Queryable("Sys_Role", "x").Select(RoleSelectModes).ToList();
List<dynamic> roleDynamics = new List<dynamic>();
foreach (var item in roles)
{
@@ -38,13 +52,13 @@
}
List<dynamic> roleDataDynamics = new List<dynamic>();
- List<ExpandoObject> roleDatas = _dbContext.Db.Queryable("Sys_RoleDataPermission", "x").Select(RoleDataSelectModes).ToList();
+ List<ExpandoObject> roleDatas = db.Queryable("Sys_RoleDataPermission", "x").Select(RoleDataSelectModes).ToList();
foreach (var item in roleDatas)
{
roleDataDynamics.Add(item);
}
- List<ExpandoObject> users = _dbContext.Db.Queryable("Sys_User", "x").Select(UserSelectModes).ToList();
+ List<ExpandoObject> users = db.Queryable("Sys_User", "x").Select(UserSelectModes).ToList();
List<UserRole> userRoles = new List<UserRole>();
foreach (var item in users)
@@ -70,19 +84,55 @@
});
}
}
-
- UserRoles = userRoles;
- _cacheService.AddOrUpdate("UserRoles", userRoles.Serialize());
-
- return Task.CompletedTask;
+ return userRoles;
}
- public Task StopAsync(CancellationToken cancellationToken)
+ public static List<UserRole> GetUserRoles(ISqlSugarClient db, int userId)
{
- throw new NotImplementedException();
+ List<ExpandoObject> roles = db.Queryable("Sys_Role", "x").Select(RoleSelectModes).ToList();
+ List<dynamic> roleDynamics = new List<dynamic>();
+ foreach (var item in roles)
+ {
+ roleDynamics.Add(item);
+ }
+
+ List<dynamic> roleDataDynamics = new List<dynamic>();
+ List<ExpandoObject> roleDatas = db.Queryable("Sys_RoleDataPermission", "x").Select(RoleDataSelectModes).ToList();
+ foreach (var item in roleDatas)
+ {
+ roleDataDynamics.Add(item);
+ }
+
+ List<ExpandoObject> users = db.Queryable("Sys_User", "x").Where($"UserId={userId}").Select(UserSelectModes).ToList();
+
+ List<UserRole> userRoles = new List<UserRole>();
+ foreach (var item in users)
+ {
+ dynamic user = item;
+ dynamic? role = roleDynamics.FirstOrDefault(x => x.RoleId == user.RoleId);
+ List<object> warehouseIds = roleDataDynamics.Where(x => x.RoleId == user.RoleId).Select(x => x.WarehouseId).ToList();
+ List<int> ids = new List<int>();
+ for (int i = 0; i < warehouseIds.Count; i++)
+ {
+ ids.Add(Convert.ToInt32(warehouseIds[i]));
+ }
+ if (role != null)
+ {
+ userRoles.Add(new UserRole
+ {
+ RoleId = role.RoleId,
+ RoleName = role.RoleName,
+ ParentId = role.ParentId,
+ UserId = user.UserId,
+ UserName = user.UserName,
+ WarehouseIds = ids
+ });
+ }
+ }
+ return userRoles;
}
- List<SelectModel> RoleSelectModes = new List<SelectModel>()
+ static List<SelectModel> RoleSelectModes = new List<SelectModel>()
{
new SelectModel()
{
@@ -98,7 +148,7 @@
},
};
- List<SelectModel> UserSelectModes = new List<SelectModel>()
+ static List<SelectModel> UserSelectModes = new List<SelectModel>()
{
new SelectModel()
{
@@ -118,7 +168,7 @@
}
};
- List<SelectModel> RoleDataSelectModes = new List<SelectModel>()
+ static List<SelectModel> RoleDataSelectModes = new List<SelectModel>()
{
new SelectModel()
{
--
Gitblit v1.9.3