Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
85014fff
authored
Aug 30, 2023
by
杨伟程
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' of
http://git.xmmakeit.com/huangjiay/iot-platform-server
into dev
parents
55ae6b3c
b1bbc90d
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
937 additions
and
145 deletions
db/saas.sql
saas-module/src/main/java/com/makeit/controller/config/SwaggerFixtureConfig.java
saas-module/src/main/java/com/makeit/controller/saas/SaasLoginController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasRoleController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasUserController.java
server-common/src/main/java/com/makeit/common/dto/BaseTenantIdDTO.java → server-common/src/main/java/com/makeit/common/dto/BaseTenantDTO.java
server-common/src/main/java/com/makeit/common/entity/BaseEntity.java
server-common/src/main/java/com/makeit/config/WebInterceptorConfig.java
server-common/src/main/java/com/makeit/config/mybatis/objecthandler/LocalDateTimeObjectHandler.java
server-common/src/main/java/com/makeit/enums/HeaderConst.java
server-common/src/main/java/com/makeit/enums/order/InterceptorOrderConst.java
server-common/src/main/java/com/makeit/enums/redis/RedisConst.java
server-common/src/main/java/com/makeit/global/inteceptor/SaasAuthenticationInterceptor.java
server-common/src/main/java/com/makeit/global/inteceptor/SaasAuthorizationInterceptor.java
server-common/src/main/java/com/makeit/global/inteceptor/SysAuthenticationInterceptor.java → server-common/src/main/java/com/makeit/global/inteceptor/TntAuthenticationInterceptor.java
server-common/src/main/java/com/makeit/global/inteceptor/SysAuthorizationInterceptor.java → server-common/src/main/java/com/makeit/global/inteceptor/TntAuthorizationInterceptor.java
server-common/src/main/java/com/makeit/module/admin/dto/SysDeptQueryDTO.java
server-common/src/main/java/com/makeit/module/admin/dto/SysRoleDTOVO.java
server-common/src/main/java/com/makeit/module/admin/dto/SysRoleMenuDTO.java
server-common/src/main/java/com/makeit/module/admin/dto/SysUserRoleDTO.java
server-common/src/main/java/com/makeit/module/admin/saas/PlatMenuDTOVO.java
server-common/src/main/java/com/makeit/module/admin/saas/PlatRoleDTOVO.java → server-common/src/main/java/com/makeit/module/admin/saas/SaasRoleDTOVO.java
server-common/src/main/java/com/makeit/module/admin/saas/PlatUserDTOVO.java → server-common/src/main/java/com/makeit/module/admin/saas/SaasUserDTOVO.java
server-common/src/main/java/com/makeit/module/admin/saas/UserRoleMenuRedisVO.java → server-common/src/main/java/com/makeit/module/admin/saas/SaasUserRoleMenuRedisVO.java
server-common/src/main/java/com/makeit/module/admin/service/impl/SysDeptServiceImpl.java
server-common/src/main/java/com/makeit/module/admin/service/impl/SysFactoryServiceImpl.java
server-common/src/main/java/com/makeit/module/admin/service/impl/SysMenuServiceImpl.java
server-common/src/main/java/com/makeit/module/admin/service/impl/SysRoleServiceImpl.java
server-common/src/main/java/com/makeit/module/admin/service/impl/SysUserServiceImpl.java
server-common/src/main/java/com/makeit/module/system/dto/SysConfigCategoryDTOVO.java
server-common/src/main/java/com/makeit/module/system/service/impl/SysConfigCategoryServiceImpl.java
server-common/src/main/java/com/makeit/module/system/service/impl/SysDictionaryCategoryServiceImpl.java
server-common/src/main/java/com/makeit/utils/sql/WrapperUtil.java
server-common/src/main/java/com/makeit/utils/user/PlatUserUtil.java
server-common/src/main/java/com/makeit/utils/user/UserLoginVO.java → server-common/src/main/java/com/makeit/utils/user/SaasUserLoginVO.java
server-common/src/main/java/com/makeit/utils/user/ThreadLocalUserUtil.java
server-common/src/main/java/com/makeit/utils/user/TokenUtil.java
server-common/src/main/java/com/makeit/utils/user/common/CommonUserUtil.java
server-common/src/main/java/com/makeit/utils/user/tenant/SysUserVO.java
server-service/src/main/java/com/makeit/service/saas/SaasRoleService.java
server-service/src/main/java/com/makeit/service/saas/SaasUserService.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasRoleServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
server-web/src/main/resources/application.yml
db/saas.sql
0 → 100644
View file @
85014fff
CREATE
TABLE
`saas_user`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id id为1是超级管理员'
,
`username`
varchar
(
128
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_bin
DEFAULT
NULL
COMMENT
'姓名'
,
`account`
varchar
(
128
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_bin
DEFAULT
NULL
COMMENT
'账户'
,
`password`
varchar
(
64
)
NOT
NULL
COMMENT
'密码'
,
`mobile`
varchar
(
11
)
NOT
NULL
COMMENT
'手机号'
,
`status`
char
(
1
)
NOT
NULL
COMMENT
'状态 0禁用 1启用'
,
`remark`
varchar
(
1024
)
DEFAULT
NULL
COMMENT
'备注'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
),
KEY
`plat_user_account_index`
(
`account`
),
KEY
`plat_user_mobile_index`
(
`mobile`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'saas端用户'
;
CREATE
TABLE
`saas_role`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`name`
varchar
(
128
)
NOT
NULL
COMMENT
'角色名称'
,
`code`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'编码'
,
`status`
char
(
1
)
NOT
NULL
COMMENT
'状态 0禁用 1启用'
,
`remark`
varchar
(
1024
)
DEFAULT
NULL
COMMENT
'备注'
,
`data_scope_type`
char
(
1
)
DEFAULT
NULL
COMMENT
'数据权限 1全部 2指定租户'
,
`data_scope`
varchar
(
600
)
DEFAULT
NULL
COMMENT
'数据权限 租户id列表 以逗号分隔'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'saas端角色'
;
CREATE
TABLE
`saas_user_role`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`user_id`
varchar
(
64
)
NOT
NULL
COMMENT
'用户id'
,
`role_id`
varchar
(
64
)
NOT
NULL
COMMENT
'角色id'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
),
KEY
`plat_user_role_role_id_index`
(
`role_id`
),
KEY
`plat_user_role_user_id_index`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'saas端用户角色表'
;
CREATE
TABLE
`saas_role_menu`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`role_id`
varchar
(
64
)
NOT
NULL
COMMENT
'角色id'
,
`menu_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'菜单id'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
),
KEY
`plat_role_menu_menu_id_index`
(
`menu_id`
),
KEY
`plat_role_menu_role_id_index`
(
`role_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'saas端角色菜单关联表'
;
CREATE
TABLE
`saas_menu`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`parent_id`
varchar
(
64
)
NOT
NULL
COMMENT
'父级id'
,
`name`
varchar
(
100
)
NOT
NULL
COMMENT
'名称'
,
`code`
varchar
(
100
)
DEFAULT
NULL
COMMENT
'模块+类名+方法'
,
`icon`
varchar
(
100
)
DEFAULT
NULL
COMMENT
'图标'
,
`sort`
int
(
11
)
DEFAULT
NULL
COMMENT
'排序'
,
`status`
char
(
1
)
NOT
NULL
COMMENT
'状态 0禁用 1启用'
,
`category`
varchar
(
20
)
NOT
NULL
COMMENT
'类型 0目录 1菜单 2按钮'
,
`request_path`
varchar
(
200
)
DEFAULT
NULL
COMMENT
'前端路径'
,
`component_path`
varchar
(
200
)
DEFAULT
NULL
COMMENT
'组件路径'
,
`component_name`
varchar
(
100
)
DEFAULT
NULL
COMMENT
'组件名称'
,
`remark`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'备注'
,
`hidden_status`
char
(
1
)
DEFAULT
NULL
COMMENT
'隐藏状态 0不隐藏 1隐藏'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`cache_status`
char
(
1
)
DEFAULT
NULL
COMMENT
'缓存状态 0不缓存 1缓存'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'saas端菜单'
;
CREATE
TABLE
`tnt_auth_menu`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'主键id'
,
`parent_id`
varchar
(
64
)
NOT
NULL
COMMENT
'父级id'
,
`name`
varchar
(
100
)
NOT
NULL
COMMENT
'资源名称'
,
`request_path`
varchar
(
200
)
DEFAULT
NULL
COMMENT
'账号链接'
,
`sort`
int
(
11
)
DEFAULT
NULL
COMMENT
'排序'
,
`icon`
varchar
(
100
)
DEFAULT
NULL
COMMENT
'图标'
,
`resource_type`
varchar
(
20
)
NOT
NULL
COMMENT
'类型 1目录 2菜单/功能 3按钮/应用'
,
`hidden_status`
char
(
1
)
DEFAULT
NULL
COMMENT
'隐藏状态 0不隐藏 1隐藏'
,
`remark`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'备注'
,
`cache_status`
char
(
1
)
DEFAULT
NULL
COMMENT
'缓存状态 0不缓存 1缓存'
,
`status`
char
(
1
)
NOT
NULL
COMMENT
'状态 0禁用 1启用'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'租户端资源管理'
;
CREATE
TABLE
`saas_privacy_config`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`title`
varchar
(
500
)
DEFAULT
NULL
COMMENT
'标题'
,
`content`
varchar
(
2000
)
DEFAULT
NULL
COMMENT
'内容'
,
`category`
varchar
(
10
)
DEFAULT
NULL
COMMENT
'分类 0-隐私政策 1-关于我们'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'隐私政策/关于我们'
;
CREATE
TABLE
`saas_operation_log`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`saas_user_id`
varchar
(
64
)
NOT
NULL
COMMENT
'操作人'
,
`tenant_id`
char
(
64
)
DEFAULT
NULL
COMMENT
'租户ID'
,
`content`
varchar
(
500
)
DEFAULT
NULL
COMMENT
'操作内容'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
COMPACT
COMMENT
=
'saas端操作日志'
;
CREATE
TABLE
`tnt_tenant`
(
`id`
varchar
(
64
)
NOT
NULL
COLLATE
utf8mb4_general_ci
COMMENT
'id'
,
`name`
varchar
(
128
)
DEFAULT
NULL
COMMENT
'名称'
,
`status`
varchar
(
10
)
NOT
NULL
COMMENT
'状态 0停用 1启用'
,
`start_time`
datetime
NOT
NULL
COMMENT
'租户有效期-开始时间'
,
`end_time`
datetime
NOT
NULL
COMMENT
'租户有效期-结束时间'
,
`tnt_user_id`
varchar
(
64
)
NOT
NULL
COMMENT
'租户管理员id'
,
`menu_list`
varchar
(
600
)
DEFAULT
NULL
COMMENT
'菜单id列表 以逗号分隔'
,
`alert_channel`
varchar
(
32
)
DEFAULT
NULL
COMMENT
'告警渠道 1-短信 2-邮件 3-语音短信 4-云龄工单 5-晶奇工单'
,
`create_date`
datetime
NOT
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NOT
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by_`
varchar
(
64
)
NOT
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NOT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
STATS_AUTO_RECALC
=
0
ROW_FORMAT
=
COMPACT
COMMENT
=
'租户管理'
;
saas-module/src/main/java/com/makeit/controller/config/SwaggerFixtureConfig.java
0 → 100644
View file @
85014fff
package
com
.
makeit
.
controller
.
config
;
import
com.makeit.config.BizCondition
;
import
com.makeit.config.swagger.SwaggerModuleConfig
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Conditional
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.ApiSelectorBuilder
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
java.util.Arrays
;
/**
* swagger 配置类,访问地址:http://localhost:8080/swagger-ui.html
* Knife4j 访问地址:http://localhost:8080/doc.html
*
* @author yaohy
*/
@Configuration
@Conditional
(
BizCondition
.
class
)
public
class
SwaggerFixtureConfig
{
@Bean
public
SwaggerModuleConfig
fixtureModule
()
{
SwaggerModuleConfig
config
=
new
SwaggerModuleConfig
();
config
.
setPackageList
(
Arrays
.
asList
(
"com.makeit.controller"
));
config
.
setModuleName
(
"saas管理"
);
return
config
;
}
@Bean
public
Docket
fixtureApi
()
{
Docket
docket
=
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
apiInfo
())
.
groupName
(
"01-saas管理"
);
ApiSelectorBuilder
builder
=
docket
.
select
();
//api过滤
builder
=
builder
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.makeit.controller.saas"
)
);
return
builder
.
build
();
}
private
ApiInfo
apiInfo
()
{
return
new
ApiInfoBuilder
().
title
(
"IOT文档"
)
.
description
(
"服务端接口文档"
)
.
version
(
"1.0.1"
)
.
build
();
}
}
//TODO ywc 放到各自的模块里
\ No newline at end of file
saas-module/src/main/java/com/makeit/controller/saas/SaasLoginController.java
View file @
85014fff
...
...
@@ -4,7 +4,7 @@ import com.makeit.common.dto.LoginDTO;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.service.saas.SaasUserService
;
import
com.makeit.utils.user.UserLoginVO
;
import
com.makeit.utils.user.
Saas
UserLoginVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -23,7 +23,7 @@ public class SaasLoginController {
@ApiOperation
(
"登录"
)
@PostMapping
(
"login"
)
public
ApiResponseEntity
<
UserLoginVO
>
login
(
@RequestBody
LoginDTO
loginDTO
)
{
public
ApiResponseEntity
<
Saas
UserLoginVO
>
login
(
@RequestBody
LoginDTO
loginDTO
)
{
return
ApiResponseUtils
.
success
(
saasUserService
.
login
(
loginDTO
));
}
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasRoleController.java
0 → 100644
View file @
85014fff
package
com
.
makeit
.
controller
.
saas
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.module.admin.saas.SaasRoleDTOVO
;
import
com.makeit.module.admin.saas.PlatRoleMenuDTO
;
import
com.makeit.module.admin.saas.PlatUserRoleDTO
;
import
com.makeit.service.saas.SaasRoleService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>
* saas端角色 前端控制器
* </p>
*
* @author eugene young
* @since 2022-05-10
*/
@Api
(
tags
=
"saas端-角色"
)
@RestController
@RequestMapping
(
"/saas/role"
)
public
class
SaasRoleController
{
@Autowired
private
SaasRoleService
saasRoleService
;
@Action
(
module
=
"saas端-角色"
,
name
=
"列表"
,
code
=
"saas:role:list"
)
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
SaasRoleDTOVO
>>
list
(
@RequestBody
SaasRoleDTOVO
dto
){
return
ApiResponseUtils
.
success
(
saasRoleService
.
list
(
dto
));
}
@ApiOperation
(
"列表(AuthIgnore)"
)
@PostMapping
(
"listAuthIgnore"
)
public
ApiResponseEntity
<
List
<
SaasRoleDTOVO
>>
listAuthIgnore
(
@RequestBody
SaasRoleDTOVO
dto
){
return
ApiResponseUtils
.
success
(
saasRoleService
.
list
(
dto
));
}
@Action
(
module
=
"saas端-角色"
,
name
=
"新增"
,
code
=
"saas:role:add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<?>
add
(
@Validated
@RequestBody
SaasRoleDTOVO
dto
){
saasRoleService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-角色"
,
name
=
"编辑"
,
code
=
"saas:role:edit"
)
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
SaasRoleDTOVO
dto
){
saasRoleService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-角色"
,
name
=
"详情"
,
code
=
"saas:role:view"
)
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
SaasRoleDTOVO
>
view
(
@RequestBody
BaseIdDTO
dto
){
return
ApiResponseUtils
.
success
(
saasRoleService
.
view
(
dto
.
getId
()));
}
@Action
(
module
=
"saas端-角色"
,
name
=
"删除"
,
code
=
"saas:role:del"
)
@ApiOperation
(
"删除"
)
@PostMapping
(
"del"
)
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
dto
){
saasRoleService
.
del
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-角色"
,
name
=
"改变状态"
,
code
=
"saas:role:changeStatus"
)
@ApiOperation
(
"改变状态"
)
@PostMapping
(
"changeStatus"
)
public
ApiResponseEntity
<?>
changeStatus
(
@RequestBody
StatusDTO
dto
){
saasRoleService
.
changeStatus
(
dto
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-角色"
,
name
=
"分配用户"
,
code
=
"saas:role:assignUserList"
)
@ApiOperation
(
"分配用户"
)
@PostMapping
(
"assignUserList"
)
public
ApiResponseEntity
<?>
assignUserList
(
@RequestBody
List
<
PlatUserRoleDTO
>
userRoleDTOList
){
//参数要不要是一个对象里 有一个数组
saasRoleService
.
assignUserList
(
userRoleDTOList
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-角色"
,
name
=
"删除分配用户"
,
code
=
"saas:role:removeAssignUserList"
)
@ApiOperation
(
"删除分配用户"
)
@PostMapping
(
"removeAssignUserList"
)
public
ApiResponseEntity
<?>
removeAssignUserList
(
@RequestBody
List
<
PlatUserRoleDTO
>
userRoleDTOList
){
saasRoleService
.
removeAssignUserList
(
userRoleDTOList
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"saas端-角色"
,
name
=
"分配菜单"
,
code
=
"saas:role:assignMenuList"
)
@ApiOperation
(
"分配菜单"
)
@PostMapping
(
"assignMenuList"
)
public
ApiResponseEntity
<?>
assignMenuList
(
@RequestBody
PlatRoleMenuDTO
roleMenuDTO
){
saasRoleService
.
assignMenuList
(
roleMenuDTO
);
return
ApiResponseUtils
.
success
();
}
}
saas-module/src/main/java/com/makeit/controller/saas/SaasUserController.java
0 → 100644
View file @
85014fff
package
com
.
makeit
.
controller
.
saas
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.module.admin.saas.SaasUserDTOVO
;
import
com.makeit.module.admin.saas.PlatUserQueryDTO
;
import
com.makeit.service.saas.SaasUserService
;
import
com.makeit.utils.user.SaasUserLoginVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>
* SAAS端用户 前端控制器
* </p>
*
* @author eugene young
* @since 2022-05-10
*/
@Api
(
tags
=
"SAAS端-用户"
)
@RestController
@RequestMapping
(
"/saas/user"
)
public
class
SaasUserController
{
@Autowired
private
SaasUserService
saasUserService
;
@Action
(
module
=
"SAAS端-用户"
,
name
=
"分页列表"
,
code
=
"saas:user:page"
)
@ApiOperation
(
"分页列表"
)
@PostMapping
(
"page"
)
public
ApiResponseEntity
<
PageVO
<
SaasUserDTOVO
>>
page
(
@RequestBody
PageReqDTO
<
PlatUserQueryDTO
>
page
){
return
ApiResponseUtils
.
success
(
saasUserService
.
page
(
page
));
}
@ApiOperation
(
"分页列表"
)
@PostMapping
(
"pageAuthIgnore"
)
public
ApiResponseEntity
<
PageVO
<
SaasUserDTOVO
>>
pageAuthIgnore
(
@RequestBody
PageReqDTO
<
PlatUserQueryDTO
>
page
){
return
ApiResponseUtils
.
success
(
saasUserService
.
page
(
page
));
}
//@Action(module = "SAAS端-用户", name = "分页列表-排除超级管理员", code = "plat:user:pageNotSuperAdmin")
@ApiOperation
(
"分页列表-排除超级管理员"
)
@PostMapping
(
"pageNotSuperAdmin"
)
public
ApiResponseEntity
<
PageVO
<
SaasUserDTOVO
>>
pageNotSuperAdmin
(
@RequestBody
PageReqDTO
<
PlatUserQueryDTO
>
page
){
return
ApiResponseUtils
.
success
(
saasUserService
.
pageNoSuperAdmin
(
page
));
}
@ApiOperation
(
"分页列表(AuthIgnore)"
)
@PostMapping
(
"listAuthIgnore"
)
public
ApiResponseEntity
<
List
<
SaasUserDTOVO
>>
listAuthIgnore
(
@RequestBody
PlatUserQueryDTO
dto
){
return
ApiResponseUtils
.
success
(
saasUserService
.
list
(
dto
));
}
@ApiOperation
(
"分页列表-排除超级管理员(AuthIgnore)"
)
@PostMapping
(
"listNotSuperAdminAuthIgnore"
)
public
ApiResponseEntity
<
List
<
SaasUserDTOVO
>>
listNotSuperAdminAuthIgnore
(
@RequestBody
PlatUserQueryDTO
dto
){
return
ApiResponseUtils
.
success
(
saasUserService
.
listNoSuperAdmin
(
dto
));
}
@Action
(
module
=
"SAAS端-用户"
,
name
=
"新增"
,
code
=
"saas:user:add"
)
@ApiOperation
(
"新增"
)
@PostMapping
(
"add"
)
public
ApiResponseEntity
<?>
add
(
@Validated
@RequestBody
SaasUserDTOVO
dto
){
saasUserService
.
add
(
dto
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"SAAS端-用户"
,
name
=
"编辑"
,
code
=
"saas:user:edit"
)
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
SaasUserDTOVO
dto
){
saasUserService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"SAAS端-用户"
,
name
=
"改变密码"
,
code
=
"saas:user:changePassword"
)
@ApiOperation
(
"改变密码"
)
@PostMapping
(
"changePassword"
)
public
ApiResponseEntity
<?>
changePassword
(
@RequestBody
SaasUserDTOVO
dto
){
saasUserService
.
changePassword
(
dto
);
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"SAAS端-用户"
,
name
=
"详情"
,
code
=
"saas:user:view"
)
@ApiOperation
(
"详情"
)
@PostMapping
(
"view"
)
public
ApiResponseEntity
<
SaasUserDTOVO
>
view
(
@RequestBody
BaseIdDTO
dto
){;
return
ApiResponseUtils
.
success
(
saasUserService
.
view
(
dto
.
getId
()));
}
@Action
(
module
=
"SAAS端-用户"
,
name
=
"删除"
,
code
=
"saas:user:del"
)
@ApiOperation
(
"删除"
)
@PostMapping
(
"del"
)
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
dto
){
saasUserService
.
del
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
@Action
(
module
=
"SAAS端-用户"
,
name
=
"改变状态"
,
code
=
"saas:user:changeStatus"
)
@ApiOperation
(
"改变状态"
)
@PostMapping
(
"changeStatus"
)
public
ApiResponseEntity
<?>
changeStatus
(
@RequestBody
StatusDTO
dto
){
saasUserService
.
changeStatus
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"获取当前登录用户的角色菜单"
)
@PostMapping
(
"getRoleMenu"
)
public
ApiResponseEntity
<
SaasUserLoginVO
>
getRoleAndMenuList
(){
return
ApiResponseUtils
.
success
(
saasUserService
.
getRoleAndMenuList
());
}
@ApiOperation
(
"获取当前登录用户的用户信息"
)
@PostMapping
(
"getUserVO"
)
public
ApiResponseEntity
<
SaasUserLoginVO
>
getUserInfo
(){
return
ApiResponseUtils
.
success
(
saasUserService
.
getUserVO
());
}
}
server-common/src/main/java/com/makeit/common/dto/BaseTenant
Id
DTO.java
→
server-common/src/main/java/com/makeit/common/dto/BaseTenantDTO.java
View file @
85014fff
...
...
@@ -10,16 +10,16 @@ import lombok.experimental.FieldNameConstants;
import
java.io.Serializable
;
@ApiModel
(
"
厂别
dto"
)
@ApiModel
(
"
租户
dto"
)
@FieldNameConstants
@Data
@AllArgsConstructor
@NoArgsConstructor
//@Builder
public
class
BaseTenant
Id
DTO
extends
BaseIdDTO
implements
Serializable
{
public
class
BaseTenantDTO
extends
BaseIdDTO
implements
Serializable
{
@ExcelIgnore
@ApiModelProperty
(
value
=
"
厂别
id"
,
required
=
true
)
@ApiModelProperty
(
value
=
"
租户
id"
,
required
=
true
)
private
String
tenantId
;
}
server-common/src/main/java/com/makeit/common/entity/BaseEntity.java
View file @
85014fff
...
...
@@ -37,7 +37,7 @@ public class BaseEntity implements Serializable {
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
false
)
@TableField
(
value
=
"create_date"
,
fill
=
FieldFill
.
INSERT
,
typeHandler
=
LocalDateTimeTypeHandler
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
create
dAt
;
private
LocalDateTime
create
Date
;
/**
* 更新时间
...
...
@@ -45,7 +45,7 @@ public class BaseEntity implements Serializable {
@ApiModelProperty
(
value
=
"更新时间"
,
required
=
false
)
@TableField
(
value
=
"update_date"
,
fill
=
FieldFill
.
INSERT_UPDATE
,
typeHandler
=
LocalDateTimeTypeHandler
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
update
dAt
;
private
LocalDateTime
update
Date
;
@TableLogic
...
...
server-common/src/main/java/com/makeit/config/WebInterceptorConfig.java
View file @
85014fff
package
com
.
makeit
.
config
;
import
com.makeit.global.inteceptor.RequestIdInterceptor
;
import
com.makeit.global.inteceptor.SysAuthenticationInterceptor
;
import
com.makeit.global.inteceptor.SysAuthorizationInterceptor
;
import
com.makeit.global.inteceptor.SaasAuthenticationInterceptor
;
import
com.makeit.global.inteceptor.SaasAuthorizationInterceptor
;
import
com.makeit.global.inteceptor.TntAuthenticationInterceptor
;
import
com.makeit.global.inteceptor.TntAuthorizationInterceptor
;
import
com.makeit.utils.old.StringUtils
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -23,16 +25,21 @@ public class WebInterceptorConfig implements WebMvcConfigurer {
private
RequestIdInterceptor
requestIdInterceptor
;
@Autowired
private
SysAuthenticationInterceptor
sysAuthenticationInterceptor
;
private
TntAuthenticationInterceptor
tntAuthenticationInterceptor
;
@Autowired
private
TntAuthorizationInterceptor
tntAuthorizationInterceptor
;
@Autowired
private
SysAuthorizationInterceptor
sysAuthorizationInterceptor
;
private
SaasAuthenticationInterceptor
saasAuthenticationInterceptor
;
@Autowired
private
SaasAuthorizationInterceptor
saasAuthorizationInterceptor
;
private
String
authenticationPlatPath
;
private
String
authenticationPlatPathIgnore
;
private
String
authorizationPlatPath
;
private
String
authorizationPlatPathIgnore
;
private
String
authenticationSaasPath
;
private
String
authenticationSaasPathIgnore
;
private
String
authorizationSaasPath
;
private
String
authorizationSaasPathIgnore
;
private
String
authenticationTntPath
;
...
...
@@ -44,27 +51,29 @@ public class WebInterceptorConfig implements WebMvcConfigurer {
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
//请求日志
registry
.
addInterceptor
(
requestIdInterceptor
).
addPathPatterns
(
"/**"
);
InterceptorRegistration
authenticationTnt
=
registry
.
addInterceptor
(
sysAuthenticationInterceptor
);
//tnt 认证
addInterceptor
(
registry
.
addInterceptor
(
tntAuthenticationInterceptor
),
authenticationTntPath
,
authenticationTntPathIgnore
);
//tnt 授权
addInterceptor
(
registry
.
addInterceptor
(
tntAuthorizationInterceptor
),
authorizationTntPath
,
authorizationTntPathIgnore
);
//saas 认证
addInterceptor
(
registry
.
addInterceptor
(
saasAuthenticationInterceptor
),
authenticationSaasPath
,
authenticationSaasPathIgnore
);
//saas 授权
addInterceptor
(
registry
.
addInterceptor
(
saasAuthorizationInterceptor
),
authorizationSaasPath
,
authorizationSaasPathIgnore
);
if
(
StringUtils
.
isNotBlank
(
authenticationTntPath
))
{
authenticationTnt
.
addPathPatterns
(
Arrays
.
asList
(
authenticationTntPath
.
split
(
","
)));
}
if
(
StringUtils
.
isNotBlank
(
authenticationTntPathIgnore
))
{
authenticationTnt
.
excludePathPatterns
(
Arrays
.
asList
(
authenticationTntPathIgnore
.
split
(
","
)));
}
}
InterceptorRegistration
authorizationTnt
=
registry
.
addInterceptor
(
sysAuthorizationInterceptor
);
private
void
addInterceptor
(
InterceptorRegistration
registry
,
String
authenticationPath
,
String
authenticationPathIgnore
)
{
InterceptorRegistration
authenticationTnt
=
registry
;
if
(
StringUtils
.
isNotBlank
(
auth
orizationTnt
Path
))
{
auth
orizationTnt
.
addPathPatterns
(
Arrays
.
asList
(
authorizationTnt
Path
.
split
(
","
)));
if
(
StringUtils
.
isNotBlank
(
auth
entication
Path
))
{
auth
enticationTnt
.
addPathPatterns
(
Arrays
.
asList
(
authentication
Path
.
split
(
","
)));
}
if
(
StringUtils
.
isNotBlank
(
auth
orizationTnt
PathIgnore
))
{
auth
orizationTnt
.
excludePathPatterns
(
Arrays
.
asList
(
authorizationTnt
PathIgnore
.
split
(
","
)));
if
(
StringUtils
.
isNotBlank
(
auth
entication
PathIgnore
))
{
auth
enticationTnt
.
excludePathPatterns
(
Arrays
.
asList
(
authentication
PathIgnore
.
split
(
","
)));
}
}
...
...
server-common/src/main/java/com/makeit/config/mybatis/objecthandler/LocalDateTimeObjectHandler.java
View file @
85014fff
...
...
@@ -19,12 +19,12 @@ public class LocalDateTimeObjectHandler implements MetaObjectHandlerInternal{
@Override
public
void
insertFill
(
MetaObject
metaObject
,
MetaObjectHandler
handler
)
{
handler
.
setFieldValByName
(
BaseEntity
.
Fields
.
create
dAt
,
LocalDateTime
.
now
(),
metaObject
);
handler
.
setFieldValByName
(
BaseEntity
.
Fields
.
update
dAt
,
LocalDateTime
.
now
(),
metaObject
);
handler
.
setFieldValByName
(
BaseEntity
.
Fields
.
create
Date
,
LocalDateTime
.
now
(),
metaObject
);
handler
.
setFieldValByName
(
BaseEntity
.
Fields
.
update
Date
,
LocalDateTime
.
now
(),
metaObject
);
}
@Override
public
void
updateFill
(
MetaObject
metaObject
,
MetaObjectHandler
handler
)
{
handler
.
setFieldValByName
(
BaseEntity
.
Fields
.
update
dAt
,
LocalDateTime
.
now
(),
metaObject
);
handler
.
setFieldValByName
(
BaseEntity
.
Fields
.
update
Date
,
LocalDateTime
.
now
(),
metaObject
);
}
}
server-common/src/main/java/com/makeit/enums/HeaderConst.java
View file @
85014fff
...
...
@@ -4,8 +4,9 @@ public class HeaderConst {
public
static
final
String
TENANT_ID
=
Const
.
TENANT_ID
;
public
static
final
String
PLATFORM_TOKEN
=
"platformToken"
;
//todo 2023年8月29日 不区分呢
// public static final String PLATFORM_TOKEN = "platformToken";
public
static
final
String
PLATFORM_TOKEN
=
"token"
;
public
static
final
String
TOKEN
=
"token"
;
public
static
final
String
WECHAT_TOKEN
=
"wechatToken"
;
...
...
server-common/src/main/java/com/makeit/enums/order/InterceptorOrderConst.java
View file @
85014fff
...
...
@@ -12,6 +12,10 @@ public class InterceptorOrderConst {
public
static
final
int
REQUEST_ID_INTERCEPTOR
=
105
;
//这里用到用户信息
public
static
final
int
PLAT_AUTHENTICATION_INTERCEPTOR
=
120
;
public
static
final
int
PLAT_AUTHORIZATION_INTERCEPTOR
=
130
;
public
static
final
int
TNT_AUTHENTICATION_INTERCEPTOR
=
140
;
public
static
final
int
TNT_AUTHORIZATION_INTERCEPTOR
=
150
;
...
...
server-common/src/main/java/com/makeit/enums/redis/RedisConst.java
View file @
85014fff
...
...
@@ -48,12 +48,16 @@ public class RedisConst {
//public static final String PLATFORM_TOKEN_PREFIX = "plat:token:";
//public static final String PLATFORM_TOKEN_ROLE_MENU_PREFIX = "plat:role:menu:token:";//TODO ywc 这里可能有大key问题
//todo 为啥要区分?
public
static
final
String
TOKEN_PREFIX
=
"token:"
;
public
static
final
String
TOKEN_ROLE_MENU_PREFIX
=
"role:menu:token:"
;
//TODO ywc 这里可能有大key问题 改成list存?
public
static
final
String
WECHAT_TOKEN_PREFIX
=
"wechat:token:"
;
public
static
final
String
WECHAT_TOKEN_ROLE_MENU_PREFIX
=
"wechat:role:menu:token:"
;
//TODO ywc 这里可能有大key问题
public
static
final
String
PLATFORM_TOKEN_PREFIX
=
"plat:token:"
;
public
static
final
String
PLATFORM_TOKEN_ROLE_MENU_PREFIX
=
"plat:role:menu:token:"
;
//public static final String CUS_TOKEN_PREFIX = "cus:token:";
public
static
final
int
PLATFORM_EXPIRE_MINUTES
=
120
;
...
...
@@ -86,8 +90,7 @@ public class RedisConst {
public
static
final
String
TOPIC_TNT_CONFIG_REFRESH
=
"topic:tnt:config:refresh"
;
public
static
final
String
TOPIC_I18N_DIC_REFRESH
=
"topic:i18n:dict:refresh"
;
public
static
final
String
PLATFORM_TOKEN_PREFIX
=
"plat:token:"
;
public
static
final
String
PLATFORM_TOKEN_ROLE_MENU_PREFIX
=
"plat:role:menu:token:"
;
...
...
server-common/src/main/java/com/makeit/global/inteceptor/SaasAuthenticationInterceptor.java
0 → 100644
View file @
85014fff
package
com
.
makeit
.
global
.
inteceptor
;
import
com.makeit.enums.order.InterceptorOrderConst
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.utils.user.TokenUtil
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
@Order
(
InterceptorOrderConst
.
PLAT_AUTHENTICATION_INTERCEPTOR
)
@Component
public
class
SaasAuthenticationInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
AuthIgnore
annotation
;
if
(
handler
instanceof
HandlerMethod
)
{
annotation
=
((
HandlerMethod
)
handler
).
getMethodAnnotation
(
AuthIgnore
.
class
);
}
else
{
return
true
;
}
//如果有@IgnoreAuth注解,则不验证token
if
(
annotation
!=
null
)
{
return
true
;
}
TokenUtil
.
platGetToken
();
TokenUtil
.
platRefreshToken
();
return
true
;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
}
}
server-common/src/main/java/com/makeit/global/inteceptor/SaasAuthorizationInterceptor.java
0 → 100644
View file @
85014fff
package
com
.
makeit
.
global
.
inteceptor
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.id.IdConst
;
import
com.makeit.enums.order.InterceptorOrderConst
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.global.annotation.Action
;
import
com.makeit.module.admin.saas.SaasUserRoleMenuRedisVO
;
import
com.makeit.utils.user.PlatUserUtil
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.HashSet
;
import
java.util.Set
;
@Order
(
InterceptorOrderConst
.
PLAT_AUTHORIZATION_INTERCEPTOR
)
@Component
public
class
SaasAuthorizationInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
Action
annotation
;
if
(
handler
instanceof
HandlerMethod
)
{
annotation
=
((
HandlerMethod
)
handler
).
getMethodAnnotation
(
Action
.
class
);
}
else
{
return
true
;
}
//如果没有@PermissionInfo注解,则不验证
if
(
annotation
==
null
)
{
return
true
;
}
SaasUserRoleMenuRedisVO
userLoginVO
=
PlatUserUtil
.
getPlatUserRoleMenu
();
if
(
userLoginVO
==
null
)
{
return
true
;
}
if
(
IdConst
.
SUPER_ADMIN_ID
.
equals
(
userLoginVO
.
getId
()))
{
return
true
;
}
Set
<
String
>
codeSet
=
new
HashSet
<>(
userLoginVO
.
getButtonCodeList
());
for
(
String
e
:
annotation
.
code
())
{
if
(
codeSet
.
contains
(
e
))
{
return
true
;
}
}
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_NO_PERMISSION
);
//return false;
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
}
}
server-common/src/main/java/com/makeit/global/inteceptor/
Sys
AuthenticationInterceptor.java
→
server-common/src/main/java/com/makeit/global/inteceptor/
Tnt
AuthenticationInterceptor.java
View file @
85014fff
...
...
@@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletResponse;
@Order
(
InterceptorOrderConst
.
TNT_AUTHENTICATION_INTERCEPTOR
)
@Component
public
class
Sys
AuthenticationInterceptor
implements
HandlerInterceptor
{
public
class
Tnt
AuthenticationInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
...
...
server-common/src/main/java/com/makeit/global/inteceptor/
Sys
AuthorizationInterceptor.java
→
server-common/src/main/java/com/makeit/global/inteceptor/
Tnt
AuthorizationInterceptor.java
View file @
85014fff
...
...
@@ -20,7 +20,7 @@ import java.util.Set;
@Order
(
InterceptorOrderConst
.
TNT_AUTHORIZATION_INTERCEPTOR
)
@Component
public
class
Sys
AuthorizationInterceptor
implements
HandlerInterceptor
{
public
class
Tnt
AuthorizationInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
...
...
server-common/src/main/java/com/makeit/module/admin/dto/SysDeptQueryDTO.java
View file @
85014fff
package
com
.
makeit
.
module
.
admin
.
dto
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"部门 查询"
)
@Data
public
class
SysDeptQueryDTO
extends
BaseTenant
Id
DTO
{
public
class
SysDeptQueryDTO
extends
BaseTenantDTO
{
@ApiModelProperty
(
value
=
"名称"
)
private
String
name
;
...
...
server-common/src/main/java/com/makeit/module/admin/dto/SysRoleDTOVO.java
View file @
85014fff
package
com
.
makeit
.
module
.
admin
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -15,7 +15,7 @@ import java.util.List;
@ApiModel
(
"角色 列表 新增 编辑 详情"
)
@Data
public
class
SysRoleDTOVO
extends
BaseTenant
Id
DTO
implements
Serializable
{
public
class
SysRoleDTOVO
extends
BaseTenantDTO
implements
Serializable
{
@NotBlank
(
message
=
"名称不能为空"
)
@Size
(
max
=
64
,
message
=
"名称最长为64字符"
)
...
...
server-common/src/main/java/com/makeit/module/admin/dto/SysRoleMenuDTO.java
View file @
85014fff
package
com
.
makeit
.
module
.
admin
.
dto
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -11,7 +11,7 @@ import java.util.List;
@ApiModel
(
"角色分配菜单"
)
@Data
public
class
SysRoleMenuDTO
extends
BaseTenant
Id
DTO
implements
Serializable
{
public
class
SysRoleMenuDTO
extends
BaseTenantDTO
implements
Serializable
{
// @ApiModelProperty(value = "菜单id")
// private String menuId;
...
...
server-common/src/main/java/com/makeit/module/admin/dto/SysUserRoleDTO.java
View file @
85014fff
package
com
.
makeit
.
module
.
admin
.
dto
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -9,7 +9,7 @@ import java.io.Serializable;
@ApiModel
(
"角色分配用户"
)
@Data
public
class
SysUserRoleDTO
extends
BaseTenant
Id
DTO
implements
Serializable
{
public
class
SysUserRoleDTO
extends
BaseTenantDTO
implements
Serializable
{
@ApiModelProperty
(
value
=
"用户id"
)
private
String
userId
;
...
...
server-common/src/main/java/com/makeit/module/admin/saas/PlatMenuDTOVO.java
View file @
85014fff
...
...
@@ -67,7 +67,7 @@ public class PlatMenuDTOVO extends BaseIdDTO implements Serializable {
*/
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
false
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
create
dAt
;
private
LocalDateTime
create
Date
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"子集"
)
...
...
server-common/src/main/java/com/makeit/module/admin/saas/
Plat
RoleDTOVO.java
→
server-common/src/main/java/com/makeit/module/admin/saas/
Saas
RoleDTOVO.java
View file @
85014fff
...
...
@@ -12,9 +12,9 @@ import javax.validation.constraints.Size;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
@ApiModel
(
"
平台
端角色 列表 新增 编辑 详情"
)
@ApiModel
(
"
SAAS
端角色 列表 新增 编辑 详情"
)
@Data
public
class
Plat
RoleDTOVO
extends
BaseIdDTO
implements
Serializable
{
public
class
Saas
RoleDTOVO
extends
BaseIdDTO
implements
Serializable
{
@NotBlank
(
message
=
"名称不能为空"
)
@Size
(
max
=
64
,
message
=
"名称最长为64字符"
)
...
...
@@ -47,7 +47,7 @@ public class PlatRoleDTOVO extends BaseIdDTO implements Serializable {
*/
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
false
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
create
dAt
;
private
LocalDateTime
create
Date
;
@ApiModelProperty
(
value
=
"关键词 查询用"
)
private
String
keyword
;
...
...
server-common/src/main/java/com/makeit/module/admin/saas/
Plat
UserDTOVO.java
→
server-common/src/main/java/com/makeit/module/admin/saas/
Saas
UserDTOVO.java
View file @
85014fff
...
...
@@ -17,7 +17,7 @@ import java.util.List;
@ApiModel
(
"平台端用户 新增 编辑 详情"
)
@Data
public
class
Plat
UserDTOVO
extends
BaseIdDTO
implements
Serializable
{
public
class
Saas
UserDTOVO
extends
BaseIdDTO
implements
Serializable
{
// @ApiModelProperty(value = "用户名")
...
...
@@ -60,9 +60,9 @@ public class PlatUserDTOVO extends BaseIdDTO implements Serializable {
*/
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
false
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
create
dAt
;
private
LocalDateTime
create
Date
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"角色集合"
)
private
List
<
Plat
RoleDTOVO
>
roleList
;
private
List
<
Saas
RoleDTOVO
>
roleList
;
}
server-common/src/main/java/com/makeit/module/admin/saas/UserRoleMenuRedisVO.java
→
server-common/src/main/java/com/makeit/module/admin/saas/
Saas
UserRoleMenuRedisVO.java
View file @
85014fff
...
...
@@ -7,7 +7,7 @@ import java.io.Serializable;
import
java.util.List
;
@Data
public
class
UserRoleMenuRedisVO
implements
Serializable
{
public
class
Saas
UserRoleMenuRedisVO
implements
Serializable
{
@ApiModelProperty
(
"id"
)
private
String
id
;
...
...
server-common/src/main/java/com/makeit/module/admin/service/impl/SysDeptServiceImpl.java
View file @
85014fff
...
...
@@ -64,7 +64,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTag
()),
SysDept:
:
getTag
,
dto
.
getTag
())
.
orderByAsc
(
SysDept:
:
getTag
)
.
orderByAsc
(
SysDept:
:
getCreate
dAt
);
.
orderByAsc
(
SysDept:
:
getCreate
Date
);
return
lambdaQueryWrapper
;
}
...
...
server-common/src/main/java/com/makeit/module/admin/service/impl/SysFactoryServiceImpl.java
View file @
85014fff
...
...
@@ -71,7 +71,7 @@ public class SysFactoryServiceImpl extends ServiceImpl<SysFactoryMapper, SysFact
LambdaQueryWrapper
<
SysFactory
>
lambdaQueryWrapper
=
new
QueryWrapper
<
SysFactory
>().
lambda
()
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getName
()),
SysFactory:
:
getName
,
dto
.
getName
());
lambdaQueryWrapper
.
orderByDesc
(
SysFactory:
:
getCreate
dAt
);
lambdaQueryWrapper
.
orderByDesc
(
SysFactory:
:
getCreate
Date
);
return
lambdaQueryWrapper
;
}
...
...
@@ -157,7 +157,7 @@ public class SysFactoryServiceImpl extends ServiceImpl<SysFactoryMapper, SysFact
if
(
SysUserUtil
.
isSuper
())
{
List
<
SysFactory
>
factoryList
=
list
(
new
QueryWrapper
<
SysFactory
>().
lambda
()
.
orderByAsc
(
SysFactory:
:
getCreate
dAt
)
.
orderByAsc
(
SysFactory:
:
getCreate
Date
)
);
return
factoryList
;
}
...
...
@@ -171,7 +171,7 @@ public class SysFactoryServiceImpl extends ServiceImpl<SysFactoryMapper, SysFact
List
<
SysFactory
>
factoryList
=
list
(
new
QueryWrapper
<
SysFactory
>().
lambda
()
.
in
(
SysFactory:
:
getId
,
factoryIdList
)
.
orderByAsc
(
SysFactory:
:
getCreate
dAt
)
.
orderByAsc
(
SysFactory:
:
getCreate
Date
)
);
return
factoryList
;
...
...
@@ -200,7 +200,7 @@ public class SysFactoryServiceImpl extends ServiceImpl<SysFactoryMapper, SysFact
userIdList
=
new
ArrayList
<>(
userIdList
);
userIdList
.
add
(-
1
+
""
);
List
<
SysFactory
>
tenantList
=
list
(
new
QueryWrapper
<
SysFactory
>().
lambda
()
.
orderByAsc
(
SysFactory:
:
getCreate
dAt
)
.
orderByAsc
(
SysFactory:
:
getCreate
Date
)
);
return
BeanDtoVoUtils
.
listVo
(
tenantList
,
SysFactoryDTOVO
.
class
);
}
...
...
server-common/src/main/java/com/makeit/module/admin/service/impl/SysMenuServiceImpl.java
View file @
85014fff
...
...
@@ -68,7 +68,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
.
in
(
StringUtils
.
isNotBlank
(
dto
.
getRoleId
()),
SysMenu:
:
getId
,
menuIdList
)
//.orderByAsc(TntMenu::getParentId)
.
orderByAsc
(
SysMenu:
:
getSort
)
.
orderByAsc
(
SysMenu:
:
getCreate
dAt
)
.
orderByAsc
(
SysMenu:
:
getCreate
By
)
);
return
BeanDtoVoUtils
.
listVo
(
sysMenuList
,
SysMenuDTOVO
.
class
);
...
...
server-common/src/main/java/com/makeit/module/admin/service/impl/SysRoleServiceImpl.java
View file @
85014fff
...
...
@@ -86,7 +86,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getKeyword
()),
SysRole:
:
getName
,
dto
.
getKeyword
());
})
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getStatus
()),
SysRole:
:
getStatus
,
dto
.
getStatus
())
.
orderByDesc
(
SysRole:
:
getCreate
dAt
);
.
orderByDesc
(
SysRole:
:
getCreate
Date
);
menuFilter
(
dto
,
lambdaQueryWrapper
);
...
...
server-common/src/main/java/com/makeit/module/admin/service/impl/SysUserServiceImpl.java
View file @
85014fff
...
...
@@ -271,7 +271,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
List
<
SysMenu
>
menuList
=
sysMenuService
.
list
(
new
QueryWrapper
<
SysMenu
>().
lambda
()
.
eq
(
SysMenu:
:
getStatus
,
CommonEnum
.
YES
.
getValue
())
.
orderByAsc
(
SysMenu:
:
getSort
)
.
orderByAsc
(
SysMenu:
:
getCreate
dAt
)
.
orderByAsc
(
SysMenu:
:
getCreate
Date
)
);
return
menuList
;
...
...
@@ -385,7 +385,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
.
in
(
SysMenu:
:
getId
,
menuIdList
)
.
eq
(
SysMenu:
:
getStatus
,
CommonEnum
.
YES
.
getValue
())
.
orderByAsc
(
SysMenu:
:
getSort
)
.
orderByAsc
(
SysMenu:
:
getCreate
dAt
)
.
orderByAsc
(
SysMenu:
:
getCreate
Date
)
);
userLoginVO
.
setRoleList
(
BeanDtoVoUtils
.
listVo
(
roleList
,
SysRoleDTOVO
.
class
));
...
...
@@ -560,7 +560,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
roleIdList
(
lambdaQueryWrapper
,
dto
);
lambdaQueryWrapper
.
orderByDesc
(
SysUser:
:
getCreate
dAt
);
lambdaQueryWrapper
.
orderByDesc
(
SysUser:
:
getCreate
Date
);
lambdaQueryWrapper
.
orderByDesc
(
SysUser:
:
getId
);
//TODO ywc 要不要改成全查出来 内存过滤
...
...
server-common/src/main/java/com/makeit/module/system/dto/SysConfigCategoryDTOVO.java
View file @
85014fff
package
com
.
makeit
.
module
.
system
.
dto
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
SysConfigCategoryDTOVO
extends
BaseTenant
Id
DTO
{
public
class
SysConfigCategoryDTOVO
extends
BaseTenantDTO
{
@ApiModelProperty
(
"编码"
)
private
String
code
;
...
...
server-common/src/main/java/com/makeit/module/system/service/impl/SysConfigCategoryServiceImpl.java
View file @
85014fff
...
...
@@ -35,7 +35,7 @@ public class SysConfigCategoryServiceImpl extends ServiceImpl<SysConfigCategoryM
.
like
(
StringUtils
.
isNotBlank
(
tntConfigCategory
.
getName
()),
SysConfigCategory:
:
getName
,
tntConfigCategory
.
getName
())
.
like
(
StringUtils
.
isNotBlank
(
tntConfigCategory
.
getCode
()),
SysConfigCategory:
:
getCode
,
tntConfigCategory
.
getCode
())
.
eq
(
SysConfigCategory:
:
getTenantId
,
tntConfigCategory
.
getTenantId
())
.
orderByAsc
(
SysConfigCategory:
:
getCreate
dAt
)
.
orderByAsc
(
SysConfigCategory:
:
getCreate
Date
)
);
return
BeanDtoVoUtils
.
listVo
(
configCategoryList
,
SysConfigCategoryDTOVO
.
class
);
}
...
...
server-common/src/main/java/com/makeit/module/system/service/impl/SysDictionaryCategoryServiceImpl.java
View file @
85014fff
...
...
@@ -36,10 +36,10 @@ public class SysDictionaryCategoryServiceImpl extends ServiceImpl<SysDictionaryC
public
List
<
SysDictionaryCategory
>
getEpDictionaryCategoryByList
()
{
List
<
SysDictionaryCategory
>
sysDictionaryCategoryList
=
list
(
new
QueryWrapper
<
SysDictionaryCategory
>().
lambda
()
/*.orderByAsc(PlatDictionaryCategory::getSort)*/
.
orderByAsc
(
SysDictionaryCategory:
:
getCreate
dAt
));
/*.orderByAsc(PlatDictionaryCategory::getSort)*/
.
orderByAsc
(
SysDictionaryCategory:
:
getCreate
Date
));
List
<
SysDictionary
>
sysDictionaryList
=
sysDictionaryService
.
list
(
new
QueryWrapper
<
SysDictionary
>().
lambda
()
.
orderByAsc
(
SysDictionary:
:
getSort
).
orderByAsc
(
SysDictionary:
:
getCreate
dAt
));
.
orderByAsc
(
SysDictionary:
:
getSort
).
orderByAsc
(
SysDictionary:
:
getCreate
Date
));
Map
<
String
,
List
<
SysDictionary
>>
sysDictionaryMap
=
sysDictionaryList
.
stream
().
collect
(
Collectors
.
groupingBy
(
item
->
item
.
getCategoryId
()));
for
(
SysDictionaryCategory
sysDictionaryCategory
:
sysDictionaryCategoryList
)
{
...
...
@@ -55,13 +55,13 @@ public class SysDictionaryCategoryServiceImpl extends ServiceImpl<SysDictionaryC
List
<
SysDictionaryCategory
>
sysDictionaryCategoryList
=
list
(
new
QueryWrapper
<
SysDictionaryCategory
>().
lambda
()
.
like
(
SysDictionaryCategory:
:
getCode
,
prefix
)
.
orderByAsc
(
SysDictionaryCategory:
:
getCreate
dAt
));
.
orderByAsc
(
SysDictionaryCategory:
:
getCreate
Date
));
List
<
String
>
idList
=
StreamUtil
.
mapId
(
sysDictionaryCategoryList
,
SysDictionaryCategory:
:
getId
);
List
<
SysDictionary
>
sysDictionaryList
=
sysDictionaryService
.
list
(
new
QueryWrapper
<
SysDictionary
>().
lambda
()
.
in
(
SysDictionary:
:
getCategoryId
,
idList
)
.
orderByAsc
(
SysDictionary:
:
getSort
).
orderByAsc
(
SysDictionary:
:
getCreate
dAt
));
.
orderByAsc
(
SysDictionary:
:
getSort
).
orderByAsc
(
SysDictionary:
:
getCreate
Date
));
Map
<
String
,
List
<
SysDictionary
>>
sysDictionaryMap
=
sysDictionaryList
.
stream
().
collect
(
Collectors
.
groupingBy
(
item
->
item
.
getCategoryId
()));
for
(
SysDictionaryCategory
sysDictionaryCategory
:
sysDictionaryCategoryList
)
{
...
...
@@ -124,7 +124,7 @@ public class SysDictionaryCategoryServiceImpl extends ServiceImpl<SysDictionaryC
public
List
<
SysDictionaryCategory
>
list
(
SysDictionaryCategory
sysDictionaryCategory
)
{
List
<
SysDictionaryCategory
>
configCategoryList
=
list
(
new
QueryWrapper
<
SysDictionaryCategory
>().
lambda
()
.
like
(
StringUtils
.
isNotBlank
(
sysDictionaryCategory
.
getName
()),
SysDictionaryCategory:
:
getName
,
sysDictionaryCategory
.
getName
())
.
orderByAsc
(
SysDictionaryCategory:
:
getCreate
dAt
)
.
orderByAsc
(
SysDictionaryCategory:
:
getCreate
Date
)
);
return
configCategoryList
;
}
...
...
server-common/src/main/java/com/makeit/utils/sql/WrapperUtil.java
View file @
85014fff
...
...
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.support.SFunction
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.global.aspect.tenant.TenantIdUtil
;
...
...
@@ -30,7 +30,7 @@ public class WrapperUtil {
return
lambdaQueryWrapper
;
}
public
static
<
T
extends
BaseBusEntity
>
LambdaQueryWrapper
<
T
>
withTenantId
(
BaseTenant
Id
DTO
baseFactoryDTO
,
Class
<
T
>
clazz
)
{
public
static
<
T
extends
BaseBusEntity
>
LambdaQueryWrapper
<
T
>
withTenantId
(
BaseTenantDTO
baseFactoryDTO
,
Class
<
T
>
clazz
)
{
LambdaQueryWrapper
<
T
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>(
clazz
);
lambdaQueryWrapper
.
eq
(
BaseBusEntity:
:
getTenantId
,
baseFactoryDTO
.
getTenantId
());
return
lambdaQueryWrapper
;
...
...
server-common/src/main/java/com/makeit/utils/user/PlatUserUtil.java
View file @
85014fff
package
com
.
makeit
.
utils
.
user
;
import
com.makeit.module.admin.saas.UserRoleMenuRedisVO
;
import
com.makeit.module.admin.saas.
Saas
UserRoleMenuRedisVO
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
public
class
PlatUserUtil
{
...
...
@@ -15,12 +15,12 @@ public class PlatUserUtil {
return
BeanDtoVoUtils
.
convert
(
TokenUtil
.
getPlatUserDetail
(),
PlatUserVO
.
class
);
}
public
static
UserLoginVO
getUserVODetail
()
{
public
static
Saas
UserLoginVO
getUserVODetail
()
{
TokenUtil
.
platGetToken
();
return
TokenUtil
.
getPlatUserDetail
();
}
public
static
UserRoleMenuRedisVO
getPlatUserRoleMenu
(){
public
static
Saas
UserRoleMenuRedisVO
getPlatUserRoleMenu
(){
return
TokenUtil
.
getPlatUserRoleMenu
();
}
...
...
server-common/src/main/java/com/makeit/utils/user/UserLoginVO.java
→
server-common/src/main/java/com/makeit/utils/user/
Saas
UserLoginVO.java
View file @
85014fff
...
...
@@ -2,7 +2,7 @@ package com.makeit.utils.user;
import
com.makeit.module.admin.saas.PlatMenuDTOVO
;
import
com.makeit.module.admin.saas.
Plat
RoleDTOVO
;
import
com.makeit.module.admin.saas.
Saas
RoleDTOVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -10,7 +10,7 @@ import java.io.Serializable;
import
java.util.List
;
@Data
public
class
UserLoginVO
implements
Serializable
{
public
class
Saas
UserLoginVO
implements
Serializable
{
@ApiModelProperty
(
"id"
)
private
String
id
;
...
...
@@ -19,7 +19,7 @@ public class UserLoginVO implements Serializable {
private
String
account
;
@ApiModelProperty
(
"姓名"
)
private
String
name
;
private
String
user
name
;
// @ApiModelProperty("用户名")
// private String username;
...
...
@@ -28,7 +28,7 @@ public class UserLoginVO implements Serializable {
private
String
token
;
@ApiModelProperty
(
"角色列表"
)
private
List
<
Plat
RoleDTOVO
>
roleList
;
private
List
<
Saas
RoleDTOVO
>
roleList
;
@ApiModelProperty
(
"菜单树形列表"
)
private
List
<
PlatMenuDTOVO
>
menuList
;
...
...
server-common/src/main/java/com/makeit/utils/user/ThreadLocalUserUtil.java
View file @
85014fff
...
...
@@ -13,7 +13,7 @@ public class ThreadLocalUserUtil {
private
static
final
ThreadLocal
<
String
>
THREAD_LOCAL_TNT_TOKEN
=
new
BizThreadLocal
<>();
private
static
final
ThreadLocal
<
String
>
THREAD_LOCAL_WECHAT_TOKEN
=
new
BizThreadLocal
<>();
private
static
final
ThreadLocal
<
UserLoginVO
>
THREAD_LOCAL_TNT_USER
=
new
BizThreadLocal
<>();
private
static
final
ThreadLocal
<
Saas
UserLoginVO
>
THREAD_LOCAL_TNT_USER
=
new
BizThreadLocal
<>();
private
static
final
ThreadLocal
<
WechatUserInfo
>
THREAD_LOCAL_WECHAT_USER
=
new
BizThreadLocal
<>();
private
static
final
ThreadLocal
<
SysUserRoleMenuRedisVO
>
THREAD_LOCAL_TNT_USER_ROLE_MENU
=
new
BizThreadLocal
<>();
...
...
@@ -68,6 +68,11 @@ public class ThreadLocalUserUtil {
}
public
static
SaasUserLoginVO
getSaasUser
(){
SaasUserLoginVO
saasUserDetail
=
TokenUtil
.
getSaasUserDetail
();
return
saasUserDetail
;
}
public
static
WechatUserInfo
getWechatUser
()
{
WechatUserInfo
wechatUserInfo
=
THREAD_LOCAL_WECHAT_USER
.
get
();
if
(
wechatUserInfo
==
null
)
{
...
...
server-common/src/main/java/com/makeit/utils/user/TokenUtil.java
View file @
85014fff
...
...
@@ -5,7 +5,7 @@ import com.makeit.enums.CodeMessageEnum;
import
com.makeit.enums.HeaderConst
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.module.admin.saas.UserRoleMenuRedisVO
;
import
com.makeit.module.admin.saas.
Saas
UserRoleMenuRedisVO
;
import
com.makeit.utils.redis.RedisTemplateUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
com.makeit.utils.request.RequestUtil
;
...
...
@@ -37,10 +37,10 @@ public class TokenUtil {
return
getToken
(
RedisConst
.
PLATFORM_TOKEN_PREFIX
,
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
));
}
public
static
UserLoginVO
getPlatUserDetail
()
{
public
static
Saas
UserLoginVO
getPlatUserDetail
()
{
String
token
=
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
);
if
(
StringUtils
.
isNotBlank
(
token
))
{
UserLoginVO
userLoginVO
=
RedisUtil
.
get
(
RedisConst
.
PLATFORM_TOKEN_PREFIX
+
token
);
Saas
UserLoginVO
userLoginVO
=
RedisUtil
.
get
(
RedisConst
.
PLATFORM_TOKEN_PREFIX
+
token
);
return
userLoginVO
;
}
return
null
;
...
...
@@ -66,9 +66,9 @@ public class TokenUtil {
RedisTemplateUtil
.
expire
(
prefix
+
token
,
RedisConst
.
PLATFORM_EXPIRE_MINUTES
,
TimeUnit
.
MINUTES
);
}
public
static
UserLoginVO
getTntUserDetail
(
String
token
)
{
public
static
Saas
UserLoginVO
getTntUserDetail
(
String
token
)
{
if
(
StringUtils
.
isNotBlank
(
token
))
{
UserLoginVO
userLoginVO
=
RedisTemplateUtil
.
get
(
RedisConst
.
TOKEN_PREFIX
+
token
,
UserLoginVO
.
class
);
SaasUserLoginVO
userLoginVO
=
RedisTemplateUtil
.
get
(
RedisConst
.
TOKEN_PREFIX
+
token
,
Saas
UserLoginVO
.
class
);
return
userLoginVO
;
}
return
null
;
...
...
@@ -217,6 +217,15 @@ public class TokenUtil {
return
null
;
}
public
static
SaasUserLoginVO
getSaasUserDetail
()
{
String
token
=
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
);
if
(
StringUtils
.
isNotBlank
(
token
))
{
SaasUserLoginVO
userLoginVO
=
RedisTemplateUtil
.
get
(
RedisConst
.
PLATFORM_TOKEN_PREFIX
+
token
,
SaasUserLoginVO
.
class
);
return
userLoginVO
;
}
return
null
;
}
public
static
void
setMobileCode
(
String
phone
,
String
token
,
Integer
t
,
int
minutes
)
{
RedisTemplateUtil
.
set
(
RedisConst
.
TOKEN_MOBILE_CODE_PREFIX
+
":"
+
phone
+
":"
+
token
,
t
,
minutes
);
...
...
@@ -284,16 +293,27 @@ public class TokenUtil {
login
(
RedisConst
.
PLATFORM_TOKEN_ROLE_MENU_PREFIX
,
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
),
t
);
}
public
static
UserRoleMenuRedisVO
getPlatUserRoleMenu
()
{
public
static
Saas
UserRoleMenuRedisVO
getPlatUserRoleMenu
()
{
String
token
=
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
);
if
(
StringUtils
.
isNotBlank
(
token
))
{
UserRoleMenuRedisVO
userLoginVO
=
RedisUtil
.
get
(
RedisConst
.
PLATFORM_TOKEN_ROLE_MENU_PREFIX
+
token
);
Saas
UserRoleMenuRedisVO
userLoginVO
=
RedisUtil
.
get
(
RedisConst
.
PLATFORM_TOKEN_ROLE_MENU_PREFIX
+
token
);
return
userLoginVO
;
}
return
null
;
}
public
static
<
T
>
void
platLogin
(
String
token
,
T
t
)
{
/**
* saas端登录
* @param token
* @param t
* @param <T>
*/
public
static
<
T
>
void
saasLogin
(
String
token
,
T
t
)
{
login
(
RedisConst
.
PLATFORM_TOKEN_PREFIX
,
token
,
t
);
}
public
static
void
platRefreshToken
()
{
refreshToken
(
RedisConst
.
PLATFORM_TOKEN_PREFIX
,
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
));
refreshToken
(
RedisConst
.
PLATFORM_TOKEN_ROLE_MENU_PREFIX
,
RequestUtil
.
getHeader
(
HeaderConst
.
PLATFORM_TOKEN
));
}
}
server-common/src/main/java/com/makeit/utils/user/common/CommonUserUtil.java
View file @
85014fff
...
...
@@ -3,7 +3,7 @@ package com.makeit.utils.user.common;
import
com.makeit.enums.HeaderConst
;
import
com.makeit.utils.user.ThreadLocalUserUtil
;
import
com.makeit.utils.user.TokenUtil
;
import
com.makeit.utils.user.UserLoginVO
;
import
com.makeit.utils.user.
Saas
UserLoginVO
;
import
com.makeit.utils.user.tenant.SysUserLoginVO
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -13,6 +13,7 @@ public class CommonUserUtil {
public
static
CommonUserVO
getUser
()
{
SysUserLoginVO
sysUserLoginVO
=
ThreadLocalUserUtil
.
getTntUser
();
if
(
sysUserLoginVO
!=
null
)
{
return
new
CommonUserVO
(
sysUserLoginVO
.
getId
(),
sysUserLoginVO
.
getName
());
...
...
@@ -23,6 +24,11 @@ public class CommonUserUtil {
return
new
CommonUserVO
(
wechatUserInfo
.
getId
(),
wechatUserInfo
.
getName
());
}
SaasUserLoginVO
saasUser
=
ThreadLocalUserUtil
.
getSaasUser
();
if
(
saasUser
!=
null
){
return
new
CommonUserVO
(
saasUser
.
getId
(),
saasUser
.
getUsername
());
}
return
null
;
}
...
...
@@ -39,9 +45,9 @@ public class CommonUserUtil {
String
wechatToken
=
httpHeaders
.
getFirst
(
HeaderConst
.
WECHAT_TOKEN
);
if
(
StringUtils
.
isNotBlank
(
tenantToken
))
{
UserLoginVO
sysUserLoginVO
=
TokenUtil
.
getTntUserDetail
(
tenantToken
);
Saas
UserLoginVO
sysUserLoginVO
=
TokenUtil
.
getTntUserDetail
(
tenantToken
);
if
(
sysUserLoginVO
!=
null
)
{
return
new
CommonUserVO
(
sysUserLoginVO
.
getId
(),
sysUserLoginVO
.
get
N
ame
());
return
new
CommonUserVO
(
sysUserLoginVO
.
getId
(),
sysUserLoginVO
.
get
Usern
ame
());
}
}
...
...
server-common/src/main/java/com/makeit/utils/user/tenant/SysUserVO.java
View file @
85014fff
package
com
.
makeit
.
utils
.
user
.
tenant
;
import
com.makeit.common.dto.BaseTenant
Id
DTO
;
import
com.makeit.common.dto.BaseTenantDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"厂别用户vo"
)
@Data
public
class
SysUserVO
extends
BaseTenant
Id
DTO
{
public
class
SysUserVO
extends
BaseTenantDTO
{
@ApiModelProperty
(
value
=
"姓名"
)
private
String
name
;
...
...
server-service/src/main/java/com/makeit/service/saas/SaasRoleService.java
View file @
85014fff
package
com
.
makeit
.
service
.
saas
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.entity.saas.SaasRole
;
import
com.makeit.module.admin.saas.SaasRoleDTOVO
;
import
com.makeit.module.admin.saas.PlatRoleMenuDTO
;
import
com.makeit.module.admin.saas.PlatUserRoleDTO
;
import
java.util.List
;
/**
* @author lixl
...
...
@@ -10,4 +16,22 @@ import com.makeit.entity.saas.SaasRole;
*/
public
interface
SaasRoleService
extends
IService
<
SaasRole
>
{
List
<
SaasRoleDTOVO
>
list
(
SaasRoleDTOVO
dto
);
void
add
(
SaasRoleDTOVO
dto
);
void
edit
(
SaasRoleDTOVO
dto
);
SaasRoleDTOVO
view
(
String
id
);
void
del
(
String
id
);
void
changeStatus
(
StatusDTO
dto
);
void
assignUserList
(
List
<
PlatUserRoleDTO
>
userRoleDTOList
);
void
removeAssignUserList
(
List
<
PlatUserRoleDTO
>
userRoleDTOList
);
void
assignMenuList
(
PlatRoleMenuDTO
roleMenuDTO
);
}
server-service/src/main/java/com/makeit/service/saas/SaasUserService.java
View file @
85014fff
...
...
@@ -5,10 +5,10 @@ import com.makeit.common.dto.LoginDTO;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.module.admin.saas.
Plat
UserDTOVO
;
import
com.makeit.module.admin.saas.
Saas
UserDTOVO
;
import
com.makeit.module.admin.saas.PlatUserQueryDTO
;
import
com.makeit.entity.saas.SaasUser
;
import
com.makeit.utils.user.UserLoginVO
;
import
com.makeit.utils.user.
Saas
UserLoginVO
;
import
java.util.List
;
...
...
@@ -18,31 +18,31 @@ import java.util.List;
* @createDate 2023-08-29 11:14:07
*/
public
interface
SaasUserService
extends
IService
<
SaasUser
>
{
PageVO
<
Plat
UserDTOVO
>
page
(
PageReqDTO
<
PlatUserQueryDTO
>
page
);
PageVO
<
Saas
UserDTOVO
>
page
(
PageReqDTO
<
PlatUserQueryDTO
>
page
);
PageVO
<
Plat
UserDTOVO
>
pageNoSuperAdmin
(
PageReqDTO
<
PlatUserQueryDTO
>
page
);
PageVO
<
Saas
UserDTOVO
>
pageNoSuperAdmin
(
PageReqDTO
<
PlatUserQueryDTO
>
page
);
List
<
Plat
UserDTOVO
>
list
(
PlatUserQueryDTO
dto
);
List
<
Saas
UserDTOVO
>
list
(
PlatUserQueryDTO
dto
);
List
<
Plat
UserDTOVO
>
listNoSuperAdmin
(
PlatUserQueryDTO
dto
);
List
<
Saas
UserDTOVO
>
listNoSuperAdmin
(
PlatUserQueryDTO
dto
);
void
add
(
Plat
UserDTOVO
dto
);
void
add
(
Saas
UserDTOVO
dto
);
void
edit
(
Plat
UserDTOVO
dto
);
void
edit
(
Saas
UserDTOVO
dto
);
void
changePassword
(
Plat
UserDTOVO
dto
);
void
changePassword
(
Saas
UserDTOVO
dto
);
Plat
UserDTOVO
view
(
String
id
);
Saas
UserDTOVO
view
(
String
id
);
void
del
(
String
id
);
void
changeStatus
(
StatusDTO
dto
);
UserLoginVO
login
(
LoginDTO
loginDTO
);
Saas
UserLoginVO
login
(
LoginDTO
loginDTO
);
UserLoginVO
getRoleAndMenuList
();
Saas
UserLoginVO
getRoleAndMenuList
();
UserLoginVO
getUserVO
();
Saas
UserLoginVO
getUserVO
();
void
logout
();
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasMenuServiceImpl.java
View file @
85014fff
...
...
@@ -84,7 +84,7 @@ public class SaasMenuServiceImpl extends ServiceImpl<SaasMenuMapper, SaasMenu> i
.
in
(
StringUtils
.
isNotBlank
(
dto
.
getRoleId
()),
SaasMenu:
:
getId
,
menuIdList
)
//.orderByAsc(PlatMenu::getParentId)
.
orderByAsc
(
SaasMenu:
:
getSort
)
.
orderByAsc
(
SaasMenu:
:
getCreate
dAt
)
.
orderByAsc
(
SaasMenu:
:
getCreate
Date
)
);
return
BeanDtoVoUtils
.
listVo
(
platMenuList
,
PlatMenuDTOVO
.
class
);
...
...
@@ -178,7 +178,7 @@ public class SaasMenuServiceImpl extends ServiceImpl<SaasMenuMapper, SaasMenu> i
List
<
SaasMenu
>
exitList
=
list
(
new
QueryWrapper
<
SaasMenu
>().
lambda
()
.
isNotNull
(
SaasMenu:
:
getCode
)
.
in
(
SaasMenu:
:
getCategory
,
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
(),
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
())
.
orderByDesc
(
SaasMenu:
:
getCreate
dAt
)
.
orderByDesc
(
SaasMenu:
:
getCreate
Date
)
);
Map
<
String
,
SaasMenu
>
exitCodeMap
=
StreamUtil
.
toMapDep
(
exitList
,
SaasMenu:
:
getCode
);
...
...
server-service/src/main/java/com/makeit/service/saas/impl/SaasRoleServiceImpl.java
View file @
85014fff
package
com
.
makeit
.
service
.
saas
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.entity.saas.SaasRole
;
import
com.makeit.entity.saas.SaasRoleMenu
;
import
com.makeit.entity.saas.SaasUserRole
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.saas.SaasRoleMapper
;
import
com.makeit.module.admin.saas.SaasRoleDTOVO
;
import
com.makeit.module.admin.saas.PlatRoleMenuDTO
;
import
com.makeit.module.admin.saas.PlatUserRoleDTO
;
import
com.makeit.service.saas.SaasRoleMenuService
;
import
com.makeit.service.saas.SaasRoleService
;
import
com.makeit.service.saas.SaasUserRoleService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author lixl
...
...
@@ -15,4 +36,120 @@ import org.springframework.stereotype.Service;
public
class
SaasRoleServiceImpl
extends
ServiceImpl
<
SaasRoleMapper
,
SaasRole
>
implements
SaasRoleService
{
@Autowired
private
SaasUserRoleService
saasUserRoleService
;
@Autowired
private
SaasRoleMenuService
saasRoleMenuService
;
@Override
public
List
<
SaasRoleDTOVO
>
list
(
SaasRoleDTOVO
dto
)
{
List
<
SaasRole
>
platRoleList
=
list
(
new
QueryWrapper
<
SaasRole
>().
lambda
()
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getName
()),
SaasRole:
:
getName
,
dto
.
getName
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getCode
()),
SaasRole:
:
getCode
,
dto
.
getCode
())
.
and
(
StringUtils
.
isNotBlank
(
dto
.
getKeyword
()),
qw
->
{
qw
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getKeyword
()),
SaasRole:
:
getName
,
dto
.
getKeyword
())
.
or
()
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getKeyword
()),
SaasRole:
:
getCode
,
dto
.
getKeyword
());
})
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getStatus
()),
SaasRole:
:
getStatus
,
dto
.
getStatus
())
.
orderByDesc
(
SaasRole:
:
getCreateDate
)
);
return
BeanDtoVoUtils
.
listVo
(
platRoleList
,
SaasRoleDTOVO
.
class
);
}
private
void
check
(
SaasRoleDTOVO
dto
)
{
SaasRole
old
=
getOne
(
new
QueryWrapper
<
SaasRole
>().
lambda
()
.
eq
(
SaasRole:
:
getName
,
dto
.
getName
()));
if
(
old
!=
null
&&
!
old
.
getId
().
equals
(
dto
.
getId
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_NAME_DUPLICATE
);
}
old
=
getOne
(
new
QueryWrapper
<
SaasRole
>().
lambda
()
.
eq
(
SaasRole:
:
getCode
,
dto
.
getCode
()));
if
(
old
!=
null
&&
!
old
.
getId
().
equals
(
dto
.
getId
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_CODE_DUPLICATE
);
}
}
@Transactional
@Override
public
void
add
(
SaasRoleDTOVO
dto
)
{
check
(
dto
);
save
(
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
));
}
@Transactional
@Override
public
void
edit
(
SaasRoleDTOVO
dto
)
{
check
(
dto
);
updateById
(
BeanDtoVoUtils
.
convert
(
dto
,
SaasRole
.
class
));
}
@Override
public
SaasRoleDTOVO
view
(
String
id
)
{
return
BeanDtoVoUtils
.
convert
(
getById
(
id
),
SaasRoleDTOVO
.
class
);
}
@Transactional
@Override
public
void
del
(
String
id
)
{
removeById
(
id
);
}
@Transactional
@Override
public
void
changeStatus
(
StatusDTO
dto
)
{
if
(
Arrays
.
stream
(
CommonEnum
.
values
()).
noneMatch
(
e
->
e
.
getValue
().
equals
(
dto
.
getStatus
())))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
SaasRole
role
=
getById
(
dto
.
getId
());
if
(
role
.
getStatus
().
equals
(
dto
.
getStatus
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
role
.
setStatus
(
dto
.
getStatus
());
updateById
(
role
);
}
@Transactional
@Override
public
void
assignUserList
(
List
<
PlatUserRoleDTO
>
userRoleDTOList
)
{
removeAssignUserList
(
userRoleDTOList
);
List
<
SaasUserRole
>
userRoleList
=
BeanDtoVoUtils
.
listVo
(
userRoleDTOList
,
SaasUserRole
.
class
);
saasUserRoleService
.
saveBatch
(
userRoleList
);
}
@Transactional
@Override
public
void
removeAssignUserList
(
List
<
PlatUserRoleDTO
>
userRoleDTOList
)
{
Map
<
String
,
List
<
PlatUserRoleDTO
>>
roleUserMap
=
StreamUtil
.
groupBy
(
userRoleDTOList
,
PlatUserRoleDTO:
:
getRoleId
);
roleUserMap
.
forEach
((
k
,
v
)
->
{
List
<
String
>
userIdList
=
StreamUtil
.
map
(
v
,
PlatUserRoleDTO:
:
getUserId
);
userIdList
.
add
(-
1
+
""
);
saasUserRoleService
.
remove
(
new
QueryWrapper
<
SaasUserRole
>().
lambda
()
.
eq
(
SaasUserRole:
:
getRoleId
,
k
)
.
in
(
SaasUserRole:
:
getUserId
,
userIdList
));
});
}
@Transactional
@Override
public
void
assignMenuList
(
PlatRoleMenuDTO
roleMenuDTO
)
{
//removeAssignMenuList(roleMenuDTOList);
saasRoleMenuService
.
remove
(
new
QueryWrapper
<
SaasRoleMenu
>().
lambda
().
eq
(
SaasRoleMenu:
:
getRoleId
,
roleMenuDTO
.
getRoleId
()));
List
<
SaasRoleMenu
>
roleMenuList
=
StreamUtil
.
map
(
roleMenuDTO
.
getMenuIdList
(),
e
->
{
SaasRoleMenu
platRoleMenu
=
new
SaasRoleMenu
();
platRoleMenu
.
setRoleId
(
roleMenuDTO
.
getRoleId
());
platRoleMenu
.
setMenuId
(
e
);
return
platRoleMenu
;
});
saasRoleMenuService
.
saveBatch
(
roleMenuList
);
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
View file @
85014fff
...
...
@@ -22,10 +22,10 @@ import com.makeit.enums.id.IdConst;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.saas.SaasUserMapper
;
import
com.makeit.module.admin.saas.PlatMenuDTOVO
;
import
com.makeit.module.admin.saas.
Plat
RoleDTOVO
;
import
com.makeit.module.admin.saas.
Plat
UserDTOVO
;
import
com.makeit.module.admin.saas.
Saas
RoleDTOVO
;
import
com.makeit.module.admin.saas.
Saas
UserDTOVO
;
import
com.makeit.module.admin.saas.PlatUserQueryDTO
;
import
com.makeit.module.admin.saas.UserRoleMenuRedisVO
;
import
com.makeit.module.admin.saas.
Saas
UserRoleMenuRedisVO
;
import
com.makeit.service.saas.SaasMenuService
;
import
com.makeit.service.saas.SaasRoleMenuService
;
import
com.makeit.service.saas.SaasRoleService
;
...
...
@@ -37,7 +37,7 @@ import com.makeit.utils.data.convert.PageUtil;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.id.IdGen
;
import
com.makeit.utils.user.PasswordUtils
;
import
com.makeit.utils.user.UserLoginVO
;
import
com.makeit.utils.user.
Saas
UserLoginVO
;
import
com.makeit.utils.user.PlatUserUtil
;
import
com.makeit.utils.user.PlatUserVO
;
import
com.makeit.utils.user.TokenUtil
;
...
...
@@ -85,7 +85,7 @@ implements SaasUserService{
//还是mybatis plus notin 查询
//现在是重复添加中间表 没有效果
public
PageVO
<
Plat
UserDTOVO
>
pageInternal
(
PageReqDTO
<
PlatUserQueryDTO
>
page
,
Consumer
<
LambdaQueryWrapper
<
SaasUser
>>
consumer
)
{
public
PageVO
<
Saas
UserDTOVO
>
pageInternal
(
PageReqDTO
<
PlatUserQueryDTO
>
page
,
Consumer
<
LambdaQueryWrapper
<
SaasUser
>>
consumer
)
{
PlatUserQueryDTO
dto
=
page
.
getData
();
...
...
@@ -126,21 +126,21 @@ implements SaasUserService{
Page
<
SaasUser
>
pageList
=
page
(
p
,
lambdaQueryWrapper
);
return
PageUtil
.
toPageVO
(
BeanDtoVoUtils
.
listVo
(
pageList
.
getRecords
(),
Plat
UserDTOVO
.
class
),
pageList
);
return
PageUtil
.
toPageVO
(
BeanDtoVoUtils
.
listVo
(
pageList
.
getRecords
(),
Saas
UserDTOVO
.
class
),
pageList
);
}
@Override
public
PageVO
<
Plat
UserDTOVO
>
page
(
PageReqDTO
<
PlatUserQueryDTO
>
page
)
{
public
PageVO
<
Saas
UserDTOVO
>
page
(
PageReqDTO
<
PlatUserQueryDTO
>
page
)
{
return
pageInternal
(
page
,
null
);
}
@Override
public
PageVO
<
Plat
UserDTOVO
>
pageNoSuperAdmin
(
PageReqDTO
<
PlatUserQueryDTO
>
page
)
{
public
PageVO
<
Saas
UserDTOVO
>
pageNoSuperAdmin
(
PageReqDTO
<
PlatUserQueryDTO
>
page
)
{
return
pageInternal
(
page
,
qw
->
qw
.
ne
(
SaasUser:
:
getId
,
IdConst
.
SUPER_ADMIN_ID
));
}
@Override
public
List
<
Plat
UserDTOVO
>
list
(
PlatUserQueryDTO
dto
)
{
public
List
<
Saas
UserDTOVO
>
list
(
PlatUserQueryDTO
dto
)
{
PageReqDTO
<
PlatUserQueryDTO
>
page
=
new
PageReqDTO
<>();
page
.
setPage
(
1
);
page
.
setLimit
(-
1
);
...
...
@@ -149,7 +149,7 @@ implements SaasUserService{
}
@Override
public
List
<
Plat
UserDTOVO
>
listNoSuperAdmin
(
PlatUserQueryDTO
dto
)
{
public
List
<
Saas
UserDTOVO
>
listNoSuperAdmin
(
PlatUserQueryDTO
dto
)
{
PageReqDTO
<
PlatUserQueryDTO
>
page
=
new
PageReqDTO
<>();
page
.
setPage
(
1
);
page
.
setLimit
(-
1
);
...
...
@@ -157,7 +157,7 @@ implements SaasUserService{
return
pageInternal
(
page
,
qw
->
qw
.
ne
(
SaasUser:
:
getId
,
IdConst
.
SUPER_ADMIN_ID
)).
getList
();
}
private
void
check
(
Plat
UserDTOVO
dto
)
{
private
void
check
(
Saas
UserDTOVO
dto
)
{
List
<
SaasUser
>
userList
=
list
(
new
QueryWrapper
<
SaasUser
>().
lambda
()
.
eq
(
SaasUser:
:
getAccount
,
dto
.
getAccount
())
...
...
@@ -182,7 +182,7 @@ implements SaasUserService{
}
private
void
setRoleList
(
Plat
UserDTOVO
dto
)
{
private
void
setRoleList
(
Saas
UserDTOVO
dto
)
{
saasUserRoleService
.
remove
(
new
QueryWrapper
<
SaasUserRole
>().
lambda
()
.
eq
(
SaasUserRole:
:
getUserId
,
dto
.
getId
()));
if
(
dto
.
getRoleList
()
!=
null
)
{
...
...
@@ -198,7 +198,7 @@ implements SaasUserService{
}
}
private
void
getRoleList
(
Plat
UserDTOVO
userVO
)
{
private
void
getRoleList
(
Saas
UserDTOVO
userVO
)
{
List
<
SaasUserRole
>
userRoleList
=
saasUserRoleService
.
list
(
new
QueryWrapper
<
SaasUserRole
>().
lambda
()
.
eq
(
SaasUserRole:
:
getUserId
,
userVO
.
getId
())
.
orderByAsc
(
SaasUserRole:
:
getId
)
...
...
@@ -217,7 +217,7 @@ implements SaasUserService{
newList
.
add
(
role
);
}
});
userVO
.
setRoleList
(
BeanDtoVoUtils
.
listVo
(
new
ArrayList
<>(
newList
),
Plat
RoleDTOVO
.
class
));
userVO
.
setRoleList
(
BeanDtoVoUtils
.
listVo
(
new
ArrayList
<>(
newList
),
Saas
RoleDTOVO
.
class
));
}
private
void
setPassword
(
SaasUser
user
)
{
...
...
@@ -229,7 +229,7 @@ implements SaasUserService{
@Transactional
@Override
public
void
add
(
Plat
UserDTOVO
dto
)
{
public
void
add
(
Saas
UserDTOVO
dto
)
{
check
(
dto
);
SaasUser
user
=
BeanDtoVoUtils
.
convert
(
dto
,
SaasUser
.
class
);
...
...
@@ -245,7 +245,7 @@ implements SaasUserService{
@Transactional
@Override
public
void
edit
(
Plat
UserDTOVO
dto
)
{
public
void
edit
(
Saas
UserDTOVO
dto
)
{
dto
.
setAccount
(
null
);
superCantEdit
(
dto
);
check
(
dto
);
...
...
@@ -260,7 +260,7 @@ implements SaasUserService{
@Transactional
@Override
public
void
changePassword
(
Plat
UserDTOVO
dto
)
{
public
void
changePassword
(
Saas
UserDTOVO
dto
)
{
SaasUser
user
=
getById
(
dto
.
getId
());
user
.
setPassword
(
dto
.
getPassword
());
setPassword
(
user
);
...
...
@@ -268,8 +268,8 @@ implements SaasUserService{
}
@Override
public
Plat
UserDTOVO
view
(
String
id
)
{
PlatUserDTOVO
userVO
=
BeanDtoVoUtils
.
convert
(
getById
(
id
),
Plat
UserDTOVO
.
class
);
public
Saas
UserDTOVO
view
(
String
id
)
{
SaasUserDTOVO
userVO
=
BeanDtoVoUtils
.
convert
(
getById
(
id
),
Saas
UserDTOVO
.
class
);
getRoleList
(
userVO
);
return
userVO
;
}
...
...
@@ -307,7 +307,7 @@ implements SaasUserService{
}
}
private
void
superCantEdit
(
Plat
UserDTOVO
dto
)
{
private
void
superCantEdit
(
Saas
UserDTOVO
dto
)
{
if
(
IdConst
.
SUPER_ADMIN_ID
.
equals
(
dto
.
getId
()))
{
if
(
dto
.
getRoleList
()
!=
null
&&
!
dto
.
getRoleList
().
isEmpty
())
{
...
...
@@ -325,7 +325,7 @@ implements SaasUserService{
}
}
private
void
fillMenuList
(
List
<
SaasMenu
>
menuList
,
UserLoginVO
userLoginVO
)
{
private
void
fillMenuList
(
List
<
SaasMenu
>
menuList
,
Saas
UserLoginVO
userLoginVO
)
{
List
<
SaasMenu
>
buttonList
=
StreamUtil
.
filter
(
menuList
,
e
->
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
().
equals
(
e
.
getCategory
())
||
SysEnum
.
MenuTypeEnum
.
BUTTON
.
getValue
().
equals
(
e
.
getCategory
()));
List
<
SaasMenu
>
nonButtonList
=
StreamUtil
.
filter
(
menuList
,
e
->
SysEnum
.
MenuTypeEnum
.
CATALOGUE
.
getValue
().
equals
(
e
.
getCategory
())
||
SysEnum
.
MenuTypeEnum
.
MENU
.
getValue
().
equals
(
e
.
getCategory
()));
List
<
PlatMenuDTOVO
>
menuVOList
=
saasMenuService
.
tree
(
BeanDtoVoUtils
.
listVo
(
nonButtonList
,
PlatMenuDTOVO
.
class
));
...
...
@@ -334,7 +334,7 @@ implements SaasUserService{
userLoginVO
.
setMenuList
(
menuVOList
);
}
private
void
supperRoleMenuList
(
UserLoginVO
userLoginVO
)
{
private
void
supperRoleMenuList
(
Saas
UserLoginVO
userLoginVO
)
{
List
<
SaasMenu
>
menuList
=
saasMenuService
.
list
(
new
QueryWrapper
<
SaasMenu
>().
lambda
()
.
eq
(
SaasMenu:
:
getStatus
,
CommonEnum
.
YES
.
getValue
())
...
...
@@ -343,11 +343,11 @@ implements SaasUserService{
fillMenuList
(
menuList
,
userLoginVO
);
}
private
void
setRoleMenuToRedis
(
UserLoginVO
userLoginVO
)
{
UserRoleMenuRedisVO
platUserRoleMenuRedisVO
=
new
UserRoleMenuRedisVO
();
private
void
setRoleMenuToRedis
(
Saas
UserLoginVO
userLoginVO
)
{
SaasUserRoleMenuRedisVO
platUserRoleMenuRedisVO
=
new
Saas
UserRoleMenuRedisVO
();
platUserRoleMenuRedisVO
.
setId
(
userLoginVO
.
getId
());
if
(
userLoginVO
.
getRoleList
()
!=
null
)
{
platUserRoleMenuRedisVO
.
setRoleCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getRoleList
(),
Plat
RoleDTOVO:
:
getCode
));
platUserRoleMenuRedisVO
.
setRoleCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getRoleList
(),
Saas
RoleDTOVO:
:
getCode
));
}
if
(
userLoginVO
.
getButtonList
()
!=
null
)
{
platUserRoleMenuRedisVO
.
setButtonCodeList
(
StreamUtil
.
map
(
userLoginVO
.
getButtonList
(),
PlatMenuDTOVO:
:
getCode
));
...
...
@@ -356,7 +356,7 @@ implements SaasUserService{
}
private
UserLoginVO
getRoleAndMenuList
(
UserLoginVO
userLoginVO
)
{
private
SaasUserLoginVO
getRoleAndMenuList
(
Saas
UserLoginVO
userLoginVO
)
{
//TODO 用join做
//TODO 只返回必要字段 菜单和角色
...
...
@@ -390,7 +390,7 @@ implements SaasUserService{
);
userLoginVO
.
setRoleList
(
BeanDtoVoUtils
.
listVo
(
roleList
,
Plat
RoleDTOVO
.
class
));
userLoginVO
.
setRoleList
(
BeanDtoVoUtils
.
listVo
(
roleList
,
Saas
RoleDTOVO
.
class
));
fillMenuList
(
menuList
,
userLoginVO
);
...
...
@@ -400,9 +400,9 @@ implements SaasUserService{
}
@Override
public
UserLoginVO
getRoleAndMenuList
()
{
public
Saas
UserLoginVO
getRoleAndMenuList
()
{
PlatUserVO
platUser
=
PlatUserUtil
.
getUserVO
();
UserLoginVO
platUserLoginVO
=
new
UserLoginVO
();
SaasUserLoginVO
platUserLoginVO
=
new
Saas
UserLoginVO
();
platUserLoginVO
.
setId
(
platUser
.
getId
());
getRoleAndMenuList
(
platUserLoginVO
);
return
platUserLoginVO
;
...
...
@@ -410,12 +410,12 @@ implements SaasUserService{
@Override
public
UserLoginVO
getUserVO
()
{
public
Saas
UserLoginVO
getUserVO
()
{
return
PlatUserUtil
.
getUserVODetail
();
}
@Override
public
UserLoginVO
login
(
LoginDTO
loginDTO
)
{
public
Saas
UserLoginVO
login
(
LoginDTO
loginDTO
)
{
if
(
StringUtils
.
isBlank
(
loginDTO
.
getAccount
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR
);
}
...
...
@@ -439,13 +439,13 @@ implements SaasUserService{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_AUTH_USER_PASSWORD
);
}
UserLoginVO
userLoginVO
=
BeanDtoVoUtils
.
convert
(
platUser
,
UserLoginVO
.
class
);
SaasUserLoginVO
userLoginVO
=
BeanDtoVoUtils
.
convert
(
platUser
,
Saas
UserLoginVO
.
class
);
String
token
=
IdGen
.
getUUID
();
userLoginVO
.
setToken
(
token
);
//getRoleAndMenuList(userLoginVO);
TokenUtil
.
plat
Login
(
token
,
userLoginVO
);
TokenUtil
.
saas
Login
(
token
,
userLoginVO
);
//tntLoginLogService.addPlatform(userLoginVO.getId());
...
...
server-web/src/main/resources/application.yml
View file @
85014fff
...
...
@@ -110,13 +110,19 @@ sa-token:
interceptor
:
## 登录拦截路径
authenticationTntPath
:
/**
authenticationTntPathIgnore
:
/swagger-resources/**,/v2/api-docs/**,/sys/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/
login/
**,/error
authenticationTntPathIgnore
:
/swagger-resources/**,/v2/api-docs/**,/sys/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/**,/error
## 权限拦截路径
authorizationTntPath
:
/**
authorizationTntPathIgnore
:
/swagger-resources/**,/v2/api-docs/**,/sys/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/
login/
**,/error
authorizationTntPathIgnore
:
/swagger-resources/**,/v2/api-docs/**,/sys/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/**,/error
## saas端登录拦截路径
authenticationSaasPath
:
/saas/**
authenticationSaasPathIgnore
:
/saas/login/login
## saas端权限拦截路径
authorizationSaasPath
:
/saas/**
authorizationSaasPathIgnore
:
/saas/login/login
sign
:
flag
:
true
...
...
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