From 527830d6016baaa8d7894f8b468e3b4702fc862e Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Mon, 1 Dec 2025 10:39:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E4=BB=B6=E5=B1=82=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/config/language/msg/msg_cn.yml | 5 + .../resources/config/language/msg/msg_en.yml | 7 +- .../resources/config/language/msg/msg_jp.yml | 7 +- .../business/controller/LevelController.java | 103 +++ .../controller/LevelRoleController.java | 204 +++++ .../migration/V60__dashboard_object_level.sql | 132 +++ .../dao/auto/DashboardLevelRoleMapper.java | 96 ++ .../auto/DashboardLevelRoleObjectMapper.java | 64 ++ .../auto/DashboardLevelRoleUserMapper.java | 96 ++ .../business/dao/ex/LevelMapperExt.java | 35 + .../business/dao/ex/LevelRoleMapperExt.java | 45 + .../dao/ex/LevelRoleObjectMapperExt.java | 11 + .../dao/ex/LevelRoleUserMapperExt.java | 9 + .../mappers/auto/DashboardLevelRoleMapper.xml | 334 +++++++ .../auto/DashboardLevelRoleObjectMapper.xml | 244 +++++ .../auto/DashboardLevelRoleUserMapper.xml | 319 +++++++ .../mappers/ex/BasicBuildingMapperExt.xml | 10 +- .../resources/mappers/ex/LevelMapperExt.xml | 183 ++++ .../mappers/ex/LevelRoleMapperExt.xml | 182 ++++ .../mybatis-generator/generatorConfig.xml | 13 + .../datacenter/business/TreeMenusDTO.java | 23 + .../business/dto/BaseSearchParams.java | 3 +- .../dto/building/BuildingSearchParams.java | 3 + .../dto/building/OptBuildingParams.java | 3 + .../business/dto/level/DeleteLevelParam.java | 26 + .../business/dto/level/LevelEntity.java | 56 ++ .../dto/level/LevelRelationEntity.java | 27 + .../business/dto/level/OptLevelParam.java | 50 + .../dto/level/PageLevelSearchParam.java | 36 + .../business/dto/levelrole/BindUserParam.java | 21 + .../dto/levelrole/DeleteLevelRoleParam.java | 13 + .../dto/levelrole/OptLevelRoleParam.java | 31 + .../levelrole/PageBoundRoleSearchParam.java | 16 + .../levelrole/PageLevelRoleSearchParam.java | 22 + .../dto/levelrole/UnbindUserParam.java | 16 + .../business/model/DashboardLevelRole.java | 336 +++++++ .../model/DashboardLevelRoleExample.java | 862 ++++++++++++++++++ .../model/DashboardLevelRoleObject.java | 268 ++++++ .../DashboardLevelRoleObjectExample.java | 732 +++++++++++++++ .../model/DashboardLevelRoleUser.java | 302 ++++++ .../model/DashboardLevelRoleUserExample.java | 782 ++++++++++++++++ .../business/vo/building/BuildingPageVO.java | 5 + .../business/vo/level/LevelPageDTO.java | 55 ++ .../vo/levelrole/LevelRolePageDTO.java | 26 + .../business/vo/levelrole/RefKey.java | 11 + .../vo/levelrole/UserBindLevelRoleVO.java | 25 + .../vo/levelrole/UserBoundRolePageDTO.java | 31 + .../business/service/LevelRoleService.java | 35 + .../business/service/LevelService.java | 23 + .../service/impl/BuildingServiceImpl.java | 50 +- .../service/impl/LevelRoleServiceImpl.java | 482 ++++++++++ .../service/impl/LevelServiceImpl.java | 297 ++++++ 52 files changed, 6753 insertions(+), 14 deletions(-) create mode 100644 data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelController.java create mode 100644 data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelRoleController.java create mode 100644 data-center-business-controller/src/main/resources/db/migration/V60__dashboard_object_level.sql create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleMapper.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleObjectMapper.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleUserMapper.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelMapperExt.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleMapperExt.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleObjectMapperExt.java create mode 100644 data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleUserMapperExt.java create mode 100644 data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleMapper.xml create mode 100644 data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleObjectMapper.xml create mode 100644 data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleUserMapper.xml create mode 100644 data-center-business-dao/src/main/resources/mappers/ex/LevelMapperExt.xml create mode 100644 data-center-business-dao/src/main/resources/mappers/ex/LevelRoleMapperExt.xml create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/TreeMenusDTO.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/DeleteLevelParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelEntity.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelRelationEntity.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/OptLevelParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/PageLevelSearchParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/BindUserParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/DeleteLevelRoleParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/OptLevelRoleParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageBoundRoleSearchParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageLevelRoleSearchParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/UnbindUserParam.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRole.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleExample.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObject.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObjectExample.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUser.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUserExample.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/level/LevelPageDTO.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/LevelRolePageDTO.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/RefKey.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBindLevelRoleVO.java create mode 100644 data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBoundRolePageDTO.java create mode 100644 data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelRoleService.java create mode 100644 data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelService.java create mode 100644 data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelRoleServiceImpl.java create mode 100644 data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelServiceImpl.java diff --git a/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml b/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml index 0645d3d..edc44ac 100644 --- a/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml +++ b/data-center-business-common/src/main/resources/config/language/msg/msg_cn.yml @@ -194,3 +194,8 @@ msgcn: pwdFormatError: 密码组成必须包含数字、英文字母、特殊符号(~!@#$%^&*)且大于等于12位 oldPwdError: 旧密码错误 newPwdSameOld: 新密码不得与旧密码相同 + levelNameExist: 层级名称已存在 + invalidParentLevel: 无效的父级层级 + levelReferencedByChildren: 已被下级层级绑定,请先解绑后再删除 + levelRoleNameExist: 层级角色已存在 + roleHasBinded: 角色已绑定用户,请先解绑再删除 diff --git a/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml b/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml index 0948e19..3c3f01e 100644 --- a/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml +++ b/data-center-business-common/src/main/resources/config/language/msg/msg_en.yml @@ -193,4 +193,9 @@ msgen: deviceGroupNotExist: Device group does not exist pwdFormatError: "Password must contain numbers, letters, and special characters (~!@#$%^&*), and be at least 12 characters long" oldPwdError: Incorrect old password - newPwdSameOld: The new password must not be the same as the old password \ No newline at end of file + newPwdSameOld: The new password must not be the same as the old password + levelNameExist: Level name already exists + invalidParentLevel: Invalid parent level + levelReferencedByChildren: It is bound by child levels. Please unbind them before deleting. + levelRoleNameExist: The role already exists. + roleHasBinded: The role is assigned to users. Please unbind them before deleting. \ No newline at end of file diff --git a/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml b/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml index a2561ea..cd2225b 100644 --- a/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml +++ b/data-center-business-common/src/main/resources/config/language/msg/msg_jp.yml @@ -193,4 +193,9 @@ msgjp: deviceGroupNotExist: デバイスグループが存在しません pwdFormatError: パスワードの構成には、数字、アルファベット、特殊文字(~!@#$%^&*) で、12桁以上 oldPwdError: 旧パスワードエラー - newPwdSameOld: 注:旧パスワードと同じものを使用しないでください \ No newline at end of file + newPwdSameOld: 注:旧パスワードと同じものを使用しないでください + levelNameExist: 階層名は既に存在しています + invalidParentLevel: 無効な上位階層です + levelReferencedByChildren: 下位階層に紐づいています。削除する前に紐付けを解除してください。 + levelRoleNameExist: 役割名が既に登録済み + roleHasBinded: 役割はユーザーにバインドされている ので、削除する前にバインドを解除してください \ No newline at end of file diff --git a/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelController.java b/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelController.java new file mode 100644 index 0000000..f18ae04 --- /dev/null +++ b/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelController.java @@ -0,0 +1,103 @@ +package com.techsor.datacenter.business.controller; + +import com.techsor.datacenter.business.common.exception.BusinessException; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.PageResponse; +import com.techsor.datacenter.business.common.response.ResponseCode; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.configurator.interceptor.AccessRequired; +import com.techsor.datacenter.business.dto.level.DeleteLevelParam; +import com.techsor.datacenter.business.dto.level.OptLevelParam; +import com.techsor.datacenter.business.dto.level.PageLevelSearchParam; +import com.techsor.datacenter.business.service.LevelService; +import com.techsor.datacenter.business.vo.level.LevelPageDTO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 物件级别管理Controller + * 实现物件级别的增删改查功能 + */ +@RestController +@AccessRequired +@RequestMapping("/level") +@Tag(name = "物件级别管理的相关接口", description = "物件级别的增删改查操作") +@SuppressWarnings("unchecked") +public class LevelController { + + private static Logger logger = LoggerFactory.getLogger(LevelController.class); + + @Autowired + private LevelService levelService; + + @AccessRequired + @Operation(summary = "添加物件级别") + @RequestMapping(value = "/add", method = RequestMethod.POST) + public SimpleDataResponse add( + @RequestBody OptLevelParam optLevelParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelService.add(optLevelParam, CompanyId, UserId, LanguageType); + } + + @AccessRequired + @Operation(summary = "编辑物件级别") + @RequestMapping(value = "/edit", method = RequestMethod.POST) + public SimpleDataResponse edit( + @RequestBody OptLevelParam optLevelParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelService.edit(optLevelParam, CompanyId, UserId, LanguageType); + } + + @AccessRequired + @Operation(summary = "删除物件级别") + @RequestMapping(value = "/batchDelete", method = RequestMethod.POST) + public SimpleDataResponse batchDelete( + @RequestBody DeleteLevelParam deleteLevelParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelService.batchDelete(deleteLevelParam, CompanyId, UserId, LanguageType); + } + + @AccessRequired + @Operation(summary = "获取物件级别列表") + @RequestMapping(value = "/getListPage", method = RequestMethod.GET) + public PageResponse> getListPage( + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType, + PageLevelSearchParam pageLevelSearchParam + ) throws BusinessException { + + pageLevelSearchParam.setUserId(UserId); + PageResponse> pageResponse = new PageResponse<>(); + try { + pageResponse.setData(levelService.getListPage(pageLevelSearchParam, CompanyId, UserId, LanguageType)); + pageResponse.setCode(ResponseCode.SUCCESS); + pageResponse.setMsg("success"); + } catch (Exception e) { + logger.error("查询物件级别列表报错", e); + pageResponse.setCode(ResponseCode.SERVER_ERROR); + pageResponse.setMsg("service error"); + } + return pageResponse; + } +} \ No newline at end of file diff --git a/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelRoleController.java b/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelRoleController.java new file mode 100644 index 0000000..78ee644 --- /dev/null +++ b/data-center-business-controller/src/main/java/com/techsor/datacenter/business/controller/LevelRoleController.java @@ -0,0 +1,204 @@ +package com.techsor.datacenter.business.controller; + +import com.techsor.datacenter.business.TreeMenusDTO; +import com.techsor.datacenter.business.common.exception.BusinessException; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.PageResponse; +import com.techsor.datacenter.business.common.response.ResponseCode; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.configurator.interceptor.AccessRequired; +import com.techsor.datacenter.business.dto.BaseSearchParams; +import com.techsor.datacenter.business.dto.levelrole.*; +import com.techsor.datacenter.business.service.LevelRoleService; +import com.techsor.datacenter.business.vo.levelrole.LevelRolePageDTO; +import com.techsor.datacenter.business.vo.levelrole.UserBindLevelRoleVO; +import com.techsor.datacenter.business.vo.levelrole.UserBoundRolePageDTO; +import com.techsor.datacenter.business.vo.user.UserBindBuildingVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 物件级别管理Controller + * 实现物件级别的增删改查功能 + */ +@RestController +@AccessRequired +@RequestMapping("/levelRole") +@Tag(name = "物件角色管理的相关接口", description = "物件角色管理的相关接口") +@SuppressWarnings("unchecked") +public class LevelRoleController { + + private static Logger logger = LoggerFactory.getLogger(LevelRoleController.class); + + @Autowired + private LevelRoleService levelRoleService; + + @Operation(summary = "添加级别角色") + @RequestMapping(value = "/add", method = RequestMethod.POST) + public SimpleDataResponse add( + @RequestBody OptLevelRoleParam optLevelRoleParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelRoleService.add(optLevelRoleParam, CompanyId, UserId, LanguageType); + } + + @Operation(summary = "编辑级别角色") + @RequestMapping(value = "/edit", method = RequestMethod.POST) + public SimpleDataResponse edit( + @RequestBody OptLevelRoleParam optLevelRoleParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelRoleService.edit(optLevelRoleParam, CompanyId, UserId, LanguageType); + } + + @Operation(summary = "删除级别角色") + @RequestMapping(value = "/batchDelete", method = RequestMethod.POST) + public SimpleDataResponse batchDelete( + @RequestBody DeleteLevelRoleParam deleteLevelRoleParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelRoleService.batchDelete(deleteLevelRoleParam, CompanyId, UserId, LanguageType); + } + + @Operation(summary = "获取级别角色列表") + @RequestMapping(value = "/getListPage", method = RequestMethod.GET) + public PageResponse> getListPage( + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType, + PageLevelRoleSearchParam pageLevelRoleSearchParam + ) throws BusinessException { + + pageLevelRoleSearchParam.setUserId(UserId); + PageResponse> pageResponse = new PageResponse<>(); + try { + pageResponse.setData(levelRoleService.getListPage(pageLevelRoleSearchParam, CompanyId, UserId, LanguageType)); + pageResponse.setCode(ResponseCode.SUCCESS); + pageResponse.setMsg("success"); + } catch (Exception e) { + logger.error("查询物件级别角色列表报错", e); + pageResponse.setCode(ResponseCode.SERVER_ERROR); + pageResponse.setMsg("service error"); + } + return pageResponse; + } + + @Operation(summary = "获取可以绑定层级角色的用户列表") + @RequestMapping(value = "/getCanBeBoundUserPage",method = RequestMethod.GET) + public PageResponse> getCanBeBoundUserPage( + BaseSearchParams baseSearchParams, + @Parameter(name="LoginName",description ="登录名",required=true,schema = @Schema(defaultValue = "admin")) @RequestHeader(required=true) String LoginName, + @Parameter(name="AccessToken",description ="鉴权token",required=true) @RequestHeader(required=true) String AccessToken, + @Parameter(name="UserId",description ="用户ID",required=true,schema = @Schema(defaultValue = "1")) @RequestHeader(required=true) Long UserId, + @Parameter(name="CompanyId",description ="用户所属企业ID",required=false,schema = @Schema(defaultValue = "1")) @RequestHeader(required=false) Long CompanyId, + @Parameter(name="LanguageType",description ="语言类型 0:中文 1:英文 2:日文",required=true,schema = @Schema(defaultValue = "2")) @RequestHeader(required=true) Integer LanguageType, + @Parameter(name="UTCOffset",description ="格林威治时间与本地时间的差值,单位是分钟,比如东八区是 -480",required=true,schema = @Schema(defaultValue = "-480")) @RequestHeader(required=true) Integer UTCOffset + ) throws BusinessException { + + baseSearchParams.setUserId(UserId); + PageResponse> pageResponse = new PageResponse<>(); + try { + pageResponse.setData(levelRoleService.getCanBeBoundUserPage(baseSearchParams, CompanyId, UserId, LanguageType, UTCOffset)); + pageResponse.setCode(ResponseCode.SUCCESS); + pageResponse.setMsg("success"); + } catch (Exception e) { + logger.error("获取用户绑定的级别角色报错", e); + pageResponse.setCode(ResponseCode.SERVER_ERROR); + pageResponse.setMsg("service error"); + } + return pageResponse; + } + + @Operation(summary = "用户增加绑定层级角色") + @RequestMapping(value = "/bound/bindUser", method = RequestMethod.POST) + public SimpleDataResponse bindUser( + @RequestBody BindUserParam bindUserParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelRoleService.bindUser(bindUserParam, CompanyId, UserId, LanguageType); + } + + @Operation(summary = "解绑用户已有的层级角色关系") + @RequestMapping(value = "/bound/unbindUser", method = RequestMethod.POST) + public SimpleDataResponse unbindUser( + @RequestBody UnbindUserParam unbindUserParam, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { + return levelRoleService.unbindUser(unbindUserParam, CompanyId, UserId, LanguageType); + } + + @Operation(summary = "获取用户已绑定的级别角色列表") + @RequestMapping(value = "/bound/getAlreadyBoundUserPage", method = RequestMethod.GET) + public PageResponse> getAlreadyBoundUserPage( + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType, + PageBoundRoleSearchParam pageBoundRoleSearchParam + ) throws BusinessException { + + pageBoundRoleSearchParam.setUserId(UserId); + PageResponse> pageResponse = new PageResponse<>(); + try { + pageResponse.setData(levelRoleService.getAlreadyBoundUserPage(pageBoundRoleSearchParam, CompanyId, UserId, LanguageType)); + pageResponse.setCode(ResponseCode.SUCCESS); + pageResponse.setMsg("success"); + } catch (Exception e) { + logger.error("获取用户绑定的级别角色报错", e); + pageResponse.setCode(ResponseCode.SERVER_ERROR); + pageResponse.setMsg("service error"); + } + return pageResponse; + } + + @Operation(summary = "根据角色ID获取对应层级ID") + @GetMapping("/bound/getBoundLevelByRole/{roleId}") + public SimpleDataResponse> getBoundLevelByRole( + @PathVariable Long roleId, + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType + ){ + return levelRoleService.getBoundLevelByRole(roleId, CompanyId, UserId, LanguageType); + } + + @Operation(summary = "获取当前登录用户绑定的层级树结构", description = "用于管理设置勾选层级ID") + @GetMapping("/bound/getBoundLevel") + public SimpleDataResponse> getBoundLevel( + @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required = true) String LoginName, + @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required = true) String AccessToken, + @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required = true) Long UserId, + @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required = false) Long CompanyId, + @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType + ){ + return levelRoleService.getBoundLevel(CompanyId, UserId, LanguageType); + } +} \ No newline at end of file diff --git a/data-center-business-controller/src/main/resources/db/migration/V60__dashboard_object_level.sql b/data-center-business-controller/src/main/resources/db/migration/V60__dashboard_object_level.sql new file mode 100644 index 0000000..fb93aea --- /dev/null +++ b/data-center-business-controller/src/main/resources/db/migration/V60__dashboard_object_level.sql @@ -0,0 +1,132 @@ +-- --------------------------- +-- 1) 层级主表 +-- --------------------------- +CREATE TABLE dashboard_level_branch ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + company_id bigint DEFAULT NULL, + name VARCHAR(255) NOT NULL, + remark VARCHAR(255) NOT NULL, + `flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '支社表'; + +CREATE TABLE dashboard_level_store ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + company_id bigint DEFAULT NULL, + name VARCHAR(255) NOT NULL, + remark VARCHAR(255) NOT NULL, + `flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '分店表'; + +CREATE TABLE dashboard_level_area ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + company_id bigint DEFAULT NULL, + name VARCHAR(255) NOT NULL, + remark VARCHAR(255) NOT NULL, + `flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '区域表'; + +CREATE TABLE dashboard_level_site ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + company_id bigint DEFAULT NULL, + name VARCHAR(255) NOT NULL, + remark VARCHAR(255) NOT NULL, + `flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT 'site表'; + +-- --------------------------- +-- 2) 层级关系表(多对多) +-- --------------------------- +-- 支社 ↔ 各支店 +CREATE TABLE dashboard_level_relation_branch_store ( + branch_id BIGINT NOT NULL, + store_id BIGINT NOT NULL, + created_by BIGINT NULL, + created_at BIGINT NULL, + INDEX idx_branch_store_branch_id (branch_id), + INDEX idx_branch_store_store_id (store_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '支社-支店关系表'; + +-- 各支店 ↔ 区域(area) +CREATE TABLE dashboard_level_relation_store_area ( + store_id BIGINT NOT NULL, + area_id BIGINT NOT NULL, + created_by BIGINT NULL, + created_at BIGINT NULL, + INDEX idx_store_area_store_id (store_id), + INDEX idx_store_area_area_id (area_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '支店-区域关系表'; + +-- 区域(area)↔ (site) +CREATE TABLE dashboard_level_relation_area_site ( + area_id BIGINT NOT NULL, + site_id BIGINT NOT NULL, + created_by BIGINT NULL, + created_at BIGINT NULL, + INDEX idx_area_site_area_id (area_id), + INDEX idx_area_site_site_id (site_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '区域-site关系表'; + +-- 站点(site)↔ 物件(building) +CREATE TABLE dashboard_level_relation_site_building ( + site_id BIGINT NOT NULL, + building_id BIGINT NOT NULL, + created_by BIGINT NULL, + created_at BIGINT NULL, + INDEX idx_site_building_site_id (site_id), + INDEX idx_site_building_building_id (building_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT 'site-楼宇关系表'; + + +CREATE TABLE dashboard_level_role ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + company_id bigint DEFAULT NULL, + name VARCHAR(100) NOT NULL, + remark VARCHAR(255) NOT NULL, + `flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '支社、分店等多层级控制角色'; + +CREATE TABLE dashboard_level_role_object ( + level_role_id BIGINT NOT NULL, + ref_type ENUM('BRANCH','STORE','AREA','SITE','BUILDING') NOT NULL COMMENT '角色绑定的实体类型(指向哪个表)', + ref_id BIGINT NOT NULL COMMENT '对应层级表中的实体ID,例如:ref_type=SITE, ref_id=15 表示绑定了id=15的site', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL, + UNIQUE KEY ux_role_ref (ref_type, ref_id, level_role_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '角色绑定的层级关系表'; + +CREATE TABLE dashboard_level_role_user ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + user_id BIGINT NOT NULL, + level_role_id BIGINT NOT NULL, + ref_type INT NOT NULL DEFAULT '0' COMMENT '0-普通用户,1-管理员', + created_by BIGINT NULL, + created_at BIGINT NULL, + updated_at BIGINT NULL, + updated_by BIGINT NULL, + UNIQUE KEY uk_user_role_ref (user_id, level_role_id, ref_type) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '层级角色和用户关系表'; + + + diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleMapper.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleMapper.java new file mode 100644 index 0000000..8213a0f --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleMapper.java @@ -0,0 +1,96 @@ +package com.techsor.datacenter.business.dao.auto; + +import com.techsor.datacenter.business.model.DashboardLevelRole; +import com.techsor.datacenter.business.model.DashboardLevelRoleExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface DashboardLevelRoleMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + long countByExample(DashboardLevelRoleExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int deleteByExample(DashboardLevelRoleExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int insert(DashboardLevelRole record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int insertSelective(DashboardLevelRole record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + List selectByExample(DashboardLevelRoleExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + DashboardLevelRole selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int updateByExampleSelective(@Param("record") DashboardLevelRole record, @Param("example") DashboardLevelRoleExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int updateByExample(@Param("record") DashboardLevelRole record, @Param("example") DashboardLevelRoleExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int updateByPrimaryKeySelective(DashboardLevelRole record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + int updateByPrimaryKey(DashboardLevelRole record); +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleObjectMapper.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleObjectMapper.java new file mode 100644 index 0000000..f3bebb1 --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleObjectMapper.java @@ -0,0 +1,64 @@ +package com.techsor.datacenter.business.dao.auto; + +import com.techsor.datacenter.business.model.DashboardLevelRoleObject; +import com.techsor.datacenter.business.model.DashboardLevelRoleObjectExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface DashboardLevelRoleObjectMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + long countByExample(DashboardLevelRoleObjectExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + int deleteByExample(DashboardLevelRoleObjectExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + int insert(DashboardLevelRoleObject record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + int insertSelective(DashboardLevelRoleObject record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + List selectByExample(DashboardLevelRoleObjectExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + int updateByExampleSelective(@Param("record") DashboardLevelRoleObject record, @Param("example") DashboardLevelRoleObjectExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + int updateByExample(@Param("record") DashboardLevelRoleObject record, @Param("example") DashboardLevelRoleObjectExample example); +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleUserMapper.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleUserMapper.java new file mode 100644 index 0000000..0487237 --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/auto/DashboardLevelRoleUserMapper.java @@ -0,0 +1,96 @@ +package com.techsor.datacenter.business.dao.auto; + +import com.techsor.datacenter.business.model.DashboardLevelRoleUser; +import com.techsor.datacenter.business.model.DashboardLevelRoleUserExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface DashboardLevelRoleUserMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + long countByExample(DashboardLevelRoleUserExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int deleteByExample(DashboardLevelRoleUserExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int insert(DashboardLevelRoleUser record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int insertSelective(DashboardLevelRoleUser record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + List selectByExample(DashboardLevelRoleUserExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + DashboardLevelRoleUser selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int updateByExampleSelective(@Param("record") DashboardLevelRoleUser record, @Param("example") DashboardLevelRoleUserExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int updateByExample(@Param("record") DashboardLevelRoleUser record, @Param("example") DashboardLevelRoleUserExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int updateByPrimaryKeySelective(DashboardLevelRoleUser record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + int updateByPrimaryKey(DashboardLevelRoleUser record); +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelMapperExt.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelMapperExt.java new file mode 100644 index 0000000..b3b58c3 --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelMapperExt.java @@ -0,0 +1,35 @@ +package com.techsor.datacenter.business.dao.ex; + +import com.techsor.datacenter.business.dto.level.LevelEntity; +import com.techsor.datacenter.business.dto.level.LevelRelationEntity; +import com.techsor.datacenter.business.dto.level.OptLevelParam; +import com.techsor.datacenter.business.dto.level.PageLevelSearchParam; +import com.techsor.datacenter.business.vo.level.LevelPageDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface LevelMapperExt { + + long checkExist(OptLevelParam param); + + void saveLevel(LevelEntity levelEntity); + + void saveLevelRelation(LevelRelationEntity levelRelationEntity); + + long countParentLevel(OptLevelParam param); + + void updateLevel(LevelEntity levelEntity); + + void deleteLevelRelation(LevelRelationEntity param); + + long checkIfReferencedByChildren(@Param("param") LevelRelationEntity param, @Param("idList") List idList); + + void deleteLevelByIdList(@Param("tableName") String tableName, @Param("idList") List idList); + + void deleteLevelRelationByIdList(@Param("param") LevelRelationEntity param, @Param("idList") List idList); + + List getListPage(PageLevelSearchParam pageSearchParam); +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleMapperExt.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleMapperExt.java new file mode 100644 index 0000000..e79b42c --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleMapperExt.java @@ -0,0 +1,45 @@ +package com.techsor.datacenter.business.dao.ex; + +import com.techsor.datacenter.business.TreeMenusDTO; +import com.techsor.datacenter.business.dao.auto.DashboardLevelRoleMapper; +import com.techsor.datacenter.business.dto.BaseSearchParams; +import com.techsor.datacenter.business.dto.levelrole.OptLevelRoleParam; +import com.techsor.datacenter.business.dto.levelrole.PageBoundRoleSearchParam; +import com.techsor.datacenter.business.dto.levelrole.PageLevelRoleSearchParam; +import com.techsor.datacenter.business.vo.levelrole.LevelRolePageDTO; +import com.techsor.datacenter.business.vo.levelrole.RefKey; +import com.techsor.datacenter.business.vo.levelrole.UserBindLevelRoleVO; +import com.techsor.datacenter.business.vo.levelrole.UserBoundRolePageDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface LevelRoleMapperExt extends DashboardLevelRoleMapper { + + long checkExist(OptLevelRoleParam param); + + List getListPage(PageLevelRoleSearchParam pageSearchParam); + + List selectAllBranches(Map levelMap); + + List selectAllStores(Map levelMap); + + List selectAllAreas(Map levelMap); + + List selectAllSites(Map levelMap); + + List selectAllBuildings(Map levelMap); + + List selectUserRefs(Map param); + + List getBoundLevelByRole(Long roleId); + + List getAlreadyBoundUserPage(PageBoundRoleSearchParam pageSearchParam); + + List getCanBeBoundUserPage(BaseSearchParams pageSearchParam); + + Integer checkLevelManager(Long userId); +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleObjectMapperExt.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleObjectMapperExt.java new file mode 100644 index 0000000..63f901c --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleObjectMapperExt.java @@ -0,0 +1,11 @@ +package com.techsor.datacenter.business.dao.ex; + +import com.techsor.datacenter.business.dao.auto.DashboardLevelRoleMapper; +import com.techsor.datacenter.business.dao.auto.DashboardLevelRoleObjectMapper; +import com.techsor.datacenter.business.dto.levelrole.OptLevelRoleParam; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface LevelRoleObjectMapperExt extends DashboardLevelRoleObjectMapper { + +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleUserMapperExt.java b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleUserMapperExt.java new file mode 100644 index 0000000..ef9ea1d --- /dev/null +++ b/data-center-business-dao/src/main/java/com/techsor/datacenter/business/dao/ex/LevelRoleUserMapperExt.java @@ -0,0 +1,9 @@ +package com.techsor.datacenter.business.dao.ex; + +import com.techsor.datacenter.business.dao.auto.DashboardLevelRoleUserMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface LevelRoleUserMapperExt extends DashboardLevelRoleUserMapper { + +} \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleMapper.xml b/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleMapper.xml new file mode 100644 index 0000000..7ea4945 --- /dev/null +++ b/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleMapper.xml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, company_id, `name`, remark, flag, created_by, created_at, updated_at, updated_by + + + + + + delete from dashboard_level_role + where id = #{id,jdbcType=BIGINT} + + + + delete from dashboard_level_role + + + + + + + + SELECT LAST_INSERT_ID() + + insert into dashboard_level_role (company_id, `name`, remark, + flag, created_by, created_at, + updated_at, updated_by) + values (#{companyId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, + #{flag,jdbcType=INTEGER}, #{createdBy,jdbcType=BIGINT}, #{createdAt,jdbcType=BIGINT}, + #{updatedAt,jdbcType=BIGINT}, #{updatedBy,jdbcType=BIGINT}) + + + + + SELECT LAST_INSERT_ID() + + insert into dashboard_level_role + + + company_id, + + + `name`, + + + remark, + + + flag, + + + created_by, + + + created_at, + + + updated_at, + + + updated_by, + + + + + #{companyId,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{flag,jdbcType=INTEGER}, + + + #{createdBy,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=BIGINT}, + + + #{updatedAt,jdbcType=BIGINT}, + + + #{updatedBy,jdbcType=BIGINT}, + + + + + + + update dashboard_level_role + + + id = #{record.id,jdbcType=BIGINT}, + + + company_id = #{record.companyId,jdbcType=BIGINT}, + + + `name` = #{record.name,jdbcType=VARCHAR}, + + + remark = #{record.remark,jdbcType=VARCHAR}, + + + flag = #{record.flag,jdbcType=INTEGER}, + + + created_by = #{record.createdBy,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=BIGINT}, + + + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + + + updated_by = #{record.updatedBy,jdbcType=BIGINT}, + + + + + + + + + update dashboard_level_role + set id = #{record.id,jdbcType=BIGINT}, + company_id = #{record.companyId,jdbcType=BIGINT}, + `name` = #{record.name,jdbcType=VARCHAR}, + remark = #{record.remark,jdbcType=VARCHAR}, + flag = #{record.flag,jdbcType=INTEGER}, + created_by = #{record.createdBy,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=BIGINT}, + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + updated_by = #{record.updatedBy,jdbcType=BIGINT} + + + + + + + update dashboard_level_role + + + company_id = #{companyId,jdbcType=BIGINT}, + + + `name` = #{name,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + flag = #{flag,jdbcType=INTEGER}, + + + created_by = #{createdBy,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=BIGINT}, + + + updated_at = #{updatedAt,jdbcType=BIGINT}, + + + updated_by = #{updatedBy,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + + update dashboard_level_role + set company_id = #{companyId,jdbcType=BIGINT}, + `name` = #{name,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + flag = #{flag,jdbcType=INTEGER}, + created_by = #{createdBy,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=BIGINT}, + updated_at = #{updatedAt,jdbcType=BIGINT}, + updated_by = #{updatedBy,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleObjectMapper.xml b/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleObjectMapper.xml new file mode 100644 index 0000000..4a8800b --- /dev/null +++ b/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleObjectMapper.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + level_role_id, ref_type, ref_id, created_by, created_at, updated_at, updated_by + + + + + delete from dashboard_level_role_object + + + + + + + insert into dashboard_level_role_object (level_role_id, ref_type, ref_id, + created_by, created_at, updated_at, + updated_by) + values (#{levelRoleId,jdbcType=BIGINT}, #{refType,jdbcType=CHAR}, #{refId,jdbcType=BIGINT}, + #{createdBy,jdbcType=BIGINT}, #{createdAt,jdbcType=BIGINT}, #{updatedAt,jdbcType=BIGINT}, + #{updatedBy,jdbcType=BIGINT}) + + + + insert into dashboard_level_role_object + + + level_role_id, + + + ref_type, + + + ref_id, + + + created_by, + + + created_at, + + + updated_at, + + + updated_by, + + + + + #{levelRoleId,jdbcType=BIGINT}, + + + #{refType,jdbcType=CHAR}, + + + #{refId,jdbcType=BIGINT}, + + + #{createdBy,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=BIGINT}, + + + #{updatedAt,jdbcType=BIGINT}, + + + #{updatedBy,jdbcType=BIGINT}, + + + + + + + update dashboard_level_role_object + + + level_role_id = #{record.levelRoleId,jdbcType=BIGINT}, + + + ref_type = #{record.refType,jdbcType=CHAR}, + + + ref_id = #{record.refId,jdbcType=BIGINT}, + + + created_by = #{record.createdBy,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=BIGINT}, + + + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + + + updated_by = #{record.updatedBy,jdbcType=BIGINT}, + + + + + + + + + update dashboard_level_role_object + set level_role_id = #{record.levelRoleId,jdbcType=BIGINT}, + ref_type = #{record.refType,jdbcType=CHAR}, + ref_id = #{record.refId,jdbcType=BIGINT}, + created_by = #{record.createdBy,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=BIGINT}, + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + updated_by = #{record.updatedBy,jdbcType=BIGINT} + + + + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleUserMapper.xml b/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleUserMapper.xml new file mode 100644 index 0000000..6609723 --- /dev/null +++ b/data-center-business-dao/src/main/resources/mappers/auto/DashboardLevelRoleUserMapper.xml @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, user_id, level_role_id, ref_type, created_by, created_at, updated_at, updated_by + + + + + + delete from dashboard_level_role_user + where id = #{id,jdbcType=BIGINT} + + + + delete from dashboard_level_role_user + + + + + + + insert into dashboard_level_role_user (id, user_id, level_role_id, + ref_type, created_by, created_at, + updated_at, updated_by) + values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{levelRoleId,jdbcType=BIGINT}, + #{refType,jdbcType=INTEGER}, #{createdBy,jdbcType=BIGINT}, #{createdAt,jdbcType=BIGINT}, + #{updatedAt,jdbcType=BIGINT}, #{updatedBy,jdbcType=BIGINT}) + + + + insert into dashboard_level_role_user + + + id, + + + user_id, + + + level_role_id, + + + ref_type, + + + created_by, + + + created_at, + + + updated_at, + + + updated_by, + + + + + #{id,jdbcType=BIGINT}, + + + #{userId,jdbcType=BIGINT}, + + + #{levelRoleId,jdbcType=BIGINT}, + + + #{refType,jdbcType=INTEGER}, + + + #{createdBy,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=BIGINT}, + + + #{updatedAt,jdbcType=BIGINT}, + + + #{updatedBy,jdbcType=BIGINT}, + + + + + + + update dashboard_level_role_user + + + id = #{record.id,jdbcType=BIGINT}, + + + user_id = #{record.userId,jdbcType=BIGINT}, + + + level_role_id = #{record.levelRoleId,jdbcType=BIGINT}, + + + ref_type = #{record.refType,jdbcType=INTEGER}, + + + created_by = #{record.createdBy,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=BIGINT}, + + + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + + + updated_by = #{record.updatedBy,jdbcType=BIGINT}, + + + + + + + + + update dashboard_level_role_user + set id = #{record.id,jdbcType=BIGINT}, + user_id = #{record.userId,jdbcType=BIGINT}, + level_role_id = #{record.levelRoleId,jdbcType=BIGINT}, + ref_type = #{record.refType,jdbcType=INTEGER}, + created_by = #{record.createdBy,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=BIGINT}, + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + updated_by = #{record.updatedBy,jdbcType=BIGINT} + + + + + + + update dashboard_level_role_user + + + user_id = #{userId,jdbcType=BIGINT}, + + + level_role_id = #{levelRoleId,jdbcType=BIGINT}, + + + ref_type = #{refType,jdbcType=INTEGER}, + + + created_by = #{createdBy,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=BIGINT}, + + + updated_at = #{updatedAt,jdbcType=BIGINT}, + + + updated_by = #{updatedBy,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + + update dashboard_level_role_user + set user_id = #{userId,jdbcType=BIGINT}, + level_role_id = #{levelRoleId,jdbcType=BIGINT}, + ref_type = #{refType,jdbcType=INTEGER}, + created_by = #{createdBy,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=BIGINT}, + updated_at = #{updatedAt,jdbcType=BIGINT}, + updated_by = #{updatedBy,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml b/data-center-business-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml index fed7205..1948cf0 100644 --- a/data-center-business-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml +++ b/data-center-business-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml @@ -43,10 +43,14 @@ bbuilding.brief_introduction, bbuilding.picture_introduction, bbuilding.latitude, - bbuilding.longitude + bbuilding.longitude, + GROUP_CONCAT(pa.id) AS siteIds, + GROUP_CONCAT(pa.`name`) AS siteNames FROM basic_building bbuilding INNER JOIN data_center_aeon_admin.basic_company bcomp ON bcomp.id = bbuilding.company_id + LEFT JOIN dashboard_level_relation_site_building rela ON bbuilding.`building_id` = rela.building_id + LEFT JOIN dashboard_level_site pa ON rela.site_id = pa.`id` WHERE bbuilding.flag != 1 AND bcomp.flag != 1 AND bbuilding.company_id IN #{item} @@ -62,6 +66,10 @@ AND bbuilding.show_switch_2d3d = 0 + + AND pa.`id` = #{siteId} + + GROUP BY bbuilding.building_id + SELECT + COUNT(1) + FROM + + WHERE `flag` = 0 AND name = #{levelName} AND company_id = #{companyId} + + AND id != #{id} + + + + + + + + + INSERT INTO + + (company_id, name, remark, created_by, created_at) + VALUES + (#{companyId}, #{name}, #{remark}, #{createdBy}, #{createdAt}) + + + + + INSERT INTO + ${tableName} + (${parentField}, ${childField}, created_by, created_at) + VALUES + (#{parentId}, #{childId}, #{createdBy}, #{createdAt}) + + + + delete from ${tableName} WHERE ${childField} = #{childId} + + + + + UPDATE + + SET + name = #{name}, + remark = #{remark}, + updated_at = #{updatedAt}, + updated_by = #{updatedBy} + WHERE id = #{id} + + + + + + UPDATE + ${tableName} + SET + `flag` = 1 + WHERE id IN #{item} + + + + delete from ${param.tableName} + WHERE ${param.childField} + IN #{item} + + + + base.`id`, + base.company_id, + base.`name` AS levelName, + base.remark, + base.created_by, + base.created_at, + base.updated_by, + base.updated_at + + + + base.flag =0 + + AND base.`id` IN #{item} + + + AND base.`name` like CONCAT('%',#{levelName},'%') + + + AND pa.id IN #{item} + + + + + + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mappers/ex/LevelRoleMapperExt.xml b/data-center-business-dao/src/main/resources/mappers/ex/LevelRoleMapperExt.xml new file mode 100644 index 0000000..e978edf --- /dev/null +++ b/data-center-business-dao/src/main/resources/mappers/ex/LevelRoleMapperExt.xml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml b/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml index 00970e0..e8227bd 100644 --- a/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml +++ b/data-center-business-dao/src/main/resources/mybatis-generator/generatorConfig.xml @@ -270,5 +270,18 @@
+ + + + +
+ + + +
+ + + +
\ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/TreeMenusDTO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/TreeMenusDTO.java new file mode 100644 index 0000000..ef1b5c5 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/TreeMenusDTO.java @@ -0,0 +1,23 @@ +package com.techsor.datacenter.business; + +import java.util.List; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class TreeMenusDTO { + + @Schema(description = "节点ID",example = "11", required = true) + private String key; + + @Schema(description = "父节点ID",example = "2", hidden = true) + private String parentKey; + + @Schema(description = "节点名称",example = "添加", required = true) + private String label; + + @Schema(description = "子节点",example = "[]", required = false) + private List children; + +} diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/BaseSearchParams.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/BaseSearchParams.java index a605ded..8eb448f 100644 --- a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/BaseSearchParams.java +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/BaseSearchParams.java @@ -25,11 +25,10 @@ public class BaseSearchParams { @Schema(description = "User ID", hidden = true) private Long userId; - @Schema(description = "Comma-separated IDs of companies to query") + @Schema(description = "Comma-separated IDs of companies to query", hidden = true) private String companyIds; @Schema(description = "List of company IDs to query", hidden = true) private List companyIdList; - } diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/BuildingSearchParams.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/BuildingSearchParams.java index 76e7cef..817e681 100644 --- a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/BuildingSearchParams.java +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/BuildingSearchParams.java @@ -29,4 +29,7 @@ public class BuildingSearchParams extends BaseSearchParams{ @Schema(description ="platform type,1-2d3d", example = "1") private Integer platformType; + @Schema(description = "site层级id") + private Long siteId; + } diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/OptBuildingParams.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/OptBuildingParams.java index a7d2575..89e5034 100644 --- a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/OptBuildingParams.java +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/building/OptBuildingParams.java @@ -47,6 +47,9 @@ public class OptBuildingParams{ @Schema(description ="longitude", example = "115.783", required = false) private String longitude; + + @Schema(description = "归属site的ID,可以属于多个上级层级",example = "[]") + private List siteIdList; @Data diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/DeleteLevelParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/DeleteLevelParam.java new file mode 100644 index 0000000..1e06078 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/DeleteLevelParam.java @@ -0,0 +1,26 @@ +package com.techsor.datacenter.business.dto.level; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +/** + * 物件级别删除参数类 + * 用于批量删除物件级别 + */ +@Setter +@Getter +public class DeleteLevelParam { + + /** + * 要删除的物件级别ID列表 + */ + @Schema(description = "Id,多个使用逗号连接",example = "3,5", required = true) + private String ids; + + /** + * 物件级别类型(1-支社、2-各支店、3-area、4-site) + */ + @Schema(description = "物件级别类型(1-支社、2-各支店、3-area、4-site)",example = "2", required = true) + private Integer levelType; +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelEntity.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelEntity.java new file mode 100644 index 0000000..76924a1 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelEntity.java @@ -0,0 +1,56 @@ +package com.techsor.datacenter.business.dto.level; + +import lombok.Getter; +import lombok.Setter; + +/** + * 物件级别实体类 + */ +@Setter +@Getter +public class LevelEntity { + + private Long companyId; + + /** + * 主键ID + */ + private Long id; + + /** + * 物件级别名称 + */ + private String name; + + /** + * 物件级别类型:1-支社 2-各支店 3-area 4-site + */ + private Integer levelType; + + /** + * 描述 + */ + private String remark; + + /** + * 创建时间 + */ + private Long createdAt; + + /** + * 创建人ID + */ + private Long createdBy; + + /** + * 更新时间 + */ + private Long updatedAt; + + /** + * 更新人ID + */ + private Long updatedBy; + + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelRelationEntity.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelRelationEntity.java new file mode 100644 index 0000000..2922996 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/LevelRelationEntity.java @@ -0,0 +1,27 @@ +package com.techsor.datacenter.business.dto.level; + +import lombok.Getter; +import lombok.Setter; + +/** + * 物件级别关系操作实体类 + */ +@Setter +@Getter +public class LevelRelationEntity { + + private String parentField; + + private String childField; + + private Long parentId; + + private Long childId; + + private String tableName; + + private Long createdAt; + + private Long createdBy; + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/OptLevelParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/OptLevelParam.java new file mode 100644 index 0000000..ceb2a90 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/OptLevelParam.java @@ -0,0 +1,50 @@ +package com.techsor.datacenter.business.dto.level; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 物件级别操作参数类 + * 用于添加和编辑物件级别 + */ +@Setter +@Getter +public class OptLevelParam { + + /** + * 主键ID(编辑时必填) + */ + @Schema(description = "物件级别id,新增时不需要)",example = "2", required = true) + private Long id; + + /** + * 物件级别名称 + */ + @Schema(description = "名称)",example = "2", required = true) + private String levelName; + + /** + * 物件级别类型:1-支社 2-各支店 3-area 4-site + */ + @Schema(description = "级别类型:1-支社 2-各支店 3-area 4-site",example = "2", required = true) + private Integer levelType; + + /** + * 父级ID + */ + @Schema(description = "上一层级ID,可以属于多个上级层级, levelType=1时不需要传",example = "[]", required = true) + private List parentIdList; + + /** + * 描述 + */ + @Schema(description = "备注",example = "2") + private String remark; + + + @Schema(description = "所属企业ID",example = "2", hidden = true) + private Long companyId; +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/PageLevelSearchParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/PageLevelSearchParam.java new file mode 100644 index 0000000..e8cdda2 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/level/PageLevelSearchParam.java @@ -0,0 +1,36 @@ +package com.techsor.datacenter.business.dto.level; + +import com.techsor.datacenter.business.dto.BaseSearchParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * 物件级别分页查询参数类 + * 用于分页查询物件级别列表 + */ +@Setter +@Getter +public class PageLevelSearchParam extends BaseSearchParams { + + @Schema(description = "层级id") + private String ids; + + @Schema(description = "层级id", hidden = true) + private List idList; + + @Schema(description = "父级层级id") + private String parentIds; + + @Schema(description = "父级层级id", hidden = true) + private List parentIdList; + + @Schema(description = "名称",example = "jyk2") + private String levelName; + + @Schema(description = "级别类型:1-支社 2-各支店 3-area 4-site",example = "2", required = true) + private Integer levelType; + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/BindUserParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/BindUserParam.java new file mode 100644 index 0000000..0d8b4d5 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/BindUserParam.java @@ -0,0 +1,21 @@ +package com.techsor.datacenter.business.dto.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class BindUserParam { + + @Schema(description = "用户id",example = "3", required = true) + private Long userId; + + @Schema(description = "层级角色ID",example = "[]", required = true) + private List levelRoleId; + + @Schema(description = "关联类型,0-普通用户(只是查询),1-管理员(可以给别的角色设置)",example = "0", required = true) + private Integer refType; +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/DeleteLevelRoleParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/DeleteLevelRoleParam.java new file mode 100644 index 0000000..27aeb9f --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/DeleteLevelRoleParam.java @@ -0,0 +1,13 @@ +package com.techsor.datacenter.business.dto.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class DeleteLevelRoleParam { + + @Schema(description = "Id,多个使用逗号连接",example = "3,5", required = true) + private String ids; +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/OptLevelRoleParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/OptLevelRoleParam.java new file mode 100644 index 0000000..2eb918d --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/OptLevelRoleParam.java @@ -0,0 +1,31 @@ +package com.techsor.datacenter.business.dto.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class OptLevelRoleParam { + + /** + * 主键ID(编辑时必填) + */ + @Schema(description = "物件级别id,新增时不需要)",example = "2", required = true) + private Long id; + + @Schema(description = "名称)",example = "2", required = true) + private String levelRoleName; + + @Schema(description = "备注",example = "2") + private String remark; + + @Schema(description = "绑定的层级信息,数组格式,[BRANCH-1,STORE-2,AREA-3]",example = "[]") + private List levelList; + + @Schema(description = "所属企业ID",example = "2", hidden = true) + private Long companyId; + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageBoundRoleSearchParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageBoundRoleSearchParam.java new file mode 100644 index 0000000..ce54d84 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageBoundRoleSearchParam.java @@ -0,0 +1,16 @@ +package com.techsor.datacenter.business.dto.levelrole; + +import com.techsor.datacenter.business.dto.BaseSearchParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class PageBoundRoleSearchParam extends BaseSearchParams { + + @Schema(description = "需要查询的用户") + private Long targetUserId; +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageLevelRoleSearchParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageLevelRoleSearchParam.java new file mode 100644 index 0000000..43d49d1 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/PageLevelRoleSearchParam.java @@ -0,0 +1,22 @@ +package com.techsor.datacenter.business.dto.levelrole; + +import com.techsor.datacenter.business.dto.BaseSearchParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class PageLevelRoleSearchParam extends BaseSearchParams { + + @Schema(description = "id") + private String ids; + + @Schema(description = "id", hidden = true) + private List idList; + + @Schema(description = "名称",example = "jyk2") + private String levelRoleName; +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/UnbindUserParam.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/UnbindUserParam.java new file mode 100644 index 0000000..d980c2e --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/dto/levelrole/UnbindUserParam.java @@ -0,0 +1,16 @@ +package com.techsor.datacenter.business.dto.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class UnbindUserParam { + + @Schema(description = "绑定关系id,数组格式,可以传多个",example = "[3]", required = true) + private List relationIdList; + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRole.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRole.java new file mode 100644 index 0000000..e0ef436 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRole.java @@ -0,0 +1,336 @@ +package com.techsor.datacenter.business.model; + +import java.io.Serializable; + +public class DashboardLevelRole implements Serializable { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.id + * + * @mbg.generated + */ + private Long id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.company_id + * + * @mbg.generated + */ + private Long companyId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.name + * + * @mbg.generated + */ + private String name; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.remark + * + * @mbg.generated + */ + private String remark; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.flag + * + * @mbg.generated + */ + private Integer flag; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.created_by + * + * @mbg.generated + */ + private Long createdBy; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.created_at + * + * @mbg.generated + */ + private Long createdAt; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.updated_at + * + * @mbg.generated + */ + private Long updatedAt; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role.updated_by + * + * @mbg.generated + */ + private Long updatedBy; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + private static final long serialVersionUID = 1L; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.id + * + * @return the value of dashboard_level_role.id + * + * @mbg.generated + */ + public Long getId() { + return id; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.id + * + * @param id the value for dashboard_level_role.id + * + * @mbg.generated + */ + public void setId(Long id) { + this.id = id; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.company_id + * + * @return the value of dashboard_level_role.company_id + * + * @mbg.generated + */ + public Long getCompanyId() { + return companyId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.company_id + * + * @param companyId the value for dashboard_level_role.company_id + * + * @mbg.generated + */ + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.name + * + * @return the value of dashboard_level_role.name + * + * @mbg.generated + */ + public String getName() { + return name; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.name + * + * @param name the value for dashboard_level_role.name + * + * @mbg.generated + */ + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.remark + * + * @return the value of dashboard_level_role.remark + * + * @mbg.generated + */ + public String getRemark() { + return remark; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.remark + * + * @param remark the value for dashboard_level_role.remark + * + * @mbg.generated + */ + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.flag + * + * @return the value of dashboard_level_role.flag + * + * @mbg.generated + */ + public Integer getFlag() { + return flag; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.flag + * + * @param flag the value for dashboard_level_role.flag + * + * @mbg.generated + */ + public void setFlag(Integer flag) { + this.flag = flag; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.created_by + * + * @return the value of dashboard_level_role.created_by + * + * @mbg.generated + */ + public Long getCreatedBy() { + return createdBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.created_by + * + * @param createdBy the value for dashboard_level_role.created_by + * + * @mbg.generated + */ + public void setCreatedBy(Long createdBy) { + this.createdBy = createdBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.created_at + * + * @return the value of dashboard_level_role.created_at + * + * @mbg.generated + */ + public Long getCreatedAt() { + return createdAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.created_at + * + * @param createdAt the value for dashboard_level_role.created_at + * + * @mbg.generated + */ + public void setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.updated_at + * + * @return the value of dashboard_level_role.updated_at + * + * @mbg.generated + */ + public Long getUpdatedAt() { + return updatedAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.updated_at + * + * @param updatedAt the value for dashboard_level_role.updated_at + * + * @mbg.generated + */ + public void setUpdatedAt(Long updatedAt) { + this.updatedAt = updatedAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role.updated_by + * + * @return the value of dashboard_level_role.updated_by + * + * @mbg.generated + */ + public Long getUpdatedBy() { + return updatedBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role.updated_by + * + * @param updatedBy the value for dashboard_level_role.updated_by + * + * @mbg.generated + */ + public void setUpdatedBy(Long updatedBy) { + this.updatedBy = updatedBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", companyId=").append(companyId); + sb.append(", name=").append(name); + sb.append(", remark=").append(remark); + sb.append(", flag=").append(flag); + sb.append(", createdBy=").append(createdBy); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", updatedBy=").append(updatedBy); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleExample.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleExample.java new file mode 100644 index 0000000..cc72dc3 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleExample.java @@ -0,0 +1,862 @@ +package com.techsor.datacenter.business.model; + +import java.util.ArrayList; +import java.util.List; + +public class DashboardLevelRoleExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public DashboardLevelRoleExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andCompanyIdIsNull() { + addCriterion("company_id is null"); + return (Criteria) this; + } + + public Criteria andCompanyIdIsNotNull() { + addCriterion("company_id is not null"); + return (Criteria) this; + } + + public Criteria andCompanyIdEqualTo(Long value) { + addCriterion("company_id =", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotEqualTo(Long value) { + addCriterion("company_id <>", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdGreaterThan(Long value) { + addCriterion("company_id >", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdGreaterThanOrEqualTo(Long value) { + addCriterion("company_id >=", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdLessThan(Long value) { + addCriterion("company_id <", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdLessThanOrEqualTo(Long value) { + addCriterion("company_id <=", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdIn(List values) { + addCriterion("company_id in", values, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotIn(List values) { + addCriterion("company_id not in", values, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdBetween(Long value1, Long value2) { + addCriterion("company_id between", value1, value2, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotBetween(Long value1, Long value2) { + addCriterion("company_id not between", value1, value2, "companyId"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("`name` is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("`name` is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("`name` =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("`name` <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("`name` >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("`name` >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("`name` <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("`name` <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("`name` like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("`name` not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("`name` in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("`name` not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("`name` between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("`name` not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andRemarkIsNull() { + addCriterion("remark is null"); + return (Criteria) this; + } + + public Criteria andRemarkIsNotNull() { + addCriterion("remark is not null"); + return (Criteria) this; + } + + public Criteria andRemarkEqualTo(String value) { + addCriterion("remark =", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotEqualTo(String value) { + addCriterion("remark <>", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThan(String value) { + addCriterion("remark >", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThanOrEqualTo(String value) { + addCriterion("remark >=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThan(String value) { + addCriterion("remark <", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThanOrEqualTo(String value) { + addCriterion("remark <=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLike(String value) { + addCriterion("remark like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotLike(String value) { + addCriterion("remark not like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkIn(List values) { + addCriterion("remark in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotIn(List values) { + addCriterion("remark not in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkBetween(String value1, String value2) { + addCriterion("remark between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotBetween(String value1, String value2) { + addCriterion("remark not between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andFlagIsNull() { + addCriterion("flag is null"); + return (Criteria) this; + } + + public Criteria andFlagIsNotNull() { + addCriterion("flag is not null"); + return (Criteria) this; + } + + public Criteria andFlagEqualTo(Integer value) { + addCriterion("flag =", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagNotEqualTo(Integer value) { + addCriterion("flag <>", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagGreaterThan(Integer value) { + addCriterion("flag >", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagGreaterThanOrEqualTo(Integer value) { + addCriterion("flag >=", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagLessThan(Integer value) { + addCriterion("flag <", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagLessThanOrEqualTo(Integer value) { + addCriterion("flag <=", value, "flag"); + return (Criteria) this; + } + + public Criteria andFlagIn(List values) { + addCriterion("flag in", values, "flag"); + return (Criteria) this; + } + + public Criteria andFlagNotIn(List values) { + addCriterion("flag not in", values, "flag"); + return (Criteria) this; + } + + public Criteria andFlagBetween(Integer value1, Integer value2) { + addCriterion("flag between", value1, value2, "flag"); + return (Criteria) this; + } + + public Criteria andFlagNotBetween(Integer value1, Integer value2) { + addCriterion("flag not between", value1, value2, "flag"); + return (Criteria) this; + } + + public Criteria andCreatedByIsNull() { + addCriterion("created_by is null"); + return (Criteria) this; + } + + public Criteria andCreatedByIsNotNull() { + addCriterion("created_by is not null"); + return (Criteria) this; + } + + public Criteria andCreatedByEqualTo(Long value) { + addCriterion("created_by =", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotEqualTo(Long value) { + addCriterion("created_by <>", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByGreaterThan(Long value) { + addCriterion("created_by >", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByGreaterThanOrEqualTo(Long value) { + addCriterion("created_by >=", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByLessThan(Long value) { + addCriterion("created_by <", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByLessThanOrEqualTo(Long value) { + addCriterion("created_by <=", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByIn(List values) { + addCriterion("created_by in", values, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotIn(List values) { + addCriterion("created_by not in", values, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByBetween(Long value1, Long value2) { + addCriterion("created_by between", value1, value2, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotBetween(Long value1, Long value2) { + addCriterion("created_by not between", value1, value2, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Long value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Long value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Long value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Long value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Long value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Long value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Long value1, Long value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Long value1, Long value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Long value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Long value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Long value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Long value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Long value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Long value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Long value1, Long value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Long value1, Long value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedByIsNull() { + addCriterion("updated_by is null"); + return (Criteria) this; + } + + public Criteria andUpdatedByIsNotNull() { + addCriterion("updated_by is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedByEqualTo(Long value) { + addCriterion("updated_by =", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotEqualTo(Long value) { + addCriterion("updated_by <>", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByGreaterThan(Long value) { + addCriterion("updated_by >", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByGreaterThanOrEqualTo(Long value) { + addCriterion("updated_by >=", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByLessThan(Long value) { + addCriterion("updated_by <", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByLessThanOrEqualTo(Long value) { + addCriterion("updated_by <=", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByIn(List values) { + addCriterion("updated_by in", values, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotIn(List values) { + addCriterion("updated_by not in", values, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByBetween(Long value1, Long value2) { + addCriterion("updated_by between", value1, value2, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotBetween(Long value1, Long value2) { + addCriterion("updated_by not between", value1, value2, "updatedBy"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role + * + * @mbg.generated do_not_delete_during_merge + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role + * + * @mbg.generated + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObject.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObject.java new file mode 100644 index 0000000..c8f128d --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObject.java @@ -0,0 +1,268 @@ +package com.techsor.datacenter.business.model; + +import java.io.Serializable; + +public class DashboardLevelRoleObject implements Serializable { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.level_role_id + * + * @mbg.generated + */ + private Long levelRoleId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.ref_type + * + * @mbg.generated + */ + private String refType; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.ref_id + * + * @mbg.generated + */ + private Long refId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.created_by + * + * @mbg.generated + */ + private Long createdBy; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.created_at + * + * @mbg.generated + */ + private Long createdAt; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.updated_at + * + * @mbg.generated + */ + private Long updatedAt; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_object.updated_by + * + * @mbg.generated + */ + private Long updatedBy; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + private static final long serialVersionUID = 1L; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.level_role_id + * + * @return the value of dashboard_level_role_object.level_role_id + * + * @mbg.generated + */ + public Long getLevelRoleId() { + return levelRoleId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.level_role_id + * + * @param levelRoleId the value for dashboard_level_role_object.level_role_id + * + * @mbg.generated + */ + public void setLevelRoleId(Long levelRoleId) { + this.levelRoleId = levelRoleId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.ref_type + * + * @return the value of dashboard_level_role_object.ref_type + * + * @mbg.generated + */ + public String getRefType() { + return refType; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.ref_type + * + * @param refType the value for dashboard_level_role_object.ref_type + * + * @mbg.generated + */ + public void setRefType(String refType) { + this.refType = refType == null ? null : refType.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.ref_id + * + * @return the value of dashboard_level_role_object.ref_id + * + * @mbg.generated + */ + public Long getRefId() { + return refId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.ref_id + * + * @param refId the value for dashboard_level_role_object.ref_id + * + * @mbg.generated + */ + public void setRefId(Long refId) { + this.refId = refId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.created_by + * + * @return the value of dashboard_level_role_object.created_by + * + * @mbg.generated + */ + public Long getCreatedBy() { + return createdBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.created_by + * + * @param createdBy the value for dashboard_level_role_object.created_by + * + * @mbg.generated + */ + public void setCreatedBy(Long createdBy) { + this.createdBy = createdBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.created_at + * + * @return the value of dashboard_level_role_object.created_at + * + * @mbg.generated + */ + public Long getCreatedAt() { + return createdAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.created_at + * + * @param createdAt the value for dashboard_level_role_object.created_at + * + * @mbg.generated + */ + public void setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.updated_at + * + * @return the value of dashboard_level_role_object.updated_at + * + * @mbg.generated + */ + public Long getUpdatedAt() { + return updatedAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.updated_at + * + * @param updatedAt the value for dashboard_level_role_object.updated_at + * + * @mbg.generated + */ + public void setUpdatedAt(Long updatedAt) { + this.updatedAt = updatedAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_object.updated_by + * + * @return the value of dashboard_level_role_object.updated_by + * + * @mbg.generated + */ + public Long getUpdatedBy() { + return updatedBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_object.updated_by + * + * @param updatedBy the value for dashboard_level_role_object.updated_by + * + * @mbg.generated + */ + public void setUpdatedBy(Long updatedBy) { + this.updatedBy = updatedBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", levelRoleId=").append(levelRoleId); + sb.append(", refType=").append(refType); + sb.append(", refId=").append(refId); + sb.append(", createdBy=").append(createdBy); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", updatedBy=").append(updatedBy); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObjectExample.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObjectExample.java new file mode 100644 index 0000000..1fd5e1d --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleObjectExample.java @@ -0,0 +1,732 @@ +package com.techsor.datacenter.business.model; + +import java.util.ArrayList; +import java.util.List; + +public class DashboardLevelRoleObjectExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public DashboardLevelRoleObjectExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andLevelRoleIdIsNull() { + addCriterion("level_role_id is null"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdIsNotNull() { + addCriterion("level_role_id is not null"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdEqualTo(Long value) { + addCriterion("level_role_id =", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdNotEqualTo(Long value) { + addCriterion("level_role_id <>", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdGreaterThan(Long value) { + addCriterion("level_role_id >", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdGreaterThanOrEqualTo(Long value) { + addCriterion("level_role_id >=", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdLessThan(Long value) { + addCriterion("level_role_id <", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdLessThanOrEqualTo(Long value) { + addCriterion("level_role_id <=", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdIn(List values) { + addCriterion("level_role_id in", values, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdNotIn(List values) { + addCriterion("level_role_id not in", values, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdBetween(Long value1, Long value2) { + addCriterion("level_role_id between", value1, value2, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdNotBetween(Long value1, Long value2) { + addCriterion("level_role_id not between", value1, value2, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andRefTypeIsNull() { + addCriterion("ref_type is null"); + return (Criteria) this; + } + + public Criteria andRefTypeIsNotNull() { + addCriterion("ref_type is not null"); + return (Criteria) this; + } + + public Criteria andRefTypeEqualTo(String value) { + addCriterion("ref_type =", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotEqualTo(String value) { + addCriterion("ref_type <>", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeGreaterThan(String value) { + addCriterion("ref_type >", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeGreaterThanOrEqualTo(String value) { + addCriterion("ref_type >=", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeLessThan(String value) { + addCriterion("ref_type <", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeLessThanOrEqualTo(String value) { + addCriterion("ref_type <=", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeLike(String value) { + addCriterion("ref_type like", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotLike(String value) { + addCriterion("ref_type not like", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeIn(List values) { + addCriterion("ref_type in", values, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotIn(List values) { + addCriterion("ref_type not in", values, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeBetween(String value1, String value2) { + addCriterion("ref_type between", value1, value2, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotBetween(String value1, String value2) { + addCriterion("ref_type not between", value1, value2, "refType"); + return (Criteria) this; + } + + public Criteria andRefIdIsNull() { + addCriterion("ref_id is null"); + return (Criteria) this; + } + + public Criteria andRefIdIsNotNull() { + addCriterion("ref_id is not null"); + return (Criteria) this; + } + + public Criteria andRefIdEqualTo(Long value) { + addCriterion("ref_id =", value, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdNotEqualTo(Long value) { + addCriterion("ref_id <>", value, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdGreaterThan(Long value) { + addCriterion("ref_id >", value, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdGreaterThanOrEqualTo(Long value) { + addCriterion("ref_id >=", value, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdLessThan(Long value) { + addCriterion("ref_id <", value, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdLessThanOrEqualTo(Long value) { + addCriterion("ref_id <=", value, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdIn(List values) { + addCriterion("ref_id in", values, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdNotIn(List values) { + addCriterion("ref_id not in", values, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdBetween(Long value1, Long value2) { + addCriterion("ref_id between", value1, value2, "refId"); + return (Criteria) this; + } + + public Criteria andRefIdNotBetween(Long value1, Long value2) { + addCriterion("ref_id not between", value1, value2, "refId"); + return (Criteria) this; + } + + public Criteria andCreatedByIsNull() { + addCriterion("created_by is null"); + return (Criteria) this; + } + + public Criteria andCreatedByIsNotNull() { + addCriterion("created_by is not null"); + return (Criteria) this; + } + + public Criteria andCreatedByEqualTo(Long value) { + addCriterion("created_by =", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotEqualTo(Long value) { + addCriterion("created_by <>", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByGreaterThan(Long value) { + addCriterion("created_by >", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByGreaterThanOrEqualTo(Long value) { + addCriterion("created_by >=", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByLessThan(Long value) { + addCriterion("created_by <", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByLessThanOrEqualTo(Long value) { + addCriterion("created_by <=", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByIn(List values) { + addCriterion("created_by in", values, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotIn(List values) { + addCriterion("created_by not in", values, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByBetween(Long value1, Long value2) { + addCriterion("created_by between", value1, value2, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotBetween(Long value1, Long value2) { + addCriterion("created_by not between", value1, value2, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Long value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Long value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Long value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Long value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Long value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Long value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Long value1, Long value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Long value1, Long value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Long value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Long value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Long value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Long value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Long value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Long value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Long value1, Long value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Long value1, Long value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedByIsNull() { + addCriterion("updated_by is null"); + return (Criteria) this; + } + + public Criteria andUpdatedByIsNotNull() { + addCriterion("updated_by is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedByEqualTo(Long value) { + addCriterion("updated_by =", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotEqualTo(Long value) { + addCriterion("updated_by <>", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByGreaterThan(Long value) { + addCriterion("updated_by >", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByGreaterThanOrEqualTo(Long value) { + addCriterion("updated_by >=", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByLessThan(Long value) { + addCriterion("updated_by <", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByLessThanOrEqualTo(Long value) { + addCriterion("updated_by <=", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByIn(List values) { + addCriterion("updated_by in", values, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotIn(List values) { + addCriterion("updated_by not in", values, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByBetween(Long value1, Long value2) { + addCriterion("updated_by between", value1, value2, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotBetween(Long value1, Long value2) { + addCriterion("updated_by not between", value1, value2, "updatedBy"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role_object + * + * @mbg.generated do_not_delete_during_merge + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role_object + * + * @mbg.generated + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUser.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUser.java new file mode 100644 index 0000000..6fe3222 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUser.java @@ -0,0 +1,302 @@ +package com.techsor.datacenter.business.model; + +import java.io.Serializable; + +public class DashboardLevelRoleUser implements Serializable { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.id + * + * @mbg.generated + */ + private Long id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.user_id + * + * @mbg.generated + */ + private Long userId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.level_role_id + * + * @mbg.generated + */ + private Long levelRoleId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.ref_type + * + * @mbg.generated + */ + private Integer refType; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.created_by + * + * @mbg.generated + */ + private Long createdBy; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.created_at + * + * @mbg.generated + */ + private Long createdAt; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.updated_at + * + * @mbg.generated + */ + private Long updatedAt; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column dashboard_level_role_user.updated_by + * + * @mbg.generated + */ + private Long updatedBy; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + private static final long serialVersionUID = 1L; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.id + * + * @return the value of dashboard_level_role_user.id + * + * @mbg.generated + */ + public Long getId() { + return id; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.id + * + * @param id the value for dashboard_level_role_user.id + * + * @mbg.generated + */ + public void setId(Long id) { + this.id = id; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.user_id + * + * @return the value of dashboard_level_role_user.user_id + * + * @mbg.generated + */ + public Long getUserId() { + return userId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.user_id + * + * @param userId the value for dashboard_level_role_user.user_id + * + * @mbg.generated + */ + public void setUserId(Long userId) { + this.userId = userId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.level_role_id + * + * @return the value of dashboard_level_role_user.level_role_id + * + * @mbg.generated + */ + public Long getLevelRoleId() { + return levelRoleId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.level_role_id + * + * @param levelRoleId the value for dashboard_level_role_user.level_role_id + * + * @mbg.generated + */ + public void setLevelRoleId(Long levelRoleId) { + this.levelRoleId = levelRoleId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.ref_type + * + * @return the value of dashboard_level_role_user.ref_type + * + * @mbg.generated + */ + public Integer getRefType() { + return refType; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.ref_type + * + * @param refType the value for dashboard_level_role_user.ref_type + * + * @mbg.generated + */ + public void setRefType(Integer refType) { + this.refType = refType; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.created_by + * + * @return the value of dashboard_level_role_user.created_by + * + * @mbg.generated + */ + public Long getCreatedBy() { + return createdBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.created_by + * + * @param createdBy the value for dashboard_level_role_user.created_by + * + * @mbg.generated + */ + public void setCreatedBy(Long createdBy) { + this.createdBy = createdBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.created_at + * + * @return the value of dashboard_level_role_user.created_at + * + * @mbg.generated + */ + public Long getCreatedAt() { + return createdAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.created_at + * + * @param createdAt the value for dashboard_level_role_user.created_at + * + * @mbg.generated + */ + public void setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.updated_at + * + * @return the value of dashboard_level_role_user.updated_at + * + * @mbg.generated + */ + public Long getUpdatedAt() { + return updatedAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.updated_at + * + * @param updatedAt the value for dashboard_level_role_user.updated_at + * + * @mbg.generated + */ + public void setUpdatedAt(Long updatedAt) { + this.updatedAt = updatedAt; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column dashboard_level_role_user.updated_by + * + * @return the value of dashboard_level_role_user.updated_by + * + * @mbg.generated + */ + public Long getUpdatedBy() { + return updatedBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column dashboard_level_role_user.updated_by + * + * @param updatedBy the value for dashboard_level_role_user.updated_by + * + * @mbg.generated + */ + public void setUpdatedBy(Long updatedBy) { + this.updatedBy = updatedBy; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", userId=").append(userId); + sb.append(", levelRoleId=").append(levelRoleId); + sb.append(", refType=").append(refType); + sb.append(", createdBy=").append(createdBy); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", updatedBy=").append(updatedBy); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUserExample.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUserExample.java new file mode 100644 index 0000000..37b501c --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/model/DashboardLevelRoleUserExample.java @@ -0,0 +1,782 @@ +package com.techsor.datacenter.business.model; + +import java.util.ArrayList; +import java.util.List; + +public class DashboardLevelRoleUserExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public DashboardLevelRoleUserExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdIsNull() { + addCriterion("level_role_id is null"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdIsNotNull() { + addCriterion("level_role_id is not null"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdEqualTo(Long value) { + addCriterion("level_role_id =", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdNotEqualTo(Long value) { + addCriterion("level_role_id <>", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdGreaterThan(Long value) { + addCriterion("level_role_id >", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdGreaterThanOrEqualTo(Long value) { + addCriterion("level_role_id >=", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdLessThan(Long value) { + addCriterion("level_role_id <", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdLessThanOrEqualTo(Long value) { + addCriterion("level_role_id <=", value, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdIn(List values) { + addCriterion("level_role_id in", values, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdNotIn(List values) { + addCriterion("level_role_id not in", values, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdBetween(Long value1, Long value2) { + addCriterion("level_role_id between", value1, value2, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andLevelRoleIdNotBetween(Long value1, Long value2) { + addCriterion("level_role_id not between", value1, value2, "levelRoleId"); + return (Criteria) this; + } + + public Criteria andRefTypeIsNull() { + addCriterion("ref_type is null"); + return (Criteria) this; + } + + public Criteria andRefTypeIsNotNull() { + addCriterion("ref_type is not null"); + return (Criteria) this; + } + + public Criteria andRefTypeEqualTo(Integer value) { + addCriterion("ref_type =", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotEqualTo(Integer value) { + addCriterion("ref_type <>", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeGreaterThan(Integer value) { + addCriterion("ref_type >", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeGreaterThanOrEqualTo(Integer value) { + addCriterion("ref_type >=", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeLessThan(Integer value) { + addCriterion("ref_type <", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeLessThanOrEqualTo(Integer value) { + addCriterion("ref_type <=", value, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeIn(List values) { + addCriterion("ref_type in", values, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotIn(List values) { + addCriterion("ref_type not in", values, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeBetween(Integer value1, Integer value2) { + addCriterion("ref_type between", value1, value2, "refType"); + return (Criteria) this; + } + + public Criteria andRefTypeNotBetween(Integer value1, Integer value2) { + addCriterion("ref_type not between", value1, value2, "refType"); + return (Criteria) this; + } + + public Criteria andCreatedByIsNull() { + addCriterion("created_by is null"); + return (Criteria) this; + } + + public Criteria andCreatedByIsNotNull() { + addCriterion("created_by is not null"); + return (Criteria) this; + } + + public Criteria andCreatedByEqualTo(Long value) { + addCriterion("created_by =", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotEqualTo(Long value) { + addCriterion("created_by <>", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByGreaterThan(Long value) { + addCriterion("created_by >", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByGreaterThanOrEqualTo(Long value) { + addCriterion("created_by >=", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByLessThan(Long value) { + addCriterion("created_by <", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByLessThanOrEqualTo(Long value) { + addCriterion("created_by <=", value, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByIn(List values) { + addCriterion("created_by in", values, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotIn(List values) { + addCriterion("created_by not in", values, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByBetween(Long value1, Long value2) { + addCriterion("created_by between", value1, value2, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedByNotBetween(Long value1, Long value2) { + addCriterion("created_by not between", value1, value2, "createdBy"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Long value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Long value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Long value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Long value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Long value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Long value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Long value1, Long value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Long value1, Long value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Long value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Long value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Long value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Long value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Long value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Long value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Long value1, Long value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Long value1, Long value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedByIsNull() { + addCriterion("updated_by is null"); + return (Criteria) this; + } + + public Criteria andUpdatedByIsNotNull() { + addCriterion("updated_by is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedByEqualTo(Long value) { + addCriterion("updated_by =", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotEqualTo(Long value) { + addCriterion("updated_by <>", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByGreaterThan(Long value) { + addCriterion("updated_by >", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByGreaterThanOrEqualTo(Long value) { + addCriterion("updated_by >=", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByLessThan(Long value) { + addCriterion("updated_by <", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByLessThanOrEqualTo(Long value) { + addCriterion("updated_by <=", value, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByIn(List values) { + addCriterion("updated_by in", values, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotIn(List values) { + addCriterion("updated_by not in", values, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByBetween(Long value1, Long value2) { + addCriterion("updated_by between", value1, value2, "updatedBy"); + return (Criteria) this; + } + + public Criteria andUpdatedByNotBetween(Long value1, Long value2) { + addCriterion("updated_by not between", value1, value2, "updatedBy"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role_user + * + * @mbg.generated do_not_delete_during_merge + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table dashboard_level_role_user + * + * @mbg.generated + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/building/BuildingPageVO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/building/BuildingPageVO.java index 73f71ea..c4a72be 100644 --- a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/building/BuildingPageVO.java +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/building/BuildingPageVO.java @@ -56,5 +56,10 @@ public class BuildingPageVO{ @Schema(description ="longitude", example = "115.783", required = false) private String longitude; + @Schema(description = "site层级ID",example = "2") + private String siteIds; + + @Schema(description = "site层级名称",example = "2") + private String siteNames; } diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/level/LevelPageDTO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/level/LevelPageDTO.java new file mode 100644 index 0000000..24b89b4 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/level/LevelPageDTO.java @@ -0,0 +1,55 @@ +package com.techsor.datacenter.business.vo.level; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +/** + * 物件级别分页查询DTO类 + * 用于返回物件级别分页查询结果 + */ +@Setter +@Getter +public class LevelPageDTO { + + /** + * 主键ID(编辑时必填) + */ + @Schema(description = "物件级别id,新增时不需要)",example = "2", required = true) + private Long id; + + /** + * 物件级别名称 + */ + @Schema(description = "名称)",example = "2", required = true) + private String levelName; + + /** + * 物件级别类型:1-支社 2-各支店 3-area 4-site + */ + @Schema(description = "级别类型:1-支社 2-各支店 3-area 4-site",example = "2", required = true) + private Integer levelType; + + /** + * 父级ID + */ + @Schema(description = "上一层级ID",example = "2", required = true) + private String parentIds; + + /** + * 父级名称 + */ + @Schema(description = "上一层级名称",example = "2") + private String parentNames; + + /** + * 描述 + */ + @Schema(description = "备注",example = "2") + private String remark; + + + @Schema(description = "创建时间,毫秒级时间戳",example = "2") + private Long createdAt; + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/LevelRolePageDTO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/LevelRolePageDTO.java new file mode 100644 index 0000000..a97fbef --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/LevelRolePageDTO.java @@ -0,0 +1,26 @@ +package com.techsor.datacenter.business.vo.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class LevelRolePageDTO { + + /** + * 主键ID(编辑时必填) + */ + @Schema(description = "层级角色id,新增时不需要)",example = "2", required = true) + private Long id; + + @Schema(description = "名称)",example = "2", required = true) + private String levelRoleName; + + @Schema(description = "备注",example = "2") + private String remark; + + @Schema(description = "创建时间,毫秒级时间戳",example = "2") + private Long createdAt; + +} \ No newline at end of file diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/RefKey.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/RefKey.java new file mode 100644 index 0000000..e7482b6 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/RefKey.java @@ -0,0 +1,11 @@ +package com.techsor.datacenter.business.vo.levelrole; + +import lombok.Data; + +@Data +public class RefKey { + private String type; // BRANCH / STORE / AREA / SITE / BUILDING + private String name; + private Long id; + private Long parentId; +} diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBindLevelRoleVO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBindLevelRoleVO.java new file mode 100644 index 0000000..4d2b88a --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBindLevelRoleVO.java @@ -0,0 +1,25 @@ +package com.techsor.datacenter.business.vo.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** +* @author Mr.Jiang +* @time 2022年7月21日 下午8:50:31 +*/ +@Data +public class UserBindLevelRoleVO { + + @Schema(description ="用户ID",example = "111", required = false) + private Long userId; + + @Schema(description ="用户名",example = "管理员", required = true) + private String username; + + @Schema(description ="用户邮箱",example = "1057897@qq.com", required = true) + private String email; + + @Schema(description ="手机号码,这里要加上国际区号,比如日本是+81,传给后台的就是+81-08041165856,中国是+86,传给后台的就是+86-18841165856",example = "+81-08041165856", required = false) + private String mobileNumber; + +} diff --git a/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBoundRolePageDTO.java b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBoundRolePageDTO.java new file mode 100644 index 0000000..33eb978 --- /dev/null +++ b/data-center-business-model/src/main/java/com/techsor/datacenter/business/vo/levelrole/UserBoundRolePageDTO.java @@ -0,0 +1,31 @@ +package com.techsor.datacenter.business.vo.levelrole; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Setter +@Getter +public class UserBoundRolePageDTO extends LevelRolePageDTO{ + + @Schema(description = "绑定关系id",example = "3", required = true) + private Long relationId; + + @Schema(description = "关联类型,0-普通用户,1-管理员",example = "0", required = true) + private Integer refType; + + @Schema(description = "用户id",example = "2", required = true) + private Long userId; + + @Schema(description = "用户邮箱",example = "1057897@qq.com", required = true) + private String email; + + @Schema(description = "登录名",example = "1057897@qq.com", required = true) + private String loginName; + + @Schema(description ="手机号码,这里要加上国际区号,比如日本是+81,传给后台的就是+81-08041165856,中国是+86,传给后台的就是+86-18841165856",example = "+81-08041165856", required = false) + private String mobileNumber; + +} \ No newline at end of file diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelRoleService.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelRoleService.java new file mode 100644 index 0000000..3fcd46b --- /dev/null +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelRoleService.java @@ -0,0 +1,35 @@ +package com.techsor.datacenter.business.service; + +import com.techsor.datacenter.business.TreeMenusDTO; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.dto.BaseSearchParams; +import com.techsor.datacenter.business.dto.levelrole.*; +import com.techsor.datacenter.business.vo.levelrole.LevelRolePageDTO; +import com.techsor.datacenter.business.vo.levelrole.UserBindLevelRoleVO; +import com.techsor.datacenter.business.vo.levelrole.UserBoundRolePageDTO; + +import java.util.List; + +public interface LevelRoleService { + + SimpleDataResponse add(OptLevelRoleParam optLevelRoleParam, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse edit(OptLevelRoleParam optLevelRoleParam, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse batchDelete(DeleteLevelRoleParam deleteLevelRoleParam, Long companyId, Long userId, Integer languageType); + + PageInfo getListPage(PageLevelRoleSearchParam pageLevelRoleSearchParam, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse> getBoundLevel(Long companyId, Long userId, Integer languageType); + + SimpleDataResponse> getBoundLevelByRole(Long roleId, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse bindUser(BindUserParam bindUserParam, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse unbindUser(UnbindUserParam unbindUserParam, Long companyId, Long userId, Integer languageType); + + PageInfo getAlreadyBoundUserPage(PageBoundRoleSearchParam pageBoundRoleSearchParam, Long companyId, Long userId, Integer languageType); + + PageInfo getCanBeBoundUserPage(BaseSearchParams baseSearchParams, Long companyId, Long userId, Integer languageType, Integer utcOffset); +} \ No newline at end of file diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelService.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelService.java new file mode 100644 index 0000000..4cc85f5 --- /dev/null +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/LevelService.java @@ -0,0 +1,23 @@ +package com.techsor.datacenter.business.service; + +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.dto.level.DeleteLevelParam; +import com.techsor.datacenter.business.dto.level.OptLevelParam; +import com.techsor.datacenter.business.dto.level.PageLevelSearchParam; +import com.techsor.datacenter.business.vo.level.LevelPageDTO; + +/** + * 物件级别Service接口 + * 定义物件级别的增删改查操作 + */ +public interface LevelService { + + SimpleDataResponse add(OptLevelParam optLevelParam, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse edit(OptLevelParam optLevelParam, Long companyId, Long userId, Integer languageType); + + SimpleDataResponse batchDelete(DeleteLevelParam deleteLevelParam, Long companyId, Long userId, Integer languageType); + + PageInfo getListPage(PageLevelSearchParam pageLevelSearchParam, Long companyId, Long userId, Integer languageType); +} \ No newline at end of file diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/BuildingServiceImpl.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/BuildingServiceImpl.java index d1eb502..49bc21a 100644 --- a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/BuildingServiceImpl.java +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/BuildingServiceImpl.java @@ -12,6 +12,8 @@ import java.util.stream.Collectors; import com.google.gson.Gson; import com.techsor.datacenter.business.common.Constants; +import com.techsor.datacenter.business.dao.ex.*; +import com.techsor.datacenter.business.dto.level.LevelRelationEntity; import com.techsor.datacenter.business.model.*; import com.techsor.datacenter.business.service.UserOperationLogsService; import org.apache.commons.collections4.CollectionUtils; @@ -34,15 +36,6 @@ import com.techsor.datacenter.business.common.language.msg.MsgLanguageChange; import com.techsor.datacenter.business.common.response.PageInfo; import com.techsor.datacenter.business.common.response.ResponseCode; import com.techsor.datacenter.business.common.response.SimpleDataResponse; -import com.techsor.datacenter.business.dao.ex.BasicAssetClassMapperExt; -import com.techsor.datacenter.business.dao.ex.BasicBuildingMapperExt; -import com.techsor.datacenter.business.dao.ex.BasicCompanyMapperExt; -import com.techsor.datacenter.business.dao.ex.BasicFloorMapperExt; -import com.techsor.datacenter.business.dao.ex.BasicMonitoringAssetMapperExt; -import com.techsor.datacenter.business.dao.ex.BasicSpaceMapperExt; -import com.techsor.datacenter.business.dao.ex.BasicUserMapperExt; -import com.techsor.datacenter.business.dao.ex.DeviceInfoMapperExt; -import com.techsor.datacenter.business.dao.ex.UserBuildingRelationMapperExt; import com.techsor.datacenter.business.dto.building.DeleteBuildingParams; import com.techsor.datacenter.business.dto.building.OptBuildingParams; import com.techsor.datacenter.business.dto.floor.FloorSearchParams; @@ -102,6 +95,8 @@ public class BuildingServiceImpl implements BuildingService { @Autowired private UserBuildingRelationMapperExt userBuildingRelationMapperExt; @Autowired + private LevelMapperExt levelMapperExt; + @Autowired private UserOperationLogsService userOperationLogsService; @@ -155,6 +150,9 @@ public class BuildingServiceImpl implements BuildingService { basicBuildingMapperExt.insertSelective(basicBuilding); // Insert building entity + //层级关联 + insertLevelRelation(optBuildingParams, basicBuilding, 1); + //Record log userOperationLogsService.recordLog(companyId,userId,"添加楼宇:"+basicBuilding.getName(), "Add Building:"+basicBuilding.getName() @@ -170,6 +168,37 @@ public class BuildingServiceImpl implements BuildingService { } } + private void insertLevelRelation(OptBuildingParams optBuildingParams, BasicBuilding basicBuilding, int optType) { + if (2 == optType){ + LevelRelationEntity deleteLevelRelationEntity = new LevelRelationEntity(); + deleteLevelRelationEntity.setChildId(basicBuilding.getBuildingId()); + deleteLevelRelationEntity.setChildField("building_id"); + deleteLevelRelationEntity.setTableName("dashboard_level_relation_site_building"); + levelMapperExt.deleteLevelRelation(deleteLevelRelationEntity); + } + if (CollectionUtils.isNotEmpty(optBuildingParams.getSiteIdList())) { + for (Long parentId : optBuildingParams.getSiteIdList()){ + LevelRelationEntity levelRelationEntity =new LevelRelationEntity(); + + levelRelationEntity.setParentField("site_id"); + levelRelationEntity.setChildField("building_id"); + levelRelationEntity.setTableName("dashboard_level_relation_site_building"); + + levelRelationEntity.setParentId(parentId); + levelRelationEntity.setChildId(basicBuilding.getBuildingId()); + if (1 == optType){ + levelRelationEntity.setCreatedBy(basicBuilding.getCreatorId()); + levelRelationEntity.setCreatedAt(basicBuilding.getCreateTime()); + } else if (2 == optType){ + levelRelationEntity.setCreatedBy(basicBuilding.getModifierId()); + levelRelationEntity.setCreatedAt(basicBuilding.getModifyTime()); + } + + levelMapperExt.saveLevelRelation(levelRelationEntity); + } + } + } + /** * Performs common verification operations for adding a building. * @@ -277,6 +306,9 @@ public class BuildingServiceImpl implements BuildingService { basicBuildingMapperExt.updateByExampleSelective(basicBuilding, example); + //层级关联 + insertLevelRelation(optBuildingParams, basicBuilding, 2); + //Record log userOperationLogsService.recordLog(companyId,userId,"编辑楼宇:"+basicBuilding.getName(), "Edit Building:"+basicBuilding.getName() diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelRoleServiceImpl.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelRoleServiceImpl.java new file mode 100644 index 0000000..654b976 --- /dev/null +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelRoleServiceImpl.java @@ -0,0 +1,482 @@ +package com.techsor.datacenter.business.service.impl; + +import com.github.pagehelper.PageHelper; +import com.techsor.datacenter.business.TreeMenusDTO; +import com.techsor.datacenter.business.common.language.msg.MsgLanguageChange; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.ResponseCode; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.dao.ex.LevelRoleMapperExt; +import com.techsor.datacenter.business.dao.ex.LevelRoleObjectMapperExt; +import com.techsor.datacenter.business.dao.ex.LevelRoleUserMapperExt; +import com.techsor.datacenter.business.dto.BaseSearchParams; +import com.techsor.datacenter.business.dto.levelrole.*; +import com.techsor.datacenter.business.model.*; +import com.techsor.datacenter.business.service.LevelRoleService; +import com.techsor.datacenter.business.service.common.CommonOpt; +import com.techsor.datacenter.business.vo.levelrole.LevelRolePageDTO; +import com.techsor.datacenter.business.vo.levelrole.RefKey; +import com.techsor.datacenter.business.vo.levelrole.UserBindLevelRoleVO; +import com.techsor.datacenter.business.vo.levelrole.UserBoundRolePageDTO; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 物件级别Service实现类 + * 实现物件级别的业务逻辑 + */ +@Service +public class LevelRoleServiceImpl implements LevelRoleService { + + private static Logger logger = LoggerFactory.getLogger(LevelRoleServiceImpl.class); + + + @Autowired + private CommonOpt commonOpt; + @Autowired + private MsgLanguageChange msgLanguageChange; + + @Autowired + private LevelRoleMapperExt levelRoleMapperExt; + @Autowired + private LevelRoleObjectMapperExt levelRoleObjectMapperExt; + @Autowired + private LevelRoleUserMapperExt levelRoleUserMapperExt; + + + @Override + @Transactional + public SimpleDataResponse add(OptLevelRoleParam param, Long companyId, Long userId, Integer languageType) { + try { + param.setCompanyId(companyId); + param.setId(null); + //校验参数 + SimpleDataResponse checkResult = checkParam(param, languageType); + if (200 != checkResult.getCode()) { + return checkResult; + } + //重复校验 + if (checkExist(param) > 0) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "levelRoleNameExist")); + } + + long currentUnix = System.currentTimeMillis(); + DashboardLevelRole dashboardLevelRole = new DashboardLevelRole(); + BeanUtils.copyProperties(param, dashboardLevelRole); + dashboardLevelRole.setName(param.getLevelRoleName()); + dashboardLevelRole.setCreatedBy(userId); + dashboardLevelRole.setCreatedAt(currentUnix); + dashboardLevelRole.setCompanyId(companyId); + levelRoleMapperExt.insertSelective(dashboardLevelRole); + + //插入关联 + insertRoleObjectRelation(param, dashboardLevelRole, 1); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("添加层级角色报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + private void insertRoleObjectRelation(OptLevelRoleParam param, DashboardLevelRole dashboardLevelRole, int optType) { + if (2 == optType){ + DashboardLevelRoleObjectExample dashboardLevelRoleObjectExample = new DashboardLevelRoleObjectExample(); + dashboardLevelRoleObjectExample.createCriteria().andLevelRoleIdEqualTo(dashboardLevelRole.getId()); + levelRoleObjectMapperExt.deleteByExample(dashboardLevelRoleObjectExample); + } + if (CollectionUtils.isNotEmpty(param.getLevelList())){ + for (String levelInfo : param.getLevelList()){ + String[] parts = levelInfo.split("-");//levelInfo的值为BRANCH-1,STORE-2,AREA-3 + DashboardLevelRoleObject dashboardLevelRoleObject = new DashboardLevelRoleObject(); + dashboardLevelRoleObject.setLevelRoleId(dashboardLevelRole.getId()); + dashboardLevelRoleObject.setRefType(parts[0]); + dashboardLevelRoleObject.setRefId(Long.valueOf(parts[1])); + if (1 == optType) { + dashboardLevelRoleObject.setCreatedAt(dashboardLevelRole.getCreatedAt()); + dashboardLevelRoleObject.setCreatedBy(dashboardLevelRole.getCreatedBy()); + } else if (2 == optType) { + dashboardLevelRoleObject.setCreatedAt(dashboardLevelRole.getUpdatedAt()); + dashboardLevelRoleObject.setCreatedBy(dashboardLevelRole.getUpdatedBy()); + } + levelRoleObjectMapperExt.insertSelective(dashboardLevelRoleObject); + } + } + } + + private long checkExist(OptLevelRoleParam param) { + return levelRoleMapperExt.checkExist(param); + } + + private SimpleDataResponse checkParam(OptLevelRoleParam param, Integer languageType) { + if(StringUtils.isBlank(param.getLevelRoleName()) || param.getLevelRoleName().length() > 100){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "Parameter [levelRoleName] error"); + } + if(StringUtils.isNotBlank(param.getRemark()) && param.getRemark().length() > 255){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "Parameter [remark] error"); + } + return SimpleDataResponse.success(); + } + + @Override + public SimpleDataResponse edit(OptLevelRoleParam param, Long companyId, Long userId, Integer languageType) { + try { + param.setCompanyId(companyId); + //校验参数 + SimpleDataResponse checkResult = checkParam(param, languageType); + if (200 != checkResult.getCode()) { + return checkResult; + } + //重复校验 + if (checkExist(param) > 0) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "levelRoleNameExist")); + } + + long currentUnix = System.currentTimeMillis(); + DashboardLevelRole dashboardLevelRole = new DashboardLevelRole(); + BeanUtils.copyProperties(param, dashboardLevelRole); + dashboardLevelRole.setName(param.getLevelRoleName()); + dashboardLevelRole.setUpdatedBy(userId); + dashboardLevelRole.setUpdatedAt(currentUnix); + if (StringUtils.isBlank(param.getRemark())){ + dashboardLevelRole.setRemark(""); + } + levelRoleMapperExt.updateByPrimaryKeySelective(dashboardLevelRole); + + //插入关联 + insertRoleObjectRelation(param, dashboardLevelRole, 2); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("编辑层级角色报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + @Override + @Transactional + public SimpleDataResponse batchDelete(DeleteLevelRoleParam deleteLevelRoleParam, Long companyId, Long userId, Integer languageType) { + try { + List idList = Arrays.asList(deleteLevelRoleParam.getIds().split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()); + + // 检查是否有绑定 + DashboardLevelRoleUserExample dashboardLevelRoleUserExample = new DashboardLevelRoleUserExample(); + dashboardLevelRoleUserExample.createCriteria().andLevelRoleIdIn(idList); + if (levelRoleUserMapperExt.countByExample(dashboardLevelRoleUserExample) > 0) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "roleHasBinded")); + } + + //基础表 + DashboardLevelRoleExample deleteLevelRoleExample = new DashboardLevelRoleExample(); + deleteLevelRoleExample.createCriteria().andIdIn(idList); + DashboardLevelRole dashboardLevelRole = new DashboardLevelRole(); + dashboardLevelRole.setFlag(1); + levelRoleMapperExt.updateByExampleSelective(dashboardLevelRole, deleteLevelRoleExample); + + //角色和层级关联表 + DashboardLevelRoleObjectExample deleteRoleObjectExample = new DashboardLevelRoleObjectExample(); + deleteRoleObjectExample.createCriteria().andLevelRoleIdIn(idList); + levelRoleObjectMapperExt.deleteByExample(deleteRoleObjectExample); + + //角色和用户关联表 + DashboardLevelRoleUserExample deleteRoleUserExample = new DashboardLevelRoleUserExample(); + deleteRoleUserExample.createCriteria().andLevelRoleIdIn(idList); + levelRoleUserMapperExt.deleteByExample(deleteRoleUserExample); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("删除层级角色报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + @Override + public PageInfo getListPage(PageLevelRoleSearchParam pageSearchParam, Long companyId, Long userId, Integer languageType) { + //list防${}注入 + if (StringUtils.isBlank(pageSearchParam.getCompanyIds())) { + pageSearchParam.setCompanyIdList(Collections.singletonList(companyId)); + } else { + pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); + } + if (StringUtils.isNotBlank(pageSearchParam.getIds())) { + pageSearchParam.setIdList(Arrays.asList(pageSearchParam.getIds().split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList())); + } + + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); + List resultList = levelRoleMapperExt.getListPage(pageSearchParam); + + return new PageInfo<>(resultList); + } + + @Override + @Transactional + public SimpleDataResponse bindUser(BindUserParam bindUserParam, Long companyId, Long userId, Integer languageType) { + try { + SimpleDataResponse checkResult = checkBindParam(bindUserParam, languageType); + if (200 != checkResult.getCode()) { + return checkResult; + } + + long currentUnix = System.currentTimeMillis(); + for (Long levelRoleId : bindUserParam.getLevelRoleId()){ + //数据库存在就不用管了 + DashboardLevelRoleUserExample countRoleUserExample = new DashboardLevelRoleUserExample(); + countRoleUserExample.createCriteria() + .andLevelRoleIdEqualTo(levelRoleId) + .andUserIdEqualTo(bindUserParam.getUserId()) + .andRefTypeEqualTo(bindUserParam.getRefType()); + if (levelRoleUserMapperExt.countByExample(countRoleUserExample) > 0){ + continue; + } + //不存在则插入 + DashboardLevelRoleUser dashboardLevelRoleUser = new DashboardLevelRoleUser(); + dashboardLevelRoleUser.setUserId(bindUserParam.getUserId()); + dashboardLevelRoleUser.setLevelRoleId(levelRoleId); + dashboardLevelRoleUser.setRefType(bindUserParam.getRefType()); + dashboardLevelRoleUser.setCreatedAt(currentUnix); + dashboardLevelRoleUser.setCreatedBy(userId); + levelRoleUserMapperExt.insertSelective(dashboardLevelRoleUser); + } + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("用户绑定层级角色报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + private SimpleDataResponse checkBindParam(BindUserParam bindUserParam, Integer languageType) { + if (null == bindUserParam.getUserId()) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "userId required"); + } + if (CollectionUtils.isEmpty(bindUserParam.getLevelRoleId())) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "levelRoleId required"); + } + if (null == bindUserParam.getRefType()) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "refType required"); + } + return SimpleDataResponse.success(); + } + + @Override + @Transactional + public SimpleDataResponse unbindUser(UnbindUserParam unbindUserParam, Long companyId, Long userId, Integer languageType) { + try { + DashboardLevelRoleUserExample deleteRoleUserExample = new DashboardLevelRoleUserExample(); + deleteRoleUserExample.createCriteria().andIdIn(unbindUserParam.getRelationIdList()); + levelRoleUserMapperExt.deleteByExample(deleteRoleUserExample); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("用户解绑层级角色报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + @Override + public PageInfo getCanBeBoundUserPage(BaseSearchParams pageSearchParam, Long companyId, + Long userId, Integer languageType, Integer utcOffset) { + //list防${}注入 + if (StringUtils.isBlank(pageSearchParam.getCompanyIds())) { + pageSearchParam.setCompanyIdList(Collections.singletonList(companyId)); + } else { + pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); + } + + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); + List resultList = levelRoleMapperExt.getCanBeBoundUserPage(pageSearchParam); + + return new PageInfo<>(resultList); + } + + @Override + public PageInfo getAlreadyBoundUserPage(PageBoundRoleSearchParam pageSearchParam, Long companyId, Long userId, Integer languageType) { + //list防${}注入 + if (StringUtils.isBlank(pageSearchParam.getCompanyIds())) { + pageSearchParam.setCompanyIdList(Collections.singletonList(companyId)); + } else { + pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); + } + + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); + List resultList = levelRoleMapperExt.getAlreadyBoundUserPage(pageSearchParam); + + return new PageInfo<>(resultList); + } + + @Override + public SimpleDataResponse> getBoundLevelByRole(Long roleId, Long companyId, Long userId, Integer languageType) { + try { + return SimpleDataResponse.success(levelRoleMapperExt.getBoundLevelByRole(roleId)); + } catch (Exception e) { + logger.error("获取层级角色菜单出错", e); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + @Override + public SimpleDataResponse> getBoundLevel(Long companyId, Long userId, Integer languageType) { + + // 查询全量层级 + Map levelMap = new HashMap<>(); + levelMap.put("companyId", companyId); + List branches = levelRoleMapperExt.selectAllBranches(levelMap); + List stores = levelRoleMapperExt.selectAllStores(levelMap); + List areas = levelRoleMapperExt.selectAllAreas(levelMap); + List sites = levelRoleMapperExt.selectAllSites(levelMap); + List buildings = levelRoleMapperExt.selectAllBuildings(levelMap); + + // 用户绑定、管理的节点 + List userRefs = new ArrayList<>(); + if (levelRoleMapperExt.checkLevelManager(userId) > 0){ + userRefs.addAll(branches); + userRefs.addAll(stores); + userRefs.addAll(areas); + userRefs.addAll(sites); + userRefs.addAll(buildings); + } else { + Map paramMap = new HashMap<>(); + paramMap.put("userId", userId); + paramMap.put("refType", 1); + userRefs = levelRoleMapperExt.selectUserRefs(paramMap); + // 名称填充 + fillNames(userRefs, branches, stores, areas, sites, buildings); + } + + // 构建 parentId → List 的多值 Map + Map> storeMap = groupByParent(stores); + Map> areaMap = groupByParent(areas); + Map> siteMap = groupByParent(sites); + Map> buildingMap = groupByParent(buildings); + + // 用于去重,避免重复根节点 + Set visitedKeys = new HashSet<>(); + + // 组装树结构 + List result = new ArrayList<>(); + + for (RefKey ref : userRefs) { + // 每个用户绑定的节点都是一棵独立的根 + TreeMenusDTO root = new TreeMenusDTO(); + String rootKey = ref.getType() + "-" + ref.getId(); + + if (visitedKeys.contains(rootKey)) continue; // 已存在跳过 + visitedKeys.add(rootKey); + + root.setKey(rootKey); + root.setLabel(ref.getName()); + root.setParentKey(null); + + // 构建该节点下的子树 + root.setChildren(buildTree( + ref.getType(), ref.getId(), rootKey, + storeMap, areaMap, siteMap, buildingMap, visitedKeys + )); + result.add(root); + } + + return SimpleDataResponse.success(result); + } + + private Map toNameMap(List list) { + return list.stream().collect(Collectors.toMap( + RefKey::getId, + RefKey::getName, + (a, b) -> a + )); + } + + private void fillNames(List userRefs, + List branches, + List stores, + List areas, + List sites, + List buildings) { + + Map branchName = toNameMap(branches); + Map storeName = toNameMap(stores); + Map areaName = toNameMap(areas); + Map siteName = toNameMap(sites); + Map buildingName = toNameMap(buildings); + + for (RefKey r : userRefs) { + switch (r.getType()) { + case "BRANCH" -> r.setName(branchName.get(r.getId())); + case "STORE" -> r.setName(storeName.get(r.getId())); + case "AREA" -> r.setName(areaName.get(r.getId())); + case "SITE" -> r.setName(siteName.get(r.getId())); + case "BUILDING" -> r.setName(buildingName.get(r.getId())); + } + } + } + + private Map> groupByParent(List items) { + return items.stream() + .filter(r -> r.getParentId() != null) + .collect(Collectors.groupingBy( + RefKey::getParentId + )); + } + + private List buildTree(String type, + Long parentId, + String parentKey, + Map> storeMap, + Map> areaMap, + Map> siteMap, + Map> buildingMap, + Set visitedKeys) { + + Map> childMap = switch (type) { + case "BRANCH" -> storeMap; + case "STORE" -> areaMap; + case "AREA" -> siteMap; + case "SITE" -> buildingMap; + default -> null; + }; + if (childMap == null) return Collections.emptyList(); + + // 直接取 parentId 的子节点 + List children = childMap.get(parentId); + if (children == null) return Collections.emptyList(); + + List list = new ArrayList<>(); + + for (RefKey c : children) { + String key = c.getType() + "-" + c.getId(); + + if (visitedKeys.contains(key)) continue; // 已存在跳过 + visitedKeys.add(key); + + TreeMenusDTO node = new TreeMenusDTO(); + node.setKey(key); + node.setParentKey(parentKey); + node.setLabel(c.getName()); + + node.setChildren(buildTree( + c.getType(), c.getId(), key, + storeMap, areaMap, siteMap, buildingMap, visitedKeys + )); + + list.add(node); + } + + return list; + } + +} \ No newline at end of file diff --git a/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelServiceImpl.java b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelServiceImpl.java new file mode 100644 index 0000000..c12acee --- /dev/null +++ b/data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/LevelServiceImpl.java @@ -0,0 +1,297 @@ +package com.techsor.datacenter.business.service.impl; + +import com.techsor.datacenter.business.common.language.msg.MsgLanguageChange; +import com.techsor.datacenter.business.common.response.PageInfo; +import com.techsor.datacenter.business.common.response.ResponseCode; +import com.techsor.datacenter.business.common.response.SimpleDataResponse; +import com.techsor.datacenter.business.dao.ex.LevelMapperExt; +import com.techsor.datacenter.business.dto.level.*; +import com.techsor.datacenter.business.service.LevelService; +import com.techsor.datacenter.business.service.common.CommonOpt; +import com.techsor.datacenter.business.vo.level.LevelPageDTO; +import com.github.pagehelper.PageHelper; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 物件级别Service实现类 + * 实现物件级别的业务逻辑 + */ +@Service +public class LevelServiceImpl implements LevelService { + + private static Logger logger = LoggerFactory.getLogger(LevelServiceImpl.class); + + + @Autowired + private CommonOpt commonOpt; + @Autowired + private MsgLanguageChange msgLanguageChange; + + @Autowired + private LevelMapperExt levelMapperExt; + + + @Override + @Transactional + public SimpleDataResponse add(OptLevelParam param, Long companyId, Long userId, Integer languageType) { + try { + param.setCompanyId(companyId); + param.setId(null); + //校验参数 + SimpleDataResponse checkResult = checkParam(param, languageType); + if (200 != checkResult.getCode()) { + return checkResult; + } + //重复校验 + if (checkExist(param) > 0) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "levelNameExist")); + } + //父级id是否有效 + if (1 != param.getLevelType() && isParentLevelInvalid(param)){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "invalidParentLevel")); + } + + long currentUnix = System.currentTimeMillis(); + LevelEntity levelEntity = new LevelEntity(); + BeanUtils.copyProperties(param, levelEntity); + levelEntity.setName(param.getLevelName()); + levelEntity.setCreatedBy(userId); + levelEntity.setCreatedAt(currentUnix); + levelEntity.setCompanyId(companyId); + levelMapperExt.saveLevel(levelEntity); + + if (1 != param.getLevelType()) { + //插入关联 + insertLevelRelation(param, levelEntity, 1); + } + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("添加层级报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + private void insertLevelRelation(OptLevelParam param, LevelEntity levelEntity, int optType) { + for (Long parentId : param.getParentIdList()){ + LevelRelationEntity levelRelationEntity =new LevelRelationEntity(); + switch (param.getLevelType()){ + case 2: + levelRelationEntity.setParentField("branch_id"); + levelRelationEntity.setChildField("store_id"); + levelRelationEntity.setTableName("dashboard_level_relation_branch_store"); + break; + case 3: + levelRelationEntity.setParentField("store_id"); + levelRelationEntity.setChildField("area_id"); + levelRelationEntity.setTableName("dashboard_level_relation_store_area"); + break; + case 4: + levelRelationEntity.setParentField("area_id"); + levelRelationEntity.setChildField("site_id"); + levelRelationEntity.setTableName("dashboard_level_relation_area_site"); + break; + } + levelRelationEntity.setParentId(parentId); + levelRelationEntity.setChildId(levelEntity.getId()); + if (1 == optType){ + levelRelationEntity.setCreatedBy(levelEntity.getCreatedBy()); + levelRelationEntity.setCreatedAt(levelEntity.getCreatedAt()); + } else if (2 == optType){ + levelRelationEntity.setCreatedBy(levelEntity.getUpdatedBy()); + levelRelationEntity.setCreatedAt(levelEntity.getUpdatedAt()); + } + + levelMapperExt.saveLevelRelation(levelRelationEntity); + } + } + + private boolean isParentLevelInvalid(OptLevelParam param) { + long checkSize = levelMapperExt.countParentLevel(param); + return checkSize != param.getParentIdList().size(); + } + + private long checkExist(OptLevelParam param) { + return levelMapperExt.checkExist(param); + } + + private SimpleDataResponse checkParam(OptLevelParam param, Integer languageType) { + if(StringUtils.isBlank(param.getLevelName()) || param.getLevelName().length() > 255){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "Parameter [levelName] error"); + } + if(null == param.getLevelType() || param.getLevelType() < 1 || param.getLevelType() > 4){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "Parameter [levelType] error"); + } + if(1 != param.getLevelType() && CollectionUtils.isEmpty(param.getParentIdList())){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, "parentIdList can not be null"); + } + return SimpleDataResponse.success(); + } + + @Override + public SimpleDataResponse edit(OptLevelParam param, Long companyId, Long userId, Integer languageType) { + try { + param.setCompanyId(companyId); + //校验参数 + SimpleDataResponse checkResult = checkParam(param, languageType); + if (200 != checkResult.getCode()) { + return checkResult; + } + //重复校验 + if (checkExist(param) > 0) { + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "levelNameExist")); + } + //父级id是否有效 + if (1 != param.getLevelType() && isParentLevelInvalid(param)){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "invalidParentLevel")); + } + + long currentUnix = System.currentTimeMillis(); + LevelEntity levelEntity = new LevelEntity(); + BeanUtils.copyProperties(param, levelEntity); + levelEntity.setName(param.getLevelName()); + levelEntity.setUpdatedBy(userId); + levelEntity.setUpdatedAt(currentUnix); + levelMapperExt.updateLevel(levelEntity); + + if (1 != param.getLevelType()){ + //先删除关联关系 + LevelRelationEntity deleteLevelRelationEntity = new LevelRelationEntity(); + deleteLevelRelationEntity.setChildId(param.getId()); + switch (param.getLevelType()){ + case 2: + deleteLevelRelationEntity.setChildField("store_id"); + deleteLevelRelationEntity.setTableName("dashboard_level_relation_branch_store"); + break; + case 3: + deleteLevelRelationEntity.setChildField("area_id"); + deleteLevelRelationEntity.setTableName("dashboard_level_relation_store_area"); + break; + case 4: + deleteLevelRelationEntity.setChildField("site_id"); + deleteLevelRelationEntity.setTableName("dashboard_level_relation_area_site"); + break; + } + levelMapperExt.deleteLevelRelation(deleteLevelRelationEntity); + //插入关联 + insertLevelRelation(param, levelEntity, 2); + } + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("编辑层级报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + @Override + public SimpleDataResponse batchDelete(DeleteLevelParam deleteLevelParam, Long companyId, Long userId, Integer languageType) { + try { + List idList = Arrays.asList(deleteLevelParam.getIds().split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()); + + // 检查是否有下级引用(支社、支店、area级别需要检查,site级别没有下级) + Integer levelType = deleteLevelParam.getLevelType(); + LevelRelationEntity levelRelationEntity =new LevelRelationEntity(); + switch (levelType){ + case 1: + levelRelationEntity.setParentField("branch_id"); + levelRelationEntity.setTableName("dashboard_level_relation_branch_store"); + break; + case 2: + levelRelationEntity.setParentField("store_id"); + levelRelationEntity.setTableName("dashboard_level_relation_store_area"); + break; + case 3: + levelRelationEntity.setParentField("area_id"); + levelRelationEntity.setTableName("dashboard_level_relation_area_site"); + break; + case 4: + levelRelationEntity.setParentField("site_id"); + levelRelationEntity.setTableName("dashboard_level_relation_site_building"); + break; + } + if (levelMapperExt.checkIfReferencedByChildren(levelRelationEntity, idList) > 0){ + return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "levelReferencedByChildren")); + } + + //基础表删除 + String tableName = switch (levelType) { + case 1 -> "dashboard_level_branch"; + case 2 -> "dashboard_level_store"; + case 3 -> "dashboard_level_area"; + case 4 -> "dashboard_level_site"; + default -> ""; + }; + levelMapperExt.deleteLevelByIdList(tableName, idList); + + //删除关联表 + LevelRelationEntity deleteEntity =new LevelRelationEntity(); + switch (levelType){ + case 1: + deleteEntity.setChildField("branch_id"); + deleteEntity.setTableName("dashboard_level_relation_branch_store"); + break; + case 2: + deleteEntity.setChildField("store_id"); + deleteEntity.setTableName("dashboard_level_relation_branch_store"); + break; + case 3: + deleteEntity.setChildField("area_id"); + deleteEntity.setTableName("dashboard_level_relation_store_area"); + break; + case 4: + deleteEntity.setChildField("site_id"); + deleteEntity.setTableName("dashboard_level_relation_area_site"); + break; + } + levelMapperExt.deleteLevelRelationByIdList(deleteEntity, idList); + + return SimpleDataResponse.success(); + } catch (Exception e) { + logger.error("删除层级报错", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new SimpleDataResponse(ResponseCode.SERVER_ERROR, e.getMessage()); + } + } + + @Override + public PageInfo getListPage(PageLevelSearchParam pageSearchParam, Long companyId, Long userId, Integer languageType) { + Integer levelType = pageSearchParam.getLevelType(); + if (null == levelType){ + logger.error("leveType required........"); + return PageInfo.emptyPageInfo(); + } + //list防${}注入 + if (StringUtils.isBlank(pageSearchParam.getCompanyIds())) { + pageSearchParam.setCompanyIdList(Collections.singletonList(companyId)); + } else { + pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); + } + if (StringUtils.isNotBlank(pageSearchParam.getIds())) { + pageSearchParam.setIdList(Arrays.asList(pageSearchParam.getIds().split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList())); + } + if (1 != levelType && StringUtils.isNotBlank(pageSearchParam.getParentIds())){ + pageSearchParam.setParentIdList(Arrays.asList(pageSearchParam.getParentIds().split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList())); + } + + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); + List resultList = levelMapperExt.getListPage(pageSearchParam); + + return new PageInfo<>(resultList); + } +} \ No newline at end of file