Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
test
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
邬友楠
test
Commits
7d5e22a5
Commit
7d5e22a5
authored
Apr 26, 2020
by
雍欢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实现引用权限
parent
91d4cb14
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
296 additions
and
206 deletions
+296
-206
AccessApplication.java
...om/huigou/uasp/bmp/opm/application/AccessApplication.java
+103
-149
Authorize.java
...om/huigou/uasp/bmp/opm/domain/model/access/Authorize.java
+34
-0
AuthorizeId.java
.../huigou/uasp/bmp/opm/domain/model/access/AuthorizeId.java
+62
-0
BizManagementRepository.java
...bmp/opm/repository/managment/BizManagementRepository.java
+11
-7
RoleRepository.java
...om/huigou/uasp/bmp/opm/repository/org/RoleRepository.java
+16
-7
AccessApplicationImpl.java
...a/com/huigou/uasp/bmp/opm/impl/AccessApplicationImpl.java
+11
-0
ManagementApplicationImpl.java
...m/huigou/uasp/bmp/opm/impl/ManagementApplicationImpl.java
+26
-11
AccessApplicationProxy.java
...com/huigou/uasp/bmp/opm/proxy/AccessApplicationProxy.java
+17
-15
OrgApplicationProxy.java
...va/com/huigou/uasp/bmp/opm/proxy/OrgApplicationProxy.java
+16
-17
No files found.
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/application/AccessApplication.java
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
application
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
application
;
import
java.util.List
;
import
java.util.Map
;
import
com.huigou.context.RoleKind
;
import
com.huigou.context.RoleKind
;
import
com.huigou.data.domain.query.FolderAndCodeAndNameQueryRequest
;
import
com.huigou.data.domain.query.FolderAndCodeAndNameQueryRequest
;
import
com.huigou.data.domain.query.ParentIdQueryRequest
;
import
com.huigou.data.domain.query.ParentIdQueryRequest
;
...
@@ -16,9 +13,12 @@ import com.huigou.uasp.bmp.opm.domain.query.PermissionsByRoleIdQueryRequest;
...
@@ -16,9 +13,12 @@ import com.huigou.uasp.bmp.opm.domain.query.PermissionsByRoleIdQueryRequest;
import
com.huigou.uasp.bmp.opm.domain.query.RolesQueryRequestQueryRequest
;
import
com.huigou.uasp.bmp.opm.domain.query.RolesQueryRequestQueryRequest
;
import
com.huigou.util.SDO
;
import
com.huigou.util.SDO
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 访问控制应用
* 访问控制应用
*
*
* @author gongmm
* @author gongmm
*/
*/
public
interface
AccessApplication
{
public
interface
AccessApplication
{
...
@@ -29,82 +29,70 @@ public interface AccessApplication {
...
@@ -29,82 +29,70 @@ public interface AccessApplication {
/**
/**
* 保存角色
* 保存角色
*
*
* @param role
* @param role 角色
* 角色
* @return 角色ID
* @return 角色ID
*/
*/
String
saveRole
(
Role
role
);
String
saveRole
(
Role
role
);
/**
/**
* 从数据库读取一个角色数据
* 从数据库读取一个角色数据
*
*
* @param id
* @param id 角色ID
* 角色ID
*/
*/
Role
loadRole
(
String
id
);
Role
loadRole
(
String
id
);
/**
/**
* 删除角色
* 删除角色
*
*
* @param ids
* @param ids 角色ID列表
* 角色ID列表
*/
*/
void
deleteRoles
(
List
<
String
>
ids
);
void
deleteRoles
(
List
<
String
>
ids
);
/**
/**
* 更新排序号
* 更新排序号
*
*
* @param roles
* @param roles 角色ID和排序号的Map
* 角色ID和排序号的Map
*/
*/
void
updateRolesSequence
(
Map
<
String
,
Integer
>
params
);
void
updateRolesSequence
(
Map
<
String
,
Integer
>
params
);
/**
/**
* 移动角色
* 移动角色
*
*
* @param ids
* @param ids 角色ID列表
* 角色ID列表
* @param parentId 父ID
* @param parentId
* 父ID
*/
*/
void
moveRoles
(
List
<
String
>
ids
,
String
parentId
);
void
moveRoles
(
List
<
String
>
ids
,
String
parentId
);
/**
/**
* 移动租户角色
* 移动租户角色
*
*
* @param ids
* @param ids 角色ID列表
* 角色ID列表
* @param parentId 父ID
* @param parentId
* 父ID
*/
*/
void
moveTenantRoles
(
List
<
String
>
ids
,
String
parentId
);
void
moveTenantRoles
(
List
<
String
>
ids
,
String
parentId
);
/**
/**
* 获取角色下一个排序号
* 获取角色下一个排序号
*
*
* @param parentId
* @param parentId 父ID
* 父ID
* @return 角色下一个排序号
* @return 角色下一个排序号
*/
*/
Integer
getRoleNextSequence
(
String
parentId
);
Integer
getRoleNextSequence
(
String
parentId
);
/**
/**
* 查询角色数据
* 查询角色数据
*
*
* @param tenantKindId
* @param tenantKindId 租户类别
* 租户类别
* @param parentId 父ID
* @param parentId
* 父ID
* @return
* @return
*/
*/
List
<
Map
<
String
,
Object
>>
queryRoles
(
String
tenantKindId
,
String
parentId
);
List
<
Map
<
String
,
Object
>>
queryRoles
(
String
tenantKindId
,
String
parentId
);
/**
/**
* 分页查询角色数据
* 分页查询角色数据
*
*
* @param queryRequest
* @param queryRequest 查询 对象
* 查询 对象
* @return
* @return
*/
*/
Map
<
String
,
Object
>
slicedQueryRoles
(
RolesQueryRequestQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedQueryRoles
(
RolesQueryRequestQueryRequest
queryRequest
);
...
@@ -116,26 +104,23 @@ public interface AccessApplication {
...
@@ -116,26 +104,23 @@ public interface AccessApplication {
/**
/**
* 保存权限
* 保存权限
*
*
* @param permission
* @param permission 权限实体
* 权限实体
* @return 权限ID
* @return 权限ID
*/
*/
String
savePermission
(
Permission
permission
);
String
savePermission
(
Permission
permission
);
/**
/**
* 更新权限
* 更新权限
*
*
* @param permission
* @param permission 权限实体
* 权限实体
*/
*/
void
updatePermission
(
Permission
permission
);
void
updatePermission
(
Permission
permission
);
/**
/**
* 加载权限
* 加载权限
*
*
* @param id
* @param id 权限ID
* 权限ID
* @return 权限实体
* @return 权限实体
*/
*/
Permission
loadPermission
(
String
id
);
Permission
loadPermission
(
String
id
);
...
@@ -144,223 +129,190 @@ public interface AccessApplication {
...
@@ -144,223 +129,190 @@ public interface AccessApplication {
* 删除权限
* 删除权限
* <p>
* <p>
* 若权限已分配给角色,不能删除。
* 若权限已分配给角色,不能删除。
*
*
* @param ids
* @param ids 权限ID列表
* 权限ID列表
*/
*/
void
deletePermissions
(
List
<
String
>
ids
);
void
deletePermissions
(
List
<
String
>
ids
);
/**
/**
* 更新权限排序号
* 更新权限排序号
*
*
* @param permissions
* @param permissions 权限ID和排序号的Map
* 权限ID和排序号的Map
*/
*/
void
updatePermissionsSequence
(
Map
<
String
,
Integer
>
permissions
);
void
updatePermissionsSequence
(
Map
<
String
,
Integer
>
permissions
);
/**
/**
* 更新权限状态
* 更新权限状态
*
*
* @param ids
* @param ids 权限ID列表
* 权限ID列表
* @param status 状态
* @param status
* 状态
*/
*/
void
updatePermissionsStatus
(
List
<
String
>
ids
,
Integer
status
);
void
updatePermissionsStatus
(
List
<
String
>
ids
,
Integer
status
);
/**
/**
* 移动权限
* 移动权限
*
*
* @param ids
* @param ids 权限ID列表
* 权限ID列表
* @param parentId 父ID
* @param parentId
* 父ID
*/
*/
void
movePermissions
(
List
<
String
>
ids
,
String
parentId
);
void
movePermissions
(
List
<
String
>
ids
,
String
parentId
);
/**
/**
* 查询权限
* 查询权限
*
*
* @param queryRequest
* @param queryRequest 权限查询对象
* 权限查询对象
* @return 查询结果集
* @return 查询结果集
*/
*/
Map
<
String
,
Object
>
queryPermissions
(
FolderAndCodeAndNameQueryRequest
queryRequest
);
Map
<
String
,
Object
>
queryPermissions
(
FolderAndCodeAndNameQueryRequest
queryRequest
);
/**
/**
* 保存界面元素权限
* 保存界面元素权限
*
*
* @param uiElementPermissions
* @param uiElementPermissions 界面元素权限列表
* 界面元素权限列表
*/
*/
void
saveUIElementPermissions
(
List
<
UIElementPermission
>
uiElementPermissions
);
void
saveUIElementPermissions
(
List
<
UIElementPermission
>
uiElementPermissions
);
/**
/**
* 删除界面元素权限
* 删除界面元素权限
*
*
* @param ids
* @param ids 界面元素ID列表
* 界面元素ID列表
*/
*/
void
deleteUIElementPermissions
(
List
<
String
>
ids
);
void
deleteUIElementPermissions
(
List
<
String
>
ids
);
/**
/**
* 分页查询界面元素权限
* 分页查询界面元素权限
*
*
* @param queryRequest
* @param queryRequest 查询模型
* 查询模型
* @return
* @return
*/
*/
Map
<
String
,
Object
>
slicedQueryUIElementPermissions
(
ParentIdQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedQueryUIElementPermissions
(
ParentIdQueryRequest
queryRequest
);
/**
/**
* 得到权限的下一个排序号
* 得到权限的下一个排序号
*
*
* @param parentId
* @param parentId 父ID
* 父ID
* @return
* @return
*/
*/
Integer
getPermissionNextSequence
(
String
parentId
);
Integer
getPermissionNextSequence
(
String
parentId
);
/**
/**
* 分配角色
* 分配角色
*
*
* @param orgId
* @param orgId 组织ID
* 组织ID
* @param roleIds 角色ID列表
* @param roleIds
* 角色ID列表
*/
*/
void
allocateRoles
(
String
orgId
,
List
<
String
>
roleIds
);
void
allocateRoles
(
String
orgId
,
List
<
String
>
roleIds
);
/**
/**
* 取消分配角色
* 取消分配角色
*
*
* @param orgId
* @param orgId 组织ID
* 组织ID
* @param roleIds 角色ID列表
* @param roleIds
* 角色ID列表
*/
*/
void
deallocateRoles
(
String
orgId
,
List
<
String
>
roleIds
);
void
deallocateRoles
(
String
orgId
,
List
<
String
>
roleIds
);
/**
/**
* 查询授权
* 查询授权
*
*
* @param queryRequest
* @param queryRequest 查询模型
* 查询模型
* @return
* @return
*/
*/
Map
<
String
,
Object
>
queryAuthorizations
(
AuthorizationsQueryRequest
queryRequest
);
Map
<
String
,
Object
>
queryAuthorizations
(
AuthorizationsQueryRequest
queryRequest
);
/**
/**
* 查询权限
* 查询权限
*
*
* @param parentId
* @param parentId 父ID
* 父ID
* @return
* @return
*/
*/
List
<
Map
<
String
,
Object
>>
queryPermissionsByParentId
(
String
parentId
);
List
<
Map
<
String
,
Object
>>
queryPermissionsByParentId
(
String
parentId
);
/**
/**
* 根据角色ID查询功能权限
* 根据角色ID查询功能权限
*
*
* @param roleId
* @param roleId 角色ID
* 角色ID
* @param parentId 父ID
* @param parentId
* 父ID
* @return
* @return
*/
*/
List
<
Permission
>
queryAllocatedPermissions
(
String
roleId
,
String
parentId
);
List
<
Permission
>
queryAllocatedPermissions
(
String
roleId
,
String
parentId
);
/**
/**
* 查询权限
* 查询权限
*
*
* @param queryRequest
* @param queryRequest 查询模型
* 查询模型
* @return
* @return
*/
*/
Map
<
String
,
Object
>
slicedQueryPermissionsByRoleId
(
PermissionsByRoleIdQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedQueryPermissionsByRoleId
(
PermissionsByRoleIdQueryRequest
queryRequest
);
/**
/**
* 分页查询已授权的权限
* 分页查询已授权的权限
*
*
* @param queryRequest
* @param queryRequest 查询模型
* 查询模型
* @return
* @return
*/
*/
Map
<
String
,
Object
>
slicedQueryAuthorizedPermissionsByOrgFullId
(
AuthorizedPermissionsByOrgFullIdQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedQueryAuthorizedPermissionsByOrgFullId
(
AuthorizedPermissionsByOrgFullIdQueryRequest
queryRequest
);
/**
/**
* 分配功能权限
* 分配功能权限
*
*
* @param roleId
* @param roleId 角色ID
* 角色ID
* @param oneLevelPermissionId 一级权限ID
* @param oneLevelPermissionId
* @param permissionIds 权限ID列表
* 一级权限ID
* @param permissionIds
* 权限ID列表
*/
*/
void
allocateFunPermissions
(
String
roleId
,
String
oneLevelPermissionId
,
List
<
String
>
permissionIds
);
void
allocateFunPermissions
(
String
roleId
,
String
oneLevelPermissionId
,
List
<
String
>
permissionIds
);
/**
/**
* 取消分配功能权限
* 取消分配功能权限
*
*
* @param roleId
* @param roleId 角色ID
* 角色ID
* @param permissionIds 权限ID列表
* @param permissionIds
* 权限ID列表
*/
*/
void
deallocateFunPermissions
(
String
roleId
,
List
<
String
>
permissionIds
);
void
deallocateFunPermissions
(
String
roleId
,
List
<
String
>
permissionIds
);
/**
/**
* 查询人员的功能权限
* 查询人员的功能权限
*
*
* @param personId
* @param personId 人员ID
* 人员ID
* @return
* @return
*/
*/
List
<
String
>
queryPersonFunPermissions
(
String
personId
);
List
<
String
>
queryPersonFunPermissions
(
String
personId
);
/**
/**
* 查询人员角色
* 查询人员角色
*
*
* @param personId
* @param personId 人员ID
* 人员ID
* @return
* @return
*/
*/
List
<
String
>
queryPersonRoleIds
(
String
personId
);
List
<
String
>
queryPersonRoleIds
(
String
personId
);
/**
/**
* 获取人员角色类别
* 获取人员角色类别
*
*
* @param personId
* @param personId 人员ID
* 人员ID
* @return
* @return
*/
*/
RoleKind
getPersonRoleKind
(
String
personId
);
RoleKind
getPersonRoleKind
(
String
personId
);
/**
/**
* 加载资源操作
* 加载资源操作
*
*
* @param id
* @param id 资源操作ID
* 资源操作ID
* @return 资源操作
* @return
* 资源操作
*/
*/
ResourceOperation
loadResourceOperation
(
String
id
);
ResourceOperation
loadResourceOperation
(
String
id
);
/**
/**
* 查询人员功能权限
* 查询人员功能权限
*
*
* @param personId
* @param personId 人员id
* 人员id
* @param parentId 父id
* @param parentId
* 父id
* @return
* @return
*/
*/
List
<
Map
<
String
,
Object
>>
queryPersonFunctions
(
String
personId
,
String
parentId
);
List
<
Map
<
String
,
Object
>>
queryPersonFunctions
(
String
personId
,
String
parentId
);
/**
/**
* 查询人员一级下的所有功能,不包括文件夹
* 查询人员一级下的所有功能,不包括文件夹
*
*
* @param personId
* @param personId
* @param parentId
* @param parentId
* @return
* @return
...
@@ -369,7 +321,7 @@ public interface AccessApplication {
...
@@ -369,7 +321,7 @@ public interface AccessApplication {
/**
/**
* 查询人员一级下的所有功能
* 查询人员一级下的所有功能
*
*
* @param personId
* @param personId
* @param parentId
* @param parentId
* @return
* @return
...
@@ -378,43 +330,40 @@ public interface AccessApplication {
...
@@ -378,43 +330,40 @@ public interface AccessApplication {
/**
/**
* 检验人员是否具有某个功能权限
* 检验人员是否具有某个功能权限
*
*
* @param personId
* @param personId 人员ID
* 人员ID
* @param funcCode 功能编码
* @param funcCode
* 功能编码
* @return
* @return
*/
*/
boolean
checkPersonFunPermissions
(
String
personId
,
String
funcCode
);
boolean
checkPersonFunPermissions
(
String
personId
,
String
funcCode
);
/**
/**
* 加人员角色
* 加人员角色
*
*
* @param personId
* @param personId 人员id
* 人员id
* @return
* @return
*/
*/
List
<
Map
<
String
,
Object
>>
loadPersonRole
(
String
personId
);
List
<
Map
<
String
,
Object
>>
loadPersonRole
(
String
personId
);
/**
/**
* 管理权限鉴权
* 管理权限鉴权
*
*
* @author
* @param
* @param
* @return boolean
* @return boolean
* @author
*/
*/
boolean
authenticationManageType
(
SDO
sdo
);
boolean
authenticationManageType
(
SDO
sdo
);
/**
/**
* 查询界面元素操作
* 查询界面元素操作
*
*
* @return
* @return
*/
*/
Map
<
String
,
Object
>
queryUIElementOperations
();
Map
<
String
,
Object
>
queryUIElementOperations
();
/**
/**
* 查询界面元素权限
* 查询界面元素权限
*
*
* @param function
* @param function
* @param operator
* @param operator
* @param isId
* @param isId
...
@@ -431,4 +380,9 @@ public interface AccessApplication {
...
@@ -431,4 +380,9 @@ public interface AccessApplication {
* 同步三员权限
* 同步三员权限
*/
*/
void
synThreeMemberPermission
();
void
synThreeMemberPermission
();
/**
* 引用角色
*/
void
quoteRole
(
String
sourceOrgId
,
String
destOrgId
);
}
}
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/domain/model/access/Authorize.java
0 → 100644
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
domain
.
model
.
access
;
import
javax.persistence.EmbeddedId
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
/**
* 人员角色授权
*
* @author yonghuan
*/
@Table
(
name
=
"sa_opauthorize"
)
@Entity
public
class
Authorize
implements
Serializable
{
@EmbeddedId
private
AuthorizeId
id
;
public
Authorize
()
{
}
public
Authorize
(
String
orgId
,
String
roleId
)
{
id
=
new
AuthorizeId
(
orgId
,
roleId
);
}
public
AuthorizeId
getId
()
{
return
id
;
}
public
void
setId
(
AuthorizeId
id
)
{
this
.
id
=
id
;
}
}
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/domain/model/access/AuthorizeId.java
0 → 100644
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
domain
.
model
.
access
;
import
javax.persistence.Column
;
import
javax.persistence.Embeddable
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
* @author yonghuan
*/
@Embeddable
public
class
AuthorizeId
implements
Serializable
{
/**
* 组织id
*/
@Column
(
name
=
"org_id"
)
private
String
orgId
;
/**
* 角色id
*/
@Column
(
name
=
"role_id"
)
private
String
roleId
;
public
AuthorizeId
()
{
}
public
AuthorizeId
(
String
orgId
,
String
roleId
)
{
this
.
orgId
=
orgId
;
this
.
roleId
=
roleId
;
}
public
String
getOrgId
()
{
return
orgId
;
}
public
void
setOrgId
(
String
orgId
)
{
this
.
orgId
=
orgId
;
}
public
String
getRoleId
()
{
return
roleId
;
}
public
void
setRoleId
(
String
roleId
)
{
this
.
roleId
=
roleId
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
AuthorizeId
that
=
(
AuthorizeId
)
o
;
return
orgId
.
equals
(
that
.
orgId
)
&&
roleId
.
equals
(
that
.
roleId
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
orgId
,
roleId
);
}
}
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/repository/managment/BizManagementRepository.java
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
repository
.
managment
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
repository
.
managment
;
import
java.util.Collection
;
import
java.util.List
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
com.huigou.uasp.bmp.opm.domain.model.management.BizManagement
;
import
com.huigou.uasp.bmp.opm.domain.model.management.BizManagement
;
import
com.huigou.uasp.bmp.opm.domain.model.management.BizManagementType
;
import
com.huigou.uasp.bmp.opm.domain.model.management.BizManagementType
;
import
com.huigou.uasp.bmp.opm.domain.model.org.Org
;
import
com.huigou.uasp.bmp.opm.domain.model.org.Org
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
java.util.Collection
;
import
java.util.List
;
public
interface
BizManagementRepository
extends
JpaRepository
<
BizManagement
,
String
>,
JpaSpecificationExecutor
<
BizManagement
>
{
public
interface
BizManagementRepository
extends
JpaRepository
<
BizManagement
,
String
>,
JpaSpecificationExecutor
<
BizManagement
>
{
List
<
BizManagement
>
findByManagerInAndBizManagementTypeAndSubordinationIn
(
Collection
<
Org
>
managers
,
BizManagementType
bizManagementType
,
List
<
BizManagement
>
findByManagerInAndBizManagementTypeAndSubordinationIn
(
Collection
<
Org
>
managers
,
BizManagementType
bizManagementType
,
Collection
<
Org
>
subordinations
);
Collection
<
Org
>
subordinations
);
@Query
(
"from BizManagement bm where bm.manager.id=:managerId and exists (select 1 from Org o where o.id=bm.subordination.id)"
)
List
<
BizManagement
>
findByManagerId
(
@Param
(
"managerId"
)
String
managerId
);
}
}
huigou-core-api/src/main/java/com/huigou/uasp/bmp/opm/repository/org/RoleRepository.java
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
repository
.
org
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
repository
.
org
;
import
java.util.List
;
import
com.huigou.uasp.bmp.opm.domain.model.access.Role
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
com.huigou.uasp.bmp.opm.domain.model.access.Role
;
import
java.util.List
;
public
interface
RoleRepository
extends
JpaRepository
<
Role
,
String
>
{
public
interface
RoleRepository
extends
JpaRepository
<
Role
,
String
>
{
Long
countByParentId
(
String
parentId
);
Long
countByParentId
(
String
parentId
);
@Modifying
@Modifying
@Query
(
"update Role set status = -1 where kindId = 'superAdministrator'"
)
@Query
(
"update Role set status = -1 where kindId = 'superAdministrator'"
)
int
hideSuperAdministrator
();
int
hideSuperAdministrator
();
List
<
Role
>
findByKindId
(
String
kindId
);
List
<
Role
>
findByKindId
(
String
kindId
);
@Query
(
"select count(p) from Role r join r.permissions p where r.id = ?1"
)
@Query
(
"select count(p) from Role r join r.permissions p where r.id = ?1"
)
int
countPermissionsByRoleId
(
String
roleId
);
int
countPermissionsByRoleId
(
String
roleId
);
/**
* 查询组织拥有的有效角色信息。
*
* @param orgId 组织id
* @return 组织拥有的有效角色信息
*/
@Query
(
"from Role r where r.status=1 and exists (select 1 from Authorize a where a.id.orgId=:orgId and a.id.roleId=r.id)"
)
List
<
Role
>
findByOrgId
(
@Param
(
"orgId"
)
String
orgId
);
}
}
huigou-core-impl/src/main/java/com/huigou/uasp/bmp/opm/impl/AccessApplicationImpl.java
View file @
7d5e22a5
...
@@ -4,6 +4,7 @@ import java.util.ArrayList;
...
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
...
@@ -795,4 +796,14 @@ public class AccessApplicationImpl extends BaseApplication implements AccessAppl
...
@@ -795,4 +796,14 @@ public class AccessApplicationImpl extends BaseApplication implements AccessAppl
}
}
}
}
@Override
public
void
quoteRole
(
String
sourceOrgId
,
String
destOrgId
)
{
List
<
String
>
roleIds
=
roleRepository
.
findByOrgId
(
sourceOrgId
).
stream
()
.
map
(
Role:
:
getId
)
.
collect
(
Collectors
.
toList
());
if
(
roleIds
.
size
()
>
0
)
{
allocateRoles
(
destOrgId
,
roleIds
);
}
}
}
}
\ No newline at end of file
huigou-core-impl/src/main/java/com/huigou/uasp/bmp/opm/impl/ManagementApplicationImpl.java
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
impl
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
impl
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.util.Assert
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.data.domain.model.CommonDomainConstants
;
import
com.huigou.data.domain.model.CommonDomainConstants
;
import
com.huigou.data.domain.model.MessageConstants
;
import
com.huigou.data.domain.model.MessageConstants
;
...
@@ -26,6 +20,12 @@ import com.huigou.uasp.bmp.opm.repository.managment.BizManagementRepository;
...
@@ -26,6 +20,12 @@ import com.huigou.uasp.bmp.opm.repository.managment.BizManagementRepository;
import
com.huigou.uasp.bmp.opm.repository.managment.BizManagementTypeRepository
;
import
com.huigou.uasp.bmp.opm.repository.managment.BizManagementTypeRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.OrgRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.OrgRepository
;
import
com.huigou.util.StringUtil
;
import
com.huigou.util.StringUtil
;
import
org.springframework.util.Assert
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
public
class
ManagementApplicationImpl
extends
BaseApplication
implements
ManagementApplication
{
public
class
ManagementApplicationImpl
extends
BaseApplication
implements
ManagementApplication
{
...
@@ -121,7 +121,7 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
...
@@ -121,7 +121,7 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
}
else
{
}
else
{
dbBizManagementType
=
this
.
loadBizManagementType
(
bizManagementType
.
getId
());
dbBizManagementType
=
this
.
loadBizManagementType
(
bizManagementType
.
getId
());
Assert
.
notNull
(
dbBizManagementType
,
MessageSourceContext
.
getMessage
(
MessageConstants
.
OBJECT_NOT_FOUND_BY_ID
,
dbBizManagementType
.
getId
(),
Assert
.
notNull
(
dbBizManagementType
,
MessageSourceContext
.
getMessage
(
MessageConstants
.
OBJECT_NOT_FOUND_BY_ID
,
dbBizManagementType
.
getId
(),
dbBizManagementType
.
getClass
().
getName
()));
dbBizManagementType
.
getClass
().
getName
()));
oldName
=
dbBizManagementType
.
getName
();
oldName
=
dbBizManagementType
.
getName
();
dbBizManagementType
.
fromEntity
(
bizManagementType
);
dbBizManagementType
.
fromEntity
(
bizManagementType
);
}
}
...
@@ -146,8 +146,8 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
...
@@ -146,8 +146,8 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
baseManagementType
=
this
.
baseManagementTypeRepository
.
findFirstByBizManagementType
(
bizManagementType
);
baseManagementType
=
this
.
baseManagementTypeRepository
.
findFirstByBizManagementType
(
bizManagementType
);
if
(
baseManagementType
!=
null
)
{
if
(
baseManagementType
!=
null
)
{
Assert
.
isTrue
(
false
,
Assert
.
isTrue
(
false
,
MessageSourceContext
.
getMessage
(
MessageConstants
.
OBJECT_REFERENCED_BY_WHO
,
bizManagementType
.
getName
(),
MessageSourceContext
.
getMessage
(
MessageConstants
.
OBJECT_REFERENCED_BY_WHO
,
bizManagementType
.
getName
(),
baseManagementType
.
getName
()));
baseManagementType
.
getName
()));
}
}
}
}
...
@@ -206,8 +206,8 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
...
@@ -206,8 +206,8 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
List
<
BizManagement
>
bizManagements
=
new
ArrayList
<
BizManagement
>(
managerIds
.
size
());
List
<
BizManagement
>
bizManagements
=
new
ArrayList
<
BizManagement
>(
managerIds
.
size
());
List
<
BizManagement
>
allocatedBizManagements
=
this
.
bizManagementRepository
.
findByManagerInAndBizManagementTypeAndSubordinationIn
(
managers
,
List
<
BizManagement
>
allocatedBizManagements
=
this
.
bizManagementRepository
.
findByManagerInAndBizManagementTypeAndSubordinationIn
(
managers
,
bizManagementType
,
bizManagementType
,
subordinations
);
subordinations
);
BizManagement
bizManagement
;
BizManagement
bizManagement
;
boolean
allocated
;
boolean
allocated
;
...
@@ -339,6 +339,21 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
...
@@ -339,6 +339,21 @@ public class ManagementApplicationImpl extends BaseApplication implements Manage
@Override
@Override
public
void
quoteBizManagement
(
String
sourceOrgId
,
String
destOrgId
)
{
public
void
quoteBizManagement
(
String
sourceOrgId
,
String
destOrgId
)
{
if
(!
orgRepository
.
exists
(
sourceOrgId
)
||
!
orgRepository
.
exists
(
destOrgId
))
{
return
;
}
this
.
bizManagementRepository
.
findByManagerId
(
sourceOrgId
)
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
BizManagement:
:
getBizManagementType
))
.
forEach
((
manageType
,
bizManagements
)
->
{
List
<
String
>
subordinationIds
=
bizManagements
.
stream
()
.
map
(
BizManagement:
:
getSubordination
)
.
map
(
Org:
:
getId
)
.
collect
(
Collectors
.
toList
());
if
(
subordinationIds
.
size
()
>
0
)
{
allocateSubordinations
(
destOrgId
,
manageType
.
getId
(),
subordinationIds
);
}
});
}
}
}
}
huigou-core-proxy/src/main/java/com/huigou/uasp/bmp/opm/proxy/AccessApplicationProxy.java
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
proxy
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
proxy
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.MessageSourceContext
;
import
com.huigou.context.RoleKind
;
import
com.huigou.context.RoleKind
;
import
com.huigou.context.TmspmConifg
;
import
com.huigou.context.TmspmConifg
;
...
@@ -28,14 +20,15 @@ import com.huigou.uasp.bmp.opm.domain.query.AuthorizedPermissionsByOrgFullIdQuer
...
@@ -28,14 +20,15 @@ import com.huigou.uasp.bmp.opm.domain.query.AuthorizedPermissionsByOrgFullIdQuer
import
com.huigou.uasp.bmp.opm.domain.query.PermissionsByRoleIdQueryRequest
;
import
com.huigou.uasp.bmp.opm.domain.query.PermissionsByRoleIdQueryRequest
;
import
com.huigou.uasp.bmp.opm.domain.query.RolesQueryRequestQueryRequest
;
import
com.huigou.uasp.bmp.opm.domain.query.RolesQueryRequestQueryRequest
;
import
com.huigou.uasp.bmp.opm.impl.AccessApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.AccessApplicationImpl
;
import
com.huigou.uasp.bmp.opm.repository.org.PermissionRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.*
;
import
com.huigou.uasp.bmp.opm.repository.org.ResourceOperationRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.RolePermissionRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.RoleRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.SysFunctionRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.UIElementPermissionRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.UIElementRepository
;
import
com.huigou.util.SDO
;
import
com.huigou.util.SDO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"accessApplicationProxy"
)
@Service
(
"accessApplicationProxy"
)
public
class
AccessApplicationProxy
{
public
class
AccessApplicationProxy
{
...
@@ -308,4 +301,13 @@ public class AccessApplicationProxy {
...
@@ -308,4 +301,13 @@ public class AccessApplicationProxy {
public
void
synThreeMemberPermission
()
{
public
void
synThreeMemberPermission
()
{
getAccessApplication
().
synThreeMemberPermission
();
getAccessApplication
().
synThreeMemberPermission
();
}
}
/**
* 引用角色
*/
@Transactional
public
void
quoteRole
(
String
sourceOrgId
,
String
destOrgId
)
{
getAccessApplication
().
quoteRole
(
sourceOrgId
,
destOrgId
);
}
}
}
huigou-core-proxy/src/main/java/com/huigou/uasp/bmp/opm/proxy/OrgApplicationProxy.java
View file @
7d5e22a5
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
proxy
;
package
com
.
huigou
.
uasp
.
bmp
.
opm
.
proxy
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.huigou.data.domain.query.CodeAndNameQueryRequest
;
import
com.huigou.data.domain.query.CodeAndNameQueryRequest
;
import
com.huigou.data.domain.service.CommonDomainService
;
import
com.huigou.data.domain.service.CommonDomainService
;
import
com.huigou.data.query.executor.SQLExecutorDao
;
import
com.huigou.data.query.executor.SQLExecutorDao
;
...
@@ -20,13 +13,14 @@ import com.huigou.uasp.bmp.opm.domain.model.org.Person;
...
@@ -20,13 +13,14 @@ import com.huigou.uasp.bmp.opm.domain.model.org.Person;
import
com.huigou.uasp.bmp.opm.domain.query.OrgPropertyDefinitionQueryRequest
;
import
com.huigou.uasp.bmp.opm.domain.query.OrgPropertyDefinitionQueryRequest
;
import
com.huigou.uasp.bmp.opm.domain.query.OrgQueryModel
;
import
com.huigou.uasp.bmp.opm.domain.query.OrgQueryModel
;
import
com.huigou.uasp.bmp.opm.impl.OrgApplicationImpl
;
import
com.huigou.uasp.bmp.opm.impl.OrgApplicationImpl
;
import
com.huigou.uasp.bmp.opm.repository.org.OrgPropertyDefinitionRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.*
;
import
com.huigou.uasp.bmp.opm.repository.org.OrgRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.OrgTemplateRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.OrgTypeRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.PersonRepository
;
import
com.huigou.uasp.bmp.opm.repository.org.RoleRepository
;
import
com.huigou.uasp.bmp.securitypolicy.application.SecurityPolicyApplication
;
import
com.huigou.uasp.bmp.securitypolicy.application.SecurityPolicyApplication
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"orgApplicationProxy"
)
@Service
(
"orgApplicationProxy"
)
public
class
OrgApplicationProxy
{
public
class
OrgApplicationProxy
{
...
@@ -65,6 +59,10 @@ public class OrgApplicationProxy {
...
@@ -65,6 +59,10 @@ public class OrgApplicationProxy {
private
CoreApplicationFactory
coreApplicationFactory
;
private
CoreApplicationFactory
coreApplicationFactory
;
private
OrgApplication
orgApplication
;
private
OrgApplication
orgApplication
;
@Autowired
private
AccessApplicationProxy
accessApplicationProxy
;
@Autowired
private
ManagementApplicationProxy
managementApplicationProxy
;
void
initProperties
(
OrgApplicationImpl
orgApplicationImpl
)
{
void
initProperties
(
OrgApplicationImpl
orgApplicationImpl
)
{
orgApplicationImpl
.
setCommonDomainService
(
commonDomainService
);
orgApplicationImpl
.
setCommonDomainService
(
commonDomainService
);
...
@@ -245,9 +243,10 @@ public class OrgApplicationProxy {
...
@@ -245,9 +243,10 @@ public class OrgApplicationProxy {
return
getOrgApplication
().
queryPersonMembersByPersonId
(
personId
);
return
getOrgApplication
().
queryPersonMembersByPersonId
(
personId
);
}
}
@Transactional
@Transactional
(
rollbackFor
=
RuntimeException
.
class
)
public
void
quoteAuthorizationAndBizManagement
(
String
sourceOrgId
,
String
destOrgId
)
{
public
void
quoteAuthorizationAndBizManagement
(
String
sourceOrgId
,
String
destOrgId
)
{
getOrgApplication
().
quoteAuthorizationAndBizManagement
(
sourceOrgId
,
destOrgId
);
accessApplicationProxy
.
quoteRole
(
sourceOrgId
,
destOrgId
);
managementApplicationProxy
.
quoteBizManagement
(
sourceOrgId
,
destOrgId
);
}
}
@Transactional
@Transactional
...
@@ -290,7 +289,7 @@ public class OrgApplicationProxy {
...
@@ -290,7 +289,7 @@ public class OrgApplicationProxy {
public
Person
loadPersonByLoginName
(
String
loginName
)
{
public
Person
loadPersonByLoginName
(
String
loginName
)
{
return
getOrgApplication
().
loadPersonByLoginName
(
loginName
);
return
getOrgApplication
().
loadPersonByLoginName
(
loginName
);
}
}
public
Person
loadPersonByCaNo
(
String
caNo
)
{
public
Person
loadPersonByCaNo
(
String
caNo
)
{
return
getOrgApplication
().
loadPersonByCaNo
(
caNo
);
return
getOrgApplication
().
loadPersonByCaNo
(
caNo
);
}
}
...
@@ -309,7 +308,7 @@ public class OrgApplicationProxy {
...
@@ -309,7 +308,7 @@ public class OrgApplicationProxy {
public
void
updatePassword
(
String
oldPassword
,
String
newPassword
)
{
public
void
updatePassword
(
String
oldPassword
,
String
newPassword
)
{
getOrgApplication
().
updatePassword
(
oldPassword
,
newPassword
);
getOrgApplication
().
updatePassword
(
oldPassword
,
newPassword
);
}
}
@Transactional
@Transactional
public
void
initPassword
(
String
personId
)
{
public
void
initPassword
(
String
personId
)
{
getOrgApplication
().
initPassword
(
personId
);
getOrgApplication
().
initPassword
(
personId
);
...
...
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