Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-user
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
xingmin
yd-user
Commits
da650497
Commit
da650497
authored
Sep 05, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加若干权限相关接口
parent
f7524233
Show whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
429 additions
and
51 deletions
+429
-51
yd-user-api/src/main/java/com/yd/user/api/controller/ApiRelProjectMenuController.java
+2
-2
yd-user-api/src/main/java/com/yd/user/api/controller/ApiRelProjectUserController.java
+2
-2
yd-user-api/src/main/java/com/yd/user/api/controller/ApiSysUserController.java
+22
-4
yd-user-api/src/main/java/com/yd/user/api/service/ApiRelProjectMenuService.java
+1
-1
yd-user-api/src/main/java/com/yd/user/api/service/ApiSysUserService.java
+6
-2
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelProjectMenuServiceImpl.java
+4
-2
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelProjectRoleServiceImpl.java
+1
-0
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelProjectUserServiceImpl.java
+1
-0
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelRoleMenuServiceImpl.java
+8
-1
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelUserRoleServiceImpl.java
+18
-4
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiSysUserServiceImpl.java
+77
-9
yd-user-api/src/main/resources/bootstrap.yml
+14
-0
yd-user-feign/src/main/java/com/yd/user/feign/client/relprojectmenu/ApiRelProjectMenuFeignClient.java
+3
-1
yd-user-feign/src/main/java/com/yd/user/feign/client/sysuser/ApiSysUserFeignClient.java
+20
-5
yd-user-feign/src/main/java/com/yd/user/feign/fallback/projectmenu/ApiRelProjectMenuFeignFallbackFactory.java
+4
-1
yd-user-feign/src/main/java/com/yd/user/feign/fallback/sysuser/ApiSysUserFeignFallbackFactory.java
+16
-2
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuImportQueryMenuTreeRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuListAddRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuListPageRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuTreeListRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectrole/ApiRelProjectRoleListAddRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectrole/ApiRelProjectRoleListPageRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectrole/ApiRelProjectRoleSelectPageRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectuser/ApiRelProjectUserListAddRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectuser/ApiRelProjectUserListPageRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectuser/ApiRelProjectUserSelectPageRequest.java
+5
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relrolemenu/ApiProjectRoleMenuListAddRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/relrolemenu/ApiSelectedProjectRoleMenuListRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiCandidateProjectUserRolePageRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiProjectUserRoleListAddRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiProjectUserRoleListDelRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiSelectedProjectUserRolePageRequest.java
+6
-0
yd-user-feign/src/main/java/com/yd/user/feign/request/sysuser/ApiSysUserDetailBodyRequest.java
+17
-0
yd-user-feign/src/main/java/com/yd/user/feign/response/relprojectuser/ApiRelProjectUserListPageResponse.java
+2
-2
yd-user-service/src/main/java/com/yd/user/service/dto/RelProjectMenuDto.java
+2
-0
yd-user-service/src/main/java/com/yd/user/service/dto/RelProjectUserDto.java
+2
-0
yd-user-service/src/main/java/com/yd/user/service/dto/RelRoleMenuDto.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/dto/RelUserRoleDto.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/enums/RelTypeEnum.java
+30
-0
yd-user-service/src/main/java/com/yd/user/service/model/RelProjectMenu.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/model/RelProjectRole.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/model/RelProjectUser.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/model/RelRoleMenu.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/model/RelUserRole.java
+6
-0
yd-user-service/src/main/java/com/yd/user/service/service/IRelRoleMenuService.java
+1
-1
yd-user-service/src/main/java/com/yd/user/service/service/IRelUserRoleService.java
+2
-2
yd-user-service/src/main/java/com/yd/user/service/service/ISysUserService.java
+0
-1
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelProjectMenuServiceImpl.java
+1
-0
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelProjectUserServiceImpl.java
+1
-0
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelRoleMenuServiceImpl.java
+3
-1
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelUserRoleServiceImpl.java
+11
-3
yd-user-service/src/main/java/com/yd/user/service/service/impl/SysUserServiceImpl.java
+1
-2
yd-user-service/src/main/resources/mappers/RelProjectMenuMapper.xml
+2
-0
yd-user-service/src/main/resources/mappers/RelProjectRoleMapper.xml
+5
-1
yd-user-service/src/main/resources/mappers/RelProjectUserMapper.xml
+5
-1
yd-user-service/src/main/resources/mappers/RelUserRoleMapper.xml
+8
-1
No files found.
yd-user-api/src/main/java/com/yd/user/api/controller/ApiRelProjectMenuController.java
View file @
da650497
...
...
@@ -88,7 +88,7 @@ public class ApiRelProjectMenuController implements ApiRelProjectMenuFeignClient
* @return
*/
@Override
public
Result
<
List
<
String
>>
selectedList
(
String
projectBizId
)
{
return
apiRelProjectMenuService
.
selectedList
(
projectBizId
);
public
Result
<
List
<
String
>>
selectedList
(
String
tenantBizId
,
String
projectBizId
)
{
return
apiRelProjectMenuService
.
selectedList
(
tenantBizId
,
projectBizId
);
}
}
yd-user-api/src/main/java/com/yd/user/api/controller/ApiRelProjectUserController.java
View file @
da650497
...
...
@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 项目-用户关系信息(
项目管理-
用户配置)
* 项目-用户关系信息(
租户管理->分配权限->项目->分配权限->
用户配置)
*
* @author zxm
* @since 2025-07-31
...
...
@@ -29,7 +29,7 @@ public class ApiRelProjectUserController implements ApiRelProjectUserFeignClient
private
ApiRelProjectUserService
apiRelProjectUserService
;
/**
* 项目
和
用户关系分页查询
* 项目用户关系分页查询
* @param request
* @return
*/
...
...
yd-user-api/src/main/java/com/yd/user/api/controller/ApiSysUserController.java
View file @
da650497
...
...
@@ -134,8 +134,8 @@ public class ApiSysUserController implements ApiSysUserFeignClient {
* @return
*/
@Override
public
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
projectBizId
)
{
return
apiSysUserService
.
getProjectMenuRouters
(
projectBizId
);
public
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
tenantBizId
,
String
projectBizId
)
{
return
apiSysUserService
.
getProjectMenuRouters
(
tenantBizId
,
projectBizId
);
}
/**
...
...
@@ -143,8 +143,26 @@ public class ApiSysUserController implements ApiSysUserFeignClient {
* @return
*/
@Override
public
Result
<
Boolean
>
isProjectVisit
(
String
projectBizId
)
{
return
apiSysUserService
.
isProjectVisit
(
projectBizId
);
public
Result
<
Boolean
>
isProjectVisit
(
String
tenantBizId
,
String
projectBizId
)
{
return
apiSysUserService
.
isProjectVisit
(
tenantBizId
,
projectBizId
);
}
/**
* 权限-管理端-根据登录token获取用户详细信息
* @return
*/
@Override
public
Result
<
ApiSysUserDetailResponse
>
getUserInfoByToken
(
String
token
)
{
return
apiSysUserService
.
getUserInfoByToken
(
token
);
}
/**
* 获取用户详情 body入参
* @return
*/
@Override
public
Result
<
ApiSysUserDetailResponse
>
detail
(
ApiSysUserDetailBodyRequest
request
)
{
return
apiSysUserService
.
detail
(
request
);
}
...
...
yd-user-api/src/main/java/com/yd/user/api/service/ApiRelProjectMenuService.java
View file @
da650497
...
...
@@ -24,7 +24,7 @@ public interface ApiRelProjectMenuService {
Result
<
List
<
ApiRelProjectMenuImportQueryMenuTreeResponse
>>
importQueryMenuTree
(
ApiRelProjectMenuImportQueryMenuTreeRequest
request
);
Result
<
List
<
String
>>
selectedList
(
String
projectBizId
);
Result
<
List
<
String
>>
selectedList
(
String
tenantBizId
,
String
projectBizId
);
Result
addSingleRel
(
String
projectBizId
,
String
menuBizId
);
}
yd-user-api/src/main/java/com/yd/user/api/service/ApiSysUserService.java
View file @
da650497
...
...
@@ -34,7 +34,11 @@ public interface ApiSysUserService {
Result
<
GetLoginPermissionProjectResponse
>
getLoginPermissionProject
(
String
tenantBizId
,
String
projectBizId
);
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
projectBizId
);
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
tenantBizId
,
String
projectBizId
);
Result
<
Boolean
>
isProjectVisit
(
String
projectBizId
);
Result
<
Boolean
>
isProjectVisit
(
String
tenantBizId
,
String
projectBizId
);
Result
<
ApiSysUserDetailResponse
>
getUserInfoByToken
(
String
token
);
Result
<
ApiSysUserDetailResponse
>
detail
(
ApiSysUserDetailBodyRequest
request
);
}
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelProjectMenuServiceImpl.java
View file @
da650497
...
...
@@ -83,6 +83,7 @@ public class ApiRelProjectMenuServiceImpl implements ApiRelProjectMenuService {
//菜单唯一标识(业务ID) 列表(选中列表)不为空
list
=
request
.
getMenuBizIdList
().
stream
().
map
(
bizId
->
{
RelProjectMenu
relProjectMenu
=
new
RelProjectMenu
();
relProjectMenu
.
setTenantBizId
(
request
.
getTenantBizId
());
relProjectMenu
.
setProjectBizId
(
request
.
getProjectBizId
());
relProjectMenu
.
setMenuBizId
(
bizId
);
return
relProjectMenu
;
...
...
@@ -119,7 +120,7 @@ public class ApiRelProjectMenuServiceImpl implements ApiRelProjectMenuService {
public
Result
<
List
<
ApiRelProjectMenuImportQueryMenuTreeResponse
>>
importQueryMenuTree
(
ApiRelProjectMenuImportQueryMenuTreeRequest
request
)
{
//TODO 条件搜索菜单树后续完善
List
<
ApiRelProjectMenuImportQueryMenuTreeResponse
>
treeMenu
=
new
ArrayList
<>();
//查询项目和菜单关系数据
(排除已导入的)
//查询项目和菜单关系数据
List
<
ApiRelProjectMenuImportQueryMenuTreeResponse
>
queryList
=
iRelProjectMenuService
.
importQueryMenuTreeList
(
request
);
if
(!
CollectionUtils
.
isEmpty
(
queryList
))
{
...
...
@@ -142,9 +143,10 @@ public class ApiRelProjectMenuServiceImpl implements ApiRelProjectMenuService {
* @return
*/
@Override
public
Result
<
List
<
String
>>
selectedList
(
String
projectBizId
)
{
public
Result
<
List
<
String
>>
selectedList
(
String
tenantBizId
,
String
projectBizId
)
{
List
<
String
>
menuBizIdList
=
new
ArrayList
<>();
List
<
RelProjectMenu
>
relProjectMenuList
=
iRelProjectMenuService
.
queryList
(
RelProjectMenuDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
projectBizId
(
projectBizId
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relProjectMenuList
))
{
...
...
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelProjectRoleServiceImpl.java
View file @
da650497
...
...
@@ -55,6 +55,7 @@ public class ApiRelProjectRoleServiceImpl implements ApiRelProjectRoleService {
//角色唯一标识(业务ID) 列表(选中列表)不为空
list
=
request
.
getRoleBizIdList
().
stream
().
map
(
bizId
->
{
RelProjectRole
relProjectRole
=
new
RelProjectRole
();
relProjectRole
.
setTenantBizId
(
request
.
getTenantBizId
());
relProjectRole
.
setProjectBizId
(
request
.
getProjectBizId
());
relProjectRole
.
setRoleBizId
(
bizId
);
return
relProjectRole
;
...
...
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelProjectUserServiceImpl.java
View file @
da650497
...
...
@@ -51,6 +51,7 @@ public class ApiRelProjectUserServiceImpl implements ApiRelProjectUserService {
//用户唯一标识(业务ID) 列表(选中列表)不为空
list
=
request
.
getUserBizIdList
().
stream
().
map
(
bizId
->
{
RelProjectUser
relTenantUser
=
new
RelProjectUser
();
relTenantUser
.
setTenantBizId
(
request
.
getTenantBizId
());
relTenantUser
.
setProjectBizId
(
request
.
getProjectBizId
());
relTenantUser
.
setUserBizId
(
bizId
);
return
relTenantUser
;
...
...
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelRoleMenuServiceImpl.java
View file @
da650497
...
...
@@ -7,6 +7,7 @@ import com.yd.user.feign.request.relrolemenu.ApiSelectedProjectRoleMenuListReque
import
com.yd.user.feign.request.relrolemenu.ApiSelectedTenantRoleMenuListRequest
;
import
com.yd.user.feign.request.relrolemenu.ApiTenantRoleMenuListAddRequest
;
import
com.yd.user.service.dto.RelRoleMenuDto
;
import
com.yd.user.service.enums.RelTypeEnum
;
import
com.yd.user.service.model.RelRoleMenu
;
import
com.yd.user.service.model.RelTenantMenu
;
import
com.yd.user.service.service.IRelRoleMenuService
;
...
...
@@ -40,6 +41,7 @@ public class ApiRelRoleMenuServiceImpl implements ApiRelRoleMenuService {
//菜单唯一标识(业务ID) 列表(选中列表)不为空
List
<
RelRoleMenu
>
list
=
request
.
getMenuBizIdList
().
stream
().
map
(
bizId
->
{
RelRoleMenu
relRoleMenu
=
new
RelRoleMenu
();
relRoleMenu
.
setType
(
RelTypeEnum
.
TENANT
.
getItemValue
());
relRoleMenu
.
setTenantBizId
(
request
.
getTenantBizId
());
relRoleMenu
.
setRoleBizId
(
request
.
getRoleBizId
());
relRoleMenu
.
setMenuBizId
(
bizId
);
...
...
@@ -60,6 +62,7 @@ public class ApiRelRoleMenuServiceImpl implements ApiRelRoleMenuService {
List
<
RelRoleMenu
>
list
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
tenantBizId
(
request
.
getTenantBizId
())
.
roleBizId
(
request
.
getRoleBizId
())
.
type
(
RelTypeEnum
.
TENANT
.
getItemValue
())
.
build
());
List
<
String
>
menuList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
...
...
@@ -77,13 +80,15 @@ public class ApiRelRoleMenuServiceImpl implements ApiRelRoleMenuService {
public
Result
addProjectRoleMenuList
(
ApiProjectRoleMenuListAddRequest
request
)
{
//先删后增加
//删除项目角色菜单关系
iRelRoleMenuService
.
removeByProject
(
request
.
getProjectBizId
(),
request
.
getRoleBizId
());
iRelRoleMenuService
.
removeByProject
(
request
.
get
TenantBizId
(),
request
.
get
ProjectBizId
(),
request
.
getRoleBizId
());
//增加项目角色菜单关系
if
(!
CollectionUtils
.
isEmpty
(
request
.
getMenuBizIdList
()))
{
//菜单唯一标识(业务ID) 列表(选中列表)不为空
List
<
RelRoleMenu
>
list
=
request
.
getMenuBizIdList
().
stream
().
map
(
bizId
->
{
RelRoleMenu
relRoleMenu
=
new
RelRoleMenu
();
relRoleMenu
.
setType
(
RelTypeEnum
.
PROJECT
.
getItemValue
());
relRoleMenu
.
setTenantBizId
(
request
.
getTenantBizId
());
relRoleMenu
.
setProjectBizId
(
request
.
getProjectBizId
());
relRoleMenu
.
setRoleBizId
(
request
.
getRoleBizId
());
relRoleMenu
.
setMenuBizId
(
bizId
);
...
...
@@ -102,8 +107,10 @@ public class ApiRelRoleMenuServiceImpl implements ApiRelRoleMenuService {
@Override
public
Result
<
List
<
String
>>
selectedProjectRoleMenuList
(
ApiSelectedProjectRoleMenuListRequest
request
)
{
List
<
RelRoleMenu
>
list
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
tenantBizId
(
request
.
getTenantBizId
())
.
projectBizId
(
request
.
getProjectBizId
())
.
roleBizId
(
request
.
getRoleBizId
())
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
build
());
List
<
String
>
menuList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
...
...
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiRelUserRoleServiceImpl.java
View file @
da650497
...
...
@@ -10,6 +10,7 @@ import com.yd.user.feign.response.reluserrole.ApiCandidateProjectUserRolePageRes
import
com.yd.user.feign.response.reluserrole.ApiCandidateTenantUserRolePageResponse
;
import
com.yd.user.feign.response.reluserrole.ApiSelectedProjectUserRolePageResponse
;
import
com.yd.user.feign.response.reluserrole.ApiSelectedTenantUserRolePageResponse
;
import
com.yd.user.service.enums.RelTypeEnum
;
import
com.yd.user.service.model.RelUserRole
;
import
com.yd.user.service.service.IRelUserRoleService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -36,6 +37,8 @@ public class ApiRelUserRoleServiceImpl implements ApiRelUserRoleService {
if
(!
CollectionUtils
.
isEmpty
(
request
.
getRoleBizIdList
()))
{
List
<
RelUserRole
>
list
=
request
.
getRoleBizIdList
().
stream
().
map
(
bizId
->
{
RelUserRole
relUserRole
=
new
RelUserRole
();
//关系类型 0-租户关系
relUserRole
.
setType
(
RelTypeEnum
.
TENANT
.
getItemValue
());
relUserRole
.
setTenantBizId
(
request
.
getTenantBizId
());
relUserRole
.
setUserBizId
(
request
.
getUserBizId
());
relUserRole
.
setRoleBizId
(
bizId
);
...
...
@@ -54,8 +57,12 @@ public class ApiRelUserRoleServiceImpl implements ApiRelUserRoleService {
*/
@Override
public
Result
delTenantUserRoleList
(
ApiTenantUserRoleListDelRequest
request
)
{
iRelUserRoleService
.
delRelTenantUserRole
(
request
.
getTenantBizId
(),
request
.
getUserBizId
(),
request
.
getRoleBizIdList
());
iRelUserRoleService
.
delRelTenantUserRole
(
request
.
getTenantBizId
(),
request
.
getUserBizId
(),
request
.
getRoleBizIdList
(),
RelTypeEnum
.
TENANT
.
getItemValue
()
);
return
Result
.
success
();
}
...
...
@@ -97,6 +104,8 @@ public class ApiRelUserRoleServiceImpl implements ApiRelUserRoleService {
if
(!
CollectionUtils
.
isEmpty
(
request
.
getRoleBizIdList
()))
{
List
<
RelUserRole
>
list
=
request
.
getRoleBizIdList
().
stream
().
map
(
bizId
->
{
RelUserRole
relUserRole
=
new
RelUserRole
();
relUserRole
.
setType
(
RelTypeEnum
.
PROJECT
.
getItemValue
());
relUserRole
.
setTenantBizId
(
request
.
getTenantBizId
());
relUserRole
.
setProjectBizId
(
request
.
getProjectBizId
());
relUserRole
.
setUserBizId
(
request
.
getUserBizId
());
relUserRole
.
setRoleBizId
(
bizId
);
...
...
@@ -115,8 +124,13 @@ public class ApiRelUserRoleServiceImpl implements ApiRelUserRoleService {
*/
@Override
public
Result
delProjectUserRoleList
(
ApiProjectUserRoleListDelRequest
request
)
{
iRelUserRoleService
.
delRelProjectUserRole
(
request
.
getProjectBizId
(),
request
.
getUserBizId
(),
request
.
getRoleBizIdList
());
iRelUserRoleService
.
delRelProjectUserRole
(
request
.
getTenantBizId
(),
request
.
getProjectBizId
(),
request
.
getUserBizId
(),
request
.
getRoleBizIdList
(),
RelTypeEnum
.
PROJECT
.
getItemValue
()
);
return
Result
.
success
();
}
...
...
yd-user-api/src/main/java/com/yd/user/api/service/impl/ApiSysUserServiceImpl.java
View file @
da650497
...
...
@@ -3,6 +3,7 @@ package com.yd.user.api.service.impl;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.security.JwtTokenProvider
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.MenuTypeEnum
;
...
...
@@ -20,6 +21,7 @@ import com.yd.user.feign.response.sysuser.ApiScopePageResponse;
import
com.yd.user.feign.response.sysuser.ApiSysUserDetailResponse
;
import
com.yd.user.feign.response.sysuser.ApiSysUserPageResponse
;
import
com.yd.user.service.dto.*
;
import
com.yd.user.service.enums.RelTypeEnum
;
import
com.yd.user.service.model.*
;
import
com.yd.user.service.service.*
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -69,6 +71,9 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
@Autowired
private
ISysProjectService
iSysProjectService
;
@Autowired
private
JwtTokenProvider
tokenProvider
;
/**
* 用户分页查询
* @param request
...
...
@@ -261,12 +266,11 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
*/
@Override
public
Result
<
ApiSysUserDetailResponse
>
detail
(
String
userBizId
)
{
SysUser
sysUser
=
iSysUserService
.
queryOne
(
userBizId
);
ApiSysUserDetailResponse
response
=
null
;
if
(!
Objects
.
isNull
(
sysUser
))
{
response
=
new
ApiSysUserDetailResponse
();
//校验用户是否存在
Result
<
SysUser
>
result
=
checkSysUserIsExist
(
userBizId
)
;
SysUser
sysUser
=
result
.
getData
();
ApiSysUserDetailResponse
response
=
new
ApiSysUserDetailResponse
();
BeanUtils
.
copyProperties
(
sysUser
,
response
);
}
return
Result
.
success
(
response
);
}
...
...
@@ -368,6 +372,7 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
List
<
RelUserRole
>
relUserRoleList
=
iRelUserRoleService
.
queryList
(
RelUserRoleDto
.
builder
()
.
tenantBizId
(
sysTenant
.
getTenantBizId
())
.
type
(
RelTypeEnum
.
TENANT
.
getItemValue
())
.
userBizId
(
authUserDto
.
getUserBizId
())
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relUserRoleList
))
{
...
...
@@ -385,6 +390,7 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
//租户用户角色菜单按钮权限列表信息
List
<
RelRoleMenu
>
relRoleMenuList
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
tenantBizId
(
sysTenant
.
getTenantBizId
())
.
type
(
RelTypeEnum
.
TENANT
.
getItemValue
())
.
roleBizIdList
(
roleBizIdList
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relRoleMenuList
))
{
...
...
@@ -450,6 +456,7 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
List
<
RelUserRole
>
relUserRoleList
=
iRelUserRoleService
.
queryList
(
RelUserRoleDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
type
(
RelTypeEnum
.
TENANT
.
getItemValue
())
.
userBizId
(
authUserDto
.
getUserBizId
())
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relUserRoleList
))
{
...
...
@@ -459,6 +466,7 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
//租户用户角色菜单按钮权限列表信息
List
<
RelRoleMenu
>
relRoleMenuList
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
type
(
RelTypeEnum
.
TENANT
.
getItemValue
())
.
roleBizIdList
(
roleBizIdList
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relRoleMenuList
))
{
...
...
@@ -556,6 +564,7 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
List
<
RelUserRole
>
relUserRoleList
=
iRelUserRoleService
.
queryList
(
RelUserRoleDto
.
builder
()
.
projectBizId
(
projectBizId
)
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
userBizId
(
authUserDto
.
getUserBizId
())
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relUserRoleList
))
{
...
...
@@ -573,6 +582,7 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
//项目用户角色菜单按钮权限列表信息
List
<
RelRoleMenu
>
relRoleMenuList
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
projectBizId
(
projectBizId
)
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
roleBizIdList
(
roleBizIdList
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relRoleMenuList
))
{
...
...
@@ -598,14 +608,25 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
* @return
*/
@Override
public
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
projectBizId
)
{
public
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
tenantBizId
,
String
projectBizId
)
{
//获取Security上下文当前用户的登录信息
AuthUserDto
authUserDto
=
SecurityUtil
.
getCurrentLoginUser
();
List
<
ApiLoginMenuInfoResponse
>
treeMenu
=
new
ArrayList
<>();
//权限校验-校验当前项目是否属于当前租户
List
<
RelTenantProject
>
relTenantProjectList
=
iRelTenantProjectService
.
queryList
(
RelTenantProjectDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
projectBizId
(
projectBizId
)
.
build
());
if
(
CollectionUtils
.
isEmpty
(
relTenantProjectList
))
{
throw
new
BusinessException
(
"当前访问的项目未授权到当前租户,请先授权绑定!"
);
}
List
<
RelUserRole
>
relUserRoleList
=
iRelUserRoleService
.
queryList
(
RelUserRoleDto
.
builder
()
.
tenantBizId
(
projectBizId
)
.
tenantBizId
(
tenantBizId
)
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
projectBizId
(
projectBizId
)
.
userBizId
(
authUserDto
.
getUserBizId
())
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relUserRoleList
))
{
...
...
@@ -614,7 +635,9 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
//项目用户角色菜单按钮权限列表信息
List
<
RelRoleMenu
>
relRoleMenuList
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
tenantBizId
(
projectBizId
)
.
tenantBizId
(
tenantBizId
)
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
projectBizId
(
projectBizId
)
.
roleBizIdList
(
roleBizIdList
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
relRoleMenuList
))
{
...
...
@@ -654,11 +677,12 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
* @return
*/
@Override
public
Result
<
Boolean
>
isProjectVisit
(
String
projectBizId
)
{
public
Result
<
Boolean
>
isProjectVisit
(
String
tenantBizId
,
String
projectBizId
)
{
//获取Security上下文当前用户的登录信息
AuthUserDto
authUserDto
=
SecurityUtil
.
getCurrentLoginUser
();
List
<
RelProjectUser
>
relProjectUserList
=
iRelProjectUserService
.
queryList
(
RelProjectUserDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
projectBizId
(
projectBizId
)
.
userBizId
(
authUserDto
.
getUserBizId
())
.
build
());
...
...
@@ -667,6 +691,8 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
}
List
<
RelUserRole
>
relUserRoleList
=
iRelUserRoleService
.
queryList
(
RelUserRoleDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
projectBizId
(
projectBizId
)
.
userBizId
(
authUserDto
.
getUserBizId
())
.
build
());
...
...
@@ -676,6 +702,8 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
List
<
String
>
roleBizIdList
=
relUserRoleList
.
stream
().
map
(
RelUserRole:
:
getRoleBizId
).
collect
(
Collectors
.
toList
());
List
<
RelRoleMenu
>
relRoleMenuList
=
iRelRoleMenuService
.
queryList
(
RelRoleMenuDto
.
builder
()
.
tenantBizId
(
tenantBizId
)
.
type
(
RelTypeEnum
.
PROJECT
.
getItemValue
())
.
projectBizId
(
projectBizId
)
.
roleBizIdList
(
roleBizIdList
)
.
build
());
...
...
@@ -687,6 +715,46 @@ public class ApiSysUserServiceImpl implements ApiSysUserService {
}
/**
* 权限-管理端-根据登录token获取用户详细信息
* @return
*/
@Override
public
Result
<
ApiSysUserDetailResponse
>
getUserInfoByToken
(
String
token
)
{
if
(
tokenProvider
.
validateToken
(
token
))
{
//token校验合法性通过,解析token
//从JWT令牌中提取用户唯一标识(业务ID)
String
userBizId
=
tokenProvider
.
getUserBizIdFromToken
(
token
);
//获取用户详情
Result
<
ApiSysUserDetailResponse
>
result
=
detail
(
userBizId
);
return
Result
.
success
(
result
.
getData
());
}
return
Result
.
success
();
}
/**
* 获取用户详情 body入参
* @return
*/
@Override
public
Result
<
ApiSysUserDetailResponse
>
detail
(
ApiSysUserDetailBodyRequest
request
)
{
List
<
SysUser
>
sysUserList
=
iSysUserService
.
queryList
(
SysUserDto
.
builder
()
.
userName
(
request
.
getUserName
())
.
userBizId
(
request
.
getUserBizId
())
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
sysUserList
))
{
ApiSysUserDetailResponse
response
=
new
ApiSysUserDetailResponse
();
SysUser
sysUser
=
sysUserList
.
get
(
0
);
BeanUtils
.
copyProperties
(
sysUser
,
response
);
return
Result
.
success
(
response
);
}
return
Result
.
success
();
}
/**
* 校验用户是否存在
* @param userBizId
* @return
...
...
yd-user-api/src/main/resources/bootstrap.yml
View file @
da650497
...
...
@@ -29,6 +29,7 @@ spring:
namespace
:
${spring.cloud.nacos.config.namespace}
# nacos的ip地址和端口
server-addr
:
${spring.cloud.nacos.config.server-addr}
---
spring
:
profiles
:
test
...
...
@@ -62,6 +63,19 @@ spring:
# nacos的ip地址和端口
server-addr
:
${spring.cloud.nacos.config.server-addr}
group
:
YD_GROUP
#feign:
# client:
# config:
# default:
# connectTimeout: 5000
# readTimeout: 30000
# ribbon:
# ConnectTimeout: 5000
# ReadTimeout: 30000
# OkToRetryOnAllOperations: true
# MaxAutoRetriesNextServer: 2
# MaxAutoRetries: 1
---
spring
:
profiles
:
prod
...
...
yd-user-feign/src/main/java/com/yd/user/feign/client/relprojectmenu/ApiRelProjectMenuFeignClient.java
View file @
da650497
...
...
@@ -68,5 +68,7 @@ public interface ApiRelProjectMenuFeignClient {
* @return
*/
@GetMapping
(
"/import/query/selected/menu/list"
)
Result
<
List
<
String
>>
selectedList
(
@NotBlank
(
message
=
"项目id不能为空"
)
@RequestParam
(
value
=
"projectBizId"
)
String
projectBizId
);
Result
<
List
<
String
>>
selectedList
(
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
@RequestParam
(
value
=
"tenantBizId"
)
String
tenantBizId
,
@NotBlank
(
message
=
"项目id不能为空"
)
@RequestParam
(
value
=
"projectBizId"
)
String
projectBizId
);
}
yd-user-feign/src/main/java/com/yd/user/feign/client/sysuser/ApiSysUserFeignClient.java
View file @
da650497
...
...
@@ -2,7 +2,6 @@ package com.yd.user.feign.client.sysuser;
import
com.yd.common.result.Result
;
import
com.yd.user.feign.fallback.sysuser.ApiSysUserFeignFallbackFactory
;
import
com.yd.user.feign.request.systenant.ApiSysTenantPageRequest
;
import
com.yd.user.feign.request.sysuser.*
;
import
com.yd.user.feign.response.login.ApiLoginMenuInfoResponse
;
import
com.yd.user.feign.response.login.GetLoginPermissionProjectResponse
;
...
...
@@ -11,7 +10,6 @@ import com.yd.user.feign.response.login.GetLoginInfoResponse;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
...
...
@@ -19,7 +17,7 @@ import java.util.List;
/**
* 用户服务-系统用户信息Feign客户端
*/
@FeignClient
(
name
=
"yd-user-api"
,
fallbackFactory
=
ApiSysUserFeignFallbackFactory
.
class
)
@FeignClient
(
name
=
"yd-user-api"
,
path
=
"/user/api/sysUser"
,
fallbackFactory
=
ApiSysUserFeignFallbackFactory
.
class
)
public
interface
ApiSysUserFeignClient
{
/**
...
...
@@ -106,12 +104,29 @@ public interface ApiSysUserFeignClient {
* @return
*/
@GetMapping
(
"/login/permission/project/getMenuRouters"
)
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
@NotBlank
(
message
=
"项目业务id不能为空"
)
@RequestParam
(
value
=
"projectBizId"
)
String
projectBizId
);
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
@NotBlank
(
message
=
"租户业务id不能为空"
)
@RequestParam
(
value
=
"tenantBizId"
)
String
tenantBizId
,
@NotBlank
(
message
=
"项目业务id不能为空"
)
@RequestParam
(
value
=
"projectBizId"
)
String
projectBizId
);
/**
* 权限-管理端-获取当前登录用户是否有权限访问该项目
* @return
*/
@GetMapping
(
"/login/permission/project/visit"
)
Result
<
Boolean
>
isProjectVisit
(
@NotBlank
(
message
=
"项目业务id不能为空"
)
@RequestParam
(
value
=
"projectBizId"
)
String
projectBizId
);
Result
<
Boolean
>
isProjectVisit
(
@NotBlank
(
message
=
"租户业务id不能为空"
)
@RequestParam
(
value
=
"tenantBizId"
)
String
tenantBizId
,
@NotBlank
(
message
=
"项目业务id不能为空"
)
@RequestParam
(
value
=
"projectBizId"
)
String
projectBizId
);
/**
* 权限-管理端-根据登录token获取用户详细信息
* @return
*/
@GetMapping
(
"/getUserInfoByToken"
)
Result
<
ApiSysUserDetailResponse
>
getUserInfoByToken
(
@NotBlank
(
message
=
"token不能为空"
)
@RequestParam
(
value
=
"token"
)
String
token
);
/**
* 获取用户详情 body入参
* @return
*/
@PostMapping
(
"/body/detail"
)
Result
<
ApiSysUserDetailResponse
>
detail
(
@Validated
@RequestBody
ApiSysUserDetailBodyRequest
request
);
}
yd-user-feign/src/main/java/com/yd/user/feign/fallback/projectmenu/ApiRelProjectMenuFeignFallbackFactory.java
View file @
da650497
...
...
@@ -11,6 +11,8 @@ import com.yd.user.feign.response.relprojectmenu.ApiRelProjectMenuTreeListRespon
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
/**
...
...
@@ -49,9 +51,10 @@ public class ApiRelProjectMenuFeignFallbackFactory implements FallbackFactory<Ap
}
@Override
public
Result
<
List
<
String
>>
selectedList
(
String
projectBizId
)
{
public
Result
<
List
<
String
>>
selectedList
(
String
tenantBizId
,
String
projectBizId
)
{
return
null
;
}
};
}
}
yd-user-feign/src/main/java/com/yd/user/feign/fallback/sysuser/ApiSysUserFeignFallbackFactory.java
View file @
da650497
...
...
@@ -81,15 +81,29 @@ public class ApiSysUserFeignFallbackFactory implements FallbackFactory<ApiSysUse
}
@Override
public
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
projectBizId
)
{
public
Result
<
List
<
ApiLoginMenuInfoResponse
>>
getProjectMenuRouters
(
String
tenantBizId
,
String
projectBizId
)
{
return
null
;
}
@Override
public
Result
<
Boolean
>
isProjectVisit
(
String
projectBizId
)
{
public
Result
<
Boolean
>
isProjectVisit
(
String
tenantBizId
,
String
projectBizId
)
{
return
null
;
}
@Override
public
Result
<
ApiSysUserDetailResponse
>
getUserInfoByToken
(
@NotBlank
(
message
=
"token不能为空"
)
String
token
)
{
return
null
;
}
@Override
public
Result
<
ApiSysUserDetailResponse
>
detail
(
ApiSysUserDetailBodyRequest
request
)
{
// 记录错误日志
log
.
error
(
"调用 yd-user-api 服务失败"
,
cause
);
// 返回降级结果
return
Result
.
fail
(
"用户服务暂不可用"
);
}
};
}
}
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuImportQueryMenuTreeRequest.java
View file @
da650497
...
...
@@ -11,6 +11,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiRelProjectMenuImportQueryMenuTreeRequest
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目id
*/
@NotBlank
(
message
=
"项目id不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuListAddRequest.java
View file @
da650497
...
...
@@ -13,6 +13,12 @@ import java.util.List;
public
class
ApiRelProjectMenuListAddRequest
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuListPageRequest.java
View file @
da650497
...
...
@@ -12,6 +12,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiRelProjectMenuListPageRequest
extends
PageDto
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectmenu/ApiRelProjectMenuTreeListRequest.java
View file @
da650497
...
...
@@ -12,6 +12,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiRelProjectMenuTreeListRequest
extends
PageDto
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectrole/ApiRelProjectRoleListAddRequest.java
View file @
da650497
...
...
@@ -13,6 +13,12 @@ import java.util.List;
public
class
ApiRelProjectRoleListAddRequest
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectrole/ApiRelProjectRoleListPageRequest.java
View file @
da650497
...
...
@@ -12,6 +12,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiRelProjectRoleListPageRequest
extends
PageDto
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectrole/ApiRelProjectRoleSelectPageRequest.java
View file @
da650497
...
...
@@ -12,6 +12,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiRelProjectRoleSelectPageRequest
extends
PageDto
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectuser/ApiRelProjectUserListAddRequest.java
View file @
da650497
...
...
@@ -13,6 +13,12 @@ import java.util.List;
public
class
ApiRelProjectUserListAddRequest
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@NotBlank
(
message
=
"项目ID(业务id)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectuser/ApiRelProjectUserListPageRequest.java
View file @
da650497
...
...
@@ -12,6 +12,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiRelProjectUserListPageRequest
extends
PageDto
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relprojectuser/ApiRelProjectUserSelectPageRequest.java
View file @
da650497
...
...
@@ -11,6 +11,11 @@ import javax.validation.constraints.NotBlank;
@Data
public
class
ApiRelProjectUserSelectPageRequest
extends
PageDto
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relrolemenu/ApiProjectRoleMenuListAddRequest.java
View file @
da650497
...
...
@@ -10,6 +10,12 @@ import java.util.List;
public
class
ApiProjectRoleMenuListAddRequest
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/relrolemenu/ApiSelectedProjectRoleMenuListRequest.java
View file @
da650497
...
...
@@ -8,6 +8,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiSelectedProjectRoleMenuListRequest
{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank
(
message
=
"租户唯一标识(业务ID)不能为空"
)
private
String
tenantBizId
;
/**
* 项目唯一标识(业务ID)
*/
@NotBlank
(
message
=
"项目唯一标识(业务ID)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiCandidateProjectUserRolePageRequest.java
View file @
da650497
...
...
@@ -9,6 +9,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiCandidateProjectUserRolePageRequest
extends
PageDto
{
/**
* 租户ID(业务id)
*/
@NotBlank
(
message
=
"租户ID(业务id)不能为空"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@NotBlank
(
message
=
"项目ID(业务id)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiProjectUserRoleListAddRequest.java
View file @
da650497
...
...
@@ -13,6 +13,12 @@ import java.util.List;
public
class
ApiProjectUserRoleListAddRequest
{
/**
* 租户ID(业务id)
*/
@NotBlank
(
message
=
"租户ID(业务id)不能为空"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@NotBlank
(
message
=
"项目ID(业务id)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiProjectUserRoleListDelRequest.java
View file @
da650497
...
...
@@ -9,6 +9,12 @@ import java.util.List;
public
class
ApiProjectUserRoleListDelRequest
{
/**
* 租户ID(业务id)
*/
@NotBlank
(
message
=
"租户ID(业务id)不能为空"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@NotBlank
(
message
=
"项目ID(业务id)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/reluserrole/ApiSelectedProjectUserRolePageRequest.java
View file @
da650497
...
...
@@ -9,6 +9,12 @@ import javax.validation.constraints.NotBlank;
public
class
ApiSelectedProjectUserRolePageRequest
extends
PageDto
{
/**
* 租户ID(业务id)
*/
@NotBlank
(
message
=
"租户ID(业务id)不能为空"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@NotBlank
(
message
=
"项目ID(业务id)不能为空"
)
...
...
yd-user-feign/src/main/java/com/yd/user/feign/request/sysuser/ApiSysUserDetailBodyRequest.java
0 → 100644
View file @
da650497
package
com
.
yd
.
user
.
feign
.
request
.
sysuser
;
import
lombok.Data
;
@Data
public
class
ApiSysUserDetailBodyRequest
{
/**
* 登录账号
*/
private
String
userName
;
/**
* 用户唯一业务id
*/
private
String
userBizId
;
}
yd-user-feign/src/main/java/com/yd/user/feign/response/relprojectuser/ApiRelProjectUserListPageResponse.java
View file @
da650497
...
...
@@ -3,13 +3,13 @@ package com.yd.user.feign.response.relprojectuser;
import
lombok.Data
;
/**
* 项目和用户关系分页查询出参
*
租户-
项目和用户关系分页查询出参
*/
@Data
public
class
ApiRelProjectUserListPageResponse
{
/**
*
项目和用户关系
主键id
*
租户-项目和用户关系表
主键id
*/
private
Long
id
;
...
...
yd-user-service/src/main/java/com/yd/user/service/dto/RelProjectMenuDto.java
View file @
da650497
...
...
@@ -16,6 +16,8 @@ public class RelProjectMenuDto {
*/
private
Long
id
;
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
...
...
yd-user-service/src/main/java/com/yd/user/service/dto/RelProjectUserDto.java
View file @
da650497
...
...
@@ -12,6 +12,8 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public
class
RelProjectUserDto
{
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
...
...
yd-user-service/src/main/java/com/yd/user/service/dto/RelRoleMenuDto.java
View file @
da650497
package
com
.
yd
.
user
.
service
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -16,6 +17,11 @@ public class RelRoleMenuDto {
private
Long
id
;
/**
* 关系类型(0-租户关系 1-项目关系)
*/
private
Integer
type
;
/**
* 租户ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:租户级)
*/
private
String
tenantBizId
;
...
...
yd-user-service/src/main/java/com/yd/user/service/dto/RelUserRoleDto.java
View file @
da650497
package
com
.
yd
.
user
.
service
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -14,6 +15,11 @@ public class RelUserRoleDto {
private
Long
id
;
/**
* 关系类型(0-租户关系 1-项目关系)
*/
private
Integer
type
;
/**
* 租户ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:租户级)
*/
private
String
tenantBizId
;
...
...
yd-user-service/src/main/java/com/yd/user/service/enums/RelTypeEnum.java
0 → 100644
View file @
da650497
package
com
.
yd
.
user
.
service
.
enums
;
/**
* 关系类型枚举
*/
public
enum
RelTypeEnum
{
//关系类型枚举
TENANT
(
"租户关系"
,
0
),
PROJECT
(
"项目关系"
,
1
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
Integer
itemValue
;
//构造函数
RelTypeEnum
(
String
itemLabel
,
Integer
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
Integer
getItemValue
()
{
return
itemValue
;
}
}
yd-user-service/src/main/java/com/yd/user/service/model/RelProjectMenu.java
View file @
da650497
...
...
@@ -31,6 +31,12 @@ public class RelProjectMenu implements Serializable {
private
Long
id
;
/**
* 租户唯一标识(业务ID)
*/
@TableField
(
"tenant_biz_id"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@TableField
(
"project_biz_id"
)
...
...
yd-user-service/src/main/java/com/yd/user/service/model/RelProjectRole.java
View file @
da650497
...
...
@@ -31,6 +31,12 @@ public class RelProjectRole implements Serializable {
private
Long
id
;
/**
* 租户唯一标识(业务ID)
*/
@TableField
(
"tenant_biz_id"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@TableField
(
"project_biz_id"
)
...
...
yd-user-service/src/main/java/com/yd/user/service/model/RelProjectUser.java
View file @
da650497
...
...
@@ -31,6 +31,12 @@ public class RelProjectUser implements Serializable {
private
Long
id
;
/**
* 租户唯一标识(业务ID)
*/
@TableField
(
"tenant_biz_id"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@TableField
(
"project_biz_id"
)
...
...
yd-user-service/src/main/java/com/yd/user/service/model/RelRoleMenu.java
View file @
da650497
...
...
@@ -31,6 +31,12 @@ public class RelRoleMenu implements Serializable {
private
Long
id
;
/**
* 关系类型(0-租户关系 1-项目关系)
*/
@TableField
(
"type"
)
private
Integer
type
;
/**
* 租户ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:租户级)
*/
@TableField
(
"tenant_biz_id"
)
...
...
yd-user-service/src/main/java/com/yd/user/service/model/RelUserRole.java
View file @
da650497
...
...
@@ -31,6 +31,12 @@ public class RelUserRole implements Serializable {
private
Long
id
;
/**
* 关系类型(0-租户关系 1-项目关系)
*/
@TableField
(
"type"
)
private
Integer
type
;
/**
* 租户ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:租户级)
*/
@TableField
(
"tenant_biz_id"
)
...
...
yd-user-service/src/main/java/com/yd/user/service/service/IRelRoleMenuService.java
View file @
da650497
...
...
@@ -20,5 +20,5 @@ public interface IRelRoleMenuService extends IService<RelRoleMenu> {
Boolean
removeByTenant
(
String
tenantBizId
,
String
roleBizId
);
Boolean
removeByProject
(
String
projectBizId
,
String
roleBizId
);
Boolean
removeByProject
(
String
tenantBizId
,
String
projectBizId
,
String
roleBizId
);
}
yd-user-service/src/main/java/com/yd/user/service/service/IRelUserRoleService.java
View file @
da650497
...
...
@@ -28,11 +28,11 @@ public interface IRelUserRoleService extends IService<RelUserRole> {
void
delRelTenantUserRole
(
String
tenantBizId
,
String
userBizId
);
void
delRelTenantUserRole
(
String
tenantBizId
,
String
userBizId
,
List
<
String
>
roleBizIdList
);
void
delRelTenantUserRole
(
String
tenantBizId
,
String
userBizId
,
List
<
String
>
roleBizIdList
,
Integer
type
);
void
delRelProjectUserRole
(
String
projectBizId
,
String
userBizId
);
void
delRelProjectUserRole
(
String
projectBizId
,
String
userBizId
,
List
<
String
>
roleBizIdList
);
void
delRelProjectUserRole
(
String
tenantBizId
,
String
projectBizId
,
String
userBizId
,
List
<
String
>
roleBizIdList
,
Integer
type
);
IPage
<
ApiCandidateTenantUserRolePageResponse
>
candidateTenantUserRolePage
(
Page
<
ApiCandidateTenantUserRolePageResponse
>
page
,
ApiCandidateTenantUserRolePageRequest
request
);
...
...
yd-user-service/src/main/java/com/yd/user/service/service/ISysUserService.java
View file @
da650497
...
...
@@ -12,7 +12,6 @@ import com.yd.user.service.dto.SysUserDto;
import
com.yd.user.service.model.SysRole
;
import
com.yd.user.service.model.SysUser
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
java.util.List
;
...
...
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelProjectMenuServiceImpl.java
View file @
da650497
...
...
@@ -64,6 +64,7 @@ public class RelProjectMenuServiceImpl extends ServiceImpl<RelProjectMenuMapper,
public
List
<
RelProjectMenu
>
queryList
(
RelProjectMenuDto
dto
)
{
List
<
RelProjectMenu
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
RelProjectMenu
>()
.
eq
(!
Objects
.
isNull
(
dto
.
getId
()),
RelProjectMenu:
:
getId
,
dto
.
getId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTenantBizId
()),
RelProjectMenu:
:
getTenantBizId
,
dto
.
getTenantBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getProjectBizId
()),
RelProjectMenu:
:
getProjectBizId
,
dto
.
getProjectBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getMenuBizId
()),
RelProjectMenu:
:
getMenuBizId
,
dto
.
getMenuBizId
())
);
...
...
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelProjectUserServiceImpl.java
View file @
da650497
...
...
@@ -72,6 +72,7 @@ public class RelProjectUserServiceImpl extends ServiceImpl<RelProjectUserMapper,
@Override
public
List
<
RelProjectUser
>
queryList
(
RelProjectUserDto
dto
)
{
List
<
RelProjectUser
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
RelProjectUser
>()
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTenantBizId
()),
RelProjectUser:
:
getTenantBizId
,
dto
.
getTenantBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getProjectBizId
()),
RelProjectUser:
:
getProjectBizId
,
dto
.
getProjectBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getUserBizId
()),
RelProjectUser:
:
getUserBizId
,
dto
.
getUserBizId
())
);
...
...
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelRoleMenuServiceImpl.java
View file @
da650497
...
...
@@ -40,6 +40,7 @@ public class RelRoleMenuServiceImpl extends ServiceImpl<RelRoleMenuMapper, RelRo
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getProjectBizId
()),
RelRoleMenu:
:
getProjectBizId
,
dto
.
getProjectBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getRoleBizId
()),
RelRoleMenu:
:
getRoleBizId
,
dto
.
getRoleBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getMenuBizId
()),
RelRoleMenu:
:
getMenuBizId
,
dto
.
getMenuBizId
())
.
eq
(!
Objects
.
isNull
(
dto
.
getType
()),
RelRoleMenu:
:
getType
,
dto
.
getType
())
.
in
(!
CollectionUtils
.
isEmpty
(
dto
.
getRoleBizIdList
()),
RelRoleMenu:
:
getRoleBizId
,
dto
.
getRoleBizIdList
())
);
return
list
;
...
...
@@ -54,8 +55,9 @@ public class RelRoleMenuServiceImpl extends ServiceImpl<RelRoleMenuMapper, RelRo
}
@Override
public
Boolean
removeByProject
(
String
projectBizId
,
String
roleBizId
)
{
public
Boolean
removeByProject
(
String
tenantBizId
,
String
projectBizId
,
String
roleBizId
)
{
return
this
.
remove
(
new
LambdaQueryWrapper
<
RelRoleMenu
>()
.
eq
(
RelRoleMenu:
:
getTenantBizId
,
tenantBizId
)
.
eq
(
RelRoleMenu:
:
getProjectBizId
,
projectBizId
)
.
eq
(
RelRoleMenu:
:
getRoleBizId
,
roleBizId
)
);
...
...
yd-user-service/src/main/java/com/yd/user/service/service/impl/RelUserRoleServiceImpl.java
View file @
da650497
...
...
@@ -56,8 +56,10 @@ public class RelUserRoleServiceImpl extends ServiceImpl<RelUserRoleMapper, RelUs
@Override
public
void
delRelTenantUserRole
(
String
tenantBizId
,
String
userBizId
,
List
<
String
>
roleBizIdList
)
{
List
<
String
>
roleBizIdList
,
Integer
type
)
{
this
.
remove
(
new
LambdaQueryWrapper
<
RelUserRole
>()
.
eq
(
RelUserRole:
:
getType
,
type
)
.
eq
(
RelUserRole:
:
getTenantBizId
,
tenantBizId
)
.
eq
(
RelUserRole:
:
getUserBizId
,
userBizId
)
.
in
(
RelUserRole:
:
getRoleBizId
,
roleBizIdList
)
...
...
@@ -83,10 +85,15 @@ public class RelUserRoleServiceImpl extends ServiceImpl<RelUserRoleMapper, RelUs
* @param userBizId
*/
@Override
public
void
delRelProjectUserRole
(
String
projectBizId
,
public
void
delRelProjectUserRole
(
String
tenantBizId
,
String
projectBizId
,
String
userBizId
,
List
<
String
>
roleBizIdList
)
{
List
<
String
>
roleBizIdList
,
Integer
type
)
{
this
.
remove
(
new
LambdaQueryWrapper
<
RelUserRole
>()
.
eq
(
RelUserRole:
:
getType
,
type
)
.
eq
(
RelUserRole:
:
getTenantBizId
,
tenantBizId
)
.
eq
(
RelUserRole:
:
getProjectBizId
,
projectBizId
)
.
eq
(
RelUserRole:
:
getUserBizId
,
userBizId
)
.
in
(
RelUserRole:
:
getRoleBizId
,
roleBizIdList
)
...
...
@@ -130,6 +137,7 @@ public class RelUserRoleServiceImpl extends ServiceImpl<RelUserRoleMapper, RelUs
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getProjectBizId
()),
RelUserRole:
:
getProjectBizId
,
dto
.
getProjectBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getUserBizId
()),
RelUserRole:
:
getUserBizId
,
dto
.
getUserBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getRoleBizId
()),
RelUserRole:
:
getRoleBizId
,
dto
.
getRoleBizId
())
.
eq
(!
Objects
.
isNull
(
dto
.
getType
()),
RelUserRole:
:
getType
,
dto
.
getType
())
);
return
list
;
}
...
...
yd-user-service/src/main/java/com/yd/user/service/service/impl/SysUserServiceImpl.java
View file @
da650497
...
...
@@ -3,7 +3,7 @@ package com.yd.user.service.service.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.auth.core.dto.AuthUserDto
;
//
import com.yd.auth.core.dto.AuthUserDto;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.user.feign.request.sysuser.ApiScopePageRequest
;
...
...
@@ -19,7 +19,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
yd-user-service/src/main/resources/mappers/RelProjectMenuMapper.xml
View file @
da650497
...
...
@@ -10,6 +10,7 @@
inner join sys_menu sm on sm.menu_biz_id = rpm.menu_biz_id and sm.is_deleted = 0
<where>
and rpm.tenant_biz_id = #{request.tenantBizId}
and rpm.project_biz_id = #{request.projectBizId}
<if
test=
"request.menuName != null and request.menuName != ''"
>
and sm.menu_name like concat('%', #{request.menuName}, '%')
...
...
@@ -42,6 +43,7 @@
inner join sys_menu sm on sm.menu_biz_id = rpm.menu_biz_id and sm.is_deleted = 0
<where>
and rpm.tenant_biz_id = #{request.tenantBizId}
and rpm.project_biz_id = #{request.projectBizId}
<if
test=
"request.menuName != null and request.menuName != ''"
>
and sm.menu_name like concat('%', #{request.menuName}, '%')
...
...
yd-user-service/src/main/resources/mappers/RelProjectRoleMapper.xml
View file @
da650497
...
...
@@ -10,6 +10,7 @@
inner join sys_role sr on sr.role_biz_id = rpr.role_biz_id and sr.is_deleted = 0
<where>
and rpr.tenant_biz_id = #{request.tenantBizId}
and rpr.project_biz_id = #{request.projectBizId}
<if
test=
"request.roleName != null and request.roleName != ''"
>
and sr.role_name like concat('%', #{request.roleName}, '%')
...
...
@@ -32,7 +33,10 @@
and sr.is_deleted = 0
and sr.role_biz_id
not in( select rpr.role_biz_id from rel_project_role rpr
where rpr.project_biz_id = #{request.projectBizId} and rpr.is_deleted = 0)
where
rpr.tenant_biz_id = #{request.tenantBizId}
and rpr.project_biz_id = #{request.projectBizId}
and rpr.is_deleted = 0)
</where>
</select>
</mapper>
yd-user-service/src/main/resources/mappers/RelProjectUserMapper.xml
View file @
da650497
...
...
@@ -10,6 +10,7 @@
inner join sys_user su on su.user_biz_id = rpu.user_biz_id and su.is_deleted = 0
<where>
and rpu.tenant_biz_id = #{request.tenantBizId}
and rpu.project_biz_id = #{request.projectBizId}
<if
test=
"request.userName != null and request.userName != ''"
>
...
...
@@ -52,7 +53,10 @@
and su.is_deleted = 0
and su.user_biz_id
not in( select rpu.user_biz_id from rel_project_user rpu
where rpu.project_biz_id = #{request.projectBizId} and rpu.is_deleted = 0)
where
rpu.tenant_biz_id = #{request.tenantBizId}
and rpu.project_biz_id = #{request.projectBizId}
and rpu.is_deleted = 0)
</where>
</select>
...
...
yd-user-service/src/main/resources/mappers/RelUserRoleMapper.xml
View file @
da650497
...
...
@@ -22,6 +22,7 @@
where
rur.tenant_biz_id = #{request.tenantBizId}
and rur.user_biz_id = #{request.userBizId}
and rur.type = 0
and rur.is_deleted = 0
)
</where>
...
...
@@ -41,6 +42,7 @@
and rur.tenant_biz_id = #{request.tenantBizId}
and rur.user_biz_id = #{request.userBizId}
and rur.type = 0
and rur.is_deleted = 0
</where>
...
...
@@ -59,13 +61,16 @@
and sr.role_name like concat('%', #{request.roleName}, '%')
</if>
and rpr.tenant_biz_id = #{request.tenantBizId}
and rpr.project_biz_id = #{request.projectBizId}
and rpr.is_deleted = 0
and rpr.role_biz_id
not in(select rur.role_biz_id from rel_user_role rur
where
rur.project_biz_id = #{request.projectBizId}
rur.tenant_biz_id = #{request.tenantBizId}
and rur.project_biz_id = #{request.projectBizId}
and rur.user_biz_id = #{request.userBizId}
and rur.type = 1
and rur.is_deleted = 0
)
</where>
...
...
@@ -83,8 +88,10 @@
and sr.role_name like concat('%', #{request.roleName}, '%')
</if>
and rur.tenant_biz_id = #{request.tenantBizId}
and rur.project_biz_id = #{request.projectBizId}
and rur.user_biz_id = #{request.userBizId}
and rur.type = 1
and rur.is_deleted = 0
</where>
...
...
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