Commit 08ff15c1 by 钟博

修改切换角色权限问题

parent 5170999d
...@@ -304,7 +304,7 @@ public ApiResponse<UserResponse> Password(int userId) ...@@ -304,7 +304,7 @@ public ApiResponse<UserResponse> Password(int userId)
/// <returns></returns> /// <returns></returns>
[Route("selfInfos")] [Route("selfInfos")]
[HttpPost] [HttpPost]
public ApiResponse SelfInfos() public ApiResponse SelfInfos([FromBody] UserRequest request)
{ {
var userid = _claim.GetUserId(); var userid = _claim.GetUserId();
var user = _userService.GetUser(userid); var user = _userService.GetUser(userid);
...@@ -312,7 +312,10 @@ public ApiResponse SelfInfos() ...@@ -312,7 +312,10 @@ public ApiResponse SelfInfos()
user.Hospital = _hospitalService.GetUserHopital(user.UserID); user.Hospital = _hospitalService.GetUserHopital(user.UserID);
int[] roleArray = new int[] { _options.NurseRole, _options.DirectorRole, _options.SpecialRole, _options.OfficeRole }; int[] roleArray = new int[] { _options.NurseRole, _options.DirectorRole, _options.SpecialRole, _options.OfficeRole };
if (request.Role <= 0)
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First().Type ?? 0) : false; user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First().Type ?? 0) : false;
else
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First(t=>t.RoleID==request.Role).Type ?? 0) : false;
return new ApiResponse(ResponseType.OK, user); return new ApiResponse(ResponseType.OK, user);
} }
...@@ -345,7 +348,7 @@ public ApiResponse<UserResponse> UpdateUser([CustomizeValidator(RuleSet = "Updat ...@@ -345,7 +348,7 @@ public ApiResponse<UserResponse> UpdateUser([CustomizeValidator(RuleSet = "Updat
int[] roleArray = new int[] { _options.NurseRole, _options.DirectorRole, _options.SpecialRole, _options.OfficeRole }; int[] roleArray = new int[] { _options.NurseRole, _options.DirectorRole, _options.SpecialRole, _options.OfficeRole };
var roles = _roleService.GetUsersRole(userId); var roles = _roleService.GetUsersRole(userId);
//var roleType = roles.Select(c => c.Type).ToArray(); //var roleType = roles.Select(c => c.Type).ToArray();
var intersect= roleArray.Intersect(roles.Select(c=>(int)c.Type).ToArray()); var intersect = roleArray.Intersect(roles.Select(c => (int)c.Type).ToArray());
var isAgainAdmin = roles != null ? intersect.Any() : false; var isAgainAdmin = roles != null ? intersect.Any() : false;
var user = _userService.UpdateUser(request, isAgainAdmin); var user = _userService.UpdateUser(request, isAgainAdmin);
......
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