Commit 3fa94b6a by 钟博

角色排序,修改切换角色出现重复角色bug

parent 08ff15c1
...@@ -30,7 +30,7 @@ public class RoleService : IAutoInjection ...@@ -30,7 +30,7 @@ public class RoleService : IAutoInjection
/// <param name="userid"></param> /// <param name="userid"></param>
/// <returns></returns> /// <returns></returns>
public List<RoleResponse> GetUserRole(int userid) public List<RoleResponse> GetUserRole(int userid)
{ {
var roles = GetRole(userid); var roles = GetRole(userid);
return Mapper.Map<List<RoleResponse>>(roles); return Mapper.Map<List<RoleResponse>>(roles);
} }
...@@ -58,14 +58,14 @@ public List<sys_role> GetRole(int userid) ...@@ -58,14 +58,14 @@ public List<sys_role> GetRole(int userid)
public List<RoleResponse> GetUsersRole(int userid) public List<RoleResponse> GetUsersRole(int userid)
{ {
List<RoleResponse> roleResponses = new List<RoleResponse>(); List<RoleResponse> roleResponses = new List<RoleResponse>();
var user=_userRepository.GetEntity(c => c.ID == userid); var user = _userRepository.GetEntity(c => c.ID == userid);
var ParentUser = _userRepository.GetEntities(c => c.ParentID == userid); var ParentUser = _userRepository.GetEntities(c => c.ParentID == userid);
if (user.ParentID!=null || user.ParentID==0) if (user.ParentID != null || user.ParentID == 0)
{ {
ParentUser=_userRepository.GetEntities(c => c.ParentID == user.ParentID); ParentUser = _userRepository.GetEntities(c => c.ParentID == user.ParentID);
} }
if (ParentUser != null) if (ParentUser != null)
{ {
foreach (var sysUser in ParentUser) foreach (var sysUser in ParentUser)
{ {
...@@ -75,14 +75,16 @@ public List<RoleResponse> GetUsersRole(int userid) ...@@ -75,14 +75,16 @@ public List<RoleResponse> GetUsersRole(int userid)
roleResponses.Add(role); roleResponses.Add(role);
} }
} }
var roles = GetARole(userid);
if (roles!=null) var isParent = user.ParentID == null || user.ParentID == 0;
var roles = GetARole(isParent ? userid : (int)user.ParentID);
if (roles != null)
{ {
var role = Mapper.Map<RoleResponse>(roles); var role = Mapper.Map<RoleResponse>(roles);
role.Value = userid; role.Value = userid;
roleResponses.Add(role); roleResponses.Add(role);
} }
return roleResponses; return roleResponses?.OrderBy(t => t.Type).ToList();
} }
/// <summary> /// <summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment