Commit 1ad32a2a by 杨伟程

告警配置

parents 5f57b91d 7bfcd65c
Showing with 2719 additions and 554 deletions
...@@ -6,7 +6,7 @@ CREATE TABLE `plat_user` ( ...@@ -6,7 +6,7 @@ CREATE TABLE `plat_user` (
`account` 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 '密码', `password` varchar(64) NOT NULL COMMENT '密码',
`mobile` varchar(11) NOT NULL COMMENT '手机号', `mobile` varchar(11) NOT NULL COMMENT '手机号',
`email` varchar(64) NOT NULL COMMENT '邮箱', `email` varchar(64) DEFAULT NULL COMMENT '邮箱',
`status` char(1) NOT NULL COMMENT '状态 0禁用 1启用', `status` char(1) NOT NULL COMMENT '状态 0禁用 1启用',
`avatar` varchar(256) DEFAULT NULL COMMENT '头像', `avatar` varchar(256) DEFAULT NULL COMMENT '头像',
`is_tenant` char(1) DEFAULT NULL COMMENT '是否租户账户/租户管理员 0否 1是', `is_tenant` char(1) DEFAULT NULL COMMENT '是否租户账户/租户管理员 0否 1是',
...@@ -28,7 +28,7 @@ CREATE TABLE `plat_user` ( ...@@ -28,7 +28,7 @@ CREATE TABLE `plat_user` (
CREATE TABLE `plat_role` ( CREATE TABLE `plat_role` (
`id` varchar(64) NOT NULL COLLATE utf8mb4_general_ci COMMENT 'id', `id` varchar(64) NOT NULL COLLATE utf8mb4_general_ci COMMENT 'id',
`tenant_id` varchar(64) NOT NULL COMMENT '租户id', `tenant_id` varchar(64) NOT NULL COMMENT '租户id',
`role_name` varchar(100) NOT NULL COMMENT '名称', `name` varchar(100) NOT NULL COMMENT '名称',
`remark` varchar(255) DEFAULT NULL COMMENT '备注', `remark` varchar(255) DEFAULT NULL COMMENT '备注',
`data_scope` varchar(600) DEFAULT NULL COMMENT '数据权限 子公司id 上级可看到下级', `data_scope` varchar(600) DEFAULT NULL COMMENT '数据权限 子公司id 上级可看到下级',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime NOT NULL COMMENT '创建时间',
...@@ -36,6 +36,7 @@ CREATE TABLE `plat_role` ( ...@@ -36,6 +36,7 @@ CREATE TABLE `plat_role` (
`del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识', `del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人', `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人', `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`org_id` varchar(64) DEFAULT NULL COMMENT '所属组织',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='租户端角色'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='租户端角色';
......
INSERT INTO `sys_dictionary_category` ( `id`, `code`, `name`, `create_date`, `update_date`, `del_flag` )
VALUES
( '10000', 'menu.type', '菜单类型', '2022-05-16 16:33:28', '2022-05-16 16:33:33', 0 );
INSERT INTO `sys_dictionary` ( `id`, `code`, `name`, `value`, `sort`, `description`, `category_id`, `create_date`, `update_date`, `del_flag` )
VALUES
( '10001', 'menu.type.catalogue', '目录', '1', 1, '', '10000', '2022-05-16 16:34:57', '2022-05-16 16:35:10', 0 );
INSERT INTO `sys_dictionary` ( `id`, `code`, `name`, `value`, `sort`, `description`, `category_id`, `create_date`, `update_date`, `del_flag` )
VALUES
( '10002', 'menu.type.menu', '菜单', '2', 2, '', '10000', '2022-05-16 16:35:44', '2022-05-16 16:35:50', 0 );
INSERT INTO `sys_dictionary` ( `id`, `code`, `name`, `value`, `sort`, `description`, `category_id`, `create_date`, `update_date`, `del_flag` )
VALUES
( '10003', 'menu.type.button', '按钮', '3', 3, '', '10000', '2022-05-16 16:36:28', '2022-05-16 16:36:33', 0 );
select * from sys_dictionary_category t order by t.id asc;
select * from sys_dictionary t order by t.id asc;
\ No newline at end of file
...@@ -144,7 +144,7 @@ CREATE TABLE `plat_tenant` ( ...@@ -144,7 +144,7 @@ CREATE TABLE `plat_tenant` (
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime NOT NULL COMMENT '更新时间',
`del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识', `del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识',
`create_by_` varchar(64) NOT NULL COMMENT '创建人', `create_by` varchar(64) NOT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人', `update_by` varchar(64) NOT NULL COMMENT '更新人',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 STATS_AUTO_RECALC=0 ROW_FORMAT=COMPACT COMMENT='租户管理'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 STATS_AUTO_RECALC=0 ROW_FORMAT=COMPACT COMMENT='租户管理';
...@@ -156,6 +156,8 @@ CREATE TABLE `plat_tenant_menu` ( ...@@ -156,6 +156,8 @@ CREATE TABLE `plat_tenant_menu` (
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime NOT NULL COMMENT '更新时间',
`del_flag` CHAR(1) DEFAULT 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`), PRIMARY KEY (`id`),
KEY `tnt_tenant_menu_menu_id_index` (`menu_id`), KEY `tnt_tenant_menu_menu_id_index` (`menu_id`),
KEY `tnt_tenant_menu_tenant_id_index` (`tenant_id`) KEY `tnt_tenant_menu_tenant_id_index` (`tenant_id`)
......
...@@ -40,6 +40,28 @@ public class SwaggerSaasConfig { ...@@ -40,6 +40,28 @@ public class SwaggerSaasConfig {
return config; return config;
} }
@Bean
public SwaggerModuleConfig platModule() {
SwaggerModuleConfig config = new SwaggerModuleConfig();
config.setPackageList(Arrays.asList("com.makeit.controller.plat"));
config.setModuleName("平台端");
return config;
}
@Bean
public Docket platApi() {
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("03-平台端-人员管理");
ApiSelectorBuilder builder = docket.select();
//api过滤
builder = builder.apis(
RequestHandlerSelectors.basePackage("com.makeit.controller.plat")
);
return builder.build();
}
@Bean @Bean
public Docket saasApi() { public Docket saasApi() {
......
package com.makeit.controller.plat;
import com.makeit.common.dto.LoginDTO;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.module.admin.vo.plat.PlatUserLoginVO;
import com.makeit.service.platform.auth.PlatUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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;
@Api(tags = "平台端-登录")
@RestController
@RequestMapping("/plat/login")
public class PlatLoginController {
@Autowired
private PlatUserService platUserService;
@ApiOperation("登录")
@PostMapping("login")
public ApiResponseEntity<PlatUserLoginVO> login(@RequestBody LoginDTO loginDTO) {
return ApiResponseUtils.success(platUserService.login(loginDTO));
}
@ApiOperation("退出登录")
@PostMapping("logout")
public ApiResponseEntity<Void> logout() {
platUserService.logout();
return ApiResponseUtils.success();
}
}
package com.makeit.controller.plat;
import com.makeit.common.dto.BaseIdDTO;
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.entity.platform.auth.PlatOrg;
import com.makeit.global.annotation.Action;
import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.service.platform.auth.PlatUserService;
import com.makeit.vo.platform.auth.PlatOrgQueryDTO;
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>
* 租户端角色 前端控制器
* </p>
*
* @author eugene young
* @since 2022-05-10
*/
@Api(tags = "平台端-组织")
@RestController
@RequestMapping("/plat/org")
public class PlatOrgController {
@Autowired
private PlatOrgService platOrgService;
@Autowired
private PlatUserService platUserService;
@Action(module = "平台端-组织", name = "分页列表", code = "plat:org:page")
@ApiOperation("树形列表")
@PostMapping("page")
public ApiResponseEntity<PageVO<PlatOrg>> page(@RequestBody PageReqDTO<PlatOrgQueryDTO> pageReqDTO){
return ApiResponseUtils.success(platOrgService.page(pageReqDTO));
}
@Action(module = "平台端-组织", name = "不分页列表", code = "plat:org:list")
@ApiOperation("树形列表")
@PostMapping("list")
public ApiResponseEntity<List<PlatOrg>> list(@RequestBody PlatOrgQueryDTO platOrgQueryDTO){
return ApiResponseUtils.success(platOrgService.subOrgList(platOrgQueryDTO));
}
@Action(module = "平台端-组织", name = "树形列表", code = "plat:org:tree")
@ApiOperation("树形列表")
@PostMapping("tree")
public ApiResponseEntity<List<PlatOrg>> tree(@RequestBody PlatOrgQueryDTO tntDept){
return ApiResponseUtils.success(platOrgService.tree(tntDept));
}
@ApiOperation("树形列表(AuthIgnore)")
@PostMapping("treeAuthIgnore")
public ApiResponseEntity<List<PlatOrg>> treeAuthIgnore(@RequestBody PlatOrgQueryDTO tntDept){
return ApiResponseUtils.success(platOrgService.tree(tntDept));
}
@Action(module = "平台端-组织", name = "新增", code = "plat:org:add")
@ApiOperation("新增")
@PostMapping("add")
public ApiResponseEntity<String> add(@Validated @RequestBody PlatOrg tntDept){
return ApiResponseUtils.success(platOrgService.add(tntDept));
}
@Action(module = "平台端-组织", name = "编辑", code = "plat:org:edit")
@ApiOperation("编辑")
@PostMapping("edit")
public ApiResponseEntity<Void> edit(@Validated @RequestBody PlatOrg tntDept){
platOrgService.edit(tntDept);
return ApiResponseUtils.success();
}
@Action(module = "平台端-组织", name = "详情", code = "plat:org:view")
@ApiOperation("详情")
@PostMapping("view")
public ApiResponseEntity<PlatOrg> view(@RequestBody BaseIdDTO baseIdDTO){
return ApiResponseUtils.success(platOrgService.view(baseIdDTO.getId()));
}
@Action(module = "平台端-组织", name = "删除", code = "plat:org:del")
@ApiOperation("删除")
@PostMapping("del")
public ApiResponseEntity<PlatOrg> del(@RequestBody BaseIdDTO baseIdDTO){
platOrgService.del(baseIdDTO.getId());
return ApiResponseUtils.success();
}
@ApiOperation("左上方组织树")
@PostMapping("deptTree")
public ApiResponseEntity<List<PlatOrg>> tree(){
return ApiResponseUtils.success(platUserService.getDeptTreeList());
}
@ApiOperation("当前账号的权限级别树")
@PostMapping("belongToScopeTree")
public ApiResponseEntity<List<PlatOrg>> belongToScopeTree(@RequestBody BaseIdDTO baseIdDTO){
return ApiResponseUtils.success(platOrgService.belongToOrgTree());
}
@ApiOperation("启用|禁用")
@PostMapping("enable")
public ApiResponseEntity<Void> enable(@RequestBody PlatOrg param){
platOrgService.enable(param);
return ApiResponseUtils.success();
}
}
package com.makeit.controller.plat;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.dto.BaseOrgDTO;
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.dto.platform.auth.PlatRoleDeptDTOVO;
import com.makeit.dto.platform.auth.PlatRoleMenuDTO;
import com.makeit.dto.platform.auth.PlatUserRoleDTO;
import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.auth.PlatRole;
import com.makeit.entity.platform.auth.PlatRoleMenu;
import com.makeit.entity.platform.auth.PlatRoleOrg;
import com.makeit.global.annotation.Action;
import com.makeit.module.admin.dto.plat.PlatRoleDTOVO;
import com.makeit.service.platform.auth.PlatRoleService;
import com.makeit.service.platform.auth.PlatUserService;
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>
* 租户端角色 前端控制器
* </p>
*
* @author eugene young
* @since 2022-05-10
*/
@Api(tags = "平台端-角色")
@RestController
@RequestMapping("/plat/role")
public class PlatRoleController {
@Autowired
private PlatRoleService platRoleService;
@Autowired
private PlatUserService platUserService;
@Action(module = "平台端-角色", name = "分页列表", code = "tnt:role:page")
@ApiOperation("分页列表")
@PostMapping("page")
public ApiResponseEntity<PageVO<PlatRoleDTOVO>> page(@RequestBody PageReqDTO<PlatRoleDTOVO> page) {
return ApiResponseUtils.success(platRoleService.page(page));
}
@Action(module = "平台端-角色", name = "列表", code = "tnt:role:list")
@ApiOperation("列表")
@PostMapping("list")
public ApiResponseEntity<List<PlatRoleDTOVO>> list(@RequestBody PlatRoleDTOVO dto) {
return ApiResponseUtils.success(platRoleService.list(dto));
}
@ApiOperation("分页列表(AuthIgnore)")
@PostMapping("pageAuthIgnore")
public ApiResponseEntity<PageVO<PlatRoleDTOVO>> pageAuthIgnore(@RequestBody PageReqDTO<PlatRoleDTOVO> page) {
return ApiResponseUtils.success(platRoleService.page(page));
}
@ApiOperation("列表(AuthIgnore)")
@PostMapping("listAuthIgnore")
public ApiResponseEntity<List<PlatRoleDTOVO>> listAuthIgnore(@RequestBody PlatRoleDTOVO dto) {
return ApiResponseUtils.success(platRoleService.list(dto));
}
@Action(module = "平台端-角色", name = "新增", code = "tnt:role:add")
@ApiOperation("新增")
@PostMapping("add")
public ApiResponseEntity<String> add(@Validated @RequestBody PlatRoleDTOVO dto) {
return ApiResponseUtils.success(platRoleService.add(dto));
}
@Action(module = "平台端-角色", name = "编辑", code = "tnt:role:edit")
@ApiOperation("编辑")
@PostMapping("edit")
public ApiResponseEntity<Void> edit(@Validated @RequestBody PlatRoleDTOVO dto) {
platRoleService.edit(dto);
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "详情", code = "tnt:role:view")
@ApiOperation("详情")
@PostMapping("view")
public ApiResponseEntity<PlatRoleDTOVO> view(@RequestBody BaseIdDTO dto) {
return ApiResponseUtils.success(platRoleService.view(dto.getId()));
}
@Action(module = "平台端-角色", name = "删除", code = "tnt:role:del")
@ApiOperation("删除")
@PostMapping("del")
public ApiResponseEntity<Void> del(@RequestBody BaseIdDTO dto) {
platRoleService.del(dto.getId());
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "改变状态", code = "tnt:role:changeStatus")
@ApiOperation("改变状态")
@PostMapping("changeStatus")
public ApiResponseEntity<Void> changeStatus(@RequestBody StatusDTO dto) {
platRoleService.changeStatus(dto);
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "分配用户", code = "tnt:role:assignUserList")
@ApiOperation("分配用户")
@PostMapping("assignUserList")
public ApiResponseEntity<Void> assignUserList(@RequestBody List<PlatUserRoleDTO> userRoleDTOList) {//参数要不要是一个对象里 有一个数组
platRoleService.assignUserList(userRoleDTOList);
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "删除分配用户", code = "tnt:role:removeAssignUserList")
@ApiOperation("删除分配用户")
@PostMapping("removeAssignUserList")
public ApiResponseEntity<Void> removeAssignUserList(@RequestBody List<PlatUserRoleDTO> userRoleDTOList) {
platRoleService.removeAssignUserList(userRoleDTOList);
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "分配菜单", code = "tnt:role:assignMenuList")
@ApiOperation("分配菜单")
@PostMapping("assignMenuList")
public ApiResponseEntity<Void> assignMenuList(@RequestBody PlatRoleMenuDTO roleMenuDTO) {
platRoleService.assignMenuList(roleMenuDTO);
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "获取分配菜单", code = "tnt:role:getAssignMenuList")
@ApiOperation("获取分配菜单")
@PostMapping("getAssignMenuList")
public ApiResponseEntity<List<PlatRoleMenu>> getAssignMenuList(@RequestBody BaseIdDTO baseIdDTO) {
return ApiResponseUtils.success(platRoleService.getAssignMenuList(baseIdDTO.getId()));
}
@ApiOperation("管理范围可选值")
@PostMapping("getCandidateOrgList")
public ApiResponseEntity<List<PlatOrg>> getCandidateDeptList(@RequestBody BaseOrgDTO deptDTO) {
return ApiResponseUtils.success(platUserService.getHotelList(deptDTO.getOrgId()));
}
@ApiOperation("管理范围可选值2")
@PostMapping("getCandidateDeptList2")
public ApiResponseEntity<List<PlatOrg>> getCandidateDeptList2(@RequestBody BaseOrgDTO deptDTO) {
return ApiResponseUtils.success(platUserService.getCandidateDeptList());
}
@Action(module = "平台端-角色", name = "分配管理权限", code = "tnt:role:assignDeptList")
@ApiOperation("分配管理权限")
@PostMapping("assignDeptList")
public ApiResponseEntity<Void> assignDeptList(@RequestBody PlatRoleDeptDTOVO roleDeptDTO) {
platRoleService.assignDeptList(roleDeptDTO);
return ApiResponseUtils.success();
}
@Action(module = "平台端-角色", name = "获取分配管理权限", code = "tnt:role:getDeptListByRoleId")
@ApiOperation("获取分配管理权限")
@PostMapping("getDeptListByRoleId")
public ApiResponseEntity<List<PlatRoleOrg>> getDeptListByRoleId(@RequestBody BaseIdDTO baseIdDTO) {
return ApiResponseUtils.success(platRoleService.getDeptListByRoleId(baseIdDTO.getId()));
}
@Action(module = "平台端-角色", name = "复制角色及关联", code = "tnt:role:copyRole")
@ApiOperation("复制角色及关联")
@PostMapping("copyRole")
public ApiResponseEntity<Void> copyRole(@RequestBody BaseIdDTO baseIdDTO) {
platRoleService.copyRole(baseIdDTO.getId());
return ApiResponseUtils.success();
}
@ApiOperation("列表(AuthIgnore)")
@PostMapping("getAuthIgnore")
public ApiResponseEntity<List<PlatRoleDTOVO>> getAuthIgnore(@RequestBody PlatRoleDTOVO dto) {
return ApiResponseUtils.success(platRoleService.getList(dto));
}
@ApiOperation("人员管理-角色")
@PostMapping("belongTo")
public ApiResponseEntity<List<PlatRole>> belongTo(@Validated @RequestBody BaseIdDTO baseIdDTO) {
List<PlatRole> list = platRoleService.belongTo(baseIdDTO);
return ApiResponseUtils.success(list);
}
}
package com.makeit.controller.saas; package com.makeit.controller.plat;
import com.makeit.common.dto.BaseIdDTO; import com.makeit.common.dto.BaseIdDTO;
...@@ -11,7 +11,7 @@ import com.makeit.global.annotation.Action; ...@@ -11,7 +11,7 @@ import com.makeit.global.annotation.Action;
import com.makeit.module.admin.dto.plat.PlatUserDTOVO; import com.makeit.module.admin.dto.plat.PlatUserDTOVO;
import com.makeit.module.admin.dto.plat.PlatUserQueryDTO; import com.makeit.module.admin.dto.plat.PlatUserQueryDTO;
import com.makeit.module.admin.vo.plat.PlatUserLoginVO; import com.makeit.module.admin.vo.plat.PlatUserLoginVO;
import com.makeit.server.platform.auth.PlatUserService; import com.makeit.service.platform.auth.PlatUserService;
import com.makeit.vo.platform.auth.PlatPersonDTOVO; import com.makeit.vo.platform.auth.PlatPersonDTOVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -32,29 +32,29 @@ import java.util.List; ...@@ -32,29 +32,29 @@ import java.util.List;
* @author eugene young * @author eugene young
* @since 2022-05-10 * @since 2022-05-10
*/ */
@Api(tags = "租户管理-租户账号管理") @Api(tags = "平台端-人员管理")
@RestController @RestController
@RequestMapping("/saas/plat/user") @RequestMapping("/plat/user")
public class PlatUserController { public class PlatUserController {
@Autowired @Autowired
private PlatUserService platUserService; private PlatUserService platUserService;
@Action(module = "租户端-人员", name = "分页列表", code = "saas:plat:user:page") @Action(module = "平台端-人员", name = "分页列表", code = "plat:user:page")
@ApiOperation("分页列表") @ApiOperation("分页列表")
@PostMapping("page") @PostMapping("page")
public ApiResponseEntity<PageVO<PlatPersonDTOVO>> page(@RequestBody PageReqDTO<PlatUserQueryDTO> page) { public ApiResponseEntity<PageVO<PlatPersonDTOVO>> page(@RequestBody PageReqDTO<PlatUserQueryDTO> page) {
return ApiResponseUtils.success(platUserService.page(page)); return ApiResponseUtils.success(platUserService.page(page));
} }
@Action(module = "租户端-人员", name = "列表", code = "saas:plat:user:list") @Action(module = "平台端-人员", name = "列表", code = "plat:user:list")
@ApiOperation("列表") @ApiOperation("列表")
@PostMapping("list") @PostMapping("list")
public ApiResponseEntity<List<PlatPersonDTOVO>> list(@RequestBody PlatUserQueryDTO dto) { public ApiResponseEntity<List<PlatPersonDTOVO>> list(@RequestBody PlatUserQueryDTO dto) {
return ApiResponseUtils.success(platUserService.list(dto)); return ApiResponseUtils.success(platUserService.list(dto));
} }
@Action(module = "租户端-人员", name = "未分配部门用户分页列表", code = "saas:plat:user:pageNoDeptUser") @Action(module = "平台端-人员", name = "未分配部门用户分页列表", code = "plat:user:pageNoDeptUser")
@ApiOperation("未分配部门用户分页列表") @ApiOperation("未分配部门用户分页列表")
@PostMapping("pageNoDeptUser") @PostMapping("pageNoDeptUser")
public ApiResponseEntity<PageVO<PlatPersonDTOVO>> pageNoDeptUser(@RequestBody PageReqDTO<PlatUserQueryDTO> page) { public ApiResponseEntity<PageVO<PlatPersonDTOVO>> pageNoDeptUser(@RequestBody PageReqDTO<PlatUserQueryDTO> page) {
...@@ -73,49 +73,48 @@ public class PlatUserController { ...@@ -73,49 +73,48 @@ public class PlatUserController {
return ApiResponseUtils.success(platUserService.list(dto)); return ApiResponseUtils.success(platUserService.list(dto));
} }
@Action(module = "租户端-人员", name = "新增", code = "saas:plat:user:add") @Action(module = "平台端-人员", name = "新增", code = "plat:user:add")
@ApiOperation("新增") @ApiOperation("新增")
@PostMapping("add") @PostMapping("add")
public ApiResponseEntity<?> add(@Validated @RequestBody PlatPersonDTOVO dto) { public ApiResponseEntity<String> add(@Validated @RequestBody PlatPersonDTOVO dto) {
platUserService.addPerson(dto); return ApiResponseUtils.success(platUserService.addPerson(dto));
return ApiResponseUtils.success();
} }
@Action(module = "租户端-人员", name = "编辑", code = "saas:plat:user:edit") @Action(module = "平台端-人员", name = "编辑", code = "plat:user:edit")
@ApiOperation("编辑") @ApiOperation("编辑")
@PostMapping("edit") @PostMapping("edit")
public ApiResponseEntity<?> edit(@Validated @RequestBody PlatPersonDTOVO dto) { public ApiResponseEntity<Void> edit(@Validated @RequestBody PlatPersonDTOVO dto) {
platUserService.editPerson(dto); platUserService.editPerson(dto);
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@Action(module = "租户端-人员", name = "改变密码", code = "saas:plat:user:changePassword") @Action(module = "平台端-人员", name = "改变密码", code = "plat:user:changePassword")
@ApiOperation("改变密码") @ApiOperation("改变密码")
@PostMapping("changePassword") @PostMapping("changePassword")
public ApiResponseEntity<?> changePassword(@RequestBody PlatUserDTOVO dto) { public ApiResponseEntity<Void> changePassword(@RequestBody PlatUserDTOVO dto) {
platUserService.changePassword(dto); platUserService.changePassword(dto);
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@Action(module = "租户端-人员", name = "详情", code = "saas:plat:user:view") @Action(module = "平台端-人员", name = "详情", code = "plat:user:view")
@ApiOperation("详情") @ApiOperation("详情")
@PostMapping("view") @PostMapping("view")
public ApiResponseEntity<PlatPersonDTOVO> view(@RequestBody BaseIdDTO dto) { public ApiResponseEntity<PlatPersonDTOVO> view(@RequestBody BaseIdDTO dto) {
return ApiResponseUtils.success(platUserService.viewPerson(dto.getId())); return ApiResponseUtils.success(platUserService.viewPerson(dto.getId()));
} }
@Action(module = "租户端-人员", name = "删除", code = "saas:plat:user:del") @Action(module = "平台端-人员", name = "删除", code = "plat:user:del")
@ApiOperation("删除") @ApiOperation("删除")
@PostMapping("del") @PostMapping("del")
public ApiResponseEntity<?> del(@RequestBody BaseIdDTO dto) { public ApiResponseEntity<Void> del(@RequestBody BaseIdDTO dto) {
platUserService.del(dto.getId()); platUserService.del(dto.getId());
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@Action(module = "租户端-人员", name = "改变状态", code = "saas:plat:user:changeStatus") @Action(module = "平台端-人员", name = "改变状态", code = "plat:user:changeStatus")
@ApiOperation("改变状态") @ApiOperation("改变状态")
@PostMapping("changeStatus") @PostMapping("changeStatus")
public ApiResponseEntity<?> changeStatus(@RequestBody StatusDTO dto) { public ApiResponseEntity<Void> changeStatus(@RequestBody StatusDTO dto) {
platUserService.changeStatus(dto); platUserService.changeStatus(dto);
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
...@@ -132,13 +131,6 @@ public class PlatUserController { ...@@ -132,13 +131,6 @@ public class PlatUserController {
return ApiResponseUtils.success(platUserService.getRoleAndMenuList2()); return ApiResponseUtils.success(platUserService.getRoleAndMenuList2());
} }
// //@Action(module = "租户端-人员", name = "获取当前登录用户企业微信菜单", code = "tnt:user:getWechatMenuList")
// @ApiOperation("获取当前登录用户企业微信菜单")
// @PostMapping("getWechatMenuList")
// public ApiResponseEntity<PlatUserLoginVO> getWechatMenuList() {
// return ApiResponseUtils.success(platUserService.getWechatMenuList());
// }
@ApiOperation("获取当前登录用户信息") @ApiOperation("获取当前登录用户信息")
@PostMapping("getUserVO") @PostMapping("getUserVO")
public ApiResponseEntity<PlatUserLoginVO> getUserInfo() { public ApiResponseEntity<PlatUserLoginVO> getUserInfo() {
......
package com.makeit.controller.saas;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.entity.saas.PlatMenu;
import com.makeit.global.annotation.Action;
import com.makeit.module.admin.dto.plat.PlatMenuDTOVO;
import com.makeit.module.admin.dto.plat.PlatMenuQueryDTO;
import com.makeit.service.saas.PlatMenuService;
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>
* 租户端菜单 前端控制器
* </p>
*
* @author eugene young
* @since 2022-05-10
*/
@Api(tags = "系统管理-租户资源管理(菜单)")
@RestController
@RequestMapping("/saas/plat/menu")
public class SaasPlatMenuController {
@Autowired
private PlatMenuService platMenuService;
@Action(module = "saas端-租户资源管理(菜单)", name = "列表", code = "saas:plat:menu:list")
@ApiOperation("列表")
@PostMapping("list")
public ApiResponseEntity<List<PlatMenuDTOVO>> list(@RequestBody PlatMenuQueryDTO dto){
return ApiResponseUtils.success(platMenuService.list(dto));
}
@Action(module = "saas端-租户资源管理(菜单)", name = "树形列表", code = "saas:plat:menu:tree")
@ApiOperation("树形列表")
@PostMapping("tree")
public ApiResponseEntity<List<PlatMenuDTOVO>> tree(@RequestBody PlatMenuQueryDTO dto){
return ApiResponseUtils.success(platMenuService.tree(dto));
}
@ApiOperation("列表(AuthIgnore)")
@PostMapping("listAuthIgnore")
public ApiResponseEntity<List<PlatMenuDTOVO>> listAuthIgnore(@RequestBody PlatMenuQueryDTO dto){
return ApiResponseUtils.success(platMenuService.list(dto));
}
@ApiOperation("树形列表(AuthIgnore)")
@PostMapping("treeAuthIgnore")
public ApiResponseEntity<List<PlatMenuDTOVO>> treeAuthIgnore(@RequestBody PlatMenuQueryDTO dto){
return ApiResponseUtils.success(platMenuService.tree(dto));
}
@Action(module = "saas端-租户资源管理(菜单)", name = "新增", code = "saas:plat:menu:add")
@ApiOperation("新增")
@PostMapping("add")
public ApiResponseEntity<?> add(@Validated @RequestBody PlatMenuDTOVO dto){
platMenuService.add(dto);
return ApiResponseUtils.success();
}
@Action(module = "saas端-租户资源管理(菜单)", name = "编辑", code = "saas:plat:menu:edit")
@ApiOperation("编辑")
@PostMapping("edit")
public ApiResponseEntity<?> edit(@Validated @RequestBody PlatMenuDTOVO dto){
platMenuService.edit(dto);
return ApiResponseUtils.success();
}
//@Action(module = "saas端-租户资源管理(菜单)", name = "详情", code = "saas:plat:menu:view")
@ApiOperation("详情")
@PostMapping("view")
public ApiResponseEntity<PlatMenuDTOVO> view(@RequestBody BaseIdDTO dto){
return ApiResponseUtils.success(platMenuService.view(dto.getId()));
}
@Action(module = "saas端-租户资源管理(菜单)", name = "删除", code = "saas:plat:menu:del")
@ApiOperation("删除")
@PostMapping("del")
public ApiResponseEntity<?> del(@RequestBody BaseIdDTO dto){
platMenuService.del(dto.getId());
return ApiResponseUtils.success();
}
@ApiOperation("同步")
@PostMapping("sync")
public ApiResponseEntity<?> sync() {
platMenuService.sync();
return ApiResponseUtils.success();
}
@ApiOperation("获取菜单code")
@PostMapping("loadMenuCodeList")
public ApiResponseEntity<List<PlatMenu>> loadMenuCodeLis() {
return ApiResponseUtils.success(platMenuService.loadMenuCodeList());
}
}
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.dto.plat.PlatUserDTOVO;
import com.makeit.module.admin.dto.plat.PlatUserQueryDTO;
import com.makeit.service.platform.auth.PlatUserService;
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>
* 租户端用户 前端控制器
* </p>
*
* @author eugene young
* @since 2022-05-10
*/
@Api(tags = "系统管理-租户账号")
@RestController
@RequestMapping("/saas/plat/user")
public class SaasPlatUserController {
@Autowired
private PlatUserService platUserService;
@Action(module = "saas端-租户账号", name = "分页列表", code = "saas.plat.user.pageTenant")
//@PlatOperationLogger
@ApiOperation("分页列表")
@PostMapping("pageTenant")
public ApiResponseEntity<PageVO<PlatUserDTOVO>> pageTenant(@RequestBody PageReqDTO<PlatUserQueryDTO> page){
return ApiResponseUtils.success(platUserService.pageTenant(page));
}
@Action(module = "saas端-租户账号", name = "列表", code = "saas.plat.user.listTenant")
@ApiOperation("列表")
@PostMapping("listTenant")
public ApiResponseEntity<List<PlatUserDTOVO>> listTenant(@RequestBody PlatUserQueryDTO dto){
return ApiResponseUtils.success(platUserService.listTenant(dto));
}
@ApiOperation("分页列表(AuthIgnore)")
@PostMapping("pageTenantAuthIgnore")
public ApiResponseEntity<PageVO<PlatUserDTOVO>> pageTenantAuthIgnore(@RequestBody PageReqDTO<PlatUserQueryDTO> page){
return ApiResponseUtils.success(platUserService.pageTenant(page));
}
@ApiOperation("列表(AuthIgnore)")
@PostMapping("listTenantAuthIgnore")
public ApiResponseEntity<List<PlatUserDTOVO>> listTenantAuthIgnore(@RequestBody PlatUserQueryDTO dto){
return ApiResponseUtils.success(platUserService.listTenant(dto));
}
@Action(module = "saas端-租户账号", name = "新增", code = "saas.plat.user.add")
@ApiOperation("新增")
@PostMapping("add")
public ApiResponseEntity<?> add(@Validated @RequestBody PlatUserDTOVO dto){
platUserService.add(dto);
return ApiResponseUtils.success();
}
@Action(module = "saas端-租户账号", name = "编辑", code = "saas.plat.user.edit")
@ApiOperation("编辑")
@PostMapping("edit")
public ApiResponseEntity<?> edit(@Validated @RequestBody PlatUserDTOVO dto){
platUserService.edit(dto);
return ApiResponseUtils.success();
}
@Action(module = "saas端-租户账号", name = "改变密码", code = "saas.plat.user.changePassword")
@ApiOperation("改变密码")
@PostMapping("changePasword")
public ApiResponseEntity<?> changePassword(@RequestBody PlatUserDTOVO dto){
platUserService.changePassword(dto);
return ApiResponseUtils.success();
}
//@Action(module = "saas端-租户账号", name = "详情", code = "saas.plat.user.view")
@ApiOperation("详情")
@PostMapping("view")
public ApiResponseEntity<PlatUserDTOVO> view(@RequestBody BaseIdDTO dto){
return ApiResponseUtils.success(platUserService.view(dto.getId()));
}
@Action(module = "saas端-租户账号", name = "删除", code = "saas.plat.user.del")
@ApiOperation("删除")
@PostMapping("del")
public ApiResponseEntity<?> del(@RequestBody BaseIdDTO dto){
platUserService.del(dto.getId());
return ApiResponseUtils.success();
}
@Action(module = "saas端-租户账号", name = "改变状态", code = "saas.plat.user.changeStatus")
@ApiOperation("改变状态")
@PostMapping("changeStatus")
public ApiResponseEntity<?> changeStatus(@RequestBody StatusDTO dto){
platUserService.changeStatus(dto);
return ApiResponseUtils.success();
}
}
...@@ -13,9 +13,12 @@ import java.io.Serializable; ...@@ -13,9 +13,12 @@ import java.io.Serializable;
public class BaseOrgDTO extends BaseTenantDTO implements Serializable { public class BaseOrgDTO extends BaseTenantDTO implements Serializable {
@ApiModelProperty(value = "部门树 id", required = true) @ApiModelProperty(value = "部门树 id", required = true)
private String deptId; private String orgId;
@ApiModelProperty(value = "部门树冗余 id") @ApiModelProperty(value = "部门树冗余 id")
private String path; private String path;
@ApiModelProperty(value = "父级id")
private String parentId;
} }
...@@ -48,7 +48,7 @@ public class BaseEntity implements Serializable { ...@@ -48,7 +48,7 @@ public class BaseEntity implements Serializable {
private LocalDateTime updateDate; private LocalDateTime updateDate;
@TableLogic @TableLogic(value = "0",delval = "1")
@TableField(select = false, fill = FieldFill.INSERT) @TableField(select = false, fill = FieldFill.INSERT)
private String delFlag; private String delFlag;
......
...@@ -7,6 +7,7 @@ import com.makeit.exception.BusinessException; ...@@ -7,6 +7,7 @@ import com.makeit.exception.BusinessException;
import com.makeit.global.annotation.Action; import com.makeit.global.annotation.Action;
import com.makeit.module.admin.vo.plat.PlatUserRoleMenuRedisVO; import com.makeit.module.admin.vo.plat.PlatUserRoleMenuRedisVO;
import com.makeit.utils.user.plat.PlatUserUtil; import com.makeit.utils.user.plat.PlatUserUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
...@@ -38,16 +39,18 @@ public class PlatAuthorizationInterceptor implements HandlerInterceptor { ...@@ -38,16 +39,18 @@ public class PlatAuthorizationInterceptor implements HandlerInterceptor {
} }
PlatUserRoleMenuRedisVO userLoginVO = PlatUserUtil.getTntUserRoleMenu(); PlatUserRoleMenuRedisVO userLoginVO = PlatUserUtil.getTntUserRoleMenu();
if (userLoginVO == null) {
// if (IsFactoryAccountEnum.YES.getValue().equals(userLoginVO.getIsFactory())) { return true;
// return true; }
// }
if (PlatUserUtil.isSuper()) { if (PlatUserUtil.isSuper()) {
return true; return true;
} }
Set<String> codeSet = new HashSet<>(userLoginVO.getButtonCodeList()); Set<String> codeSet = new HashSet<>();
if(userLoginVO!= null && CollectionUtils.isNotEmpty(userLoginVO.getButtonCodeList())) {
codeSet = new HashSet<>(userLoginVO.getButtonCodeList());
}
for (String e : annotation.code()) { for (String e : annotation.code()) {
if (codeSet.contains(e)) { if (codeSet.contains(e)) {
......
...@@ -7,6 +7,7 @@ import com.makeit.exception.BusinessException; ...@@ -7,6 +7,7 @@ import com.makeit.exception.BusinessException;
import com.makeit.global.annotation.Action; import com.makeit.global.annotation.Action;
import com.makeit.module.admin.vo.saas.SaasUserRoleMenuRedisVO; import com.makeit.module.admin.vo.saas.SaasUserRoleMenuRedisVO;
import com.makeit.utils.user.saas.SaasUserUtil; import com.makeit.utils.user.saas.SaasUserUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
...@@ -44,7 +45,11 @@ public class SaasAuthorizationInterceptor implements HandlerInterceptor { ...@@ -44,7 +45,11 @@ public class SaasAuthorizationInterceptor implements HandlerInterceptor {
return true; return true;
} }
Set<String> codeSet = new HashSet<>(userLoginVO.getButtonCodeList()); Set<String> codeSet = new HashSet<>();
if(userLoginVO!= null && CollectionUtils.isNotEmpty(userLoginVO.getButtonCodeList())) {
codeSet = new HashSet<>(userLoginVO.getButtonCodeList());
}
for (String e : annotation.code()) { for (String e : annotation.code()) {
if (codeSet.contains(e)) { if (codeSet.contains(e)) {
return true; return true;
......
...@@ -24,9 +24,6 @@ public class PlatMenuDTOVO extends BaseIdDTO { ...@@ -24,9 +24,6 @@ public class PlatMenuDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private String name; private String name;
//@ApiModelProperty(value = "模块+类名+方法")
//private String code;
@ApiModelProperty(value = "图标") @ApiModelProperty(value = "图标")
private String icon; private String icon;
...@@ -41,7 +38,7 @@ public class PlatMenuDTOVO extends BaseIdDTO { ...@@ -41,7 +38,7 @@ public class PlatMenuDTOVO extends BaseIdDTO {
@NotBlank(message = "类型不能为空") @NotBlank(message = "类型不能为空")
@Pattern(regexp = "1|2|3", message = "类型可选值 1目录 2菜单 3按钮") @Pattern(regexp = "1|2|3", message = "类型可选值 1目录 2菜单 3按钮")
@ApiModelProperty(value = "类型 1目录 2菜单 3按钮") @ApiModelProperty(value = "类型 1目录 2菜单 3按钮")
private String category; private String resourceType;
@ApiModelProperty(value = "前端路径") @ApiModelProperty(value = "前端路径")
private String requestPath; private String requestPath;
...@@ -60,7 +57,7 @@ public class PlatMenuDTOVO extends BaseIdDTO { ...@@ -60,7 +57,7 @@ public class PlatMenuDTOVO extends BaseIdDTO {
*/ */
@ApiModelProperty(value = "创建时间", required = false) @ApiModelProperty(value = "创建时间", required = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdAt; private LocalDateTime createDate;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "子集") @ApiModelProperty(value = "子集")
......
package com.makeit.module.admin.dto.plat; package com.makeit.module.admin.dto.plat;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.makeit.common.dto.BaseOrgDTO; import com.makeit.common.dto.BaseOrgDTO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ApiModel("租户端角色 列表 新增 编辑 详情") @ApiModel("租户端角色 列表 新增 编辑 详情")
...@@ -23,33 +20,9 @@ public class PlatRoleDTOVO extends BaseOrgDTO implements Serializable { ...@@ -23,33 +20,9 @@ public class PlatRoleDTOVO extends BaseOrgDTO implements Serializable {
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private String name; private String name;
@NotBlank(message = "编码不能为空")
@Size(max = 64, message = "编码最长为64字符")
@Pattern(regexp = "[a-zA-Z0-9]{0,64}", message = "编码只能为大小写英文字符和数字")
@ApiModelProperty(value = "编码")
private String code;
@NotBlank(message = "状态不能为空")
@Pattern(regexp = "0|1", message = "状态可选值为 0禁用 1启用")
@ApiModelProperty(value = "状态 0禁用 1启用")
private String status;
@Size(max = 512, message = "备注最长512字符")
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "是否管理员角色 0否 1是") @ApiModelProperty(value = "是否管理员角色 0否 1是")
private String isAdmin; private String isAdmin;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", required = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdAt;
@ApiModelProperty(value = "关键词 查询用")
private String keyword;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "部门名称") @ApiModelProperty(value = "部门名称")
......
...@@ -18,10 +18,10 @@ import java.util.List; ...@@ -18,10 +18,10 @@ import java.util.List;
@Data @Data
public class PlatUserDTOVO extends BaseIdDTO { public class PlatUserDTOVO extends BaseIdDTO {
// @NotBlank(message = "用户名不能为空") @NotBlank(message = "用户名不能为空")
// @Size(max = 64, message = "用户名最长为64字符") @Size(max = 64, message = "用户名最长为64字符")
// @ApiModelProperty(value = "用户名") @ApiModelProperty(value = "用户名")
// private String username; private String username;
@NotBlank(message = "名称不能为空") @NotBlank(message = "名称不能为空")
@Size(max = 64, message = "名称最长为64字符") @Size(max = 64, message = "名称最长为64字符")
...@@ -29,20 +29,11 @@ public class PlatUserDTOVO extends BaseIdDTO { ...@@ -29,20 +29,11 @@ public class PlatUserDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "账户") @ApiModelProperty(value = "账户")
private String account; private String account;
//@NotBlank(message = "密码不能为空")
@Size(max = 32, message = "密码最长为64字符") @Size(max = 32, message = "密码最长为64字符")
@ApiModelProperty(value = "密码") @ApiModelProperty(value = "密码")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password; private String password;
// @ApiModelProperty(value = "姓名")
// private String name;
@NotBlank(message = "姓名不能为空")
@Size(max = 64, message = "用户名最长为64字符")
@ApiModelProperty(value = "姓名")
private String name;
@NotBlank(message = "手机号不能为空") @NotBlank(message = "手机号不能为空")
@Pattern(regexp = "1[0-9]{10}", message = "手机号格式不对") @Pattern(regexp = "1[0-9]{10}", message = "手机号格式不对")
//@Size(max = 11, message = "手机号最长为64字符") //@Size(max = 11, message = "手机号最长为64字符")
...@@ -63,7 +54,7 @@ public class PlatUserDTOVO extends BaseIdDTO { ...@@ -63,7 +54,7 @@ public class PlatUserDTOVO extends BaseIdDTO {
*/ */
@ApiModelProperty(value = "创建时间", required = false) @ApiModelProperty(value = "创建时间", required = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdAt; private LocalDateTime createDate;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "角色集合") @ApiModelProperty(value = "角色集合")
......
...@@ -18,10 +18,7 @@ public class PlatUserQueryDTO extends BaseOrgDTO { ...@@ -18,10 +18,7 @@ public class PlatUserQueryDTO extends BaseOrgDTO {
private String account; private String account;
@ApiModelProperty(value = "姓名") @ApiModelProperty(value = "姓名")
private String name; private String username;
// @ApiModelProperty(value = "姓名")
// private String username;
@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
private String mobile; private String mobile;
...@@ -63,9 +60,6 @@ public class PlatUserQueryDTO extends BaseOrgDTO { ...@@ -63,9 +60,6 @@ public class PlatUserQueryDTO extends BaseOrgDTO {
private List<String> roleIdList; private List<String> roleIdList;
@ApiModelProperty(value = "部门id集合") @ApiModelProperty(value = "部门id集合")
private List<String> deptIdList; private List<String> orgIdList;
@ApiModelProperty("分管部门树id")
private String chargeDeptId;
} }
...@@ -21,12 +21,6 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable { ...@@ -21,12 +21,6 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable {
@ApiModelProperty(value = "状态 0停用 1启用") @ApiModelProperty(value = "状态 0停用 1启用")
private String status; private String status;
// @ApiModelProperty(value = "开始时间")
// private LocalDateTime startTime;
//
// @ApiModelProperty(value = "结束时间")
// private LocalDateTime endTime;
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private LocalDate startTime; private LocalDate startTime;
...@@ -47,13 +41,13 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable { ...@@ -47,13 +41,13 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable {
*/ */
@ApiModelProperty(value = "创建时间",required = false) @ApiModelProperty(value = "创建时间",required = false)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdAt; private LocalDateTime createDate;
/** /**
* 更新时间 * 更新时间
*/ */
@ApiModelProperty(value = "更新时间",required = false) @ApiModelProperty(value = "更新时间",required = false)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime updatedAt; private LocalDateTime updateDate;
} }
...@@ -18,7 +18,7 @@ public class PlatUserLoginVO implements Serializable { ...@@ -18,7 +18,7 @@ public class PlatUserLoginVO implements Serializable {
private String account; private String account;
@ApiModelProperty("姓名") @ApiModelProperty("姓名")
private String name; private String username;
// @ApiModelProperty("用户名") // @ApiModelProperty("用户名")
// private String username; // private String username;
...@@ -30,7 +30,7 @@ public class PlatUserLoginVO implements Serializable { ...@@ -30,7 +30,7 @@ public class PlatUserLoginVO implements Serializable {
private String isTenant; private String isTenant;
@ApiModelProperty(value = "部门树id") @ApiModelProperty(value = "部门树id")
private String deptId; private String orgId;
@ApiModelProperty("token") @ApiModelProperty("token")
private String token; private String token;
......
...@@ -297,7 +297,7 @@ public class TokenUtil { ...@@ -297,7 +297,7 @@ public class TokenUtil {
public static SaasUserRoleMenuRedisVO getPlatUserRoleMenu() { public static SaasUserRoleMenuRedisVO getPlatUserRoleMenu() {
String token = RequestUtil.getHeader(HeaderConst.PLATFORM_TOKEN); String token = RequestUtil.getHeader(HeaderConst.PLATFORM_TOKEN);
if (StringUtils.isNotBlank(token)) { if (StringUtils.isNotBlank(token)) {
SaasUserRoleMenuRedisVO userLoginVO = RedisUtil.get(RedisConst.PLATFORM_TOKEN_ROLE_MENU_PREFIX + token); SaasUserRoleMenuRedisVO userLoginVO = RedisTemplateUtil.get(RedisConst.PLATFORM_TOKEN_ROLE_MENU_PREFIX + token,SaasUserRoleMenuRedisVO.class);
return userLoginVO; return userLoginVO;
} }
return null; return null;
......
...@@ -16,7 +16,7 @@ public class CommonUserUtil { ...@@ -16,7 +16,7 @@ public class CommonUserUtil {
PlatUserLoginVO sysUserLoginVO = ThreadLocalUserUtil.getTntUser(); PlatUserLoginVO sysUserLoginVO = ThreadLocalUserUtil.getTntUser();
if (sysUserLoginVO != null) { if (sysUserLoginVO != null) {
return new CommonUserVO(sysUserLoginVO.getId(), sysUserLoginVO.getName()); return new CommonUserVO(sysUserLoginVO.getId(), sysUserLoginVO.getUsername());
} }
WechatUserInfo wechatUserInfo = ThreadLocalUserUtil.getWechatUser(); WechatUserInfo wechatUserInfo = ThreadLocalUserUtil.getWechatUser();
......
...@@ -14,7 +14,7 @@ public class PlatUserVO implements Serializable { ...@@ -14,7 +14,7 @@ public class PlatUserVO implements Serializable {
private String isTenant; private String isTenant;
private String deptId; private String orgId;
public PlatUserVO() { public PlatUserVO() {
} }
......
...@@ -30,7 +30,7 @@ public class WechatUserInfo implements Serializable { ...@@ -30,7 +30,7 @@ public class WechatUserInfo implements Serializable {
private String tenantId; private String tenantId;
private String isFactory; private String isFactory;
private String deptId; private String orgId;
private String account; private String account;
......
...@@ -8,7 +8,7 @@ import com.makeit.common.response.ApiResponseEntity; ...@@ -8,7 +8,7 @@ import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.PlatElderChildrenInfoEditVO; import com.makeit.dto.platform.elder.PlatElderChildrenInfoEditVO;
import com.makeit.dto.platform.elder.PlatElderChildrenInfoQueryDTO; import com.makeit.dto.platform.elder.PlatElderChildrenInfoQueryDTO;
import com.makeit.server.platform.elder.PlatElderChildrenInfoService; import com.makeit.service.platform.elder.PlatElderChildrenInfoService;
import com.makeit.vo.platform.elder.PlatElderChildrenInfoListVO; import com.makeit.vo.platform.elder.PlatElderChildrenInfoListVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
...@@ -8,7 +8,7 @@ import com.makeit.common.page.PageVO; ...@@ -8,7 +8,7 @@ import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.*; import com.makeit.dto.platform.elder.*;
import com.makeit.server.platform.elder.PlatElderService; import com.makeit.service.platform.elder.PlatElderService;
import com.makeit.vo.platform.elder.PlatElderListVO; import com.makeit.vo.platform.elder.PlatElderListVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
...@@ -7,7 +7,7 @@ import com.makeit.common.page.PageVO; ...@@ -7,7 +7,7 @@ import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.PlatElderPhysicalReportDTOVO; import com.makeit.dto.platform.elder.PlatElderPhysicalReportDTOVO;
import com.makeit.server.platform.elder.PlatElderPhysicalReportService; import com.makeit.service.platform.elder.PlatElderPhysicalReportService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
...@@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
*/ */
@Api(tags = "长者报告") @Api(tags = "长者报告")
@RestController @RestController
@RequestMapping("/plat/elder/realTime") @RequestMapping("/plat/elder/report")
public class PlatElderReportController { public class PlatElderReportController {
@ApiOperation("现在状态") @ApiOperation("现在状态")
......
...@@ -3,7 +3,7 @@ package com.makeit.module.controller.wechat.elder; ...@@ -3,7 +3,7 @@ package com.makeit.module.controller.wechat.elder;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.server.platform.elder.PlatElderChildrenInfoService; import com.makeit.service.platform.elder.PlatElderChildrenInfoService;
import com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO; import com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
//package com.makeit.dto.platform.auth;
//
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//
//@ApiModel("租户端部门 查询")
//@Data
//public class TntDeptQueryDTO extends BaseDeptDTO {
//
// @ApiModelProperty(value = "名称")
// private String name;
//
// @ApiModelProperty(value = "状态 0禁用 1启用")
// private String status;
//
// @ApiModelProperty(value = "是否从酒店开始 0否 1是")
// private String fromHotel;
//
//}
package com.makeit.dto.platform.auth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.module.admin.dto.plat.PlatRoleDTOVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
import java.util.List;
@ApiModel("租户账号 新增 编辑 详情")
@Data
public class PlatPersonDTOVO extends BaseIdDTO {
// @NotBlank(message = "用户名不能为空")
// @Size(max = 64, message = "用户名最长为64字符")
// @ApiModelProperty(value = "用户名")
// private String username;
@NotBlank(message = "名称不能为空")
@Size(max = 64, message = "名称最长为64字符")
@Pattern(regexp = "[a-zA-Z0-9]{0,64}", message = "工号只能为大小写英文字符和数字")
@ApiModelProperty(value = "账户")
private String account;
//@NotBlank(message = "密码不能为空")
@Size(max = 32, message = "密码最长为64字符")
@ApiModelProperty(value = "密码")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
// @ApiModelProperty(value = "姓名")
// private String name;
@NotBlank(message = "姓名不能为空")
@Size(max = 64, message = "用户名最长为64字符")
@ApiModelProperty(value = "姓名")
private String name;
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = "1[0-9]{10}", message = "手机号格式不对")
//@Size(max = 11, message = "手机号最长为64字符")
@ApiModelProperty(value = "手机号")
private String mobile;
@NotBlank(message = "状态不能为空")
@Pattern(regexp = "0|1", message = "状态可选值为 0禁用 1启用")
@ApiModelProperty(value = "状态 0禁用 1启用")
private String status;
@NotBlank(message = "部门不能为空")
@ApiModelProperty(value = "部门树id")
private String orgId;
@NotBlank(message = "性别不能为空")
@Pattern(regexp = "1|2", message = "性别可选值为 1男 2女")
@ApiModelProperty(value = "性别 1男 2女")
private String sex;
@ApiModelProperty(value = "职位")
private String post;
//@NotNull(message = "职级不能为空")
@ApiModelProperty(value = "职级")
private Integer postLevel;
@ApiModelProperty(value = "职级描述")
private String postLevelDesc;
@NotBlank(message = "类型不能为空")
@Pattern(regexp = "1|2", message = "类型可选值为 1默认 2自建")
@ApiModelProperty(value = "类型 1默认 2自建")
private String type;
@ApiModelProperty(value = "企业微信id")
private String wechatId;
@Size(max = 512, message = "备注最长512字符")
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "在职状态 0离职 1在职")
private String empStatus;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", required = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDate;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间",required = false)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime updatedAt;
@ApiModelProperty(value = "部门名称")
private String deptName;
@ApiModelProperty(value = "头像")
private String avatar;
@TableField(exist = false)
@ApiModelProperty(value = "角色集合")
private List<PlatRoleDTOVO> roleList;
@ApiModelProperty("是否常用 0否 1是")
private String isFrequent;
}
package com.makeit.dto.platform.auth;
import com.makeit.common.dto.BaseTenantDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("租户端角色分配管理权限")
public class PlatRoleDeptDTOVO extends BaseTenantDTO {
@ApiModelProperty(value = "角色id")
private String roleId;
// @ApiModelProperty(value = "部门树id")
// private String deptId;
//
// @ApiModelProperty(value = "部门树冗余id")
// private String hotelId;
@ApiModelProperty(value = "部门树id集合")
private List<String> orgIdList;
}
package com.makeit.dto.platform.auth;
import com.makeit.common.dto.BaseTenantDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel("租户端角色分配菜单")
@Data
public class PlatRoleMenuDTO extends BaseTenantDTO implements Serializable {
// @ApiModelProperty(value = "菜单id")
// private String menuId;
@ApiModelProperty(value = "角色id")
private String roleId;
@ApiModelProperty(value = "菜单集合id")
private List<String> menuIdList;
}
package com.makeit.dto.platform.auth;
import lombok.Data;
import lombok.experimental.FieldNameConstants;
@FieldNameConstants
@Data
public class PlatUserCountVO {
//private String id;
private String orgId;
private Integer count;
}
package com.makeit.dto.platform.auth;
import com.makeit.common.dto.BaseTenantDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel("租户端角色分配用户")
@Data
public class PlatUserRoleDTO extends BaseTenantDTO implements Serializable {
@ApiModelProperty(value = "用户id")
private String userId;
@ApiModelProperty(value = "角色id")
private String roleId;
}
//package com.makeit.dto.platform.auth;
//
//import lombok.Data;
//
//@Data
//public class TntUserRoleImportDTO {
//
// @Excel(name = "用户工号")
// private String userAccount;
//
// @Excel(name = "角色名称")
// private String roleName;
//
//}
...@@ -6,6 +6,7 @@ import com.makeit.common.entity.BaseBusEntity; ...@@ -6,6 +6,7 @@ import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -17,14 +18,14 @@ import java.util.List; ...@@ -17,14 +18,14 @@ import java.util.List;
public class PlatOrg extends BaseBusEntity { public class PlatOrg extends BaseBusEntity {
/** /**
* 租户id * 父级id
*/ */
private String tenantId; private String parentId;
/** /**
* 父级id * 全路径id
*/ */
private String parentId; private String path;
/** /**
* 组织名称 * 组织名称
...@@ -53,7 +54,7 @@ public class PlatOrg extends BaseBusEntity { ...@@ -53,7 +54,7 @@ public class PlatOrg extends BaseBusEntity {
@ApiModelProperty(value = "子集") @ApiModelProperty(value = "子集")
@TableField(exist = false) @TableField(exist = false)
private List<PlatOrg> children; private List<PlatOrg> children = new ArrayList<>();
@TableField(exist = false) @TableField(exist = false)
private PlatOrg parent; private PlatOrg parent;
......
...@@ -20,7 +20,7 @@ public class PlatRole extends BaseBusEntity { ...@@ -20,7 +20,7 @@ public class PlatRole extends BaseBusEntity {
/** /**
* 名称 * 名称
*/ */
private String roleName; private String name;
/** /**
* 备注 * 备注
...@@ -31,4 +31,6 @@ public class PlatRole extends BaseBusEntity { ...@@ -31,4 +31,6 @@ public class PlatRole extends BaseBusEntity {
* 数据权限 子公司id 上级可看到下级 * 数据权限 子公司id 上级可看到下级
*/ */
private String dataScope; private String dataScope;
private String orgId;
} }
\ No newline at end of file
package com.makeit.entity.platform.auth; package com.makeit.entity.platform.auth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
...@@ -32,4 +33,7 @@ public class PlatRoleMenu extends BaseBusEntity { ...@@ -32,4 +33,7 @@ public class PlatRoleMenu extends BaseBusEntity {
* 菜单id * 菜单id
*/ */
private String menuId; private String menuId;
@TableField(exist = false)
private String menuName;
} }
\ No newline at end of file
package com.makeit.entity.saas.analysis;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 呼吸心率慢性病模型
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasDiseaseModel对象", description="呼吸心率慢性病模型")
public class SaasDiseaseModel extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "呼吸暂停 X(小时)呼吸暂停")
private String apneaTime;
@ApiModelProperty(value = "呼吸暂停 X(小时)呼吸暂停条件")
private String apneaComparison;
@ApiModelProperty(value = "呼吸暂停 X(小时)呼吸暂停多少X(次数)")
private String apneaThreshold;
@ApiModelProperty(value = "呼吸过速 X(小时)呼吸过速")
private String tachypneaTime;
@ApiModelProperty(value = "呼吸过速 X(小时)呼吸过速条件")
private String tachypneaComparison;
@ApiModelProperty(value = "呼吸过速 X(小时)呼吸过速X(次数)")
private String tachypneaThreshold;
@ApiModelProperty(value = "呼吸过缓 X(小时)呼吸过缓")
private String bradypneaTime;
@ApiModelProperty(value = "呼吸过缓 X(小时)呼吸过缓条件")
private String bradypneaComparison;
@ApiModelProperty(value = "呼吸过缓 X(小时)呼吸过缓X(次数)")
private String bradypneaThreshold;
@ApiModelProperty(value = "心率过缓 X(小时)心率过缓")
private String bradycardiaTime;
@ApiModelProperty(value = "心率过缓 X(小时)心率过缓条件")
private String bradycardiaComparison;
@ApiModelProperty(value = "心率过缓 X(小时)心率过缓X(次数)")
private String bradycardiaThreshold;
@ApiModelProperty(value = "心率过速 X(小时)心率过速")
private String tachycardiaTime;
@ApiModelProperty(value = "心率过速 X(小时)心率过速条件")
private String tachycardiaComparison;
@ApiModelProperty(value = "心率过速 X(小时)心率过速X(次数)")
private String tachycardiaThreshold;
}
package com.makeit.entity.saas.analysis;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 呼吸心率慢性病模型评估结果
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasDiseaseModelEvaluateResult对象", description="呼吸心率慢性病模型评估结果")
public class SaasDiseaseModelEvaluateResult extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "评估内容 json字符串 {\"number:\"1\",condtion:\"\",\"score\":\"\",evaluate:\"\"\"}")
private String resultContent;
}
package com.makeit.entity.saas.analysis;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 睡眠质量分析模型
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasSleepAnalysisModel对象", description="睡眠质量分析模型")
public class SaasSleepAnalysisModel extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "体动次数")
private String actionComparison;
@ApiModelProperty(value = "体动阈值记录 默认 1")
private String actionThreshold;
@ApiModelProperty(value = "翻身次数")
private String turnedComparison;
@ApiModelProperty(value = "翻身次数阈值 默认1")
private String turnedThreshold;
@ApiModelProperty(value = "呼吸率阈值 起始")
private String breatheThresholdMin;
@ApiModelProperty(value = "呼吸率阈值 结束")
private String breatheThresholdMax;
@ApiModelProperty(value = "呼吸持续时间")
private String breatheDuration;
@ApiModelProperty(value = "心率阈值 起始")
private String heartThresholdMin;
@ApiModelProperty(value = "心率阈值 结束")
private String heartThresholdMax;
@ApiModelProperty(value = "心率阈值持续时间")
private String heartDuration;
@ApiModelProperty(value = "起床时间:人离床条件")
@TableField("riseLeave_comparison")
private String riseleaveComparison;
@ApiModelProperty(value = "起床时间 人离床(小时)")
private String riseLeaveThreshold;
@ApiModelProperty(value = "起床时间 每分钟大于30秒体动值条件")
@TableField("riseAction_comparison")
private String riseactionComparison;
@ApiModelProperty(value = "起床时间 每分钟大于30秒体动值")
private String riseActionThreshold;
@ApiModelProperty(value = "起床时间 每分钟大于30秒体动值 持续时间")
private String riseActionDuration;
@ApiModelProperty(value = "起床时间 多久(小时)内无再次入睡")
private String riseRepeatThreshold;
@ApiModelProperty(value = "入睡时间:体动值条件")
private String sleepTimeActionComparison;
@ApiModelProperty(value = "入睡时间:体动值")
private String sleepTimeActionThreshold;
@ApiModelProperty(value = "入睡时间:体动值 持续时间")
private String sleepTimeActionDuration;
@ApiModelProperty(value = "每分钟体动值条件")
private String awakeComparison;
@ApiModelProperty(value = "每分钟体动值")
private String awakeThreshold;
@ApiModelProperty(value = "深度睡眠和浅度睡眠条件")
private String napComparison;
@ApiModelProperty(value = "深度睡眠和浅度睡眠(小时)")
private String napThreshold;
@ApiModelProperty(value = "深度睡眠和浅度睡眠 持续时间")
private String napDuration;
@ApiModelProperty(value = "深度睡眠和浅度睡眠条件")
private String sleepComparison;
@ApiModelProperty(value = "深度睡眠和浅度睡眠 (小时)")
private String sleepThreshold;
@ApiModelProperty(value = "深度睡眠:体动和翻身次数每X(分钟)")
private String sleepDeepActionTimeBegin;
@ApiModelProperty(value = "深度睡眠:体动和翻身次数每X(分钟)条件")
private String sleepDeepActionComparison;
@ApiModelProperty(value = "深度睡眠:在(分钟内)体动和翻身次数")
private String sleepDeepActionThreshold;
@ApiModelProperty(value = "深度睡眠:呼吸率 起始值")
private String sleepDeepBreatheMin;
@ApiModelProperty(value = "深度睡眠:呼吸率 最大值")
private String sleepDeepBreatheMax;
@ApiModelProperty(value = "中度睡眠: 体动和翻身次数每X(分钟)")
private String sleepModerateActionTimeBegin;
@ApiModelProperty(value = "中度睡眠: 体动和翻身次数每X(分钟)条件")
private String sleepModerateActionComparison;
@ApiModelProperty(value = "中度睡眠: 体动和翻身次数每X(分钟)次数")
private String sleepModerateActionThreshold;
}
package com.makeit.entity.saas.analysis;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 睡眠质量分析模型评估结果
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasSleepAnalysisModelEvaluateResult对象", description="睡眠质量分析模型评估结果")
public class SaasSleepAnalysisModelEvaluateResult extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "评估结果 json字符串 {\"number:\"1\",socreRange:\"\",\"result\":\"\",evaluate:\"\"\"}")
private String resultContent;
}
package com.makeit.entity.saas.analysis;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 睡眠质量分析模型评估标准
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasSleepAnalysisModelEvaluateStandard对象", description="睡眠质量分析模型评估标准")
public class SaasSleepAnalysisModelEvaluateStandard extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "深度睡眠评估标准 json数组 [{hour:\"\",score:\"\"},{}]")
private String sleepDeepConfig;
@ApiModelProperty(value = "浅度睡眠评估标准 json字符串")
private String sleepLightnessConfig;
@ApiModelProperty(value = "清醒评估标准 json字符串")
private String soberConfig;
@ApiModelProperty(value = "睡眠时长 json字符串")
private String sleepTime;
}
package com.makeit.enums.report;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum BreatheTypeEnum {
APNEA("apnea","呼吸暂停"),
TACHYPNEA("tachypnea","呼吸暂停"),
BRADYPNEA("bradypnea","呼吸过缓");
private String code;
private String value;
}
package com.makeit.enums.report;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum HeartRateTypeEnum {
BRADYCARDIA("bradycardia","心率过缓"),
TACHYCARDIA("tachycardia","呼吸过速");
private String code;
private String value;
}
package com.makeit.enums.report;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum SleepTypeEnum {
SLEEP_DEEP("sleepDeep","深度睡眠"),
SLEEP_MODERATE("sleepModerate","中度睡眠"),
SLEEP_LIGHTNESS("sleepLightness","浅度睡眠"),
SOBER("sober","清醒");
private String code;
private String value;
}
package com.makeit.mapper.saas.analysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.saas.analysis.SaasDiseaseModelEvaluateResult;
/**
* <p>
* 呼吸心率慢性病模型评估结果 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasDiseaseModelEvaluateResultMapper extends BaseMapper<SaasDiseaseModelEvaluateResult> {
}
package com.makeit.mapper.saas.analysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.saas.analysis.SaasDiseaseModel;
/**
* <p>
* 呼吸心率慢性病模型 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasDiseaseModelMapper extends BaseMapper<SaasDiseaseModel> {
}
package com.makeit.mapper.saas.analysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModelEvaluateResult;
/**
* <p>
* 睡眠质量分析模型评估结果 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasSleepAnalysisModelEvaluateResultMapper extends BaseMapper<SaasSleepAnalysisModelEvaluateResult> {
}
package com.makeit.mapper.saas.analysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModelEvaluateStandard;
/**
* <p>
* 睡眠质量分析模型评估标准 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasSleepAnalysisModelEvaluateStandardMapper extends BaseMapper<SaasSleepAnalysisModelEvaluateStandard> {
}
package com.makeit.mapper.saas.analysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
/**
* <p>
* 睡眠质量分析模型 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasSleepAnalysisModelMapper extends BaseMapper<SaasSleepAnalysisModel> {
}
package com.makeit.server.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.auth.PlatRole;
/**
* @author lixl
* @description 针对表【plat_role(租户端角色)】的数据库操作Service
* @createDate 2023-08-30 20:10:25
*/
public interface PlatRoleService extends IService<PlatRole> {
}
package com.makeit.server.platform.auth.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.auth.PlatRole;
import com.makeit.mapper.platform.auth.PlatRoleMapper;
import com.makeit.server.platform.auth.PlatRoleService;
import org.springframework.stereotype.Service;
/**
* @author lixl
* @description 针对表【plat_role(租户端角色)】的数据库操作Service实现
* @createDate 2023-08-30 20:10:25
*/
@Service
public class PlatRoleServiceImpl extends ServiceImpl<PlatRoleMapper, PlatRole>
implements PlatRoleService{
}
package com.makeit.server.platform.auth; package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.makeit.entity.platform.auth.PlatOrg; import com.makeit.entity.platform.auth.PlatOrg;
...@@ -18,16 +18,16 @@ import java.util.function.Function; ...@@ -18,16 +18,16 @@ import java.util.function.Function;
public class DeptUtil { public class DeptUtil {
private static PlatUserService tntUserService; private static PlatUserService platUserService;
private static PlatOrgService tntDeptService; private static PlatOrgService platOrgService;
public static PlatOrg getById(String deptId) { public static PlatOrg getById(String deptId) {
return tntDeptService.getById(deptId); return platOrgService.getById(deptId);
} }
public static List<PlatOrg> getHotelList() { public static List<PlatOrg> getHotelList() {
List<PlatOrg> deptList = tntDeptService.list(new QueryWrapper<PlatOrg>().lambda() List<PlatOrg> deptList = platOrgService.list(new QueryWrapper<PlatOrg>().lambda()
//.eq(PlatOrg::getTag, DeptEnum.DeptTagEnum.HOTEL.getValue()) //.eq(PlatOrg::getTag, DeptEnum.DeptTagEnum.HOTEL.getValue())
//.eq(TntDept::getStatus, CommonEnum.YES.getValue()) //.eq(TntDept::getStatus, CommonEnum.YES.getValue())
); );
...@@ -147,7 +147,7 @@ public class DeptUtil { ...@@ -147,7 +147,7 @@ public class DeptUtil {
//不涉及角色 //不涉及角色
public static List<String> findSelfAndAllChildrenIdList(String deptId) { public static List<String> findSelfAndAllChildrenIdList(String deptId) {
List<String> idList = StreamUtil.map(tntDeptService.findSelfAndAllChildren(deptId), PlatOrg::getId); List<String> idList = StreamUtil.map(platOrgService.findSelfAndAllChildren(deptId), PlatOrg::getId);
idList.add(-1 + ""); idList.add(-1 + "");
return idList; return idList;
} }
...@@ -178,7 +178,7 @@ public class DeptUtil { ...@@ -178,7 +178,7 @@ public class DeptUtil {
// } // }
public static <T> void join(List<T> list, Function<T, String> getNid, BiConsumer<T, PlatOrg> consumer) { public static <T> void join(List<T> list, Function<T, String> getNid, BiConsumer<T, PlatOrg> consumer) {
JoinUtil.join(list, tntDeptService, null, getNid, PlatOrg::getId, consumer); JoinUtil.join(list, platOrgService, null, getNid, PlatOrg::getId, consumer);
} }
public static String getDeptName(List<String> applyDeptIds, Map<String, String> deptMap) { public static String getDeptName(List<String> applyDeptIds, Map<String, String> deptMap) {
......
package com.makeit.server.platform.auth; package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.entity.platform.auth.PlatOrg; import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.vo.platform.auth.PlatOrgQueryDTO; import com.makeit.vo.platform.auth.PlatOrgQueryDTO;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* @author lixl * @author lixl
...@@ -60,7 +63,7 @@ public interface PlatOrgService extends IService<PlatOrg> { ...@@ -60,7 +63,7 @@ public interface PlatOrgService extends IService<PlatOrg> {
Comparator<PlatOrg> getComparator(); Comparator<PlatOrg> getComparator();
void add(PlatOrg dto); String add(PlatOrg dto);
void edit(PlatOrg dto); void edit(PlatOrg dto);
...@@ -80,4 +83,27 @@ public interface PlatOrgService extends IService<PlatOrg> { ...@@ -80,4 +83,27 @@ public interface PlatOrgService extends IService<PlatOrg> {
List<PlatOrg> getSelfAndAllParent(String deptId); List<PlatOrg> getSelfAndAllParent(String deptId);
List<PlatOrg> getDeptSelfAndChildren(String deptId); List<PlatOrg> getDeptSelfAndChildren(String deptId);
/**
* 获取所属组织
* 当前账号所属角色的权限级别,可查看某一级或者某一级及其下级
* @return
*/
List<PlatOrg> belongToOrgTree();
/**
* 启用|禁用
* @param param
*/
void enable(PlatOrg param);
/**
* 获取用户权限范围
*/
Set<String> getOrgIdListByUserId(String userId);
PageVO<PlatOrg> page(PageReqDTO<PlatOrgQueryDTO> pageReqDTO);
List<PlatOrg> subOrgList(PlatOrgQueryDTO platOrgQueryDTO);
} }
package com.makeit.server.platform.auth; package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
......
package com.makeit.server.platform.auth; package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.auth.PlatRoleOrg; import com.makeit.entity.platform.auth.PlatRoleOrg;
import java.util.Collection;
import java.util.List;
/** /**
* @author lixl * @author lixl
* @description 针对表【plat_role_org(租户端角色部门关联表)】的数据库操作Service * @description 针对表【plat_role_org(租户端角色部门关联表)】的数据库操作Service
...@@ -11,4 +14,11 @@ import com.makeit.entity.platform.auth.PlatRoleOrg; ...@@ -11,4 +14,11 @@ import com.makeit.entity.platform.auth.PlatRoleOrg;
*/ */
public interface PlatRoleOrgService extends IService<PlatRoleOrg> { public interface PlatRoleOrgService extends IService<PlatRoleOrg> {
/**
* 根据角色获取所属组织
* @param roleIds
* @return
*/
List<PlatRoleOrg> getByRoleIds(Collection<String> roleIds);
} }
package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService;
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.dto.platform.auth.PlatRoleDeptDTOVO;
import com.makeit.dto.platform.auth.PlatRoleMenuDTO;
import com.makeit.dto.platform.auth.PlatUserRoleDTO;
import com.makeit.entity.platform.auth.PlatRole;
import com.makeit.entity.platform.auth.PlatRoleMenu;
import com.makeit.entity.platform.auth.PlatRoleOrg;
import com.makeit.module.admin.dto.plat.PlatRoleDTOVO;
import java.util.List;
/**
* @author lixl
* @description 针对表【plat_role(租户端角色)】的数据库操作Service
* @createDate 2023-08-30 20:10:25
*/
public interface PlatRoleService extends IService<PlatRole> {
List<PlatRoleDTOVO> list(PlatRoleDTOVO dto);
PageVO<PlatRoleDTOVO> page(PageReqDTO<PlatRoleDTOVO> page);
String add(PlatRoleDTOVO dto);
void edit(PlatRoleDTOVO dto);
PlatRoleDTOVO 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);
List<PlatRoleMenu> getAssignMenuList(String id);
void assignDeptList(PlatRoleDeptDTOVO tntRoleDeptDTO);
List<PlatRoleOrg> getDeptListByRoleId(String roleId);
void copyRole(String roleId);
/**
* Lzy
*
* @param dto
* @return
*/
List<PlatRoleDTOVO> getList(PlatRoleDTOVO dto);
/**
* 当前用户的所属组织下的角色
* @param baseIdDTO
* @return
*/
List<PlatRole> belongTo(BaseIdDTO baseIdDTO);
}
package com.makeit.server.platform.auth; package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.auth.PlatUserRole; import com.makeit.entity.platform.auth.PlatUserRole;
import java.util.List;
/** /**
* @author lixl * @author lixl
* @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Service * @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Service
...@@ -11,4 +13,10 @@ import com.makeit.entity.platform.auth.PlatUserRole; ...@@ -11,4 +13,10 @@ import com.makeit.entity.platform.auth.PlatUserRole;
*/ */
public interface PlatUserRoleService extends IService<PlatUserRole> { public interface PlatUserRoleService extends IService<PlatUserRole> {
/**
* 根据userId 获取
* @param userId
* @return
*/
List<PlatUserRole> getByUserId(String userId);
} }
package com.makeit.server.platform.auth; package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -80,7 +80,7 @@ public interface PlatUserService extends IService<PlatUser> { ...@@ -80,7 +80,7 @@ public interface PlatUserService extends IService<PlatUser> {
List<PlatPersonDTOVO> auditUserList(PlatUserQueryDTO dto); List<PlatPersonDTOVO> auditUserList(PlatUserQueryDTO dto);
void addPerson(PlatPersonDTOVO dto); String addPerson(PlatPersonDTOVO dto);
void editPerson(PlatPersonDTOVO dto); void editPerson(PlatPersonDTOVO dto);
...@@ -90,9 +90,9 @@ public interface PlatUserService extends IService<PlatUser> { ...@@ -90,9 +90,9 @@ public interface PlatUserService extends IService<PlatUser> {
//void leaveMessage(PlatUser tntUser); //void leaveMessage(PlatUser tntUser);
// List<PlatRole> getRoleListWithTag(String userId); List<PlatRole> getRoleListWithTag(String userId);
// PlatRole getMaxRole(String userId); PlatRole getMaxRole(String userId);
List<PlatOrg> getDeptTreeList(); List<PlatOrg> getDeptTreeList();
...@@ -110,7 +110,7 @@ public interface PlatUserService extends IService<PlatUser> { ...@@ -110,7 +110,7 @@ public interface PlatUserService extends IService<PlatUser> {
List<PlatOrg> getDeptSelfAndChildrenCanTap(String deptId); List<PlatOrg> getDeptSelfAndChildrenCanTap(String deptId);
// List<PlatOrg> getHotelList(String deptId); List<PlatOrg> getHotelList(String deptId);
List<PlatOrg> getCandidateDeptList(); List<PlatOrg> getCandidateDeptList();
...@@ -130,4 +130,11 @@ public interface PlatUserService extends IService<PlatUser> { ...@@ -130,4 +130,11 @@ public interface PlatUserService extends IService<PlatUser> {
PageVO<PlatPersonDTOVO> indexPage(PageReqDTO<PlatUserQueryDTO> page); PageVO<PlatPersonDTOVO> indexPage(PageReqDTO<PlatUserQueryDTO> page);
List<PlatOrg> getDeptList(); List<PlatOrg> getDeptList();
/**
* 更新用户的tenantId
* @param tenantId
* @param platUserId
*/
void updatePlatUserTenantId(String tenantId,String platUserId);
} }
package com.makeit.server.platform.auth.impl; package com.makeit.service.platform.auth.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.entity.platform.auth.PlatOrg; import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.auth.PlatRole;
import com.makeit.entity.platform.auth.PlatRoleOrg;
import com.makeit.entity.platform.auth.PlatUserRole;
import com.makeit.enums.CommonEnum; import com.makeit.enums.CommonEnum;
import com.makeit.enums.id.TreeConst; import com.makeit.enums.id.TreeConst;
import com.makeit.global.aspect.tenant.TenantIdUtil; import com.makeit.global.aspect.tenant.TenantIdUtil;
import com.makeit.mapper.platform.auth.PlatOrgMapper; import com.makeit.mapper.platform.auth.PlatOrgMapper;
import com.makeit.module.admin.dto.plat.PlatUserQueryDTO; import com.makeit.module.admin.dto.plat.PlatUserQueryDTO;
import com.makeit.module.system.service.SysConfigCategoryService; import com.makeit.module.system.service.SysConfigCategoryService;
import com.makeit.server.platform.auth.PlatOrgService; import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.server.platform.auth.PlatUserService; import com.makeit.service.platform.auth.PlatRoleOrgService;
import com.makeit.service.platform.auth.PlatRoleService;
import com.makeit.service.platform.auth.PlatUserRoleService;
import com.makeit.service.platform.auth.PlatUserService;
import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.user.plat.PlatUserUtil;
import com.makeit.utils.user.plat.PlatUserVO;
import com.makeit.vo.platform.auth.PlatOrgQueryDTO; import com.makeit.vo.platform.auth.PlatOrgQueryDTO;
import com.makeit.vo.platform.auth.PlatUserCountVO; import com.makeit.vo.platform.auth.PlatUserCountVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -29,8 +45,10 @@ import java.util.HashSet; ...@@ -29,8 +45,10 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @author lixl * @author lixl
...@@ -49,6 +67,13 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -49,6 +67,13 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
@Autowired @Autowired
private SysConfigCategoryService sysConfigCategoryService; private SysConfigCategoryService sysConfigCategoryService;
@Autowired
private PlatUserRoleService platUserRoleService;
@Autowired
private PlatRoleOrgService platRoleOrgService;
@Autowired
private PlatRoleService platRoleService;
@Override @Override
public List<PlatOrg> filter(List<PlatOrg> deptList, PlatOrgQueryDTO dto) { public List<PlatOrg> filter(List<PlatOrg> deptList, PlatOrgQueryDTO dto) {
return new HashSet<>(deptList).stream() return new HashSet<>(deptList).stream()
...@@ -69,33 +94,26 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -69,33 +94,26 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
} }
@Override @Override
public List<PlatOrg> list(PlatOrgQueryDTO dto) {//parent_path find_in_set ? public List<PlatOrg> list(PlatOrgQueryDTO dto) {
// List<TntDept> tntDeptList = list(new QueryWrapper<TntDept>().lambda()
// .like(StringUtils.isNotBlank(dto.getName()), TntDept::getName, dto.getName())
// .eq(StringUtils.isNotBlank(dto.getStatus()), TntDept::getStatus, dto.getStatus())
// .in(TntDept::getId, DeptUtil.getDeptSelfAndChildrenIdList(dto.getId()))
// .orderByAsc(TntDept::getSort)
// .orderByAsc(TntDept::getCreatedAt)
// );
List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda() List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda()
//.eq(PlatOrg::getTag, DeptEnum.DeptTagEnum.DEPT.getValue()) .eq(StringUtils.isNotBlank(dto.getType()),PlatOrg::getType,dto.getType())
); );
deptList.forEach(e -> { deptList.forEach(e -> {
// e.setCanTap(CommonEnum.YES.getValue()); // e.setCanTap(CommonEnum.YES.getValue());
}); });
List<PlatOrg> tntDeptList = this.getDeptSelfAndChildren(dto.getDeptId()); List<PlatOrg> tntDeptList = this.getDeptSelfAndChildren(dto.getOrgId());
// if (CommonEnum.YES.getValue().equals(dto.getFromHotel())) { // if (CommonEnum.YES.getValue().equals(dto.getFromHotel())) {
// tntDeptList = StreamUtil.filter(tntDeptList, e -> DeptEnum.DeptTagEnum.HOTEL.getValue().equals(e.getTag())); // tntDeptList = StreamUtil.filter(tntDeptList, e -> DeptEnum.DeptTagEnum.HOTEL.getValue().equals(e.getTag()));
// } // }
List<String> idList = StreamUtil.map(tntDeptList, PlatOrg::getId); List<String> idList = StreamUtil.map(tntDeptList, PlatOrg::getId);
if (StringUtils.isNotBlank(dto.getDeptId())) {//左上方可点击的 和 左下方中的任意 if (StringUtils.isNotBlank(dto.getOrgId())) {//左上方可点击的 和 左下方中的任意
idList.add(dto.getDeptId()); idList.add(dto.getOrgId());
} }
tntDeptList.addAll(deptList); tntDeptList.addAll(deptList);
...@@ -245,10 +263,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -245,10 +263,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
@Override @Override
public Map<String, List<PlatOrg>> findSelfAndAllParent(List<String> deptIdList) { public Map<String, List<PlatOrg>> findSelfAndAllParent(List<String> deptIdList) {
List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda() List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda()
// .in(PlatOrg::getTag,
// Arrays.asList(DeptEnum.DeptTagEnum.HOTEL.getValue(),
// DeptEnum.DeptTagEnum.DEPT.getValue())
// )
.eq(PlatOrg::getStatus, CommonEnum.YES.getValue()) .eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
.orderByAsc(PlatOrg::getId) .orderByAsc(PlatOrg::getId)
); );
...@@ -289,10 +303,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -289,10 +303,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
PlatOrg parent = map.get(tntDept.getParentId()); PlatOrg parent = map.get(tntDept.getParentId());
if (parent != null) { if (parent != null) {
// if (CommonEnum.YES.getValue().equals(parent.getCanTap())) {
// tntDept.setCanTap(CommonEnum.YES.getValue());
// }
//这里有硬编码 //这里有硬编码
//应该是角色挂的节点(包含) 和 酒店节点(包含) 之间的所有节点都表红 //应该是角色挂的节点(包含) 和 酒店节点(包含) 之间的所有节点都表红
...@@ -360,7 +370,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -360,7 +370,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
//System.out.println(tntUserService.listCount(new TntUserQueryDTO())); //System.out.println(tntUserService.listCount(new TntUserQueryDTO()));
List<PlatUserCountVO> countVOList = platUserService.listCount(new PlatUserQueryDTO()); List<PlatUserCountVO> countVOList = platUserService.listCount(new PlatUserQueryDTO());
Map<String, Integer> countVOMap = countVOList.stream().collect(Collectors.toMap(PlatUserCountVO::getDeptId, PlatUserCountVO::getCount)); Map<String, Integer> countVOMap = countVOList.stream().collect(Collectors.toMap(PlatUserCountVO::getOrgId, PlatUserCountVO::getCount));
Map<PlatOrg, List<PlatOrg>> deptMap = new HashMap<>(16); Map<PlatOrg, List<PlatOrg>> deptMap = new HashMap<>(16);
...@@ -385,102 +395,47 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -385,102 +395,47 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
deptMap.put(d, c); deptMap.put(d, c);
} }
//
// deptMap.forEach((k, v) -> {
// int i = 0;
// for (PlatOrg d : v) {
// Integer c = countVOMap.get(d.getId());
// if (c == null) {
// c = 0;
// }
// i = i + c;
// }
// k.setCount(i);
// });
return tree; return tree;
} }
private void check(PlatOrg dto) { private void check(PlatOrg dto) {
// PlatMenu old = getOne(new QueryWrapper<PlatOrg>().lambda()
// .eq(PlatMenu::getCode, dto.getCode()));
// if (old != null && !old.getId().equals(dto.getId())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_NAME_DUPLICATE);
// }
PlatOrg parent = getById(dto.getParentId());
// if (parent != null) {
// if (DeptEnum.DeptTagEnum.GROUP.getValue().equals(parent.getTag())) {
// if (!DeptEnum.DeptTagEnum.BRAND.getValue().equals(dto.getTag()) && !DeptEnum.DeptTagEnum.HOTEL.getValue().equals(dto.getTag())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_DEPT_LEVEL);
// }
// }
// if (DeptEnum.DeptTagEnum.BRAND.getValue().equals(parent.getTag())) {
// if (!DeptEnum.DeptTagEnum.HOTEL.getValue().equals(dto.getTag()) && !DeptEnum.DeptTagEnum.BRAND.getValue().equals(dto.getTag())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_DEPT_LEVEL);
// }
// }
// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(parent.getTag())) {
// if (!DeptEnum.DeptTagEnum.DEPT.getValue().equals(dto.getTag())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_DEPT_LEVEL);
// }
// }
// if (DeptEnum.DeptTagEnum.DEPT.getValue().equals(parent.getTag())) {
// if (!DeptEnum.DeptTagEnum.DEPT.getValue().equals(dto.getTag())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_DEPT_LEVEL);
// }
// }
//
// if (DeptEnum.DeptTypeEnum.DEFAULT.getValue().equals(parent.getType()) && DeptEnum.DeptTypeEnum.SELF.getValue().equals(dto.getType())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR);//要不要具体化
// }
//
// }
//
// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(dto.getTag()) && StringUtils.isBlank(dto.getHotelId())) {
// throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR);//要不要具体化
// }
// if (TreeConst.TOP_LEVEL.equals(dto.getParentId())) {
// dto.setLevel(0);
// } else {
// dto.setLevel(parent.getLevel() + 1);
// }
} }
@Transactional @Transactional
@Override @Override
public void add(PlatOrg dto) { public String add(PlatOrg dto) {
check(dto); check(dto);
dto.setTenantId(TenantIdUtil.getTenantId()); dto.setTenantId(TenantIdUtil.getTenantId());
if(StringUtils.isBlank(dto.getParentId())){
String tenantId = TenantIdUtil.getTenantId();
dto.setParentId(tenantId);
dto.setPath(tenantId);
}else {
PlatOrg parent = getById(dto.getParentId());
dto.setPath(parent.getPath()+","+parent.getId());
}
save(dto); save(dto);
// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(dto.getTag())) { return dto.getId();
// tntAsyncCommonService.copyConfigForHotel(dto);
// }
} }
@Transactional @Transactional
@Override @Override
public void edit(PlatOrg dto) { public void edit(PlatOrg dto) {
check(dto); check(dto);
updateById(dto);
dto.setTenantId(TenantIdUtil.getTenantId());
// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(dto.getTag())) { if(StringUtils.isBlank(dto.getParentId())){
//// long configCategoryCount = tntConfigCategoryService.count(new QueryWrapper<TntConfigCategory>().lambda() String tenantId = TenantIdUtil.getTenantId();
//// .eq(TntConfigCategory::getDeptId, dto.getId())); dto.setParentId(tenantId);
//// dto.setPath(tenantId);
//// if (configCategoryCount != 0) { }else {
//// return; PlatOrg parent = getById(dto.getParentId());
//// } dto.setPath(parent.getPath()+","+parent.getId());
// tntAsyncCommonService.copyConfigForHotel(dto); }
// }
updateById(dto);
} }
@Override @Override
...@@ -518,14 +473,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -518,14 +473,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
@Override @Override
public List<PlatOrg> listWithoutDept() { public List<PlatOrg> listWithoutDept() {
List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda() List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda()
//.eq(PlatOrg::getTenantId, TenantIdUtil.getTenantId())
// .in(PlatOrg::getTag,
// Arrays.asList(
// DeptEnum.DeptTagEnum.GROUP.getValue(),
// DeptEnum.DeptTagEnum.BRAND.getValue(),
// DeptEnum.DeptTagEnum.HOTEL.getValue()
// )
// )
.eq(PlatOrg::getStatus, CommonEnum.YES.getValue()) .eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
.orderByAsc(PlatOrg::getSort) .orderByAsc(PlatOrg::getSort)
.orderByAsc(PlatOrg::getCreateDate) .orderByAsc(PlatOrg::getCreateDate)
...@@ -557,4 +504,111 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -557,4 +504,111 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
} }
/**
* 获取权限范围树
* 当前账号所属角色的权限级别,可查看某一级或者某一级及其下级
* @return
*/
@Override
public List<PlatOrg> belongToOrgTree() {
PlatUserVO userVO = PlatUserUtil.getUserVO();
String isTenant = userVO.getIsTenant();
//如果是租户账号 则有所有权限
if(StringUtils.equals(isTenant,CommonEnum.YES.getValue())){
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>().eq(PlatOrg::getStatus,CommonEnum.YES.getValue()));
return getOrgTree(orgList);
}
//平台账号
Set<String> orgIdList = getOrgIdListByUserId(userVO.getId());
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>().in(BaseEntity::getId,orgIdList).eq(PlatOrg::getStatus,CommonEnum.YES.getValue()));
if(CollectionUtils.isEmpty(orgList)){
return new ArrayList<>();
}
Set<String> allOrgIdSet = orgList.stream().flatMap(vo -> {
String path = vo.getPath();
String[] split = StringUtils.split(path, ",");
return Stream.of(split);
}).collect(Collectors.toSet());
List<PlatOrg> allOrgList = this.list(new LambdaQueryWrapper<PlatOrg>().in(BaseEntity::getId,allOrgIdSet).eq(PlatOrg::getStatus,CommonEnum.YES.getValue()));
orgList.addAll(allOrgList);
return getOrgTree(orgList);
}
/**
* 获取权限范围
*
* @param userId
* @return
*/
@Override
public Set<String> getOrgIdListByUserId(String userId) {
List<PlatUserRole> userRoleList =platUserRoleService.getByUserId(userId);
if(CollectionUtils.isEmpty(userRoleList)){
return new HashSet<>();
}
List<PlatRoleOrg> roleOrgList = platRoleOrgService.getByRoleIds(userRoleList.stream().map(PlatUserRole::getRoleId).collect(Collectors.toSet()));
if(CollectionUtils.isEmpty(roleOrgList)){
return new HashSet<>();
}
List<PlatRole> roleList = platRoleService.listByIds(roleOrgList.stream().map(PlatRoleOrg::getRoleId).collect(Collectors.toList()));
return roleList.stream().flatMap(vo-> Stream.of(vo.getDataScope().split(","))).collect(Collectors.toSet());
}
private List<PlatOrg> getOrgTree(List<PlatOrg> orgList) {
Map<String, List<PlatOrg>> parentIdMap = orgList.stream().collect(Collectors.groupingBy(PlatOrg::getParentId));
orgList.forEach(vo->{
List<PlatOrg> childList = parentIdMap.get(vo.getId());
vo.setChildren(childList);
});
return orgList.stream().filter(vo -> StringUtils.equals(vo.getTenantId(), vo.getParentId())).collect(Collectors.toList());
}
/**
* 启用|禁用
*
* @param param
*/
@Override
public void enable(PlatOrg param) {
LambdaUpdateWrapper<PlatOrg> lambdaUpdateWrapper = Wrappers.lambdaUpdate(PlatOrg.class)
.set(PlatOrg::getStatus, param.getStatus())
.eq(BaseEntity::getId, param.getId());
this.update(lambdaUpdateWrapper);
}
@Override
public PageVO<PlatOrg> page(PageReqDTO<PlatOrgQueryDTO> pageReqDTO) {
String tenantId = TenantIdUtil.getTenantId();
PlatOrgQueryDTO dto = pageReqDTO.getData();
Page<PlatOrg> p = PageUtil.toMpPage(pageReqDTO);
LambdaQueryWrapper<PlatOrg> queryWrapper = getLambdaQueryWrapper(dto);
queryWrapper.eq(BaseEntity::getId,tenantId);
Page<PlatOrg> pageList = page(p, queryWrapper);
List<PlatOrg> records = pageList.getRecords();
records.forEach(vo->{
dto.setParentId(tenantId);
List<PlatOrg> subOrgList = subOrgList(dto);
vo.setChildren(subOrgList);
});
return PageUtil.toPageVO(pageList.getRecords(), pageList);
}
private LambdaQueryWrapper<PlatOrg> getLambdaQueryWrapper(PlatOrgQueryDTO dto) {
LambdaQueryWrapper<PlatOrg> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatOrg::getParentId, dto.getParentId())
.orderByDesc(BaseEntity::getUpdateDate);
return queryWrapper;
}
@Override
public List<PlatOrg> subOrgList(PlatOrgQueryDTO platOrgQueryDTO) {
LambdaQueryWrapper<PlatOrg> queryWrapper = getLambdaQueryWrapper(platOrgQueryDTO);
return list(queryWrapper);
}
} }
package com.makeit.server.platform.auth.impl; package com.makeit.service.platform.auth.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.auth.PlatRoleMenu; import com.makeit.entity.platform.auth.PlatRoleMenu;
import com.makeit.mapper.platform.auth.PlatRoleMenuMapper; import com.makeit.mapper.platform.auth.PlatRoleMenuMapper;
import com.makeit.server.platform.auth.PlatRoleMenuService; import com.makeit.service.platform.auth.PlatRoleMenuService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.auth.impl; package com.makeit.service.platform.auth.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.auth.PlatRoleOrg; import com.makeit.entity.platform.auth.PlatRoleOrg;
import com.makeit.mapper.platform.auth.PlatRoleOrgMapper; import com.makeit.mapper.platform.auth.PlatRoleOrgMapper;
import com.makeit.server.platform.auth.PlatRoleOrgService; import com.makeit.service.platform.auth.PlatRoleOrgService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/** /**
* @author lixl * @author lixl
* @description 针对表【plat_role_org(租户端角色部门关联表)】的数据库操作Service实现 * @description 针对表【plat_role_org(租户端角色部门关联表)】的数据库操作Service实现
...@@ -15,4 +21,19 @@ import org.springframework.stereotype.Service; ...@@ -15,4 +21,19 @@ import org.springframework.stereotype.Service;
public class PlatRoleOrgServiceImpl extends ServiceImpl<PlatRoleOrgMapper, PlatRoleOrg> public class PlatRoleOrgServiceImpl extends ServiceImpl<PlatRoleOrgMapper, PlatRoleOrg>
implements PlatRoleOrgService{ implements PlatRoleOrgService{
/**
* 根据角色获取所属组织
*
* @param roleIds
* @return
*/
@Override
public List<PlatRoleOrg> getByRoleIds(Collection<String> roleIds) {
if(CollectionUtils.isEmpty(roleIds)){
return new ArrayList<>();
}
LambdaQueryWrapper<PlatRoleOrg> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(PlatRoleOrg::getRoleId,roleIds);
return list(queryWrapper);
}
} }
package com.makeit.service.platform.auth.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.dto.StatusDTO;
import com.makeit.common.entity.BaseEntity;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.auth.PlatRoleDeptDTOVO;
import com.makeit.dto.platform.auth.PlatRoleMenuDTO;
import com.makeit.dto.platform.auth.PlatUserRoleDTO;
import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.auth.PlatRole;
import com.makeit.entity.platform.auth.PlatRoleMenu;
import com.makeit.entity.platform.auth.PlatRoleOrg;
import com.makeit.entity.platform.auth.PlatUserRole;
import com.makeit.entity.saas.PlatMenu;
import com.makeit.enums.CodeMessageEnum;
import com.makeit.enums.CommonEnum;
import com.makeit.enums.IsTenantAccountEnum;
import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.auth.PlatRoleMapper;
import com.makeit.module.admin.dto.plat.PlatRoleDTOVO;
import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.service.platform.auth.PlatRoleMenuService;
import com.makeit.service.platform.auth.PlatRoleOrgService;
import com.makeit.service.platform.auth.PlatRoleService;
import com.makeit.service.platform.auth.PlatUserRoleService;
import com.makeit.service.platform.auth.PlatUserService;
import com.makeit.service.saas.PlatMenuService;
import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.sql.WrapperUtil;
import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.user.plat.PlatUserUtil;
import com.makeit.utils.user.plat.PlatUserVO;
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.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @author lixl
* @description 针对表【plat_role(租户端角色)】的数据库操作Service实现
* @createDate 2023-08-30 20:10:25
*/
@Service
public class PlatRoleServiceImpl extends ServiceImpl<PlatRoleMapper, PlatRole>
implements PlatRoleService {
@Autowired
private PlatUserService platUserService;
@Autowired
private PlatUserRoleService platUserRoleService;
@Autowired
private PlatRoleMenuService platRoleMenuService;
@Autowired
private PlatMenuService platMenuService;
// @Autowired
// private PlatRoleWechatMenuService tntRoleWechatMenuService;
@Autowired
private PlatRoleOrgService platRoleOrgService;
@Autowired
private PlatOrgService platOrgService;
private LambdaQueryWrapper<PlatRole> listWrapper(PlatRoleDTOVO dto) {
return new QueryWrapper<PlatRole>().lambda()
.like(StringUtils.isNotBlank(dto.getName()), PlatRole::getName, dto.getName())
.in(dto.getNameList() != null, PlatRole::getName, dto.getNameList())
.eq(StringUtils.isNotBlank(dto.getOrgId()), PlatRole::getOrgId, dto.getOrgId())
.orderByDesc(PlatRole::getCreateDate);
}
@Override
public List<PlatRoleDTOVO> list(PlatRoleDTOVO dto) {
List<PlatRole> tntRoleList = list(listWrapper(dto));
List<PlatRoleDTOVO> rolVOList = BeanDtoVoUtils.listVo(tntRoleList, PlatRoleDTOVO.class);
JoinUtil.join(rolVOList, platOrgService, PlatRoleDTOVO::getOrgId, PlatOrg::getId, (r, e) -> {
r.setDeptName(e.getName());
});
return BeanDtoVoUtils.listVo(tntRoleList, PlatRoleDTOVO.class);
}
@Override
public PageVO<PlatRoleDTOVO> page(PageReqDTO<PlatRoleDTOVO> page) {
PlatRoleDTOVO dto = page.getData();
Page<PlatRole> p = PageUtil.toMpPage(page);
Page<PlatRole> pageList = page(p, listWrapper(dto));
List<PlatRoleDTOVO> tntUserVOList = BeanDtoVoUtils.listVo(pageList.getRecords(), PlatRoleDTOVO.class);
JoinUtil.join(tntUserVOList, platOrgService, PlatRoleDTOVO::getOrgId, PlatOrg::getId, (r, e) -> {
r.setDeptName(e.getName());
});
return PageUtil.toPageVO(tntUserVOList, pageList);
}
private void check(PlatRoleDTOVO dto) {
if (checkLevel(dto)) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_ROLE_ADMIN_CANT_ADD);
}
PlatRole old = WrapperUtil.getOne(this, new QueryWrapper<PlatRole>().lambda()
.eq(PlatRole::getOrgId, dto.getOrgId())
.eq(PlatRole::getName, dto.getName()));
if (old != null && !old.getId().equals(dto.getId())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_NAME_DUPLICATE);
}
old = WrapperUtil.getOne(this, new QueryWrapper<PlatRole>().lambda()
.eq(PlatRole::getOrgId, dto.getOrgId()))
;
if (old != null && !old.getId().equals(dto.getId())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_CODE_DUPLICATE);
}
}
private boolean checkLevel(PlatRoleDTOVO dto) {
if (!IsTenantAccountEnum.YES.getValue().equals(PlatUserUtil.getUserVO().getIsTenant())) {
PlatRole tntRole = platUserService.getMaxRole(PlatUserUtil.getUserId());
//todo 2023年9月4日
// PlatDept tntDept = tntDeptService.getById(dto.getOrgId());
// if (DeptEnum.tagLevelMap.get(tntDept.getTag()).compareTo(DeptEnum.tagLevelMap.get(tntRole.getTag())) < 0
// ||
// (
// DeptEnum.tagLevelMap.get(tntDept.getTag()).compareTo(DeptEnum.tagLevelMap.get(tntRole.getTag())) == 0
// && !CommonEnum.NO.getValue().equals(dto.getIsAdmin())
// )
// ) {
// return true;
// }
}
return false;
}
private void adminRoleCantDo(String roleId) {
if (checkLevel(BeanDtoVoUtils.convert(getById(roleId), PlatRoleDTOVO.class))) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_ROLE_ADMIN_CANT_EDIT);
}
}
@Transactional
@Override
public String add(PlatRoleDTOVO dto) {
check(dto);
save(BeanDtoVoUtils.convert(dto, PlatRole.class));
return dto.getId();
}
@Transactional
@Override
public void edit(PlatRoleDTOVO dto) {
adminRoleCantDo(dto.getId());
check(dto);
updateById(BeanDtoVoUtils.convert(dto, PlatRole.class));
}
@Override
public PlatRoleDTOVO view(String id) {
PlatRoleDTOVO vo = BeanDtoVoUtils.convert(getById(id), PlatRoleDTOVO.class);
JoinUtil.join(Arrays.asList(vo), platOrgService, PlatRoleDTOVO::getOrgId, PlatOrg::getId, (r, e) -> {
r.setDeptName(e.getName());
});
return vo;
}
@Transactional
@Override
public void del(String id) {
adminRoleCantDo(id);
removeById(id);
}
@Transactional
@Override
public void changeStatus(StatusDTO dto) {
adminRoleCantDo(dto.getId());
if (Arrays.stream(CommonEnum.values()).noneMatch(e -> e.getValue().equals(dto.getStatus()))) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR);
}
PlatRole role = getById(dto.getId());
updateById(role);
}
@Transactional
@Override
public void assignUserList(List<PlatUserRoleDTO> userRoleDTOList) {//目前只给一个角色 分配人人员使用
removeAssignUserList(userRoleDTOList);
List<PlatUserRole> userRoleList = BeanDtoVoUtils.listVo(userRoleDTOList, PlatUserRole.class);
platUserRoleService.saveBatch(userRoleList);
}
@Transactional
@Override
public void removeAssignUserList(List<PlatUserRoleDTO> userRoleDTOList) {
Map<String, List<PlatUserRoleDTO>> roleUserMap = StreamUtil.groupBy(userRoleDTOList, PlatUserRoleDTO::getRoleId);
roleUserMap.forEach((k, v) -> {
adminRoleCantDo(k);
List<String> userIdList = StreamUtil.map(v, PlatUserRoleDTO::getUserId);
userIdList.add(-1 + "");
platUserRoleService.remove(new QueryWrapper<PlatUserRole>().lambda()
.eq(PlatUserRole::getRoleId, k)
.in(PlatUserRole::getUserId, userIdList));
});
}
// @Override
// public void exportTemplate(HttpServletResponse response) {
// ExcelUtil.exportTemplate(response, "用户角色关联.xls", "用户角色关联\n以英文逗号分割多个角色名称", PlatUserRoleImportDTO.class);
// }
// @Override
// public ExcelImportVo importExcel(String deptId, String hotelId, MultipartFile excelFile) throws Exception{
// return ExcelUtil.importExcel(deptId, excelFile, PlatUserRoleImportDTO.class, c -> {
//
// List<PlatUserRoleImportDTO> l = c.getList();
//
// List<ExcelErrorVo> excelErrorVoList = new ArrayList<>(10);
//
// List<String> accountList = new ArrayList<>(10);
//
// List<String> roleNameList = new ArrayList<>(10);
//
// Map<String, Set<Integer>> userAccountIndexMap = new HashMap<>(16);
// for (int i = 0; i < l.size(); i++) {
// PlatUserRoleImportDTO userRoleImportDTO = l.get(i);
//
// userAccountIndexMap.computeIfAbsent(userRoleImportDTO.getUserAccount(), k -> new HashSet<>(10)).add(i + 1);
//
// accountList.add(userRoleImportDTO.getUserAccount());
//
// roleNameList.addAll(Arrays.asList(userRoleImportDTO.getRoleName().split(",")));
// }
//
// accountList.add(-1 + "");
//
// PlatUserQueryDTO userQueryDTO = new PlatUserQueryDTO();
// userQueryDTO.setOrgId(deptId);
// userQueryDTO.setAccountList(accountList);
// List<PlatPersonDTOVO> userList = tntUserService.list(userQueryDTO);
// Map<String, PlatPersonDTOVO> userMap = StreamUtil.toMap(userList, PlatPersonDTOVO::getAccount);
//
// roleNameList = StreamUtil.filter(roleNameList, StringUtils::isNotBlank);
// roleNameList.add(-1 + "");
//
// PlatRoleDTOVO tntRoleDTOVO = new PlatRoleDTOVO();
// tntRoleDTOVO.setOrgId(deptId);
// tntRoleDTOVO.setNameList(roleNameList);
// List<PlatRoleDTOVO> roleList = list(tntRoleDTOVO);
//
// Map<String, PlatRoleDTOVO> roleMap = StreamUtil.toMap(roleList, PlatRoleDTOVO::getName);
//
// int start = 3;
//
// int successCount = 0;
//
// for (int i = 0; i < l.size(); i++) {
// PlatUserRoleImportDTO userRoleImportDTO = l.get(i);
//
// boolean isImport = true;
//
// if (StringUtils.isBlank(userRoleImportDTO.getUserAccount())) {
// excelErrorVoList.add(new ExcelErrorVo(i + start, "用户工号", "用户工号为空"));
// isImport = false;
// } else {
//
// Set<Integer> set = userAccountIndexMap.get(userRoleImportDTO.getUserAccount());
// if (set.size() != 1) {
// excelErrorVoList.add(new ExcelErrorVo(i + start, "用户工号", "导入的数据存在重复的用户工号"));
// isImport = false;
// }
//
// PlatPersonDTOVO p = userMap.get(userRoleImportDTO.getUserAccount());
// if (p == null) {
// excelErrorVoList.add(new ExcelErrorVo(i + start, "用户工号", "数据库不存在该工号的用户"));
// isImport = false;
// }
// }
//
// if (StringUtils.isBlank(userRoleImportDTO.getRoleName())) {
// excelErrorVoList.add(new ExcelErrorVo(i + start, "角色名称", "角色名称为空"));
// isImport = false;
// } else {
// List<String> rList = StreamUtil.filter(Arrays.asList(userRoleImportDTO.getRoleName().split(",")), StringUtils::isNotBlank);
// Set<String> rSet = new HashSet<>(rList);
// if (rSet.size() < rList.size()) {
// excelErrorVoList.add(new ExcelErrorVo(i + start, "角色名称", "角色名称存在重复值"));
// isImport = false;
// }
//
// for (String e : rSet) {
// PlatRoleDTOVO r = roleMap.get(e);
// if (r == null) {
// excelErrorVoList.add(new ExcelErrorVo(i + start, "角色名称", e + "数据库不存在"));
// isImport = false;
// }
// }
// }
//
// if (isImport) {
// successCount++;
// }
//
// }
//
// if (excelErrorVoList.size() == 0) {
// List<PlatUserRole> userRoleList = new ArrayList<>(10);
//
// List<String> userIdList = new ArrayList<>(10);
// l.forEach(e -> {
// PlatPersonDTOVO p = userMap.get(e.getUserAccount());
//
// userIdList.add(p.getId());
//
// List<String> rList = StreamUtil.filter(Arrays.asList(e.getRoleName().split(",")), StringUtils::isNotBlank);
// List<PlatRoleDTOVO> r = StreamUtil.map(rList, roleMap::get);
// userRoleList.addAll(StreamUtil.map(r, rr -> {
// PlatUserRole tntUserRole = new PlatUserRole();
// tntUserRole.setUserId(p.getId());
// tntUserRole.setRoleId(rr.getId());
//
// return tntUserRole;
// }));
// });
//
// tntUserRoleService.remove(new QueryWrapper<PlatUserRole>().lambda()
// .in(PlatUserRole::getUserId, userIdList));
//
// tntUserRoleService.saveBatch(userRoleList);
// }
//
// //return excelErrorVoList;
//
// ExcelImportVo excelImportVo = new ExcelImportVo();
// excelImportVo.setTotalCount(l.size());
// excelImportVo.setErrorCount(excelErrorVoList.size());
// //excelImportVo.setSuccessCount(list.size() - excelErrorVoList.size());
// excelImportVo.setSuccessCount(successCount);
// excelImportVo.setList(excelErrorVoList);
//
// return excelImportVo;
//
//
// }, c -> {
//
// });
// }
@Transactional
@Override
public void assignMenuList(PlatRoleMenuDTO roleMenuDTO) {
//removeAssignMenuList(roleMenuDTOList);
adminRoleCantDo(roleMenuDTO.getRoleId());
platRoleMenuService.remove(new QueryWrapper<PlatRoleMenu>().lambda()
.eq(PlatRoleMenu::getRoleId, roleMenuDTO.getRoleId()));
List<PlatRoleMenu> roleMenuList = StreamUtil.map(roleMenuDTO.getMenuIdList(), e -> {
PlatRoleMenu tntRoleMenu = new PlatRoleMenu();
tntRoleMenu.setRoleId(roleMenuDTO.getRoleId());
tntRoleMenu.setMenuId(e);
tntRoleMenu.setTenantId(roleMenuDTO.getTenantId());
return tntRoleMenu;
});
platRoleMenuService.saveBatch(roleMenuList);
}
@Override
public List<PlatRoleMenu> getAssignMenuList(String id) {
List<PlatRoleMenu> roleMenuList = platRoleMenuService.list(new QueryWrapper<PlatRoleMenu>().lambda()
.eq(PlatRoleMenu::getRoleId, id));
List<String> menuIdList = StreamUtil.map(roleMenuList, PlatRoleMenu::getMenuId);
menuIdList.add(-1 + "");
List<PlatMenu> menuList = platMenuService.list(new QueryWrapper<PlatMenu>().lambda()
.in(PlatMenu::getId, menuIdList));
Map<String, PlatMenu> menuMap = StreamUtil.toMap(menuList, PlatMenu::getId);
List<PlatRoleMenu> newList = new ArrayList<>(10);
roleMenuList.forEach(e -> {
PlatMenu menu = menuMap.get(e.getMenuId());
if (menu != null) {
e.setMenuName(menu.getName());
newList.add(e);
}
});
return newList;
}
// @Transactional
// @Override
// public void assignWechatMenuList(PlatRoleMenuDTO roleMenuDTO) {
// //removeAssignWechatMenuList(roleMenuDTOList);
//
// adminRoleCantDo(roleMenuDTO.getRoleId());
//
// tntRoleWechatMenuService.remove(new QueryWrapper<PlatRoleWechatMenu>().lambda()
// .eq(PlatRoleWechatMenu::getRoleId, roleMenuDTO.getRoleId()));
//
// List<PlatRoleWechatMenu> roleMenuList = StreamUtil.map(roleMenuDTO.getMenuIdList(), e -> {
// PlatRoleWechatMenu tntRoleMenu = new PlatRoleWechatMenu();
// tntRoleMenu.setRoleId(roleMenuDTO.getRoleId());
// tntRoleMenu.setMenuId(e);
// tntRoleMenu.setTenantId(roleMenuDTO.getTenantId());
//
// return tntRoleMenu;
// });
//
// tntRoleWechatMenuService.saveBatch(roleMenuList);
// }
// @Override
// public List<PlatRoleWechatMenu> getWechatMenuListByRoleId(String roleId) {
// List<PlatRoleWechatMenu> roleWechatMenuList = tntRoleWechatMenuService.list(new QueryWrapper<PlatRoleWechatMenu>().lambda()
// .eq(PlatRoleWechatMenu::getRoleId, roleId));
// return roleWechatMenuList;
// }
@Transactional
@Override
public void assignDeptList(PlatRoleDeptDTOVO tntRoleDeptDTO) {
//removeAssignDeptList(roleDeptDTOList);
adminRoleCantDo(tntRoleDeptDTO.getRoleId());
platRoleOrgService.remove(new QueryWrapper<PlatRoleOrg>().lambda()
.eq(PlatRoleOrg::getRoleId, tntRoleDeptDTO.getRoleId()));
List<PlatRoleOrg> roleMenuList = StreamUtil.map(tntRoleDeptDTO.getOrgIdList(), e -> {
PlatRoleOrg tntRoleDept = new PlatRoleOrg();
tntRoleDept.setRoleId(tntRoleDeptDTO.getRoleId());
tntRoleDept.setOrgId(e);
tntRoleDept.setTenantId(tntRoleDeptDTO.getTenantId());
return tntRoleDept;
});
platRoleOrgService.saveBatch(roleMenuList);
}
@Override
public List<PlatRoleOrg> getDeptListByRoleId(String roleId) {
List<PlatRoleOrg> roleDeptList = platRoleOrgService.list(new QueryWrapper<PlatRoleOrg>().lambda()
.eq(PlatRoleOrg::getRoleId, roleId));
return roleDeptList;
}
public static String getNewName(String name) {
return name + "_1";
}
@Override
public void copyRole(String roleId) {
PlatRole tntRole = getById(roleId);
PlatRole newRole = BeanDtoVoUtils.convert(tntRole, PlatRole.class);
newRole.setName(getNewName(tntRole.getName()));
newRole.setId(null);
// newRole.setIsAdmin(CommonEnum.NO.getValue());
save(newRole);
List<PlatUserRole> userRoleList = platUserRoleService.list(new QueryWrapper<PlatUserRole>().lambda()
.eq(PlatUserRole::getRoleId, roleId));
List<PlatUserRole> userRoleListNew = BeanDtoVoUtils.listVo(userRoleList, PlatUserRole.class);
userRoleListNew.forEach(e -> {
e.setId(null);
e.setRoleId(newRole.getId());
});
platUserRoleService.saveBatch(userRoleListNew);
List<PlatRoleMenu> roleMenuList = platRoleMenuService.list(new QueryWrapper<PlatRoleMenu>().lambda()
.eq(PlatRoleMenu::getRoleId, roleId));
List<PlatRoleMenu> roleMenuListNew = BeanDtoVoUtils.listVo(roleMenuList, PlatRoleMenu.class);
roleMenuListNew.forEach(e -> {
e.setId(null);
e.setRoleId(newRole.getId());
});
platRoleMenuService.saveBatch(roleMenuListNew);
// List<PlatRoleWechatMenu> wechatMenuList = tntRoleWechatMenuService.list(new QueryWrapper<PlatRoleWechatMenu>().lambda()
// .eq(PlatRoleWechatMenu::getRoleId, roleId));
// wechatMenuList.forEach(e -> {
// e.setId(null);
// e.setRoleId(newRole.getId());
// });
// tntRoleWechatMenuService.saveBatch(wechatMenuList);
List<PlatRoleOrg> roleDeptList = platRoleOrgService.list(new QueryWrapper<PlatRoleOrg>().lambda()
.eq(PlatRoleOrg::getRoleId, roleId));
roleDeptList.forEach(e -> {
e.setId(null);
e.setRoleId(newRole.getId());
});
platRoleOrgService.saveBatch(roleDeptList);
}
@Override
public List<PlatRoleDTOVO> getList(PlatRoleDTOVO dto) {
LambdaQueryWrapper<PlatRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StringUtils.isNotBlank(dto.getName()), PlatRole::getName, dto.getName());
queryWrapper.eq(StringUtils.isNotBlank(dto.getOrgId()), PlatRole::getOrgId, dto.getOrgId());
List<PlatRole> platRoleList = list(queryWrapper);
List<PlatRoleDTOVO> rolVOList = BeanDtoVoUtils.listVo(platRoleList, PlatRoleDTOVO.class);
JoinUtil.join(rolVOList, platOrgService, PlatRoleDTOVO::getOrgId, PlatOrg::getId, (r, e) -> {
r.setDeptName(e.getName());
});
return BeanDtoVoUtils.listVo(platRoleList, PlatRoleDTOVO.class);
}
/**
* 当前用户的所属组织下的角色
*
* @param baseIdDTO
* @return
*/
@Override
public List<PlatRole> belongTo(BaseIdDTO baseIdDTO) {
PlatUserVO userVO = PlatUserUtil.getUserVO();
if(StringUtils.equals(userVO.getIsTenant(),CommonEnum.YES.getValue())){
List<PlatRole> roleList = this.list(new LambdaQueryWrapper<PlatRole>().orderByDesc(BaseEntity::getUpdateDate));
return roleList;
}
return null;
}
}
package com.makeit.server.platform.auth.impl; package com.makeit.service.platform.auth.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.auth.PlatUserRole; import com.makeit.entity.platform.auth.PlatUserRole;
import com.makeit.mapper.platform.auth.PlatUserRoleMapper; import com.makeit.mapper.platform.auth.PlatUserRoleMapper;
import com.makeit.server.platform.auth.PlatUserRoleService; import com.makeit.service.platform.auth.PlatRoleOrgService;
import com.makeit.service.platform.auth.PlatUserRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author lixl * @author lixl
* @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Service实现 * @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Service实现
...@@ -15,4 +20,21 @@ import org.springframework.stereotype.Service; ...@@ -15,4 +20,21 @@ import org.springframework.stereotype.Service;
public class PlatUserRoleServiceImpl extends ServiceImpl<PlatUserRoleMapper, PlatUserRole> public class PlatUserRoleServiceImpl extends ServiceImpl<PlatUserRoleMapper, PlatUserRole>
implements PlatUserRoleService{ implements PlatUserRoleService{
@Autowired
private PlatRoleOrgService platRoleOrgService;
/**
* 根据userId 获取
*
* @param userId
* @return
*/
@Override
public List<PlatUserRole> getByUserId(String userId) {
LambdaQueryWrapper<PlatUserRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatUserRole::getUserId,userId);
return list(queryWrapper);
}
} }
package com.makeit.server.platform.auth.impl; package com.makeit.service.platform.auth.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.makeit.common.dto.LoginDTO; import com.makeit.common.dto.LoginDTO;
import com.makeit.common.dto.StatusDTO; import com.makeit.common.dto.StatusDTO;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
import com.makeit.common.entity.BaseEntity;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO; import com.makeit.common.page.PageVO;
import com.makeit.entity.platform.auth.PlatOrg; import com.makeit.entity.platform.auth.PlatOrg;
...@@ -36,12 +39,12 @@ import com.makeit.module.admin.vo.plat.PlatTenantVO; ...@@ -36,12 +39,12 @@ import com.makeit.module.admin.vo.plat.PlatTenantVO;
import com.makeit.module.admin.vo.plat.PlatUserLoginVO; import com.makeit.module.admin.vo.plat.PlatUserLoginVO;
import com.makeit.module.admin.vo.plat.PlatUserRoleMenuRedisVO; import com.makeit.module.admin.vo.plat.PlatUserRoleMenuRedisVO;
import com.makeit.module.system.service.SysDictionaryCategoryService; import com.makeit.module.system.service.SysDictionaryCategoryService;
import com.makeit.server.platform.auth.PlatOrgService; import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.server.platform.auth.PlatRoleMenuService; import com.makeit.service.platform.auth.PlatRoleMenuService;
import com.makeit.server.platform.auth.PlatRoleOrgService; import com.makeit.service.platform.auth.PlatRoleOrgService;
import com.makeit.server.platform.auth.PlatRoleService; import com.makeit.service.platform.auth.PlatRoleService;
import com.makeit.server.platform.auth.PlatUserRoleService; import com.makeit.service.platform.auth.PlatUserRoleService;
import com.makeit.server.platform.auth.PlatUserService; import com.makeit.service.platform.auth.PlatUserService;
import com.makeit.service.saas.PlatMenuService; import com.makeit.service.saas.PlatMenuService;
import com.makeit.service.saas.PlatTenantMenuService; import com.makeit.service.saas.PlatTenantMenuService;
import com.makeit.service.saas.PlatTenantService; import com.makeit.service.saas.PlatTenantService;
...@@ -80,13 +83,13 @@ import java.util.function.Consumer; ...@@ -80,13 +83,13 @@ import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* @author lixl * @author lixl
* @description 针对表【plat_user(租户账号管理)】的数据库操作Service实现 * @description 针对表【plat_user(租户账号管理)】的数据库操作Service实现
* @createDate 2023-08-30 20:10:25 * @createDate 2023-08-30 20:10:25
*/ */
@Service @Service
public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser> public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
implements PlatUserService{ implements PlatUserService {
@Autowired @Autowired
private PlatTenantService platTenantService; private PlatTenantService platTenantService;
...@@ -111,28 +114,6 @@ implements PlatUserService{ ...@@ -111,28 +114,6 @@ implements PlatUserService{
@Autowired @Autowired
private PlatOrgService platOrgService; private PlatOrgService platOrgService;
//
// @Autowired
// private TntRoleWechatMenuService tntRoleWechatMenuService;
//
//
// @Autowired
// private TntFrequentUserService tntFrequentUserService;
//
//
// @Autowired
// private TntUserLabelService tntUserLabelService;
// @Autowired
// private TntCustomGroupService tntCustomGroupService;
//
// @Autowired
// private TntCustomGroupUserService tntCustomGroupUserService;
// @Autowired
// private TntLoginLogService tntLoginLogService;
@Autowired @Autowired
private SysDictionaryCategoryService sysDictionaryCategoryService; private SysDictionaryCategoryService sysDictionaryCategoryService;
...@@ -146,8 +127,7 @@ implements PlatUserService{ ...@@ -146,8 +127,7 @@ implements PlatUserService{
LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new QueryWrapper<PlatUser>().lambda() LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new QueryWrapper<PlatUser>().lambda()
.like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount()) .like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount())
//.like(StringUtils.isNotBlank(dto.getUsername()), TntUser::getUserName, dto.getUsername()) .like(StringUtils.isNotBlank(dto.getUsername()), PlatUser::getUsername, dto.getUsername())
.like(StringUtils.isNotBlank(dto.getName()), PlatUser::getUsername, dto.getName())
.like(StringUtils.isNotBlank(dto.getMobile()), PlatUser::getMobile, dto.getMobile()) .like(StringUtils.isNotBlank(dto.getMobile()), PlatUser::getMobile, dto.getMobile())
.eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus()); .eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus());
...@@ -373,24 +353,29 @@ implements PlatUserService{ ...@@ -373,24 +353,29 @@ implements PlatUserService{
} }
PlatUser tntUser = getOne(new QueryWrapper<PlatUser>().lambda() PlatUser platUser = getOne(new QueryWrapper<PlatUser>().lambda()
.eq(PlatUser::getAccount, loginDTO.getAccount()) .eq(PlatUser::getAccount, loginDTO.getAccount())
.or() .or()
.eq(PlatUser::getMobile, loginDTO.getAccount()) .eq(PlatUser::getMobile, loginDTO.getAccount())
); );
//这样在所有租户内工号不能重复 //这样在所有租户内工号不能重复
if (tntUser == null) { if (platUser == null) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_USER_PASSWORD); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_USER_PASSWORD);
} }
if (CommonEnum.NO.getValue().equals(tntUser.getStatus())) { if (CommonEnum.NO.getValue().equals(platUser.getStatus())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_USER_HAS_DISABLED); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_USER_HAS_DISABLED);
} }
if (!PasswordUtils.validatePassword(loginDTO.getPassword(), tntUser.getPassword())) { if (!PasswordUtils.validatePassword(loginDTO.getPassword(), platUser.getPassword())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_USER_PASSWORD); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_AUTH_USER_PASSWORD);
} }
PlatUserLoginVO userLoginVO = BeanDtoVoUtils.convert(tntUser, PlatUserLoginVO.class); /**
* 校验机场
*/
checkUserOrg(platUser);
PlatUserLoginVO userLoginVO = BeanDtoVoUtils.convert(platUser, PlatUserLoginVO.class);
String token = IdGen.getUUID(); String token = IdGen.getUUID();
userLoginVO.setToken(token); userLoginVO.setToken(token);
...@@ -402,6 +387,28 @@ implements PlatUserService{ ...@@ -402,6 +387,28 @@ implements PlatUserService{
return userLoginVO; return userLoginVO;
} }
/**
* 校验组织
* @param platUser
*/
private void checkUserOrg(PlatUser platUser) {
String orgId = platUser.getOrgId();
//禁用的子公司其下属账号无法登录
PlatOrg platOrg = platOrgService.getById(orgId);
if(platOrg==null){
throw new BusinessException("找不到组织");
}
String path = platOrg.getPath();
String[] split = StringUtils.split(path, ",");
LambdaQueryWrapper<PlatOrg> platOrgLambdaQueryWrapper = new LambdaQueryWrapper<>();
platOrgLambdaQueryWrapper.in(BaseEntity::getId,split)
.eq(PlatOrg::getStatus,CommonEnum.NO.getValue());
long count = platOrgService.count(platOrgLambdaQueryWrapper);
if(count>0){
throw new BusinessException("禁用的子公司其下属账号无法登录");
}
}
private void fillMenuList(List<PlatMenu> menuList, PlatUserLoginVO userLoginVO) { private void fillMenuList(List<PlatMenu> menuList, PlatUserLoginVO userLoginVO) {
// List<TntMenu> buttonList = StreamUtil.filter(menuList, e -> SysEnum.MenuTypeEnum.MENU.getValue().equals(e.getCategory()) || SysEnum.MenuTypeEnum.BUTTON.getValue().equals(e.getCategory())); // List<TntMenu> buttonList = StreamUtil.filter(menuList, e -> SysEnum.MenuTypeEnum.MENU.getValue().equals(e.getCategory()) || SysEnum.MenuTypeEnum.BUTTON.getValue().equals(e.getCategory()));
...@@ -469,7 +476,7 @@ implements PlatUserService{ ...@@ -469,7 +476,7 @@ implements PlatUserService{
tntUserRoleMenuRedisVO.setId(userLoginVO.getId()); tntUserRoleMenuRedisVO.setId(userLoginVO.getId());
tntUserRoleMenuRedisVO.setIsTenant(tntUserRoleMenuRedisVO.getIsTenant()); tntUserRoleMenuRedisVO.setIsTenant(tntUserRoleMenuRedisVO.getIsTenant());
if (userLoginVO.getRoleList() != null) { if (userLoginVO.getRoleList() != null) {
tntUserRoleMenuRedisVO.setRoleCodeList(StreamUtil.map(userLoginVO.getRoleList(), PlatRoleDTOVO::getCode)); tntUserRoleMenuRedisVO.setRoleCodeList(StreamUtil.map(userLoginVO.getRoleList(), PlatRoleDTOVO::getId));
} }
if (userLoginVO.getButtonList() != null) { if (userLoginVO.getButtonList() != null) {
tntUserRoleMenuRedisVO.setButtonCodeList(StreamUtil.map(userLoginVO.getButtonList(), PlatButtonVO::getCode)); tntUserRoleMenuRedisVO.setButtonCodeList(StreamUtil.map(userLoginVO.getButtonList(), PlatButtonVO::getCode));
...@@ -670,45 +677,28 @@ implements PlatUserService{ ...@@ -670,45 +677,28 @@ implements PlatUserService{
private LambdaQueryWrapper<PlatUser> listLambdaQueryWrapper(PlatUserQueryDTO dto) { private LambdaQueryWrapper<PlatUser> listLambdaQueryWrapper(PlatUserQueryDTO dto) {
//TODO 用标签查人可能慢
List<String> labelUserIdList = new ArrayList<>(10);
labelUserIdList.add(-1 + "");
// if (StringUtils.isNotBlank(dto.getLabelId())) {
// labelUserIdList.addAll(
// StreamUtil.map(
// tntUserLabelService.list(new QueryWrapper<PlatUserLabel>().lambda()
// .eq(PlatUserLabel::getLabelId, dto.getLabelId())
// .eq(PlatUserLabel::getStatus, LabelEnum.LabelUserStatusEnum.EFFECT.getValue())
// ),
// PlatUserLabel::getPlatUserId)
// );
// }
LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new QueryWrapper<PlatUser>().lambda() LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new QueryWrapper<PlatUser>().lambda()
.eq(PlatUser::getIsTenant, IsTenantAccountEnum.NO.getValue()) .eq(PlatUser::getIsTenant, IsTenantAccountEnum.NO.getValue())
.like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount()) .like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount())
.in(dto.getAccountList() != null, PlatUser::getAccount, dto.getAccountList()) .in(CollectionUtils.isNotEmpty(dto.getAccountList()), PlatUser::getAccount, dto.getAccountList())
.like(StringUtils.isNotBlank(dto.getName()), PlatUser::getUsername, dto.getName()) .like(StringUtils.isNotBlank(dto.getUsername()), PlatUser::getUsername, dto.getUsername())
.in(dto.getNameList() != null, PlatUser::getUsername, dto.getName()) .in(CollectionUtils.isNotEmpty(dto.getNameList()), PlatUser::getUsername, dto.getUsername())
.like(StringUtils.isNotBlank(dto.getMobile()), PlatUser::getMobile, dto.getMobile()) .like(StringUtils.isNotBlank(dto.getMobile()), PlatUser::getMobile, dto.getMobile())
.eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus()) .eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus())
.in(StringUtils.isNotBlank(dto.getLabelId()), PlatUser::getId, labelUserIdList)
.eq(PlatUser::getTenantId, TenantIdUtil.getTenantId()) .eq(PlatUser::getTenantId, TenantIdUtil.getTenantId())
.and(StringUtils.isNotBlank(dto.getKeyword()), qw -> { .and(StringUtils.isNotBlank(dto.getKeyword()), qw -> {
qw.like(StringUtils.isNotBlank(dto.getKeyword()), PlatUser::getUsername, dto.getKeyword()) qw.like(StringUtils.isNotBlank(dto.getKeyword()), PlatUser::getUsername, dto.getKeyword())
.or() .or()
.like(StringUtils.isNotBlank(dto.getKeyword()), PlatUser::getAccount, dto.getKeyword()); .like(StringUtils.isNotBlank(dto.getKeyword()), PlatUser::getAccount, dto.getKeyword());
}) });
//.in(PlatUser::getOrgId, DeptUtil.getDeptCantTapIdList(dto.getDeptId(), dto.getFromHotel()))
;
roleIdFilter(lambdaQueryWrapper, dto); roleIdFilter(lambdaQueryWrapper, dto);
roleIdList(lambdaQueryWrapper, dto); roleIdList(lambdaQueryWrapper, dto);
if (dto.getDeptIdList() != null) { if (CollectionUtils.isNotEmpty(dto.getOrgIdList())) {
dto.getDeptIdList().add(-1 + ""); dto.getOrgIdList().add(-1 + "");
lambdaQueryWrapper.in(PlatUser::getOrgId, dto.getDeptIdList()); lambdaQueryWrapper.in(PlatUser::getOrgId, dto.getOrgIdList());
} }
lambdaQueryWrapper.orderByDesc(PlatUser::getCreateDate); lambdaQueryWrapper.orderByDesc(PlatUser::getCreateDate);
...@@ -719,12 +709,8 @@ implements PlatUserService{ ...@@ -719,12 +709,8 @@ implements PlatUserService{
private void fillDept(List<PlatPersonDTOVO> tntUserDTOVOList) { private void fillDept(List<PlatPersonDTOVO> tntUserDTOVOList) {
JoinUtil.join(tntUserDTOVOList, platOrgService, PlatPersonDTOVO::getDeptId, PlatOrg::getId, (p, d) -> { JoinUtil.join(tntUserDTOVOList, platOrgService, PlatPersonDTOVO::getOrgId, PlatOrg::getId, (p, d) -> {
p.setDeptName(d.getName()); p.setOrgName(d.getName());
});
JoinUtil.joinSplit(tntUserDTOVOList, platOrgService, null, PlatPersonDTOVO::getChargeDeptId, PlatOrg::getId, (p, d) -> {
p.setChargeDeptName(d.stream().map(PlatOrg::getName).collect(Collectors.joining(",")));
}); });
} }
...@@ -757,7 +743,7 @@ implements PlatUserService{ ...@@ -757,7 +743,7 @@ implements PlatUserService{
List<Map<String, Object>> tntUserList = listMaps( List<Map<String, Object>> tntUserList = listMaps(
new DynamicQuery<PlatUser>() new DynamicQuery<PlatUser>()
.select(SqlUtil.count(PlatUserCountVO.Fields.count), .select(SqlUtil.count(PlatUserCountVO.Fields.count),
SqlUtil.as(PlatUserCountVO.Fields.deptId) SqlUtil.as(PlatUserCountVO.Fields.orgId)
) )
.eq(BaseBusEntity.Fields.tenantId, TenantIdUtil.getTenantId()) .eq(BaseBusEntity.Fields.tenantId, TenantIdUtil.getTenantId())
.eq(PlatUser.Fields.isTenant, IsTenantAccountEnum.NO.getValue()) .eq(PlatUser.Fields.isTenant, IsTenantAccountEnum.NO.getValue())
...@@ -815,7 +801,7 @@ implements PlatUserService{ ...@@ -815,7 +801,7 @@ implements PlatUserService{
} }
private void roleIdList(LambdaQueryWrapper<PlatUser> lambdaQueryWrapper, PlatUserQueryDTO dto) { private void roleIdList(LambdaQueryWrapper<PlatUser> lambdaQueryWrapper, PlatUserQueryDTO dto) {
if (dto.getRoleIdList() != null) { if (CollectionUtils.isNotEmpty(dto.getRoleIdList())) {
dto.getRoleIdList().add(-1 + ""); dto.getRoleIdList().add(-1 + "");
List<String> idList = new ArrayList<>(); List<String> idList = new ArrayList<>();
...@@ -833,7 +819,7 @@ implements PlatUserService{ ...@@ -833,7 +819,7 @@ implements PlatUserService{
LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new QueryWrapper<PlatUser>().lambda() LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new QueryWrapper<PlatUser>().lambda()
.eq(PlatUser::getIsTenant, IsTenantAccountEnum.NO.getValue()) .eq(PlatUser::getIsTenant, IsTenantAccountEnum.NO.getValue())
.like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount()) .like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount())
.like(StringUtils.isNotBlank(dto.getName()), PlatUser::getUsername, dto.getName()) .like(StringUtils.isNotBlank(dto.getUsername()), PlatUser::getUsername, dto.getUsername())
.like(StringUtils.isNotBlank(dto.getMobile()), PlatUser::getMobile, dto.getMobile()) .like(StringUtils.isNotBlank(dto.getMobile()), PlatUser::getMobile, dto.getMobile())
.eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus()) .eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus())
//.eq(dto.getPostLevel() != null, PlatUser::getPostLevel, dto.getPostLevel()) //.eq(dto.getPostLevel() != null, PlatUser::getPostLevel, dto.getPostLevel())
...@@ -843,16 +829,6 @@ implements PlatUserService{ ...@@ -843,16 +829,6 @@ implements PlatUserService{
roleIdList(lambdaQueryWrapper, dto); roleIdList(lambdaQueryWrapper, dto);
if (dto.getDeptIdList() != null || StringUtils.isNotBlank(dto.getChargeDeptId())) {
dto.getDeptIdList().add(-1 + "");
lambdaQueryWrapper.and(qw -> {
qw.in(dto.getDeptIdList() != null, PlatUser::getOrgId, dto.getDeptIdList())
.or(StringUtils.isNotBlank(dto.getChargeDeptId()))
//.like(StringUtils.isNotBlank(dto.getChargeDeptId()), PlatUser::getChargeDeptId, dto.getChargeDeptId())
;
});
}
lambdaQueryWrapper.orderByDesc(PlatUser::getCreateDate); lambdaQueryWrapper.orderByDesc(PlatUser::getCreateDate);
List<PlatPersonDTOVO> tntUserList = BeanDtoVoUtils.listVo(list(lambdaQueryWrapper), PlatPersonDTOVO.class); List<PlatPersonDTOVO> tntUserList = BeanDtoVoUtils.listVo(list(lambdaQueryWrapper), PlatPersonDTOVO.class);
...@@ -879,7 +855,7 @@ implements PlatUserService{ ...@@ -879,7 +855,7 @@ implements PlatUserService{
@Transactional @Transactional
@Override @Override
public void addPerson(PlatPersonDTOVO dto) { public String addPerson(PlatPersonDTOVO dto) {
checkPerson(BeanDtoVoUtils.convert(dto, PlatUserDTOVO.class)); checkPerson(BeanDtoVoUtils.convert(dto, PlatUserDTOVO.class));
PlatUser user = BeanDtoVoUtils.convert(dto, PlatUser.class); PlatUser user = BeanDtoVoUtils.convert(dto, PlatUser.class);
user.setIsTenant(CommonEnum.NO.getValue()); user.setIsTenant(CommonEnum.NO.getValue());
...@@ -898,6 +874,8 @@ implements PlatUserService{ ...@@ -898,6 +874,8 @@ implements PlatUserService{
save(user); save(user);
dto.setId(user.getId()); dto.setId(user.getId());
setRoleList(dto); setRoleList(dto);
return user.getId();
} }
...@@ -1012,38 +990,39 @@ implements PlatUserService{ ...@@ -1012,38 +990,39 @@ implements PlatUserService{
// //
// } // }
// @Override @Override
// public List<PlatRole> getRoleListWithTag(String userId) { public List<PlatRole> getRoleListWithTag(String userId) {
//
// List<PlatRole> roleList = getRoleList(userId);
//
// List<String> deptIdList = StreamUtil.map(roleList, TntRole::getDeptId);
//
// List<PlatOrg> deptList = platOrgService.list(new QueryWrapper<PlatOrg>().lambda()
// .in(PlatOrg::getId, deptIdList)
// .eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
// );
//
// Map<String, PlatOrg> deptMap = StreamUtil.toMap(deptList, PlatOrg::getId);
//// roleList.forEach(e -> {
//// PlatOrg dept = deptMap.get(e.PlatOrg());
//// if (dept != null) {
//// e.setTag(dept.getTag());
//// }
//// });
//
// return roleList;
// }
// @Override List<PlatRole> roleList = getRoleList(userId);
// public TntRole getMaxRole(String userId) {
// List<TntRole> roleList = getRoleListWithTag(userId); List<String> deptIdList = StreamUtil.map(roleList, PlatRole::getOrgId);
// if (roleList.isEmpty()) {
// return null; List<PlatOrg> deptList = platOrgService.list(new QueryWrapper<PlatOrg>().lambda()
// } .in(PlatOrg::getId, deptIdList)
// TntRole tntRole = Collections.min(roleList, Comparator.comparing(o -> DeptEnum.tagLevelMap.get(o.getTag()))); .eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
// return tntRole; );
Map<String, PlatOrg> deptMap = StreamUtil.toMap(deptList, PlatOrg::getId);
// roleList.forEach(e -> {
// PlatOrg dept = deptMap.get(e.PlatOrg());
// if (dept != null) {
// e.setTag(dept.getTag());
// } // }
// });
return roleList;
}
@Override
public PlatRole getMaxRole(String userId) {
List<PlatRole> roleList = getRoleListWithTag(userId);
if (roleList.isEmpty()) {
return null;
}
//todo 2023年9月4日
//PlatRole tntRole = Collections.min(roleList, Comparator.comparing(o -> DeptEnum.tagLevelMap.get(o.getTag())));
return roleList.get(0);
}
@Override @Override
public List<PlatOrg> getDeptList() { public List<PlatOrg> getDeptList() {
...@@ -1081,7 +1060,7 @@ implements PlatUserService{ ...@@ -1081,7 +1060,7 @@ implements PlatUserService{
// } // }
// }); // });
PlatOrg userDept = map.get(PlatUserUtil.getUserVO().getDeptId()); PlatOrg userDept = map.get(PlatUserUtil.getUserVO().getOrgId());
// if (userDept != null) { // if (userDept != null) {
// userDept.setCanTap(CommonEnum.YES.getValue()); // userDept.setCanTap(CommonEnum.YES.getValue());
// } // }
...@@ -1110,7 +1089,6 @@ implements PlatUserService{ ...@@ -1110,7 +1089,6 @@ implements PlatUserService{
} }
@Override @Override
public List<PlatOrg> getDeptSelfAndChildrenByDeptName(List<String> deptNames, Map<String, PlatOrg> selfAndChildren) { public List<PlatOrg> getDeptSelfAndChildrenByDeptName(List<String> deptNames, Map<String, PlatOrg> selfAndChildren) {
if (CollectionUtils.isEmpty(deptNames)) { if (CollectionUtils.isEmpty(deptNames)) {
...@@ -1154,34 +1132,34 @@ implements PlatUserService{ ...@@ -1154,34 +1132,34 @@ implements PlatUserService{
return platOrgService.getDeptSelfAndChildren(deptId); return platOrgService.getDeptSelfAndChildren(deptId);
} }
// @Override @Override
// public List<PlatOrg> getHotelList(String deptId) {//新增编辑角色 那边的管理范围 //不包含自己 public List<PlatOrg> getHotelList(String deptId) {//新增编辑角色 那边的管理范围 //不包含自己
// List<PlatOrg> newList = getDeptList(); List<PlatOrg> newList = getDeptList();
// if (StringUtils.isBlank(deptId)) { if (StringUtils.isBlank(deptId)) {
// return StreamUtil.filter(newList, e -> DeptEnum.DeptTagEnum.HOTEL.getValue().equals(e.getTag())); return newList;
// //return newList; //return newList;
// } else { } else {
// List<PlatOrg> treeList = platOrgService.tree(newList); List<PlatOrg> treeList = platOrgService.tree(newList);
//
// List<PlatOrg> matchList = StreamUtil.filter(newList, e -> e.getId().equals(deptId)); List<PlatOrg> matchList = StreamUtil.filter(newList, e -> e.getId().equals(deptId));
// if (matchList.isEmpty()) { if (matchList.isEmpty()) {
// return new ArrayList<>(10); return new ArrayList<>(10);
// } }
//
// List<PlatOrg> deptList = new ArrayList<>(10); List<PlatOrg> deptList = new ArrayList<>(10);
//
// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(matchList.get(0).getTag())) { // if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(matchList.get(0).getTag())) {
// deptList.add(matchList.get(0)); // deptList.add(matchList.get(0));
// } // }
//
// platOrgService.flat(matchList.get(0).getChildren(), deptList); platOrgService.flat(matchList.get(0).getChildren(), matchList);
// deptList.forEach(e -> { deptList.forEach(e -> {
// e.setChildren(null); e.setChildren(null);
// }); });
// return StreamUtil.filter(deptList, e -> DeptEnum.DeptTagEnum.HOTEL.getValue().equals(e.getTag())); //return StreamUtil.filter(deptList, e -> DeptEnum.DeptTagEnum.HOTEL.getValue().equals(e.getTag()));
// //return deptList; return matchList;
// } }
// } }
@Override @Override
public List<PlatOrg> getCandidateDeptList() {//新增编辑角色 那边的管理范围 //不包含自己 public List<PlatOrg> getCandidateDeptList() {//新增编辑角色 那边的管理范围 //不包含自己
...@@ -1222,7 +1200,7 @@ implements PlatUserService{ ...@@ -1222,7 +1200,7 @@ implements PlatUserService{
Page<PlatUser> p = PageUtil.toMpPage(page); Page<PlatUser> p = PageUtil.toMpPage(page);
LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.like(StringUtils.isNotBlank(dto.getName()), PlatUser::getUsername, dto.getName()); lambdaQueryWrapper.like(StringUtils.isNotBlank(dto.getUsername()), PlatUser::getUsername, dto.getUsername());
lambdaQueryWrapper.like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount()); lambdaQueryWrapper.like(StringUtils.isNotBlank(dto.getAccount()), PlatUser::getAccount, dto.getAccount());
lambdaQueryWrapper.eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus()); lambdaQueryWrapper.eq(StringUtils.isNotBlank(dto.getStatus()), PlatUser::getStatus, dto.getStatus());
Page<PlatUser> pageList = page(p, lambdaQueryWrapper); Page<PlatUser> pageList = page(p, lambdaQueryWrapper);
...@@ -1231,4 +1209,19 @@ implements PlatUserService{ ...@@ -1231,4 +1209,19 @@ implements PlatUserService{
fillDept(tntUserDTOVOList); fillDept(tntUserDTOVOList);
return PageUtil.toPageVO(tntUserDTOVOList, pageList); return PageUtil.toPageVO(tntUserDTOVOList, pageList);
} }
/**
* 更新用户的tenantId
*
* @param tenantId
* @param platUserId
*/
@Transactional
public void updatePlatUserTenantId(String tenantId, String platUserId) {
LambdaUpdateWrapper<PlatUser> updateWrapper = Wrappers.lambdaUpdate(PlatUser.class)
.set(PlatUser::getTenantId, tenantId)
.eq(BaseEntity::getId, platUserId);
this.update(updateWrapper);
}
} }
package com.makeit.server.platform.elder; package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
......
package com.makeit.server.platform.elder; package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderHealthInfo; import com.makeit.entity.platform.elder.PlatElderHealthInfo;
......
package com.makeit.server.platform.elder; package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderOtherInfo; import com.makeit.entity.platform.elder.PlatElderOtherInfo;
......
package com.makeit.server.platform.elder; package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
......
package com.makeit.server.platform.elder; package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
......
package com.makeit.server.platform.elder; package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderSocialRelation; import com.makeit.entity.platform.elder.PlatElderSocialRelation;
......
package com.makeit.server.platform.elder.impl; package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -13,8 +13,8 @@ import com.makeit.entity.platform.elder.PlatElderChildrenInfo; ...@@ -13,8 +13,8 @@ import com.makeit.entity.platform.elder.PlatElderChildrenInfo;
import com.makeit.enums.CodeMessageEnum; import com.makeit.enums.CodeMessageEnum;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.elder.PlatElderChildrenInfoMapper; import com.makeit.mapper.platform.elder.PlatElderChildrenInfoMapper;
import com.makeit.server.platform.elder.PlatElderChildrenInfoService; import com.makeit.service.platform.elder.PlatElderChildrenInfoService;
import com.makeit.server.platform.elder.PlatElderService; import com.makeit.service.platform.elder.PlatElderService;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
......
package com.makeit.server.platform.elder.impl; package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.elder.PlatElderHealthInfo; import com.makeit.entity.platform.elder.PlatElderHealthInfo;
import com.makeit.mapper.platform.elder.PlatElderHealthInfoMapper; import com.makeit.mapper.platform.elder.PlatElderHealthInfoMapper;
import com.makeit.server.platform.elder.PlatElderHealthInfoService; import com.makeit.service.platform.elder.PlatElderHealthInfoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.elder.impl; package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.elder.PlatElderOtherInfo; import com.makeit.entity.platform.elder.PlatElderOtherInfo;
import com.makeit.mapper.platform.elder.PlatElderOtherInfoMapper; import com.makeit.mapper.platform.elder.PlatElderOtherInfoMapper;
import com.makeit.server.platform.elder.PlatElderOtherInfoService; import com.makeit.service.platform.elder.PlatElderOtherInfoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.elder.impl; package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -9,7 +9,7 @@ import com.makeit.common.page.PageVO; ...@@ -9,7 +9,7 @@ import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.elder.PlatElderPhysicalReportDTOVO; import com.makeit.dto.platform.elder.PlatElderPhysicalReportDTOVO;
import com.makeit.entity.platform.elder.PlatElderPhysicalReport; import com.makeit.entity.platform.elder.PlatElderPhysicalReport;
import com.makeit.mapper.platform.elder.PlatElderPhysicalReportMapper; import com.makeit.mapper.platform.elder.PlatElderPhysicalReportMapper;
import com.makeit.server.platform.elder.PlatElderPhysicalReportService; import com.makeit.service.platform.elder.PlatElderPhysicalReportService;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.sys.FileUtil; import com.makeit.utils.sys.FileUtil;
......
package com.makeit.server.platform.elder.impl; package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -15,7 +15,7 @@ import com.makeit.enums.CodeMessageEnum; ...@@ -15,7 +15,7 @@ import com.makeit.enums.CodeMessageEnum;
import com.makeit.enums.FileSuffixEnum; import com.makeit.enums.FileSuffixEnum;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.elder.PlatElderMapper; import com.makeit.mapper.platform.elder.PlatElderMapper;
import com.makeit.server.platform.elder.*; import com.makeit.service.platform.elder.*;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
......
package com.makeit.server.platform.elder.impl; package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.elder.PlatElderSocialRelation; import com.makeit.entity.platform.elder.PlatElderSocialRelation;
import com.makeit.mapper.platform.elder.PlatElderSocialRelationMapper; import com.makeit.mapper.platform.elder.PlatElderSocialRelationMapper;
import com.makeit.server.platform.elder.PlatElderSocialRelationService; import com.makeit.service.platform.elder.PlatElderSocialRelationService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.space.Bed; import com.makeit.entity.platform.space.Bed;
......
package com.makeit.server.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.space.RegionSettingLocation; import com.makeit.entity.platform.space.RegionSettingLocation;
......
package com.makeit.server.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.space.RegionSetting; import com.makeit.entity.platform.space.RegionSetting;
......
package com.makeit.server.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.space.Room; import com.makeit.entity.platform.space.Room;
......
package com.makeit.server.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.space.Space; import com.makeit.entity.platform.space.Space;
......
package com.makeit.server.platform.space.impl; package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.space.Bed; import com.makeit.entity.platform.space.Bed;
import com.makeit.mapper.platform.space.BedMapper; import com.makeit.mapper.platform.space.BedMapper;
import com.makeit.server.platform.space.BedService; import com.makeit.service.platform.space.BedService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.space.impl; package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.space.RegionSettingLocation; import com.makeit.entity.platform.space.RegionSettingLocation;
import com.makeit.mapper.platform.space.RegionSettingLocationMapper; import com.makeit.mapper.platform.space.RegionSettingLocationMapper;
import com.makeit.server.platform.space.RegionSettingLocationService; import com.makeit.service.platform.space.RegionSettingLocationService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.space.impl; package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.space.RegionSetting; import com.makeit.entity.platform.space.RegionSetting;
import com.makeit.mapper.platform.space.RegionSettingMapper; import com.makeit.mapper.platform.space.RegionSettingMapper;
import com.makeit.server.platform.space.RegionSettingService; import com.makeit.service.platform.space.RegionSettingService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package com.makeit.server.platform.space.impl; package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.space.Room; import com.makeit.entity.platform.space.Room;
import com.makeit.mapper.platform.space.RoomMapper; import com.makeit.mapper.platform.space.RoomMapper;
import com.makeit.server.platform.space.RoomService; import com.makeit.service.platform.space.RoomService;
/** /**
* @Author:lzy * @Author:lzy
......
package com.makeit.server.platform.space.impl; package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.space.Space; import com.makeit.entity.platform.space.Space;
import com.makeit.mapper.platform.space.SpaceMapper; import com.makeit.mapper.platform.space.SpaceMapper;
import com.makeit.server.platform.space.SpaceService; import com.makeit.service.platform.space.SpaceService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
...@@ -29,5 +29,5 @@ public interface PlatMenuService extends IService<PlatMenu> { ...@@ -29,5 +29,5 @@ public interface PlatMenuService extends IService<PlatMenu> {
void sync(); void sync();
List<PlatMenu> loadMenuCodeLis(); List<PlatMenu> loadMenuCodeList();
} }
package com.makeit.service.saas;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.saas.analysis.SaasDiseaseModelEvaluateResult;
/**
* <p>
* 呼吸心率慢性病模型评估结果 服务类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasDiseaseModelEvaluateResultService extends IService<SaasDiseaseModelEvaluateResult> {
}
package com.makeit.service.saas;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.saas.analysis.SaasDiseaseModel;
/**
* <p>
* 呼吸心率慢性病模型 服务类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasDiseaseModelService extends IService<SaasDiseaseModel> {
}
package com.makeit.service.saas;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModelEvaluateResult;
/**
* <p>
* 睡眠质量分析模型评估结果 服务类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasSleepAnalysisModelEvaluateResultService extends IService<SaasSleepAnalysisModelEvaluateResult> {
}
package com.makeit.service.saas;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModelEvaluateStandard;
/**
* <p>
* 睡眠质量分析模型评估标准 服务类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasSleepAnalysisModelEvaluateStandardService extends IService<SaasSleepAnalysisModelEvaluateStandard> {
}
package com.makeit.service.saas;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
/**
* <p>
* 睡眠质量分析模型 服务类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
public interface SaasSleepAnalysisModelService extends IService<SaasSleepAnalysisModel> {
}
...@@ -235,7 +235,7 @@ implements PlatMenuService { ...@@ -235,7 +235,7 @@ implements PlatMenuService {
} }
@Override @Override
public List<PlatMenu> loadMenuCodeLis() { public List<PlatMenu> loadMenuCodeList() {
List<PlatMenu> list = StreamUtil.filter(this.load(), e -> TreeConst.TOP_LEVEL.equals(e.getParentId())); List<PlatMenu> list = StreamUtil.filter(this.load(), e -> TreeConst.TOP_LEVEL.equals(e.getParentId()));
return list; return list;
} }
...@@ -250,7 +250,7 @@ implements PlatMenuService { ...@@ -250,7 +250,7 @@ implements PlatMenuService {
//插入匹配过滤条件 //插入匹配过滤条件
provider.addIncludeFilter(new RegexPatternTypeFilter(Pattern.compile(".*Controller"))); provider.addIncludeFilter(new RegexPatternTypeFilter(Pattern.compile(".*Controller")));
final Set<BeanDefinition> classes = provider.findCandidateComponents("com.makeit.controller.tenant"); final Set<BeanDefinition> classes = provider.findCandidateComponents("com.makeit.controller.plat");
//从bean中加载数据 //从bean中加载数据
for (BeanDefinition bean : classes) { for (BeanDefinition bean : classes) {
......
...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity; import com.makeit.common.entity.BaseEntity;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO; import com.makeit.common.page.PageVO;
import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.auth.PlatUser; import com.makeit.entity.platform.auth.PlatUser;
import com.makeit.entity.saas.PlatTenant; import com.makeit.entity.saas.PlatTenant;
import com.makeit.entity.saas.PlatTenantMenu; import com.makeit.entity.saas.PlatTenantMenu;
...@@ -22,7 +23,8 @@ import com.makeit.module.admin.dto.plat.PlatTenantMenuDTO; ...@@ -22,7 +23,8 @@ import com.makeit.module.admin.dto.plat.PlatTenantMenuDTO;
import com.makeit.module.admin.dto.plat.PlatTenantStatusDTO; import com.makeit.module.admin.dto.plat.PlatTenantStatusDTO;
import com.makeit.module.admin.vo.plat.PlatTenantVO; import com.makeit.module.admin.vo.plat.PlatTenantVO;
import com.makeit.module.system.service.SysConfigService; import com.makeit.module.system.service.SysConfigService;
import com.makeit.server.platform.auth.PlatUserService; import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.service.platform.auth.PlatUserService;
import com.makeit.service.saas.PlatTenantMenuService; import com.makeit.service.saas.PlatTenantMenuService;
import com.makeit.service.saas.PlatTenantService; import com.makeit.service.saas.PlatTenantService;
import com.makeit.service.saas.SaasOperationLogService; import com.makeit.service.saas.SaasOperationLogService;
...@@ -31,7 +33,6 @@ import com.makeit.utils.data.convert.BeanDtoVoUtils; ...@@ -31,7 +33,6 @@ import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.redis.RedisCacheUtil; import com.makeit.utils.redis.RedisCacheUtil;
import com.makeit.utils.redis.ScheduleLockUtil;
import com.makeit.utils.user.plat.PlatUserUtil; import com.makeit.utils.user.plat.PlatUserUtil;
import com.makeit.utils.user.plat.PlatUserVO; import com.makeit.utils.user.plat.PlatUserVO;
import com.makeit.utils.user.plat.TntUserJoinUtil; import com.makeit.utils.user.plat.TntUserJoinUtil;
...@@ -71,6 +72,9 @@ implements PlatTenantService { ...@@ -71,6 +72,9 @@ implements PlatTenantService {
@Autowired @Autowired
private PlatTenantMenuService platTenantMenuService; private PlatTenantMenuService platTenantMenuService;
@Autowired
private PlatOrgService platOrgService;
private LambdaQueryWrapper<PlatTenant> listLambdaQueryWrapper(PlatTenantVO dto, boolean userAccountLike) { private LambdaQueryWrapper<PlatTenant> listLambdaQueryWrapper(PlatTenantVO dto, boolean userAccountLike) {
List<String> tenantUserIdList = new ArrayList<>(10); List<String> tenantUserIdList = new ArrayList<>(10);
...@@ -190,10 +194,16 @@ implements PlatTenantService { ...@@ -190,10 +194,16 @@ implements PlatTenantService {
PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class); PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class);
save(tntTenant); save(tntTenant);
dto.setId(tntTenant.getId()); dto.setId(tntTenant.getId());
//setMenuList(dto);
sysConfigService.copyForTenant(dto); sysConfigService.copyForTenant(dto);
//更新用户的tenantId
platUserService.updatePlatUserTenantId(tntTenant.getId(),dto.getPlatUserId());
//组织表增加一条数据
PlatOrg platOrg = convertToPlatOrg(tntTenant);
platOrgService.add(platOrg);
return tntTenant.getId(); return tntTenant.getId();
} }
...@@ -203,20 +213,39 @@ implements PlatTenantService { ...@@ -203,20 +213,39 @@ implements PlatTenantService {
checkName(dto); checkName(dto);
checkDate(dto); checkDate(dto);
PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class); PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class);
PlatTenant platTenant = getById(tntTenant.getId());
updateById(tntTenant); updateById(tntTenant);
//setMenuList(dto);
//更新用户的tenantId
if(!StringUtils.equals(dto.getPlatUserId(),platTenant.getPlatUserId())) {
platUserService.updatePlatUserTenantId(null, dto.getPlatUserId());
}
platUserService.updatePlatUserTenantId(tntTenant.getId(),dto.getPlatUserId());
PlatOrg platOrg = convertToPlatOrg(platTenant);
//更新组织表
platOrgService.edit(platOrg);
saasOperationLogService.add("平台端-租户账号-编辑", dto.getId()); saasOperationLogService.add("平台端-租户账号-编辑", dto.getId());
} }
public PlatOrg convertToPlatOrg(PlatTenant platTenant){
PlatOrg platOrg = new PlatOrg();
platOrg.setTenantId(platTenant.getId());
platOrg.setName(platTenant.getName());
platOrg.setStatus(platTenant.getStatus());
platOrg.setId(platTenant.getId());
return platOrg;
}
@Override @Override
public PlatTenantDTOVO view(String id) { public PlatTenantDTOVO view(String id) {
PlatTenantDTOVO userVO = BeanDtoVoUtils.convert(getById(id), PlatTenantDTOVO.class); PlatTenantDTOVO userVO = BeanDtoVoUtils.convert(getById(id), PlatTenantDTOVO.class);
TntUserJoinUtil.join(platUserService,Arrays.asList(userVO), PlatTenantDTOVO::getPlatUserId,(t,u)->t.setPlatUserVO(BeanDtoVoUtils.convert(u,PlatUserVO.class)) ,PlatUser::getId); TntUserJoinUtil.join(platUserService,Arrays.asList(userVO), PlatTenantDTOVO::getPlatUserId,(t,u)->t.setPlatUserVO(BeanDtoVoUtils.convert(u,PlatUserVO.class)) ,PlatUser::getId);
//platOperationLogService.add("平台端-租户账号-详情", id); saasOperationLogService.add("平台端-租户账号-详情", id);
return userVO; return userVO;
} }
...@@ -261,9 +290,9 @@ implements PlatTenantService { ...@@ -261,9 +290,9 @@ implements PlatTenantService {
@Override @Override
public void changeStatusJob() { public void changeStatusJob() {
if (!ScheduleLockUtil.lockWithLog("TntTenantServiceImpl:changeStatusJob")) { // if (!ScheduleLockUtil.lockWithLog("TntTenantServiceImpl:changeStatusJob")) {
return; // return;
} // }
List<PlatTenant> tntTenantList = list(new QueryWrapper<PlatTenant>().lambda() List<PlatTenant> tntTenantList = list(new QueryWrapper<PlatTenant>().lambda()
.lt(PlatTenant::getEndTime, LocalDate.now()) .lt(PlatTenant::getEndTime, LocalDate.now())
......
package com.makeit.service.saas.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.saas.analysis.SaasDiseaseModelEvaluateResult;
import com.makeit.mapper.saas.analysis.SaasDiseaseModelEvaluateResultMapper;
import com.makeit.service.saas.SaasDiseaseModelEvaluateResultService;
import org.springframework.stereotype.Service;
/**
* <p>
* 呼吸心率慢性病模型评估结果 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Service
public class SaasDiseaseModelEvaluateResultServiceImpl extends ServiceImpl<SaasDiseaseModelEvaluateResultMapper, SaasDiseaseModelEvaluateResult> implements SaasDiseaseModelEvaluateResultService {
}
package com.makeit.service.saas.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.saas.analysis.SaasDiseaseModel;
import com.makeit.mapper.saas.analysis.SaasDiseaseModelMapper;
import com.makeit.service.saas.SaasDiseaseModelService;
import org.springframework.stereotype.Service;
/**
* <p>
* 呼吸心率慢性病模型 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Service
public class SaasDiseaseModelServiceImpl extends ServiceImpl<SaasDiseaseModelMapper, SaasDiseaseModel> implements SaasDiseaseModelService {
}
...@@ -67,11 +67,11 @@ implements SaasRoleService{ ...@@ -67,11 +67,11 @@ implements SaasRoleService{
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_NAME_DUPLICATE); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_NAME_DUPLICATE);
} }
old = getOne(new QueryWrapper<SaasRole>().lambda() // old = getOne(new QueryWrapper<SaasRole>().lambda()
.eq(SaasRole::getCode, dto.getCode())); // .eq(SaasRole::getName, dto.getName()));
if (old != null && !old.getId().equals(dto.getId())) { // if (old != null && !old.getId().equals(dto.getId())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_CODE_DUPLICATE); // throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_CODE_DUPLICATE);
} // }
} }
@Transactional @Transactional
......
package com.makeit.service.saas.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModelEvaluateResult;
import com.makeit.mapper.saas.analysis.SaasSleepAnalysisModelEvaluateResultMapper;
import com.makeit.service.saas.SaasSleepAnalysisModelEvaluateResultService;
import org.springframework.stereotype.Service;
/**
* <p>
* 睡眠质量分析模型评估结果 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Service
public class SaasSleepAnalysisModelEvaluateResultServiceImpl extends ServiceImpl<SaasSleepAnalysisModelEvaluateResultMapper, SaasSleepAnalysisModelEvaluateResult> implements SaasSleepAnalysisModelEvaluateResultService {
}
package com.makeit.service.saas.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModelEvaluateStandard;
import com.makeit.mapper.saas.analysis.SaasSleepAnalysisModelEvaluateStandardMapper;
import com.makeit.service.saas.SaasSleepAnalysisModelEvaluateStandardService;
import org.springframework.stereotype.Service;
/**
* <p>
* 睡眠质量分析模型评估标准 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Service
public class SaasSleepAnalysisModelEvaluateStandardServiceImpl extends ServiceImpl<SaasSleepAnalysisModelEvaluateStandardMapper, SaasSleepAnalysisModelEvaluateStandard> implements SaasSleepAnalysisModelEvaluateStandardService {
}
package com.makeit.service.saas.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
import com.makeit.mapper.saas.analysis.SaasSleepAnalysisModelMapper;
import com.makeit.service.saas.SaasSleepAnalysisModelService;
import org.springframework.stereotype.Service;
/**
* <p>
* 睡眠质量分析模型 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-01
*/
@Service
public class SaasSleepAnalysisModelServiceImpl extends ServiceImpl<SaasSleepAnalysisModelMapper, SaasSleepAnalysisModel> implements SaasSleepAnalysisModelService {
}
...@@ -15,7 +15,7 @@ public class PlatOrgQueryDTO extends BaseOrgDTO { ...@@ -15,7 +15,7 @@ public class PlatOrgQueryDTO extends BaseOrgDTO {
@ApiModelProperty(value = "状态 0禁用 1启用") @ApiModelProperty(value = "状态 0禁用 1启用")
private String status; private String status;
@ApiModelProperty(value = "是否从酒店开始 0否 1是") @ApiModelProperty(value = "字典类型 1-居家 2-机构")
private String fromHotel; private String type;
} }
...@@ -19,10 +19,10 @@ import java.util.List; ...@@ -19,10 +19,10 @@ import java.util.List;
@Data @Data
public class PlatPersonDTOVO extends BaseIdDTO { public class PlatPersonDTOVO extends BaseIdDTO {
// @NotBlank(message = "用户名不能为空") @NotBlank(message = "用户名不能为空")
// @Size(max = 64, message = "用户名最长为64字符") @Size(max = 64, message = "用户名最长为64字符")
// @ApiModelProperty(value = "用户名") @ApiModelProperty(value = "用户名")
// private String username; private String username;
@NotBlank(message = "名称不能为空") @NotBlank(message = "名称不能为空")
@Size(max = 64, message = "名称最长为64字符") @Size(max = 64, message = "名称最长为64字符")
...@@ -30,23 +30,13 @@ public class PlatPersonDTOVO extends BaseIdDTO { ...@@ -30,23 +30,13 @@ public class PlatPersonDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "账户") @ApiModelProperty(value = "账户")
private String account; private String account;
//@NotBlank(message = "密码不能为空")
@Size(max = 32, message = "密码最长为64字符") @Size(max = 32, message = "密码最长为64字符")
@ApiModelProperty(value = "密码") @ApiModelProperty(value = "密码")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password; private String password;
// @ApiModelProperty(value = "姓名")
// private String name;
@NotBlank(message = "姓名不能为空")
@Size(max = 64, message = "用户名最长为64字符")
@ApiModelProperty(value = "姓名")
private String name;
@NotBlank(message = "手机号不能为空") @NotBlank(message = "手机号不能为空")
@Pattern(regexp = "1[0-9]{10}", message = "手机号格式不对") @Pattern(regexp = "1[0-9]{10}", message = "手机号格式不对")
//@Size(max = 11, message = "手机号最长为64字符")
@ApiModelProperty(value = "手机号") @ApiModelProperty(value = "手机号")
private String mobile; private String mobile;
...@@ -55,69 +45,31 @@ public class PlatPersonDTOVO extends BaseIdDTO { ...@@ -55,69 +45,31 @@ public class PlatPersonDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "状态 0禁用 1启用") @ApiModelProperty(value = "状态 0禁用 1启用")
private String status; private String status;
@NotBlank(message = "部门不能为空")
@ApiModelProperty(value = "部门树id") @ApiModelProperty(value = "部门树id")
private String deptId; private String orgId;
@ApiModelProperty(value = "分管部门id")
private String chargeDeptId;
@NotBlank(message = "性别不能为空")
@Pattern(regexp = "1|2", message = "性别可选值为 1男 2女")
@ApiModelProperty(value = "性别 1男 2女")
private String sex;
@ApiModelProperty(value = "职位")
private String post;
//@NotNull(message = "职级不能为空")
@ApiModelProperty(value = "职级")
private Integer postLevel;
@ApiModelProperty(value = "职级描述")
private String postLevelDesc;
@NotBlank(message = "类型不能为空")
@Pattern(regexp = "1|2", message = "类型可选值为 1默认 2自建")
@ApiModelProperty(value = "类型 1默认 2自建")
private String type;
@ApiModelProperty(value = "企业微信id")
private String wechatId;
@Size(max = 512, message = "备注最长512字符") @Size(max = 512, message = "备注最长512字符")
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "在职状态 0离职 1在职")
private String empStatus;
/** /**
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间", required = false) @ApiModelProperty(value = "创建时间", required = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdAt; private LocalDateTime createDate;
/** /**
* 更新时间 * 更新时间
*/ */
@ApiModelProperty(value = "更新时间",required = false) @ApiModelProperty(value = "更新时间",required = false)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime updatedAt; private LocalDateTime updateDate;
@ApiModelProperty(value = "部门名称") @ApiModelProperty(value = "部门名称")
private String deptName; private String orgName;
@ApiModelProperty(value = "分管部门名称")
private String chargeDeptName;
@ApiModelProperty(value = "头像") @ApiModelProperty(value = "头像")
private String avatar; private String avatar;
...@@ -125,7 +77,4 @@ public class PlatPersonDTOVO extends BaseIdDTO { ...@@ -125,7 +77,4 @@ public class PlatPersonDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "角色集合") @ApiModelProperty(value = "角色集合")
private List<PlatRoleDTOVO> roleList; private List<PlatRoleDTOVO> roleList;
@ApiModelProperty("是否常用 0否 1是")
private String isFrequent;
} }
...@@ -7,6 +7,6 @@ import lombok.experimental.FieldNameConstants; ...@@ -7,6 +7,6 @@ import lombok.experimental.FieldNameConstants;
@Data @Data
public class PlatUserCountVO { public class PlatUserCountVO {
//private String id; //private String id;
private String deptId; private String orgId;
private Integer count; private Integer count;
} }
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>platform-web</artifactId> <artifactId>server-web</artifactId>
<dependencies> <dependencies>
......
...@@ -8,7 +8,7 @@ server: ...@@ -8,7 +8,7 @@ server:
spring: spring:
application: application:
name: iot-platform-server name: iot-server
datasource: datasource:
url: jdbc:mysql://124.71.100.177:3306/dev_iot_yanglao_platform?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true url: jdbc:mysql://124.71.100.177:3306/dev_iot_yanglao_platform?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
......
server: server:
port: 8898 port: 10005
servlet: servlet:
encoding: encoding:
charset: UTF-8 charset: UTF-8
...@@ -8,7 +8,7 @@ server: ...@@ -8,7 +8,7 @@ server:
spring: spring:
application: application:
name: iot-platform-server name: iot-server
datasource: datasource:
url: jdbc:mysql://124.71.100.177:3306/dev_iot_yanglao_platform?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true url: jdbc:mysql://124.71.100.177:3306/dev_iot_yanglao_platform?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true
...@@ -52,7 +52,7 @@ file: ...@@ -52,7 +52,7 @@ file:
storage: storage:
location: ${file.file} location: ${file.file}
type: local type: local
url: http://localhost:8888/${file.filePath} url: http://localhost:10005/${file.filePath}
# aliBaseDir: point # aliBaseDir: point
# aliEndpoint: obs.cn-south-1.myhuaweicloud.com # aliEndpoint: obs.cn-south-1.myhuaweicloud.com
......
...@@ -110,11 +110,11 @@ sa-token: ...@@ -110,11 +110,11 @@ sa-token:
interceptor: interceptor:
## 登录拦截路径 ## 登录拦截路径
authenticationTntPath: /** authenticationTntPath: /**
authenticationTntPathIgnore: /swagger-resources/**,/v2/api-docs/**,/sys/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/**,/error authenticationTntPathIgnore: /swagger-resources/**,/v2/api-docs/**,/plat/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/**,/error
## 权限拦截路径 ## 权限拦截路径
authorizationTntPath: /** authorizationTntPath: /**
authorizationTntPathIgnore: /swagger-resources/**,/v2/api-docs/**,/sys/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/**,/error authorizationTntPathIgnore: /swagger-resources/**,/v2/api-docs/**,/plat/login/**,/sys/dictionaryCategory/getDictionaryCategoryByList,/mobile/**,/doc.html,/saas/**,/error
## saas端登录拦截路径 ## saas端登录拦截路径
authenticationSaasPath: /saas/** authenticationSaasPath: /saas/**
...@@ -133,27 +133,18 @@ tenant: ...@@ -133,27 +133,18 @@ tenant:
table: table:
prefix: prefix:
- sys_ - sys_
- esop_ - plat_
- base_
- fixture_
- mat_
# - wflow_model # - wflow_model
# - wflow_record # - wflow_record
ignore: ignore:
- sys_file - sys_file
- sys_dictionary - sys_dictionary
- sys_dictionary_category - sys_dictionary_category
- sys_auth_dept
- sys_factory
- sys_auth_menu
- sys_auth_role
- sys_auth_role_menu
- sys_auth_role_user
- sys_auth_role_factory
- sys_auth_user
- wflow_model_perms
- sys_config_category - sys_config_category
- sys_config - sys_config
- plat_tenant
- plat_tenant_menu
- plat_user
rsa: rsa:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment