Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
b0b2d449
Commit
b0b2d449
authored
Feb 24, 2021
by
钟博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
多角色登录,账号可切换不同角色,用户可设置多个角色
parent
95faf43c
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
317 additions
and
6 deletions
+317
-6
performance/Performance.Api/Controllers/AccountController.cs
+73
-0
performance/Performance.DtoModels/Request/UserRequest.cs
+7
-3
performance/Performance.DtoModels/Response/RoleResponse.cs
+2
-0
performance/Performance.DtoModels/Response/UserResponse.cs
+2
-0
performance/Performance.EntityModels/Entity/Sys_User.cs
+5
-0
performance/Performance.Services/RoleService.cs
+53
-1
performance/Performance.Services/UserService.cs
+175
-2
No files found.
performance/Performance.Api/Controllers/AccountController.cs
View file @
b0b2d449
...
@@ -294,5 +294,77 @@ public ApiResponse<UserResponse> Password(int userId)
...
@@ -294,5 +294,77 @@ public ApiResponse<UserResponse> Password(int userId)
var
user
=
_userService
.
ResetPwd
(
userId
,
loginUserId
);
var
user
=
_userService
.
ResetPwd
(
userId
,
loginUserId
);
return
new
ApiResponse
<
UserResponse
>(
ResponseType
.
OK
,
user
);
return
new
ApiResponse
<
UserResponse
>(
ResponseType
.
OK
,
user
);
}
}
#
region
多角色
/// <summary>
/// 查询用户信息
/// </summary>
/// <returns></returns>
[
Route
(
"selfInfos"
)]
[
HttpPost
]
public
ApiResponse
SelfInfos
()
{
var
userid
=
_claim
.
GetUserId
();
var
user
=
_userService
.
GetUser
(
userid
);
user
.
Role
=
_roleService
.
GetUsersRole
(
user
.
UserID
);
user
.
Hospital
=
_hospitalService
.
GetUserHopital
(
user
.
UserID
);
int
[]
roleArray
=
new
int
[]
{
_options
.
NurseRole
,
_options
.
DirectorRole
,
_options
.
SpecialRole
,
_options
.
OfficeRole
};
user
.
IsAgainAdmin
=
user
.
Role
!=
null
?
roleArray
.
Contains
(
user
.
Role
.
First
().
Type
??
0
)
:
false
;
return
new
ApiResponse
(
ResponseType
.
OK
,
user
);
}
/// <summary>
/// 新增用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"InsertUser"
)]
[
HttpPost
]
public
ApiResponse
<
UserResponse
>
InsertUser
([
CustomizeValidator
(
RuleSet
=
"Insert"
),
FromBody
]
UserRequest
request
)
{
var
userId
=
_claim
.
GetUserId
();
var
user
=
_userService
.
InsertUser
(
request
,
userId
);
user
.
RoleArr
=
request
.
RoleArr
;
return
new
ApiResponse
<
UserResponse
>(
ResponseType
.
OK
,
user
);
}
/// <summary>
/// 编辑用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"UpdateUser"
)]
[
HttpPost
]
public
ApiResponse
<
UserResponse
>
UpdateUser
([
CustomizeValidator
(
RuleSet
=
"Update"
),
FromBody
]
UserRequest
request
)
{
var
userId
=
_claim
.
GetUserId
();
int
[]
roleArray
=
new
int
[]
{
_options
.
NurseRole
,
_options
.
DirectorRole
,
_options
.
SpecialRole
,
_options
.
OfficeRole
};
var
roles
=
_roleService
.
GetUsersRole
(
userId
);
//var roleType = roles.Select(c => c.Type).ToArray();
var
intersect
=
roleArray
.
Intersect
(
roles
.
Select
(
c
=>(
int
)
c
.
Type
).
ToArray
());
var
isAgainAdmin
=
roles
!=
null
?
intersect
.
Any
()
:
false
;
var
user
=
_userService
.
UpdateUser
(
request
,
isAgainAdmin
);
user
.
RoleArr
=
request
.
RoleArr
;
return
new
ApiResponse
<
UserResponse
>(
ResponseType
.
OK
,
user
);
}
/// <summary>
/// 新增用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"DeleteUser"
)]
[
HttpPost
]
public
ApiResponse
DeleteUser
([
CustomizeValidator
(
RuleSet
=
"Delete"
),
FromBody
]
UserRequest
request
)
{
return
_userService
.
DeleteUser
(
request
.
ID
);
}
#
endregion
}
}
}
}
\ No newline at end of file
performance/Performance.DtoModels/Request/UserRequest.cs
View file @
b0b2d449
...
@@ -42,7 +42,11 @@ public class UserRequest
...
@@ -42,7 +42,11 @@ public class UserRequest
/// 角色
/// 角色
/// </summary>
/// </summary>
public
int
Role
{
get
;
set
;
}
public
int
Role
{
get
;
set
;
}
/// <summary>
/// 角色Arr
/// </summary>
public
int
[]
RoleArr
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 用户医院ID
/// 用户医院ID
/// </summary>
/// </summary>
...
@@ -69,7 +73,7 @@ public UserRequestValidator()
...
@@ -69,7 +73,7 @@ public UserRequestValidator()
RuleSet
(
"Insert"
,
()
=>
RuleSet
(
"Insert"
,
()
=>
{
{
action
();
action
();
RuleFor
(
x
=>
x
.
Role
).
NotNull
().
NotEmpty
().
GreaterThan
(
0
);
RuleFor
(
x
=>
x
.
Role
Arr
).
NotNull
().
NotEmpty
(
);
RuleFor
(
x
=>
x
.
Password
).
NotNull
().
NotEmpty
().
Length
(
4
,
20
);
RuleFor
(
x
=>
x
.
Password
).
NotNull
().
NotEmpty
().
Length
(
4
,
20
);
RuleFor
(
x
=>
x
.
HosIDArray
).
NotNull
().
NotEmpty
().
Must
(
f
=>
f
.
Length
>
0
);
RuleFor
(
x
=>
x
.
HosIDArray
).
NotNull
().
NotEmpty
().
Must
(
f
=>
f
.
Length
>
0
);
});
});
...
@@ -80,7 +84,7 @@ public UserRequestValidator()
...
@@ -80,7 +84,7 @@ public UserRequestValidator()
RuleFor
(
x
=>
x
.
ID
).
NotNull
().
NotEmpty
().
GreaterThan
(
0
);
RuleFor
(
x
=>
x
.
ID
).
NotNull
().
NotEmpty
().
GreaterThan
(
0
);
RuleFor
(
x
=>
x
.
States
).
InclusiveBetween
(
1
,
2
);
RuleFor
(
x
=>
x
.
States
).
InclusiveBetween
(
1
,
2
);
//RuleFor(x => x.Password).Length(4, 20);
//RuleFor(x => x.Password).Length(4, 20);
RuleFor
(
x
=>
x
.
Role
).
NotNull
().
NotEmpty
().
GreaterThan
(
0
);
RuleFor
(
x
=>
x
.
Role
Arr
).
NotNull
().
NotEmpty
(
);
RuleFor
(
x
=>
x
.
HosIDArray
).
NotNull
().
NotEmpty
().
Must
(
f
=>
f
.
Length
>
0
);
RuleFor
(
x
=>
x
.
HosIDArray
).
NotNull
().
NotEmpty
().
Must
(
f
=>
f
.
Length
>
0
);
});
});
...
...
performance/Performance.DtoModels/Response/RoleResponse.cs
View file @
b0b2d449
...
@@ -32,5 +32,7 @@ public class RoleResponse
...
@@ -32,5 +32,7 @@ public class RoleResponse
/// 首页地址
/// 首页地址
/// </summary>
/// </summary>
public
string
IndexUrl
{
get
;
set
;
}
public
string
IndexUrl
{
get
;
set
;
}
public
int
Value
{
get
;
set
;
}
}
}
}
}
performance/Performance.DtoModels/Response/UserResponse.cs
View file @
b0b2d449
...
@@ -17,5 +17,7 @@ public class UserResponse
...
@@ -17,5 +17,7 @@ public class UserResponse
public
string
Hospital
{
get
;
set
;
}
public
string
Hospital
{
get
;
set
;
}
public
int
Role
{
get
;
set
;
}
public
int
Role
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
public
int
[]
RoleArr
{
get
;
set
;
}
}
}
}
}
performance/Performance.EntityModels/Entity/Sys_User.cs
View file @
b0b2d449
...
@@ -70,5 +70,10 @@ public class sys_user
...
@@ -70,5 +70,10 @@ public class sys_user
/// 删除状态 1可用 2删除
/// 删除状态 1可用 2删除
/// </summary>
/// </summary>
public
Nullable
<
int
>
IsDelete
{
get
;
set
;
}
public
Nullable
<
int
>
IsDelete
{
get
;
set
;
}
/// <summary>
/// 父级ID
/// </summary>
public
Nullable
<
int
>
ParentID
{
get
;
set
;
}
}
}
}
}
performance/Performance.Services/RoleService.cs
View file @
b0b2d449
...
@@ -13,12 +13,15 @@ public class RoleService : IAutoInjection
...
@@ -13,12 +13,15 @@ public class RoleService : IAutoInjection
{
{
private
PerforRoleRepository
_roleRepository
;
private
PerforRoleRepository
_roleRepository
;
private
PerforUserroleRepository
_userroleRepository
;
private
PerforUserroleRepository
_userroleRepository
;
private
PerforUserRepository
_userRepository
;
public
RoleService
(
PerforRoleRepository
roleRepository
,
public
RoleService
(
PerforRoleRepository
roleRepository
,
PerforUserroleRepository
userroleRepository
)
PerforUserroleRepository
userroleRepository
,
PerforUserRepository
userRepository
)
{
{
this
.
_roleRepository
=
roleRepository
;
this
.
_roleRepository
=
roleRepository
;
this
.
_userroleRepository
=
userroleRepository
;
this
.
_userroleRepository
=
userroleRepository
;
_userRepository
=
userRepository
;
}
}
/// <summary>
/// <summary>
...
@@ -51,5 +54,54 @@ public List<sys_role> GetRole(int userid)
...
@@ -51,5 +54,54 @@ public List<sys_role> GetRole(int userid)
return
roles
;
return
roles
;
}
}
public
List
<
RoleResponse
>
GetUsersRole
(
int
userid
)
{
List
<
RoleResponse
>
roleResponses
=
new
List
<
RoleResponse
>();
var
user
=
_userRepository
.
GetEntity
(
c
=>
c
.
ID
==
userid
);
var
ParentUser
=
_userRepository
.
GetEntities
(
c
=>
c
.
ParentID
==
userid
);
if
(
user
.
ParentID
!=
null
||
user
.
ParentID
==
0
)
{
ParentUser
=
_userRepository
.
GetEntities
(
c
=>
c
.
ID
==
user
.
ParentID
);
}
if
(
user
!=
null
)
{
foreach
(
var
sysUser
in
ParentUser
)
{
var
useRoles
=
GetARole
(
sysUser
.
ID
);
var
role
=
Mapper
.
Map
<
RoleResponse
>(
useRoles
);
role
.
Value
=
sysUser
.
ID
;
roleResponses
.
Add
(
role
);
}
}
var
roles
=
GetARole
(
userid
);
if
(
roles
!=
null
)
{
var
role
=
Mapper
.
Map
<
RoleResponse
>(
roles
);
role
.
Value
=
userid
;
roleResponses
.
Add
(
role
);
}
return
roleResponses
;
}
/// <summary>
/// 获取用户角色
/// </summary>
/// <param name="userid"></param>
/// <returns></returns>
public
sys_role
GetARole
(
int
userid
)
{
if
(
userid
<=
0
)
throw
new
PerformanceException
(
$"userid:
{
userid
}
错误"
);
var
joinList
=
_userroleRepository
.
GetEntities
(
t
=>
t
.
UserID
==
userid
);
if
(
joinList
==
null
)
return
null
;
var
roles
=
_roleRepository
.
GetEntity
(
t
=>
joinList
.
Select
(
j
=>
j
.
RoleID
).
Contains
(
t
.
ID
));
return
roles
;
}
}
}
}
}
performance/Performance.Services/UserService.cs
View file @
b0b2d449
...
@@ -142,7 +142,7 @@ public List<UserResponse> GetUserList(int userID)
...
@@ -142,7 +142,7 @@ public List<UserResponse> GetUserList(int userID)
if
(
role
.
IsViewAllUsers
==
2
)
if
(
role
.
IsViewAllUsers
==
2
)
{
{
var
userlist
=
_userRepository
.
GetEntities
(
t
=>
t
.
CreateUser
==
userID
&&
t
.
IsDelete
==
1
);
var
userlist
=
_userRepository
.
GetEntities
(
t
=>
t
.
CreateUser
==
userID
&&
t
.
IsDelete
==
1
&&
(
t
.
ParentID
==
0
||
t
.
ParentID
==
null
)
);
result
=
Mapper
.
Map
<
List
<
UserResponse
>>(
userlist
);
result
=
Mapper
.
Map
<
List
<
UserResponse
>>(
userlist
);
}
}
else
else
...
@@ -151,7 +151,7 @@ public List<UserResponse> GetUserList(int userID)
...
@@ -151,7 +151,7 @@ public List<UserResponse> GetUserList(int userID)
if
(
hospitalIds
==
null
||
!
hospitalIds
.
Any
())
return
result
;
if
(
hospitalIds
==
null
||
!
hospitalIds
.
Any
())
return
result
;
var
userIds
=
_userhospitalRepository
.
GetEntities
(
t
=>
hospitalIds
.
Contains
(
t
.
HospitalID
)).
Select
(
t
=>
t
.
UserID
).
Distinct
();
var
userIds
=
_userhospitalRepository
.
GetEntities
(
t
=>
hospitalIds
.
Contains
(
t
.
HospitalID
)).
Select
(
t
=>
t
.
UserID
).
Distinct
();
var
userlist
=
_userRepository
.
GetEntities
(
t
=>
t
.
ID
!=
userID
&&
userIds
.
Contains
(
t
.
ID
)
&&
t
.
IsDelete
==
1
);
var
userlist
=
_userRepository
.
GetEntities
(
t
=>
t
.
ID
!=
userID
&&
userIds
.
Contains
(
t
.
ID
)
&&
t
.
IsDelete
==
1
&&
(
t
.
ParentID
==
0
||
t
.
ParentID
==
null
)
);
result
=
Mapper
.
Map
<
List
<
UserResponse
>>(
userlist
);
result
=
Mapper
.
Map
<
List
<
UserResponse
>>(
userlist
);
}
}
if
(
result
!=
null
&&
result
.
Count
>
0
)
if
(
result
!=
null
&&
result
.
Count
>
0
)
...
@@ -163,9 +163,26 @@ public List<UserResponse> GetUserList(int userID)
...
@@ -163,9 +163,26 @@ public List<UserResponse> GetUserList(int userID)
{
{
item
.
Hospital
=
string
.
Join
(
","
,
hoslist
.
Select
(
p
=>
p
.
HospitalID
.
Value
));
item
.
Hospital
=
string
.
Join
(
","
,
hoslist
.
Select
(
p
=>
p
.
HospitalID
.
Value
));
}
}
List
<
int
>
roleId
=
new
List
<
int
>();
var
userRole
=
_userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
item
.
UserID
);
var
userRole
=
_userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
item
.
UserID
);
if
(
userRole
!=
null
)
if
(
userRole
!=
null
)
{
item
.
Role
=
userRole
.
RoleID
;
item
.
Role
=
userRole
.
RoleID
;
roleId
.
Add
(
userRole
.
RoleID
);
}
var
diffUserRole
=
_userRepository
.
GetEntities
(
c
=>
c
.
ParentID
==
item
.
UserID
);
if
(
diffUserRole
!=
null
)
{
foreach
(
var
user
in
diffUserRole
)
{
var
diffRole
=
_userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
user
.
ID
);
roleId
.
Add
(
diffRole
.
RoleID
);
}
}
item
.
RoleArr
=
roleId
?.
ToArray
();
}
}
}
}
return
result
;
return
result
;
...
@@ -496,5 +513,160 @@ public UserResponse ResetPwd(int userId, int loginUserId)
...
@@ -496,5 +513,160 @@ public UserResponse ResetPwd(int userId, int loginUserId)
throw
new
PerformanceException
(
"重置失败"
);
throw
new
PerformanceException
(
"重置失败"
);
return
Mapper
.
Map
<
UserResponse
>(
user
);
return
Mapper
.
Map
<
UserResponse
>(
user
);
}
}
#
region
多角色
/// <summary>
/// 新增用户
/// </summary>
/// <param name="request"></param>
public
UserResponse
InsertUser
(
UserRequest
request
,
int
userid
)
{
if
(
null
!=
_userRepository
.
GetEntity
(
t
=>
t
.
Login
==
request
.
Login
&&
t
.
IsDelete
==
1
))
throw
new
PerformanceException
(
"登录名重复"
);
if
(
request
.
HosIDArray
.
Length
>
1
)
throw
new
PerformanceException
(
"二次绩效管理员只支持单家医院"
);
int
[]
roleArray
=
new
int
[]
{
application
.
NurseRole
,
application
.
DirectorRole
,
application
.
SpecialRole
,
application
.
OfficeRole
};
if
(
roleArray
.
Intersect
(
request
.
RoleArr
).
Any
()
&&
string
.
IsNullOrEmpty
(
request
.
Department
))
throw
new
PerformanceException
(
"二次绩效管理员科室不能为空"
);
var
user
=
Mapper
.
Map
<
sys_user
>(
request
);
user
.
CreateDate
=
DateTime
.
Now
;
user
.
CreateUser
=
userid
;
user
.
States
=
(
int
)
States
.
Enabled
;
user
.
Department
=
roleArray
.
Contains
(
request
.
RoleArr
[
0
])
?
request
.
Department
:
""
;
user
.
IsDelete
=
1
;
if
(!
_userRepository
.
Add
(
user
))
throw
new
PerformanceException
(
"保存失败"
);
//添加用户角色关联关系
_userroleRepository
.
Add
(
new
sys_user_role
{
UserID
=
user
.
ID
,
RoleID
=
request
.
RoleArr
[
0
]
});
//添加用户医院
SetHospital
(
user
.
ID
,
request
.
HosIDArray
);
var
userID
=
user
.
ID
;
for
(
int
i
=
1
;
i
<
request
.
RoleArr
.
Length
;
i
++)
{
user
.
Login
=
request
.
Login
+
i
;
user
.
ParentID
=
userID
;
user
.
Department
=
roleArray
.
Contains
(
request
.
RoleArr
[
i
])
?
request
.
Department
:
""
;
user
.
ID
++;
_userRepository
.
Add
(
user
);
//添加用户角色关联关系
_userroleRepository
.
Add
(
new
sys_user_role
{
UserID
=
user
.
ID
,
RoleID
=
request
.
RoleArr
[
i
]
});
//添加用户医院
SetHospital
(
user
.
ID
,
request
.
HosIDArray
);
}
return
Mapper
.
Map
<
UserResponse
>(
user
);
}
/// <summary>
/// 修改用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
UserResponse
UpdateUser
(
UserRequest
request
,
bool
isAgainAdmin
)
{
var
user
=
_userRepository
.
GetEntity
(
t
=>
t
.
ID
==
request
.
ID
&&
t
.
IsDelete
==
1
);
if
(
null
==
user
)
throw
new
PerformanceException
(
$"用户不存在 UserId:
{
request
.
ID
}
"
);
var
vlist
=
_userRepository
.
GetEntities
(
t
=>
t
.
ID
!=
user
.
ID
&&
t
.
Login
==
request
.
Login
&&
t
.
IsDelete
==
1
);
if
(
null
!=
vlist
&&
vlist
.
Count
()
>
0
)
throw
new
PerformanceException
(
"登录名重复"
);
if
(
isAgainAdmin
&&
string
.
IsNullOrEmpty
(
request
.
Department
))
throw
new
PerformanceException
(
"二次绩效管理员科室不能为空"
);
if
(
isAgainAdmin
&&
request
.
HosIDArray
.
Length
>
1
)
throw
new
PerformanceException
(
"二次绩效管理员只支持单家医院"
);
int
[]
roleArray
=
new
int
[]
{
application
.
NurseRole
,
application
.
DirectorRole
,
application
.
SpecialRole
,
application
.
OfficeRole
};
user
.
Login
=
request
.
Login
;
user
.
Mobile
=
request
.
Mobile
;
user
.
RealName
=
request
.
RealName
;
user
.
Mail
=
request
.
Mail
;
user
.
States
=
request
.
States
;
user
.
Password
=
string
.
IsNullOrEmpty
(
request
.
Password
)
?
user
.
Password
:
request
.
Password
;
user
.
Department
=
roleArray
.
Contains
(
request
.
RoleArr
[
0
])
?
request
.
Department
:
""
;
if
(!
_userRepository
.
Update
(
user
))
throw
new
PerformanceException
(
"保存失败"
);
//删除用户角色关联关系
var
userRole
=
_userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
user
.
ID
);
if
(
null
!=
userRole
)
_userroleRepository
.
Remove
(
userRole
);
//添加用户角色关联关系
_userroleRepository
.
Add
(
new
sys_user_role
{
UserID
=
user
.
ID
,
RoleID
=
request
.
RoleArr
[
0
]
});
//添加用户医院
SetHospital
(
user
.
ID
,
request
.
HosIDArray
);
//删除子用户角色关联关系
var
userSubset
=
_userRepository
.
GetEntities
(
c
=>
c
.
ParentID
==
user
.
ID
);
if
(
userSubset
!=
null
)
{
foreach
(
var
item
in
userSubset
)
{
var
diffUserRole
=
_userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
item
.
ID
);
if
(
null
!=
diffUserRole
)
_userroleRepository
.
Remove
(
diffUserRole
);
}
_userRepository
.
RemoveRange
(
userSubset
.
ToArray
());
}
var
userID
=
user
.
ID
;
var
userLogin
=
user
.
Login
;
for
(
int
i
=
1
;
i
<
request
.
RoleArr
.
Length
;
i
++)
{
sys_user
diffUser
=
new
sys_user
();
diffUser
.
CreateDate
=
DateTime
.
Now
;
diffUser
.
CreateUser
=
user
.
CreateUser
;
diffUser
.
IsDelete
=
1
;
diffUser
.
Login
=
userLogin
+
i
;
diffUser
.
ParentID
=
userID
;
diffUser
.
Mobile
=
request
.
Mobile
;
diffUser
.
RealName
=
request
.
RealName
;
diffUser
.
Mail
=
request
.
Mail
;
diffUser
.
States
=
request
.
States
;
diffUser
.
Password
=
string
.
IsNullOrEmpty
(
request
.
Password
)
?
user
.
Password
:
request
.
Password
;
diffUser
.
Department
=
roleArray
.
Contains
(
request
.
RoleArr
[
0
])
?
request
.
Department
:
""
;
if
(!
_userRepository
.
Add
(
diffUser
))
throw
new
PerformanceException
(
"保存失败"
);
//添加子用户角色关联关系
_userroleRepository
.
Add
(
new
sys_user_role
{
UserID
=
diffUser
.
ID
,
RoleID
=
request
.
RoleArr
[
i
]
});
//添加子用户医院
SetHospital
(
diffUser
.
ID
,
request
.
HosIDArray
);
}
return
Mapper
.
Map
<
UserResponse
>(
user
);
}
public
ApiResponse
DeleteUser
(
int
iD
)
{
var
user
=
_userRepository
.
GetEntity
(
t
=>
t
.
ID
==
iD
&&
t
.
IsDelete
==
1
);
if
(
null
==
user
)
throw
new
PerformanceException
(
$"用户不存在 UserId:
{
iD
}
"
);
user
.
IsDelete
=
2
;
var
result
=
_userRepository
.
Remove
(
user
);
var
users
=
_userRepository
.
GetEntities
(
t
=>
t
.
ParentID
==
user
.
ID
&&
t
.
IsDelete
==
1
)?.
ToArray
();
if
(
users
!=
null
)
{
_userRepository
.
RemoveRange
(
users
);
foreach
(
var
item
in
users
)
{
var
userRole
=
_userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
item
.
ID
);
if
(
null
!=
userRole
)
_userroleRepository
.
Remove
(
userRole
);
}
}
return
result
?
new
ApiResponse
(
ResponseType
.
OK
)
:
new
ApiResponse
(
ResponseType
.
Fail
);
}
#
endregion
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment