From 2dba8dbb14af4616eec876fd9af744651e8beeda Mon Sep 17 00:00:00 2001 From: elkers <elkers@163.com> Date: 星期一, 07 四月 2025 14:28:24 +0800 Subject: [PATCH] 初始化项目 --- src/main/java/com/nanjing/water/entity/search/SearchAdminRole.java | 13 src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqModifyWaterFacilityParameter.java | 59 src/main/java/com/nanjing/water/host/controller/WaterFacilityTypeController.java | 125 src/main/java/com/nanjing/water/host/mqtt/MQTTServer.java | 94 src/test/java/com/nanjing/water/GenCodeGauss.java | 32 src/main/java/com/nanjing/water/entity/search/SearchSysRegion.java | 13 src/main/java/com/nanjing/water/host/controller/admin/AdminMenuController.java | 273 src/main/java/com/nanjing/water/entity/request/sysregion/ReqModifySysRegion.java | 186 src/main/java/com/nanjing/water/service/convert/AdminRolePermissionRelationConvert.java | 47 src/main/java/com/nanjing/water/entity/response/statistics/ResStatistics4DateAndType.java | 18 src/main/java/com/nanjing/water/repository/impl/WaterFacilityTypeMapperImpl.java | 142 src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTree.java | 50 src/main/java/com/nanjing/water/repository/po/WaterFacilityParameterPO.java | 95 src/main/java/com/nanjing/water/entity/request/sysregion/ReqCreateSysRegion.java | 175 src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqCreateAlarmHistory.java | 69 src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListMenu4Role.java | 24 src/main/java/com/nanjing/water/repository/mapper/AlarmSchemeMapper.java | 11 src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqModifyWaterFacilityType.java | 64 src/main/java/com/nanjing/water/repository/vo/AdminRoleRelationVO.java | 54 src/main/java/com/nanjing/water/repository/mapper/WaterFacilityMapper.java | 14 src/main/java/com/nanjing/water/repository/mapper/AdminMenuMapper.java | 11 src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqModifyAdminRoleMenuRelation.java | 46 src/main/java/com/nanjing/water/repository/impl/AdminMenuMapperImpl.java | 130 src/main/java/com/nanjing/water/service/SysDictTypeService.java | 323 + src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java | 56 src/main/java/com/nanjing/water/repository/impl/SysDictTypeMapperImpl.java | 150 src/main/java/com/nanjing/water/repository/impl/AdminMenusMapperImpl.java | 137 src/main/java/com/nanjing/water/repository/vo/SysRegionVO.java | 54 src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointData.java | 12 src/main/java/com/nanjing/water/host/mqtt/MQTTConnect.java | 36 src/main/java/com/nanjing/water/service/AdminRolePermissionRelationService.java | 246 src/main/java/com/nanjing/water/entity/search/SearchAdminMenu.java | 13 src/main/java/com/nanjing/water/entity/request/adminmenu/ReqModifyAdminMenu.java | 141 pom.xml | 17 src/main/java/com/nanjing/water/entity/request/adminuser/ReqCreateAdminUser.java | 62 src/main/java/com/nanjing/water/repository/impl/WaterFacilityParameterMapperImpl.java | 151 src/main/java/com/nanjing/water/service/convert/AdminRoleMenuRelationConvert.java | 47 src/main/java/com/nanjing/water/service/dto/StatisticsTodayDto.java | 60 src/main/java/com/nanjing/water/repository/vo/SysDictTypeVO.java | 54 src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityType.java | 13 src/main/java/com/nanjing/water/repository/po/CommonParametersPO.java | 80 src/main/java/com/nanjing/water/repository/po/AdminMenusPO.java | 100 src/main/java/com/nanjing/water/entity/search/SearchWaterMonitoryPoint.java | 13 src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqAddParameter.java | 18 src/main/java/com/nanjing/water/common/config/MqttConfig.java | 61 src/main/java/com/nanjing/water/service/WaterFacilityTypeService.java | 274 src/main/java/com/nanjing/water/host/controller/base/SysDictTypeController.java | 143 src/main/java/com/nanjing/water/repository/vo/AdminRoleVO.java | 53 src/main/java/com/nanjing/water/repository/po/AdminUserPO.java | 105 src/main/java/com/nanjing/water/entity/request/waterfacility/ReqModifyWaterFacility.java | 85 src/main/java/com/nanjing/water/host/controller/base/SysRegionController.java | 160 src/main/java/com/nanjing/water/repository/impl/AdminRolePermissionRelationMapperImpl.java | 144 src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqCreateAdminRolePermissionRelation.java | 53 src/main/java/com/nanjing/water/repository/impl/AdminUserMapperImpl.java | 134 src/main/java/com/nanjing/water/service/WaterMonitoryPointService.java | 261 src/main/java/com/nanjing/water/entity/search/SearchWaterFacility.java | 13 src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java | 284 src/main/java/com/nanjing/water/entity/request/waterfacility/ReqEditWaterFacility.java | 45 src/main/java/com/nanjing/water/repository/impl/AdminRoleRelationMapperImpl.java | 144 src/main/resources/application.yml | 4 src/main/java/com/nanjing/water/repository/po/WaterFacilityTypePO.java | 70 src/main/java/com/nanjing/water/service/convert/CommonParametersConvert.java | 47 src/main/java/com/nanjing/water/service/convert/AlarmSchemeConvert.java | 47 src/main/java/com/nanjing/water/service/cache/AdminMenuService.java | 74 src/main/java/com/nanjing/water/repository/impl/AdminRoleMapperImpl.java | 117 src/main/java/com/nanjing/water/host/controller/admin/AdminUserController.java | 294 src/main/java/com/nanjing/water/repository/vo/CommonParametersVO.java | 54 src/main/java/com/nanjing/water/repository/po/SysRegionPO.java | 126 src/main/java/com/nanjing/water/repository/vo/AdminRoleMenuRelationVO.java | 54 src/main/java/com/nanjing/water/repository/po/WaterFacilityPO.java | 143 src/main/java/com/nanjing/water/repository/impl/SysDictDataMapperImpl.java | 187 src/main/java/com/nanjing/water/repository/mapper/SysRegionMapper.java | 11 src/main/java/com/nanjing/water/entity/request/adminrole/ReqCreateAdminRole.java | 64 src/main/java/com/nanjing/water/service/convert/AdminMenuConvert.java | 50 src/main/java/com/nanjing/water/repository/vo/SysDictDataVO.java | 58 src/main/java/com/nanjing/water/service/AdminRoleService.java | 246 src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqCreateSysDictType.java | 64 src/main/java/com/nanjing/water/service/convert/AlarmHistoryConvert.java | 47 src/main/java/com/nanjing/water/repository/po/AlarmHistoryPO.java | 105 src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqModifyAlarmScheme.java | 63 src/main/java/com/nanjing/water/entity/enums/EOperation.java | 98 src/main/java/com/nanjing/water/service/AdminUserService.java | 246 src/main/java/com/nanjing/water/repository/mapper/AlarmHistoryMapper.java | 11 src/main/java/com/nanjing/water/service/CommonParametersService.java | 290 src/main/java/com/nanjing/water/service/convert/AdminUserConvert.java | 50 src/main/java/com/nanjing/water/repository/mapper/AdminPermissionMapper.java | 11 src/main/java/com/nanjing/water/entity/response/region/ResRegionTree.java | 45 src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqCreateAlarmScheme.java | 59 src/main/java/com/nanjing/water/repository/impl/AlarmSchemeMapperImpl.java | 144 src/main/java/com/nanjing/water/entity/request/adminuser/ReqAdminLogin.java | 30 src/main/java/com/nanjing/water/service/convert/AdminPermissionConvert.java | 50 src/main/java/com/nanjing/water/repository/mapper/AdminRoleMapper.java | 11 src/main/java/com/nanjing/water/service/QuartzTaskErrorService.java | 246 src/main/java/com/nanjing/water/entity/request/adminuser/ReqModifyAdminUser.java | 62 src/main/java/com/nanjing/water/repository/mapper/WaterFacilityTypeMapper.java | 11 src/main/java/com/nanjing/water/service/SysDictDataService.java | 390 + src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqCreateAdminRoleMenuRelation.java | 42 src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqCreateWaterFacilityType.java | 53 src/main/java/com/nanjing/water/host/controller/admin/AdminPermissionController.java | 120 src/main/java/com/nanjing/water/entity/search/SearchCommonParameters.java | 13 src/main/java/com/nanjing/water/entity/response/region/ResBasicRegionTree.java | 127 src/main/java/com/nanjing/water/service/QuartzTaskInfoService.java | 246 src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqPointAndParameter.java | 17 src/main/java/com/nanjing/water/repository/vo/AlarmHistoryVO.java | 61 src/main/java/com/nanjing/water/entity/search/SearchAlarmScheme.java | 13 src/main/java/com/nanjing/water/service/convert/AdminRoleRelationConvert.java | 47 src/main/java/com/nanjing/water/repository/mapper/WaterFacilityParameterMapper.java | 12 src/main/java/com/nanjing/water/repository/vo/AdminUserVO.java | 54 src/main/java/com/nanjing/water/entity/search/SearchAdminPermission.java | 13 src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqModifySysDictType.java | 86 src/main/java/com/nanjing/water/host/controller/WaterMonitoryPointController.java | 131 src/main/java/com/nanjing/water/entity/search/SearchAlarmHistory.java | 13 src/main/java/com/nanjing/water/repository/po/AdminRoleMenuRelationPO.java | 70 src/main/java/com/nanjing/water/service/AdminRoleMenuRelationService.java | 246 src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityParameter.java | 13 src/main/java/com/nanjing/water/repository/po/AdminRolePO.java | 80 src/main/java/com/nanjing/water/service/WaterFacilityService.java | 238 src/main/java/com/nanjing/water/service/cache/AdminPermissionService.java | 142 src/main/java/com/nanjing/water/service/SysRegionService.java | 258 src/main/java/com/nanjing/water/service/dto/ResAdminDetail.java | 35 src/main/java/com/nanjing/water/repository/po/AdminRoleRelationPO.java | 70 src/main/java/com/nanjing/water/repository/mapper/AdminUserMapper.java | 11 src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqModifyAlarmHistory.java | 73 src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqModifyAdminRoleRelation.java | 64 src/main/java/com/nanjing/water/entity/response/admin/ResAdminPermission.java | 28 src/main/java/com/nanjing/water/repository/vo/WaterMonitoryPointVO.java | 58 src/main/java/com/nanjing/water/service/AdminPowerService.java | 869 ++ src/main/java/com/nanjing/water/service/convert/WaterMonitoryPointConvert.java | 47 src/main/java/com/nanjing/water/entity/search/SearchAdminRoleRelation.java | 13 src/main/java/com/nanjing/water/repository/impl/SysRegionMapperImpl.java | 162 src/main/java/com/nanjing/water/service/convert/WaterFacilityConvert.java | 47 src/main/java/com/nanjing/water/repository/vo/WaterFacilityTypeVO.java | 56 src/main/java/com/nanjing/water/repository/po/AdminMenuPO.java | 105 src/main/java/com/nanjing/water/entity/response/admin/ResAdminLogin.java | 35 src/main/java/com/nanjing/water/repository/impl/AdminRoleMenuRelationMapperImpl.java | 144 src/main/java/com/nanjing/water/entity/response/statistics/ResGetTodayStatistics.java | 18 src/main/java/com/nanjing/water/entity/enums/EMenuType.java | 66 src/main/java/com/nanjing/water/entity/request/adminpermission/ReqCreateAdminPermission.java | 97 src/main/java/com/nanjing/water/repository/impl/CommonParametersMapperImpl.java | 156 src/main/java/com/nanjing/water/entity/search/SearchSysDictData.java | 13 src/main/java/com/nanjing/water/entity/request/commonparameters/ReqModifyCommonParameters.java | 86 src/main/java/com/nanjing/water/service/convert/SysRegionConvert.java | 47 src/main/java/com/nanjing/water/repository/impl/AlarmHistoryMapperImpl.java | 152 src/main/java/com/nanjing/water/service/AlarmSchemeService.java | 275 src/main/java/com/nanjing/water/entity/request/adminuser/ReqSetListRole4Admin.java | 19 src/main/java/com/nanjing/water/entity/request/adminpermission/ReqModifyAdminPermission.java | 119 src/main/java/com/nanjing/water/repository/po/AlarmSchemePO.java | 91 src/main/java/com/nanjing/water/service/AdminService.java | 544 + src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTreeAndPermission.java | 13 src/main/java/com/nanjing/water/repository/mapper/AdminMenusMapper.java | 11 src/main/java/com/nanjing/water/service/convert/WaterFacilityParameterConvert.java | 47 src/main/java/com/nanjing/water/entity/request/commonparameters/ReqCreateCommonParameters.java | 75 src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqCreateSysDictData.java | 75 src/main/java/com/nanjing/water/entity/search/SearchSysDictType.java | 13 src/main/java/com/nanjing/water/host/mqtt/MQTTSubsribe.java | 100 src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqCreateAdminRoleRelation.java | 53 src/main/java/com/nanjing/water/repository/vo/AdminPermissionVO.java | 54 src/main/java/com/nanjing/water/repository/po/AdminPermissionPO.java | 95 src/main/java/com/nanjing/water/entity/search/SearchAdminUser.java | 26 src/main/java/com/nanjing/water/service/convert/WaterFacilityTypeConvert.java | 47 src/main/java/com/nanjing/water/entity/request/adminrole/ReqModifyAdminRole.java | 86 src/main/java/com/nanjing/water/repository/impl/WaterFacilityMapperImpl.java | 156 src/main/java/com/nanjing/water/repository/vo/AdminRolePermissionRelationVO.java | 54 src/main/java/com/nanjing/water/repository/impl/AdminPermissionMapperImpl.java | 141 src/main/java/com/nanjing/water/entity/response/statistics/ResStatisticsItem.java | 29 src/main/java/com/nanjing/water/repository/vo/AdminMenuVO.java | 54 src/main/java/com/nanjing/water/entity/search/SearchAdminRoleMenuRelation.java | 13 src/main/java/com/nanjing/water/repository/mapper/AdminRoleRelationMapper.java | 11 src/main/java/com/nanjing/water/service/convert/AdminRoleConvert.java | 47 src/main/java/com/nanjing/water/repository/mapper/SysDictTypeMapper.java | 11 src/main/java/com/nanjing/water/host/controller/admin/AdminRoleController.java | 321 src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqModifyAdminRolePermissionRelation.java | 64 src/main/java/com/nanjing/water/host/mqtt/MQTTStart.java | 26 src/main/java/com/nanjing/water/repository/mapper/WaterMonitoryPointMapper.java | 11 src/main/java/com/nanjing/water/repository/po/WaterMonitoryPointPO.java | 96 src/main/java/com/nanjing/water/host/controller/base/SysDictDataController.java | 145 src/main/java/com/nanjing/water/entity/response/admin/ResAdminPower.java | 18 src/main/java/com/nanjing/water/repository/vo/WaterFacilityParameterVO.java | 55 src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java | 68 src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqCreateWaterFacilityParameter.java | 53 src/main/java/com/nanjing/water/service/AdminRoleRelationService.java | 246 src/main/java/com/nanjing/water/entity/dto/UploadResultVo.java | 88 src/main/java/com/nanjing/water/entity/request/adminmenu/ReqCreateAdminMenu.java | 119 src/main/java/com/nanjing/water/repository/po/SysDictDataPO.java | 85 src/main/java/com/nanjing/water/entity/request/waterfacility/ReqCreateWaterFacility.java | 84 src/main/java/com/nanjing/water/entity/search/SearchAdminMenus.java | 13 src/main/java/com/nanjing/water/service/QuartzTaskRecordService.java | 246 src/main/java/com/nanjing/water/repository/mapper/SysDictDataMapper.java | 11 src/main/java/com/nanjing/water/repository/mapper/AdminRolePermissionRelationMapper.java | 11 src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacility.java | 12 src/main/java/com/nanjing/water/service/convert/SysDictTypeConvert.java | 47 src/main/java/com/nanjing/water/repository/po/SysDictTypePO.java | 80 src/main/java/com/nanjing/water/repository/vo/AlarmSchemeVO.java | 56 src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java | 64 src/main/java/com/nanjing/water/repository/mapper/AdminRoleMenuRelationMapper.java | 11 src/main/java/com/nanjing/water/service/convert/SysDictDataConvert.java | 47 src/main/java/com/nanjing/water/host/mqtt/WebSocket.java | 54 src/main/java/com/nanjing/water/entity/search/SearchAdminRolePermissionRelation.java | 13 src/main/java/com/nanjing/water/host/controller/WaterFacilityController.java | 163 src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacilityParameter.java | 12 src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqModifySysDictData.java | 97 src/main/java/com/nanjing/water/service/AlarmHistoryService.java | 275 src/test/java/com/nanjing/water/GenCodeMysql.java | 62 src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListRole4Admin.java | 19 src/main/java/com/nanjing/water/host/mqtt/PushCallback.java | 85 src/main/java/com/nanjing/water/host/controller/base/FileController.java | 188 src/main/java/com/nanjing/water/repository/mapper/CommonParametersMapper.java | 11 src/main/java/com/nanjing/water/host/controller/WaterFacilityParameterController.java | 129 src/main/java/com/nanjing/water/repository/impl/WaterMonitoryPointMapperImpl.java | 152 src/main/java/com/nanjing/water/repository/po/AdminRolePermissionRelationPO.java | 70 210 files changed, 19,327 insertions(+), 52 deletions(-) diff --git a/pom.xml b/pom.xml index e5256b7..cecc896 100644 --- a/pom.xml +++ b/pom.xml @@ -10,9 +10,9 @@ </parent> <groupId>com.nanjing.water</groupId> - <artifactId>xxx-yyy</artifactId> + <artifactId>nanjing-station</artifactId> <version>0.0.1-SNAPSHOT</version> - <name>xxx-yyy-service</name> + <name>nanjing-station-service</name> <description>The service which yyy of xxx project</description> <properties> @@ -236,7 +236,18 @@ <artifactId>spring-boot-starter-quartz</artifactId> <version>2.0.3.RELEASE</version> </dependency> - + <!-- mqtt 依赖 --> + <dependency> + <groupId>org.eclipse.paho</groupId> + <artifactId>org.eclipse.paho.client.mqttv3</artifactId> + <version>1.2.5</version> + </dependency> + <!--生成验证码工具--> + <dependency> + <groupId>com.github.whvcse</groupId> + <artifactId>easy-captcha</artifactId> + <version>1.6.2</version> + </dependency> <!--************************************************** 单元测试相关 **************************************************--> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/src/main/java/com/nanjing/water/common/config/MqttConfig.java b/src/main/java/com/nanjing/water/common/config/MqttConfig.java new file mode 100644 index 0000000..ecaa451 --- /dev/null +++ b/src/main/java/com/nanjing/water/common/config/MqttConfig.java @@ -0,0 +1,61 @@ +package com.nanjing.water.common.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +@Data +@Component +@ConfigurationProperties(prefix = "mqtt") +@Order(10) +public class MqttConfig { + /** + * 是否启用 + */ + private Boolean enable; + /** + * 主机 + */ + private String host; + + /** + * 端口 + */ + private Integer port; + + /** + * 用户名 + */ + private String user; + + /** + * 密码 + */ + private String password; + + /** + * 订阅主题 + */ + private String topic; + + /** + * 订阅消息的客户端id + */ + private String clientId; + + /** + * 连接超时时间 + */ + private Integer connectionTimeout; + + /** + * 心跳 + */ + private Integer keepAliveInterval; + + /** + * 发送消息的客户端id + */ + private String serverClientId; +} diff --git a/src/main/java/com/nanjing/water/entity/dto/UploadResultVo.java b/src/main/java/com/nanjing/water/entity/dto/UploadResultVo.java new file mode 100644 index 0000000..80caf3d --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/dto/UploadResultVo.java @@ -0,0 +1,88 @@ +package com.nanjing.water.entity.dto; + +public class UploadResultVo { + /** + * 文件id,传参后原样输出,前端比对文件用,无实际意义。 + */ + private String fileId; + /** + * 原始文件名称 传参后原样输出 + */ + private String name; + /** + * 新文件名称(需要保存数据库的虚拟路径) + */ + private String newFileName; + /** + * 文件预览地址 + */ + private String newFileView; + /** + * 文件类型 + */ + private String fileType; + /** + * 文件媒体类型 + */ + private String contentType; + /** + * 文件大小(kb) + */ + private Long size; + + public String getFileId() { + return fileId; + } + + public void setFileId(String fileId) { + this.fileId = fileId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNewFileName() { + return newFileName; + } + + public void setNewFileName(String newFileName) { + this.newFileName = newFileName; + } + + public String getNewFileView() { + return newFileView; + } + + public void setNewFileView(String newFileView) { + this.newFileView = newFileView; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + public String getContentType() { + return contentType; + } + + public void setContentType(String contentType) { + this.contentType = contentType; + } + + public Long getSize() { + return size; + } + + public void setSize(Long size) { + this.size = size; + } +} \ No newline at end of file diff --git a/src/main/java/com/nanjing/water/entity/enums/EMenuType.java b/src/main/java/com/nanjing/water/entity/enums/EMenuType.java new file mode 100644 index 0000000..20321b7 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/enums/EMenuType.java @@ -0,0 +1,66 @@ +package com.nanjing.water.entity.enums; + +import java.util.Arrays; +import java.util.Objects; + +/** + * 菜单类型 + */ +public enum EMenuType { + /** + * 目录=1, + */ + FOLDER("目录", 1), + /** + * 页面=2, + */ + PAGE("页面", 2), + ; + + /** + * 枚举描述 + */ + private String desc; + /** + * 枚举值 + */ + private Integer value; + + public Integer getValue() { + return value; + } + public String getDesc() { + return desc; + } + + /** + * 构造方法 + * @param desc 枚举描述 + * @param value 枚举值 + */ + EMenuType(String desc, Integer value) { + this.desc = desc; + this.value = value; + } + + /** + * 根据值获取枚举 + * + * @param value 枚举值 + * @return + */ + public static EMenuType getByValue(Integer value) { + return Arrays.stream(EMenuType.values()) + .filter(e -> Objects.equals(e.getValue(), value)) + .findAny() + .orElse(null); + } + + @Override + public String toString() { + return "EMenuType{" + + "desc='" + desc + '\'' + + ", value=" + value + + '}'; + } +} diff --git a/src/main/java/com/nanjing/water/entity/enums/EOperation.java b/src/main/java/com/nanjing/water/entity/enums/EOperation.java new file mode 100644 index 0000000..7f0d06e --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/enums/EOperation.java @@ -0,0 +1,98 @@ +package com.nanjing.water.entity.enums; + +import java.util.Arrays; +import java.util.Objects; + +/** + * 操作类型 + * @author linliu + * @date 2019-01-02 + */ +public enum EOperation { + /** + * 搜索 + */ + LIST("搜索", "list"), + /** + * 保存(新增+编辑) + */ + SAVE("保存(新增+编辑)", "save"), + /** + * 新增 + */ + ADD("新增", "add"), + /** + * 详情 + */ + DETAIL("详情", "detail"), + /** + * 修改 + */ + UPDATE("修改", "update"), + /** + * 停用 + */ + DISABLED("停用", "disable"), + /** + * 启用 + */ + ENABLED("启用", "enable"), + /** + * 删除 + */ + DELETED("删除", "delete"), + /** + * 导入 + */ + IMPORT("导入", "import"), + /** + * 导出 + */ + EXPORT("导出", "export"), + /** + * 打印 + */ + PRINT("打印", "print"), + ; + + private String desc;//枚举描述 + private String value;//枚举值 + + public String getValue() { + return value; + } + public String getDesc() { + return desc; + } + + /** + * 构造方法 + * @param desc 枚举描述 + * @param value 枚举值 + */ + EOperation(String desc, String value) { + this.desc = desc; + this.value = value; + } + + /** + * 根据值获取枚举 + * + * @param value 枚举值 + * @return + */ + public static EOperation getByValue(String value) { + return Arrays.stream(EOperation.values()) + .filter(e -> Objects.equals(e.getValue(), value)) + .findAny() + .orElse(null); + } + + @Override + public String toString() { + return "EOperation{" + + "desc='" + desc + '\'' + + ", value=" + value + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/nanjing/water/entity/request/adminmenu/ReqCreateAdminMenu.java b/src/main/java/com/nanjing/water/entity/request/adminmenu/ReqCreateAdminMenu.java new file mode 100644 index 0000000..c2d2b2b --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminmenu/ReqCreateAdminMenu.java @@ -0,0 +1,119 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminmenu; + +/** + * 后台菜单 + * @author lin.liu + */ + +public class ReqCreateAdminMenu { + /** + * 父级ID + */ + private Long parentId; + /** + * 菜单名称 + */ + private String name; + /** + * 菜单标题 + */ + private String title; + /** + * 前端资源路径 + */ + private String url; + /** + * 菜单层级 + */ + private Integer level; + /** + * 排序值 + */ + private Integer sort; + /** + * 图标 + */ + private String icon; + /** + * 类型 EMenuType + */ + private Integer type; + + public Long getParentId() { + return this.parentId; + } + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getTitle() { + return this.title; + } + public void setTitle(String title) { + this.title = title; + } + + public String getUrl() { + return this.url; + } + public void setUrl(String url) { + this.url = url; + } + + public Integer getLevel() { + return this.level; + } + public void setLevel(Integer level) { + this.level = level; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } + + public String getIcon() { + return this.icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + + public Integer getType() { + return this.type; + } + public void setType(Integer type) { + this.type = type; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminmenu/ReqModifyAdminMenu.java b/src/main/java/com/nanjing/water/entity/request/adminmenu/ReqModifyAdminMenu.java new file mode 100644 index 0000000..22085b9 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminmenu/ReqModifyAdminMenu.java @@ -0,0 +1,141 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminmenu; + +/** + * 后台菜单 + * @author lin.liu + */ + +public class ReqModifyAdminMenu { + /** + * 主键 + */ + private Long id; + /** + * 父级ID + */ + private Long parentId; + /** + * 菜单名称 + */ + private String name; + /** + * 菜单标题 + */ + private String title; + /** + * 前端资源路径 + */ + private String url; + /** + * 菜单层级 + */ + private Integer level; + /** + * 排序值 + */ + private Integer sort; + /** + * 图标 + */ + private String icon; + /** + * 状态 EState + */ + private Integer status; + /** + * 类型 EMenuType + */ + private Integer type; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public Long getParentId() { + return this.parentId; + } + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getTitle() { + return this.title; + } + public void setTitle(String title) { + this.title = title; + } + + public String getUrl() { + return this.url; + } + public void setUrl(String url) { + this.url = url; + } + + public Integer getLevel() { + return this.level; + } + public void setLevel(Integer level) { + this.level = level; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } + + public String getIcon() { + return this.icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + + public Integer getStatus() { + return this.status; + } + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getType() { + return this.type; + } + public void setType(Integer type) { + this.type = type; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminpermission/ReqCreateAdminPermission.java b/src/main/java/com/nanjing/water/entity/request/adminpermission/ReqCreateAdminPermission.java new file mode 100644 index 0000000..2b97f1d --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminpermission/ReqCreateAdminPermission.java @@ -0,0 +1,97 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminpermission; + +/** + * 后台用户权限表 + * @author lin.liu + */ + +public class ReqCreateAdminPermission { + /** + * 权限值 + */ + private String sn; + /** + * 菜单id + */ + private Long menuId; + /** + * 前端资源url + */ + private String menuUrl; + /** + * 名称 + */ + private String name; + /** + * 图标 + */ + private String icon; + /** + * 权限类型 EOperation + */ + private String type; + + public String getSn() { + return this.sn; + } + public void setSn(String sn) { + this.sn = sn; + } + + public Long getMenuId() { + return this.menuId; + } + public void setMenuId(Long menuId) { + this.menuId = menuId; + } + + public String getMenuUrl() { + return this.menuUrl; + } + public void setMenuUrl(String menuUrl) { + this.menuUrl = menuUrl; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getIcon() { + return this.icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + + public String getType() { + return this.type; + } + public void setType(String type) { + this.type = type; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminpermission/ReqModifyAdminPermission.java b/src/main/java/com/nanjing/water/entity/request/adminpermission/ReqModifyAdminPermission.java new file mode 100644 index 0000000..d61537a --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminpermission/ReqModifyAdminPermission.java @@ -0,0 +1,119 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminpermission; + +/** + * 后台用户权限表 + * @author lin.liu + */ + +public class ReqModifyAdminPermission { + /** + * 主键 + */ + private Long id; + /** + * 权限值 + */ + private String sn; + /** + * 菜单id + */ + private Long menuId; + /** + * 前端资源url + */ + private String menuUrl; + /** + * 名称 + */ + private String name; + /** + * 图标 + */ + private String icon; + /** + * 权限类型 EOperation + */ + private String type; + /** + * 状态 EStatus + */ + private Integer status; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getSn() { + return this.sn; + } + public void setSn(String sn) { + this.sn = sn; + } + + public Long getMenuId() { + return this.menuId; + } + public void setMenuId(Long menuId) { + this.menuId = menuId; + } + + public String getMenuUrl() { + return this.menuUrl; + } + public void setMenuUrl(String menuUrl) { + this.menuUrl = menuUrl; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getIcon() { + return this.icon; + } + public void setIcon(String icon) { + this.icon = icon; + } + + public String getType() { + return this.type; + } + public void setType(String type) { + this.type = type; + } + + public Integer getStatus() { + return this.status; + } + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrole/ReqCreateAdminRole.java b/src/main/java/com/nanjing/water/entity/request/adminrole/ReqCreateAdminRole.java new file mode 100644 index 0000000..9ef76cf --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrole/ReqCreateAdminRole.java @@ -0,0 +1,64 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrole; + +/** + * 后台用户角色表 + * @author lin.liu + */ + +public class ReqCreateAdminRole { + /** + * 角色名称 + */ + private String name; + /** + * 描述 + */ + private String description; + /** + * 排序值 + */ + private Integer sort; + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return this.description; + } + public void setDescription(String description) { + this.description = description; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrole/ReqModifyAdminRole.java b/src/main/java/com/nanjing/water/entity/request/adminrole/ReqModifyAdminRole.java new file mode 100644 index 0000000..20b23bb --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrole/ReqModifyAdminRole.java @@ -0,0 +1,86 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrole; + +/** + * 后台用户角色表 + * @author lin.liu + */ + +public class ReqModifyAdminRole { + /** + * 主键 + */ + private Long id; + /** + * 角色名称 + */ + private String name; + /** + * 描述 + */ + private String description; + /** + * 状态 EState + */ + private Integer status; + /** + * 排序值 + */ + private Integer sort; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return this.description; + } + public void setDescription(String description) { + this.description = description; + } + + public Integer getStatus() { + return this.status; + } + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqCreateAdminRoleMenuRelation.java b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqCreateAdminRoleMenuRelation.java new file mode 100644 index 0000000..f86e02d --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqCreateAdminRoleMenuRelation.java @@ -0,0 +1,42 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrolemenurelation; + +import lombok.Data; + +/** + * 后台角色菜单关系表 + * @author lin.liu + * @description 后台角色菜单关系表 + */ +@Data +public class ReqCreateAdminRoleMenuRelation { + /** + * 角色id + */ + private Long roleId; + /** + * 菜单id + */ + private Long menuId; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqModifyAdminRoleMenuRelation.java b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqModifyAdminRoleMenuRelation.java new file mode 100644 index 0000000..944a3c7 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqModifyAdminRoleMenuRelation.java @@ -0,0 +1,46 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrolemenurelation; + +import lombok.Data; + +/** + * 后台角色菜单关系表 + * @author lin.liu + * @description 后台角色菜单关系表 + */ +@Data +public class ReqModifyAdminRoleMenuRelation { + /** + * 主键 + */ + private Long id; + /** + * 角色id + */ + private Long roleId; + /** + * 菜单id + */ + private Long menuId; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListMenu4Role.java b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListMenu4Role.java new file mode 100644 index 0000000..7711f6a --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListMenu4Role.java @@ -0,0 +1,24 @@ +package com.nanjing.water.entity.request.adminrolemenurelation; + +import lombok.Data; + +import java.util.List; + +@Data +public class ReqSetListMenu4Role { + /** + * 角色id + * @required + */ + private Long id; + /** + * 菜单列表 + * @required + **/ + private List<Long> listMenu; + /** + * 权限列表 + * @required + **/ + private List<Long> listPermission; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListRole4Admin.java b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListRole4Admin.java new file mode 100644 index 0000000..6d87f3c --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolemenurelation/ReqSetListRole4Admin.java @@ -0,0 +1,19 @@ +package com.nanjing.water.entity.request.adminrolemenurelation; + +import lombok.Data; + +import java.util.List; + +@Data +public class ReqSetListRole4Admin { + /** + * 管理员id + * @required + */ + private Long id; + /** + * 角色列表 + * @required + **/ + private List<Long> listRole; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqCreateAdminRolePermissionRelation.java b/src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqCreateAdminRolePermissionRelation.java new file mode 100644 index 0000000..bc22461 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqCreateAdminRolePermissionRelation.java @@ -0,0 +1,53 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrolepermissionrelation; + +/** + * 后台角色权限关系表 + * @author lin.liu + */ + +public class ReqCreateAdminRolePermissionRelation { + /** + * 角色id + */ + private Long roleId; + /** + * 权限id + */ + private Long permissionId; + + public Long getRoleId() { + return this.roleId; + } + public void setRoleId(Long roleId) { + this.roleId = roleId; + } + + public Long getPermissionId() { + return this.permissionId; + } + public void setPermissionId(Long permissionId) { + this.permissionId = permissionId; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqModifyAdminRolePermissionRelation.java b/src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqModifyAdminRolePermissionRelation.java new file mode 100644 index 0000000..5299b24 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolepermissionrelation/ReqModifyAdminRolePermissionRelation.java @@ -0,0 +1,64 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrolepermissionrelation; + +/** + * 后台角色权限关系表 + * @author lin.liu + */ + +public class ReqModifyAdminRolePermissionRelation { + /** + * 主键 + */ + private Long id; + /** + * 角色id + */ + private Long roleId; + /** + * 权限id + */ + private Long permissionId; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public Long getRoleId() { + return this.roleId; + } + public void setRoleId(Long roleId) { + this.roleId = roleId; + } + + public Long getPermissionId() { + return this.permissionId; + } + public void setPermissionId(Long permissionId) { + this.permissionId = permissionId; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqCreateAdminRoleRelation.java b/src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqCreateAdminRoleRelation.java new file mode 100644 index 0000000..22be00b --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqCreateAdminRoleRelation.java @@ -0,0 +1,53 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrolerelation; + +/** + * 后台用户和角色关系表 + * @author lin.liu + */ + +public class ReqCreateAdminRoleRelation { + /** + * 管理员id + */ + private Long adminId; + /** + * 角色id + */ + private Long roleId; + + public Long getAdminId() { + return this.adminId; + } + public void setAdminId(Long adminId) { + this.adminId = adminId; + } + + public Long getRoleId() { + return this.roleId; + } + public void setRoleId(Long roleId) { + this.roleId = roleId; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqModifyAdminRoleRelation.java b/src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqModifyAdminRoleRelation.java new file mode 100644 index 0000000..1a8d496 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminrolerelation/ReqModifyAdminRoleRelation.java @@ -0,0 +1,64 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminrolerelation; + +/** + * 后台用户和角色关系表 + * @author lin.liu + */ + +public class ReqModifyAdminRoleRelation { + /** + * 主键 + */ + private Long id; + /** + * 管理员id + */ + private Long adminId; + /** + * 角色id + */ + private Long roleId; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public Long getAdminId() { + return this.adminId; + } + public void setAdminId(Long adminId) { + this.adminId = adminId; + } + + public Long getRoleId() { + return this.roleId; + } + public void setRoleId(Long roleId) { + this.roleId = roleId; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminuser/ReqAdminLogin.java b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqAdminLogin.java new file mode 100644 index 0000000..19aa0b4 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqAdminLogin.java @@ -0,0 +1,30 @@ +package com.nanjing.water.entity.request.adminuser; + +import lombok.Data; + +@Data +public class ReqAdminLogin { + /** + * uuid:随机字符串 + */ + + private String uuid; + /** + * 验证码 + */ + private String code; + /** + * 登录账户 + * @required + */ + private String userName; + /** + * 密码 + * @required + */ + private String password; + /** + * 登录设备码 + */ + private String machineCode; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminuser/ReqCreateAdminUser.java b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqCreateAdminUser.java new file mode 100644 index 0000000..2d9fccd --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqCreateAdminUser.java @@ -0,0 +1,62 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminuser; + +import lombok.Data; + +/** + * 管理员帐号 + * @author lin.liu + * @description 管理员帐号 + */ +@Data +public class ReqCreateAdminUser { + /** + * 用户类型 EUserType + */ + private Integer userType; + /** + * 用户名 + */ + private String userName; + /** + * 密码 + */ + private String password; + /** + * 昵称 + */ + private String nickName; + /** + * 头像 + */ + private String headImg; + /** + * 联系方式 + */ + private String contact; + /** + * 联系邮箱 + */ + private String email; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminuser/ReqModifyAdminUser.java b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqModifyAdminUser.java new file mode 100644 index 0000000..26c67dc --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqModifyAdminUser.java @@ -0,0 +1,62 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.adminuser; + +import lombok.Data; + +/** + * 管理员帐号 + * @author lin.liu + * @description 管理员帐号 + */ +@Data +public class ReqModifyAdminUser { + /** + * 主键 + */ + private Long id; + /** + * 用户类型 EUserType + */ + private Integer userType; + /** + * 昵称 + */ + private String nickName; + /** + * 头像 + */ + private String headImg; + /** + * 联系方式 + */ + private String contact; + /** + * 联系邮箱 + */ + private String email; + /** + * 状态 EState + */ + private Integer status; +} diff --git a/src/main/java/com/nanjing/water/entity/request/adminuser/ReqSetListRole4Admin.java b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqSetListRole4Admin.java new file mode 100644 index 0000000..f1aa3ee --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/adminuser/ReqSetListRole4Admin.java @@ -0,0 +1,19 @@ +package com.nanjing.water.entity.request.adminuser; + +import lombok.Data; + +import java.util.List; + +@Data +public class ReqSetListRole4Admin { + /** + * 管理员id + * @required + */ + private Long id; + /** + * 角色列表 + * @required + **/ + private List<Long> listRole; +} diff --git a/src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqCreateAlarmHistory.java b/src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqCreateAlarmHistory.java new file mode 100644 index 0000000..52d2d92 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqCreateAlarmHistory.java @@ -0,0 +1,69 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.alarmhistory; + +import lombok.Data; + +/** + * 报警信息 + * @author lin.liu + */ +@Data +public class ReqCreateAlarmHistory { + /** + * 设备id + */ + private Long facilityId; + /** + * 设备名称 + */ + private String facilityName; + /** + * 报警参数 + */ + private Integer code; + /** + * 报警描述 + */ + private String description; + /** + * 备注 + */ + private String comment; + /** + * 是否处理 + */ + private Integer isSolve; + /** + * 是否确认(10误报 20已证实,200已处理) + */ + private Integer isConfirm; + /** + * 最后报警时间 + */ + private String lastTime; + /** + * 报警次数 + */ + private Integer totalCount; +} diff --git a/src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqModifyAlarmHistory.java b/src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqModifyAlarmHistory.java new file mode 100644 index 0000000..c2e881b --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/alarmhistory/ReqModifyAlarmHistory.java @@ -0,0 +1,73 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.alarmhistory; + +import lombok.Data; + +/** + * 报警信息 + * @author lin.liu + */ +@Data +public class ReqModifyAlarmHistory { + /** + * 主键id + */ + private Long id; + /** + * 设备id + */ + private Long facilityId; + /** + * 设备名称 + */ + private String facilityName; + /** + * 报警参数 + */ + private Integer code; + /** + * 报警描述 + */ + private String description; + /** + * 备注 + */ + private String comment; + /** + * 是否处理 + */ + private Integer isSolve; + /** + * 是否确认(10误报 20已证实,200已处理) + */ + private Integer isConfirm; + /** + * 最后报警时间 + */ + private String lastTime; + /** + * 报警次数 + */ + private Integer totalCount; +} diff --git a/src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqCreateAlarmScheme.java b/src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqCreateAlarmScheme.java new file mode 100644 index 0000000..2deddc2 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqCreateAlarmScheme.java @@ -0,0 +1,59 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.alarmscheme; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 报警方案设置 + * @author lin.liu + */ +@Data +public class ReqCreateAlarmScheme { + /** + * 设备id + */ + private Long facilityId; + /** + * 设备参数 + */ + private String columnsCode; + /** + * 方案名称 + */ + private String schemeName; + /** + * 低报警值 + */ + private BigDecimal lowAlarm; + /** + * 高报警值 + */ + private BigDecimal tallAlarm; + /** + * 备注 + */ + private String remark; +} diff --git a/src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqModifyAlarmScheme.java b/src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqModifyAlarmScheme.java new file mode 100644 index 0000000..6f895e8 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/alarmscheme/ReqModifyAlarmScheme.java @@ -0,0 +1,63 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.alarmscheme; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 报警方案设置 + * @author lin.liu + */ +@Data +public class ReqModifyAlarmScheme { + /** + * 主键id + */ + private Long id; + /** + * 设备id + */ + private Long facilityId; + /** + * 设备参数 + */ + private String columnsCode; + /** + * 方案名称 + */ + private String schemeName; + /** + * 低报警值 + */ + private BigDecimal lowAlarm; + /** + * 高报警值 + */ + private BigDecimal tallAlarm; + /** + * 备注 + */ + private String remark; +} diff --git a/src/main/java/com/nanjing/water/entity/request/commonparameters/ReqCreateCommonParameters.java b/src/main/java/com/nanjing/water/entity/request/commonparameters/ReqCreateCommonParameters.java new file mode 100644 index 0000000..feb44ca --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/commonparameters/ReqCreateCommonParameters.java @@ -0,0 +1,75 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.commonparameters; + +/** + * 公共参数 + * @author lin.liu + */ + +public class ReqCreateCommonParameters { + /** + * 参数名称,与前端对接的名称 + */ + private String name; + /** + * 参数标识,与硬件对接的名称 + */ + private String mark; + /** + * 单位 + */ + private String unit; + /** + * 排序值 + */ + private Integer sort; + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getMark() { + return this.mark; + } + public void setMark(String mark) { + this.mark = mark; + } + + public String getUnit() { + return this.unit; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/commonparameters/ReqModifyCommonParameters.java b/src/main/java/com/nanjing/water/entity/request/commonparameters/ReqModifyCommonParameters.java new file mode 100644 index 0000000..9d8aaf8 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/commonparameters/ReqModifyCommonParameters.java @@ -0,0 +1,86 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.commonparameters; + +/** + * 公共参数 + * @author lin.liu + */ + +public class ReqModifyCommonParameters { + /** + * 参数管理id,主键自增 + */ + private Long id; + /** + * 参数名称,与前端对接的名称 + */ + private String name; + /** + * 参数标识,与硬件对接的名称 + */ + private String mark; + /** + * 单位 + */ + private String unit; + /** + * 排序值 + */ + private Integer sort; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getMark() { + return this.mark; + } + public void setMark(String mark) { + this.mark = mark; + } + + public String getUnit() { + return this.unit; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqCreateSysDictData.java b/src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqCreateSysDictData.java new file mode 100644 index 0000000..d6cd1c5 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqCreateSysDictData.java @@ -0,0 +1,75 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.sysdictdata; + +/** + * 字典数据表 + * @author lin.liu + */ + +public class ReqCreateSysDictData { + /** + * 字典标题 + */ + private String dictLabel; + /** + * 字典键值 + */ + private String dictValue; + /** + * 字典类型 + */ + private String dictType; + /** + * 备注 + */ + private String remark; + + public String getDictLabel() { + return this.dictLabel; + } + public void setDictLabel(String dictLabel) { + this.dictLabel = dictLabel; + } + + public String getDictValue() { + return this.dictValue; + } + public void setDictValue(String dictValue) { + this.dictValue = dictValue; + } + + public String getDictType() { + return this.dictType; + } + public void setDictType(String dictType) { + this.dictType = dictType; + } + + public String getRemark() { + return this.remark; + } + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqModifySysDictData.java b/src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqModifySysDictData.java new file mode 100644 index 0000000..633a9b9 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/sysdictdata/ReqModifySysDictData.java @@ -0,0 +1,97 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.sysdictdata; + +/** + * 字典数据表 + * @author lin.liu + */ + +public class ReqModifySysDictData { + /** + * 主键 + */ + private Long id; + /** + * 字典标题 + */ + private String dictLabel; + /** + * 字典键值 + */ + private String dictValue; + /** + * 字典类型 + */ + private String dictType; + /** + * 状态 + */ + private Integer status; + /** + * 备注 + */ + private String remark; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getDictLabel() { + return this.dictLabel; + } + public void setDictLabel(String dictLabel) { + this.dictLabel = dictLabel; + } + + public String getDictValue() { + return this.dictValue; + } + public void setDictValue(String dictValue) { + this.dictValue = dictValue; + } + + public String getDictType() { + return this.dictType; + } + public void setDictType(String dictType) { + this.dictType = dictType; + } + + public Integer getStatus() { + return this.status; + } + public void setStatus(Integer status) { + this.status = status; + } + + public String getRemark() { + return this.remark; + } + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqCreateSysDictType.java b/src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqCreateSysDictType.java new file mode 100644 index 0000000..9a0377f --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqCreateSysDictType.java @@ -0,0 +1,64 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.sysdicttype; + +/** + * 字典类型表 + * @author lin.liu + */ + +public class ReqCreateSysDictType { + /** + * 字典名称 + */ + private String dictName; + /** + * 字典类型 + */ + private String dictType; + /** + * 备注 + */ + private String remark; + + public String getDictName() { + return this.dictName; + } + public void setDictName(String dictName) { + this.dictName = dictName; + } + + public String getDictType() { + return this.dictType; + } + public void setDictType(String dictType) { + this.dictType = dictType; + } + + public String getRemark() { + return this.remark; + } + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqModifySysDictType.java b/src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqModifySysDictType.java new file mode 100644 index 0000000..81e0b9a --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/sysdicttype/ReqModifySysDictType.java @@ -0,0 +1,86 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.sysdicttype; + +/** + * 字典类型表 + * @author lin.liu + */ + +public class ReqModifySysDictType { + /** + * 主键 + */ + private Long id; + /** + * 字典名称 + */ + private String dictName; + /** + * 字典类型 + */ + private String dictType; + /** + * 状态 + */ + private Integer status; + /** + * 备注 + */ + private String remark; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getDictName() { + return this.dictName; + } + public void setDictName(String dictName) { + this.dictName = dictName; + } + + public String getDictType() { + return this.dictType; + } + public void setDictType(String dictType) { + this.dictType = dictType; + } + + public Integer getStatus() { + return this.status; + } + public void setStatus(Integer status) { + this.status = status; + } + + public String getRemark() { + return this.remark; + } + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/sysregion/ReqCreateSysRegion.java b/src/main/java/com/nanjing/water/entity/request/sysregion/ReqCreateSysRegion.java new file mode 100644 index 0000000..95b31f7 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/sysregion/ReqCreateSysRegion.java @@ -0,0 +1,175 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.sysregion; +import java.math.BigDecimal; + +/** + * 系统行政地区 + * @author lin.liu + */ + +public class ReqCreateSysRegion { + /** + * 行政代码 + */ + private String code; + /** + * 上级行政代码 + */ + private String parentCode; + /** + * 名称 + */ + private String name; + /** + * 简称 + */ + private String shortName; + /** + * 邮政编码 + */ + private String zipCode; + /** + * 区号 + */ + private String cityCode; + /** + * 层级 + */ + private Integer level; + /** + * 拼音 + */ + private String pinYin; + /** + * 拼音简写 + */ + private String pinYinShort; + /** + * 经度 + */ + private BigDecimal lng; + /** + * 维度 + */ + private BigDecimal lat; + /** + * 排序 + */ + private Integer sort; + /** + * 备注 + */ + private String remark; + + public String getCode() { + return this.code; + } + public void setCode(String code) { + this.code = code; + } + + public String getParentCode() { + return this.parentCode; + } + public void setParentCode(String parentCode) { + this.parentCode = parentCode; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getShortName() { + return this.shortName; + } + public void setShortName(String shortName) { + this.shortName = shortName; + } + + public String getZipCode() { + return this.zipCode; + } + public void setZipCode(String zipCode) { + this.zipCode = zipCode; + } + + public String getCityCode() { + return this.cityCode; + } + public void setCityCode(String cityCode) { + this.cityCode = cityCode; + } + + public Integer getLevel() { + return this.level; + } + public void setLevel(Integer level) { + this.level = level; + } + + public String getPinYin() { + return this.pinYin; + } + public void setPinYin(String pinYin) { + this.pinYin = pinYin; + } + + public String getPinYinShort() { + return this.pinYinShort; + } + public void setPinYinShort(String pinYinShort) { + this.pinYinShort = pinYinShort; + } + + public BigDecimal getLng() { + return this.lng; + } + public void setLng(BigDecimal lng) { + this.lng = lng; + } + + public BigDecimal getLat() { + return this.lat; + } + public void setLat(BigDecimal lat) { + this.lat = lat; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } + + public String getRemark() { + return this.remark; + } + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/sysregion/ReqModifySysRegion.java b/src/main/java/com/nanjing/water/entity/request/sysregion/ReqModifySysRegion.java new file mode 100644 index 0000000..216d23a --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/sysregion/ReqModifySysRegion.java @@ -0,0 +1,186 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.sysregion; +import java.math.BigDecimal; + +/** + * 系统行政地区 + * @author lin.liu + */ + +public class ReqModifySysRegion { + /** + * 主键 + */ + private Long id; + /** + * 行政代码 + */ + private String code; + /** + * 上级行政代码 + */ + private String parentCode; + /** + * 名称 + */ + private String name; + /** + * 简称 + */ + private String shortName; + /** + * 邮政编码 + */ + private String zipCode; + /** + * 区号 + */ + private String cityCode; + /** + * 层级 + */ + private Integer level; + /** + * 拼音 + */ + private String pinYin; + /** + * 拼音简写 + */ + private String pinYinShort; + /** + * 经度 + */ + private BigDecimal lng; + /** + * 维度 + */ + private BigDecimal lat; + /** + * 排序 + */ + private Integer sort; + /** + * 备注 + */ + private String remark; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return this.code; + } + public void setCode(String code) { + this.code = code; + } + + public String getParentCode() { + return this.parentCode; + } + public void setParentCode(String parentCode) { + this.parentCode = parentCode; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } + + public String getShortName() { + return this.shortName; + } + public void setShortName(String shortName) { + this.shortName = shortName; + } + + public String getZipCode() { + return this.zipCode; + } + public void setZipCode(String zipCode) { + this.zipCode = zipCode; + } + + public String getCityCode() { + return this.cityCode; + } + public void setCityCode(String cityCode) { + this.cityCode = cityCode; + } + + public Integer getLevel() { + return this.level; + } + public void setLevel(Integer level) { + this.level = level; + } + + public String getPinYin() { + return this.pinYin; + } + public void setPinYin(String pinYin) { + this.pinYin = pinYin; + } + + public String getPinYinShort() { + return this.pinYinShort; + } + public void setPinYinShort(String pinYinShort) { + this.pinYinShort = pinYinShort; + } + + public BigDecimal getLng() { + return this.lng; + } + public void setLng(BigDecimal lng) { + this.lng = lng; + } + + public BigDecimal getLat() { + return this.lat; + } + public void setLat(BigDecimal lat) { + this.lat = lat; + } + + public Integer getSort() { + return this.sort; + } + public void setSort(Integer sort) { + this.sort = sort; + } + + public String getRemark() { + return this.remark; + } + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqCreateWaterFacility.java b/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqCreateWaterFacility.java new file mode 100644 index 0000000..f637b3b --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqCreateWaterFacility.java @@ -0,0 +1,84 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.waterfacility; + +import lombok.Data; + +/** + * 设备信息 + * @author lin.liu + */ +@Data +public class ReqCreateWaterFacility { + /** + * 设备名称 + */ + private String facilityName; + /** + * 设备编号 + */ + private String facilityCode; + /** + * 设备类型 + */ + private Long facilityType; + /** + * 监控点id + */ + private Long pointId; + /** + * 安装日期 + */ + private String installDate; + /** + * 是否在线 + */ + private Integer isOnline; + /** + * 安装地址 + */ + private String address; + /** + * 备注 + */ + private String remark; + /** + * 设备图片 + */ + private String facilityUrl; + /** + * 最新数据上报时间间隔(单位分钟) + */ + + private Integer newIntervalTime; + /** + * 历史数据上报时间间隔(单位分钟) + */ + + private Integer historyIntervalTime; + /** + * 水位采集时间间隔(单位分钟) + */ + + private Integer gatherIntervalTime; +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqEditWaterFacility.java b/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqEditWaterFacility.java new file mode 100644 index 0000000..12adeb7 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqEditWaterFacility.java @@ -0,0 +1,45 @@ +package com.nanjing.water.entity.request.waterfacility; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ReqEditWaterFacility { + /** + * 设备id + */ + private Long id; + /** + * 最新数据上报时间间隔(单位分钟) + */ + private Integer newIntervalTime; + /** + * 历史数据上报时间间隔(单位分钟) + */ + private Integer historyIntervalTime; + /** + * 水位采集时间间隔(单位分钟) + */ + private Integer gatherIntervalTime; + /** + * 量程设置 + */ + private BigDecimal range; + /** + * 高程设置 + */ + private BigDecimal elevation; + /** + * 投放角度 + */ + private BigDecimal putAngle; + /** + * 低水位下限 + */ + private BigDecimal lowWaterLevel; + /** + * 温度下限设置 + */ + private BigDecimal lowTemperature; +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqModifyWaterFacility.java b/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqModifyWaterFacility.java new file mode 100644 index 0000000..92accef --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacility/ReqModifyWaterFacility.java @@ -0,0 +1,85 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.waterfacility; + +import lombok.Data; + +/** + * 设备信息 + * @author lin.liu + */ +@Data +public class ReqModifyWaterFacility { + /** + * null + */ + private Long id; + /** + * 设备名称 + */ + private String facilityName; + /** + * 设备编号 + */ + private String facilityCode; + /** + * 设备类型 + */ + private Long facilityType; + /** + * 监控点id + */ + private Long pointId; + /** + * 安装日期 + */ + private String installationDate; + /** + * 是否在线 + */ + private Integer isOnline; + /** + * 地址 + */ + private String address; + /** + * 备注 + */ + private String remark; + /** + * 设备图片 + */ + private String facilityUrl; + /** + * 最新数据上报时间间隔(单位分钟) + */ + private Integer newIntervalTime; + /** + * 历史数据上报时间间隔(单位分钟) + */ + private Integer historyIntervalTime; + /** + * 水位采集时间间隔(单位分钟) + */ + private Integer gatherIntervalTime; +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqAddParameter.java b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqAddParameter.java new file mode 100644 index 0000000..a8e70de --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqAddParameter.java @@ -0,0 +1,18 @@ +package com.nanjing.water.entity.request.waterfacilityparameter; + +import lombok.Data; + +import java.util.List; + +@Data +public class ReqAddParameter { + /** + * 设备id + */ + private Long facilityId; + /** + * 参数列表 + */ + private List<ReqCreateWaterFacilityParameter> parameterList; + +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqCreateWaterFacilityParameter.java b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqCreateWaterFacilityParameter.java new file mode 100644 index 0000000..192938c --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqCreateWaterFacilityParameter.java @@ -0,0 +1,53 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.waterfacilityparameter; + +import lombok.Data; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Data +public class ReqCreateWaterFacilityParameter { + /** + * 设备id + */ + private Long facilityId; + /** + * 设备code + */ + private String facilityCode; + /** + * 参数编码 + */ + private String columnsCode; + /** + * 参数名称 + */ + private String columnsShow; + /** + * 锟斤拷位 + */ + private String columnsUnits; +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqModifyWaterFacilityParameter.java b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqModifyWaterFacilityParameter.java new file mode 100644 index 0000000..b6fb539 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqModifyWaterFacilityParameter.java @@ -0,0 +1,59 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.waterfacilityparameter; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Data +public class ReqModifyWaterFacilityParameter { + /** + * 主键id + */ + private Long id; + /** + * 设备id + */ + private Long facilityId; + /** + * 参数编码 + */ + private String columnsCode; + /** + * 参数名称 + */ + private BigDecimal columnsShow; + /** + * 锟斤拷位 + */ + private String columnsUnits; + /** + * 设备code + */ + private String facilityCode; +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqPointAndParameter.java b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqPointAndParameter.java new file mode 100644 index 0000000..e5fb9eb --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacilityparameter/ReqPointAndParameter.java @@ -0,0 +1,17 @@ +package com.nanjing.water.entity.request.waterfacilityparameter; + +import lombok.Data; + +import java.util.List; + +@Data +public class ReqPointAndParameter { + /** + * 监控点id + */ + private Long pointId; + /** + * 参数列表 + */ + private List<String> columnsCode; +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqCreateWaterFacilityType.java b/src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqCreateWaterFacilityType.java new file mode 100644 index 0000000..0b9e8ed --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqCreateWaterFacilityType.java @@ -0,0 +1,53 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.waterfacilitytype; + +/** + * 设备类型 + * @author lin.liu + */ + +public class ReqCreateWaterFacilityType { + /** + * 编码 + */ + private String code; + /** + * 名称 + */ + private String name; + + public String getCode() { + return this.code; + } + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqModifyWaterFacilityType.java b/src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqModifyWaterFacilityType.java new file mode 100644 index 0000000..3720595 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/waterfacilitytype/ReqModifyWaterFacilityType.java @@ -0,0 +1,64 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.waterfacilitytype; + +/** + * 设备类型 + * @author lin.liu + */ + +public class ReqModifyWaterFacilityType { + /** + * 主键 + */ + private Long id; + /** + * 编码 + */ + private String code; + /** + * 名称 + */ + private String name; + + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return this.code; + } + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return this.name; + } + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java b/src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java new file mode 100644 index 0000000..6eb18fa --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqCreateWaterMonitoryPoint.java @@ -0,0 +1,64 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.watermonitorypoint; + +import lombok.Data; + +/** + * 监控点 + * @author lin.liu + */ +@Data +public class ReqCreateWaterMonitoryPoint { + /** + * 监控点类型 + */ + private Integer pointType; + /** + * 父级id + */ + private Long parentId; + /** + * 监控点编号 + * @required + */ + private String pointCode; + /** + * 监控点名称 + * @required + */ + private String pointName; + /** + * 详细地址 + */ + private String address; + /** + * 监控点图片 + */ + private String imageUrl; + /** + * 备注 + */ + private String remark; + +} diff --git a/src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java b/src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java new file mode 100644 index 0000000..b2ecf21 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/request/watermonitorypoint/ReqModifyWaterMonitoryPoint.java @@ -0,0 +1,68 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.entity.request.watermonitorypoint; + +import lombok.Data; + +/** + * 监控点 + * @author lin.liu + */ +@Data +public class ReqModifyWaterMonitoryPoint { + /** + * 主键id + */ + private Long id; + /** + * 监控点类型 + */ + private Integer pointType; + /** + * 父级id + */ + private Long parentId; + /** + * 监控点编号 + * @required + */ + private String pointCode; + /** + * 监控点名称 + * @required + */ + private String pointName; + /** + * 监控点图片 + */ + private String imageUrl; + /** + * 详细地址 + */ + private String address; + /** + * 备注 + */ + private String remark; + +} diff --git a/src/main/java/com/nanjing/water/entity/response/admin/ResAdminLogin.java b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminLogin.java new file mode 100644 index 0000000..8afdb5a --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminLogin.java @@ -0,0 +1,35 @@ +package com.nanjing.water.entity.response.admin; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResAdminLogin { + /** + * 管理员id + */ + private Long id; + /** + * 用户类型 EUserType + */ + private Integer userType; + + /** + * 管理员名称 + */ + private String name; + + /** + * 请求令牌 + */ + private String token; + /** + * 菜单列表 + */ + private List<ResAdminMenuTree> menus; + /** + * 权限列表 + */ + private List<String> listPermission; +} diff --git a/src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTree.java b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTree.java new file mode 100644 index 0000000..f81f776 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTree.java @@ -0,0 +1,50 @@ +package com.nanjing.water.entity.response.admin; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResAdminMenuTree { + /** + * 菜单id + */ + private Long id; + /** + * 类型 EMenuType + * @required + */ + private Integer type; + /** + * 父级ID + */ + private Long parentId; + /** + * 菜单名称 + */ + private String name; + /** + * 菜单标题 + */ + private String title; + /** + * 前端资源路径 + */ + private String url; + /** + * 菜单层级 + */ + private Integer level; + /** + * 排序 越大越靠前 + */ + private Integer sort; + /** + * 图标 + */ + private String icon; + /** + * 子级菜单列表 + */ + private List<ResAdminMenuTreeAndPermission> children; +} diff --git a/src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTreeAndPermission.java b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTreeAndPermission.java new file mode 100644 index 0000000..55c4265 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminMenuTreeAndPermission.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.response.admin; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResAdminMenuTreeAndPermission extends ResAdminMenuTree { + /** + * 权限列表 + */ + private List<ResAdminPermission> permissions; +} diff --git a/src/main/java/com/nanjing/water/entity/response/admin/ResAdminPermission.java b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminPermission.java new file mode 100644 index 0000000..b5c01e1 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminPermission.java @@ -0,0 +1,28 @@ +package com.nanjing.water.entity.response.admin; + +import lombok.Data; + +@Data +public class ResAdminPermission { + /** + * 权限id + */ + private Long id; + /** + * 权限值 + */ + private String sn; + /** + * 菜单id + */ + private Long menuId; + + /** + * 名称 + */ + private String name; + /** + * 状态 EState + */ + private Integer status; +} diff --git a/src/main/java/com/nanjing/water/entity/response/admin/ResAdminPower.java b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminPower.java new file mode 100644 index 0000000..99042ec --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/admin/ResAdminPower.java @@ -0,0 +1,18 @@ +package com.nanjing.water.entity.response.admin; + +import com.nanjing.water.repository.vo.AdminMenuVO; +import lombok.Data; + +import java.util.List; + +@Data +public class ResAdminPower { + /** + * 菜单列表 + */ + private List<AdminMenuVO> menus; + /** + * 权限列表 + */ + private List<ResAdminPermission> permissions; +} diff --git a/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointData.java b/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointData.java new file mode 100644 index 0000000..090f5b3 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointData.java @@ -0,0 +1,12 @@ +package com.nanjing.water.entity.response.point; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResMonitoryPointData { + private String pointCode; + private String pointName; + private List<ResMonitoryPointDataFacility> data; +} diff --git a/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacility.java b/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacility.java new file mode 100644 index 0000000..926d364 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacility.java @@ -0,0 +1,12 @@ +package com.nanjing.water.entity.response.point; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResMonitoryPointDataFacility { + private String facilityCode; + private String facilityName; + private List<ResMonitoryPointDataFacilityParameter> data; +} diff --git a/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacilityParameter.java b/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacilityParameter.java new file mode 100644 index 0000000..43b3664 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/point/ResMonitoryPointDataFacilityParameter.java @@ -0,0 +1,12 @@ +package com.nanjing.water.entity.response.point; + +import lombok.Data; + +@Data +public class ResMonitoryPointDataFacilityParameter { + private String mark; + private String name; + private String value; + private String unit; + private String lastTime; +} diff --git a/src/main/java/com/nanjing/water/entity/response/region/ResBasicRegionTree.java b/src/main/java/com/nanjing/water/entity/response/region/ResBasicRegionTree.java new file mode 100644 index 0000000..584199b --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/region/ResBasicRegionTree.java @@ -0,0 +1,127 @@ +package com.nanjing.water.entity.response.region; + +import java.util.List; + +public class ResBasicRegionTree { + /** + * 主键id + */ + private Long id; + + /** + * 区域编码 + */ + private String code; + /** + * 父级编码 + */ + private String parentCode; + /** + * 名称 + */ + private String name; + /** + * 简称 + */ + private String shortName; + /** + * 层级 + */ + private Integer level; + /** + * 拼音 + */ + private String pinYin; + /** + * 拼音简写 + */ + private String pinYinShort; + /** + * 父级ID + */ + private String parentId; + /** + * 子级列表 + */ + private List<ResBasicRegionTree> children; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getParentCode() { + return parentCode; + } + + public void setParentCode(String parentCode) { + this.parentCode = parentCode; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getShortName() { + return shortName; + } + + public void setShortName(String shortName) { + this.shortName = shortName; + } + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public String getPinYin() { + return pinYin; + } + + public void setPinYin(String pinYin) { + this.pinYin = pinYin; + } + + public String getPinYinShort() { + return pinYinShort; + } + + public void setPinYinShort(String pinYinShort) { + this.pinYinShort = pinYinShort; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public List<ResBasicRegionTree> getChildren() { + return children; + } + + public void setChildren(List<ResBasicRegionTree> children) { + this.children = children; + } +} diff --git a/src/main/java/com/nanjing/water/entity/response/region/ResRegionTree.java b/src/main/java/com/nanjing/water/entity/response/region/ResRegionTree.java new file mode 100644 index 0000000..20816a2 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/region/ResRegionTree.java @@ -0,0 +1,45 @@ +package com.nanjing.water.entity.response.region; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResRegionTree { + /** + * id + */ + private Long id; + /** + * 编码 + */ + private String code; + /** + * 名称 + */ + private String name; + /** + * 简称 + */ + private String shortName; + /** + * 层级 + */ + private Integer level; + /** + * 拼音 + */ + private String pinYin; + /** + * 拼音简写 + */ + private String pinYinShort; + /** + * 父级编码 + */ + private String parentCode; + /** + * 子级列表 + */ + private List<ResRegionTree> children; +} diff --git a/src/main/java/com/nanjing/water/entity/response/statistics/ResGetTodayStatistics.java b/src/main/java/com/nanjing/water/entity/response/statistics/ResGetTodayStatistics.java new file mode 100644 index 0000000..5112cc3 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/statistics/ResGetTodayStatistics.java @@ -0,0 +1,18 @@ +package com.nanjing.water.entity.response.statistics; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResGetTodayStatistics { + /** + * 统计时间点列表 + */ + private List<String> listTime; + + /** + * 统计数据 + */ + private List<ResStatisticsItem> list; +} diff --git a/src/main/java/com/nanjing/water/entity/response/statistics/ResStatistics4DateAndType.java b/src/main/java/com/nanjing/water/entity/response/statistics/ResStatistics4DateAndType.java new file mode 100644 index 0000000..44fd1d9 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/statistics/ResStatistics4DateAndType.java @@ -0,0 +1,18 @@ +package com.nanjing.water.entity.response.statistics; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResStatistics4DateAndType { + /** + * 统计日期列表 + */ + private List<String> listDate; + + /** + * 统计数据 + */ + private List<ResStatisticsItem> list; +} diff --git a/src/main/java/com/nanjing/water/entity/response/statistics/ResStatisticsItem.java b/src/main/java/com/nanjing/water/entity/response/statistics/ResStatisticsItem.java new file mode 100644 index 0000000..1e79066 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/response/statistics/ResStatisticsItem.java @@ -0,0 +1,29 @@ +package com.nanjing.water.entity.response.statistics; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResStatisticsItem { + /** + * 参数标识 + */ + private String mark; + /** + * 参数名称 + */ + private String markName; + /** + * 最大值列表 + */ + private List<String> maxValList; + /** + * 最小值列表 + */ + private List<String> minValList; + /** + * 平均值列表 + */ + private List<String> aveValList; +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminMenu.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminMenu.java new file mode 100644 index 0000000..910400a --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminMenu.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 后台菜单 + * @author lin.liu + */ +@Data +public class SearchAdminMenu extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminMenus.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminMenus.java new file mode 100644 index 0000000..e36519c --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminMenus.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 菜单信息 + * @author lin.liu + */ +@Data +public class SearchAdminMenus extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminPermission.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminPermission.java new file mode 100644 index 0000000..dc950b9 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminPermission.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 后台用户权限表 + * @author lin.liu + */ +@Data +public class SearchAdminPermission extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminRole.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminRole.java new file mode 100644 index 0000000..eb49cb3 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminRole.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 后台用户角色表 + * @author lin.liu + */ +@Data +public class SearchAdminRole extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminRoleMenuRelation.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminRoleMenuRelation.java new file mode 100644 index 0000000..a4ddbaf --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminRoleMenuRelation.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 后台角色菜单关系表 + * @author lin.liu + */ +@Data +public class SearchAdminRoleMenuRelation extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminRolePermissionRelation.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminRolePermissionRelation.java new file mode 100644 index 0000000..e7426c3 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminRolePermissionRelation.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 后台角色权限关系表 + * @author lin.liu + */ +@Data +public class SearchAdminRolePermissionRelation extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminRoleRelation.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminRoleRelation.java new file mode 100644 index 0000000..4b4d845 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminRoleRelation.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 后台用户和角色关系表 + * @author lin.liu + */ +@Data +public class SearchAdminRoleRelation extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAdminUser.java b/src/main/java/com/nanjing/water/entity/search/SearchAdminUser.java new file mode 100644 index 0000000..49b16da --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAdminUser.java @@ -0,0 +1,26 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 管理员帐号 + * @author lin.liu + */ +@Data +public class SearchAdminUser extends SearchBasicDTO { + @Override + public String toString() { + return "SearchAdminUser{" + "'" + + "keywords='" + getKeywords() + + ", listId =" + getListId() + + ", status =" + getStatus() + + ", listStatus =" + getListStatus() + + ", createTimeRange='" + getCreateTimeRange() + "'" + + ", createTimeStart =" + getCreateTimeEnd() + + ", createTimeEnd =" + getCreateTimeEnd() + + ", lastId =" + getListId() + + ", orderBy='" + getOrderBy() + "'" + + '}'; + } +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAlarmHistory.java b/src/main/java/com/nanjing/water/entity/search/SearchAlarmHistory.java new file mode 100644 index 0000000..89779da --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAlarmHistory.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 报警信息 + * @author lin.liu + */ +@Data +public class SearchAlarmHistory extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchAlarmScheme.java b/src/main/java/com/nanjing/water/entity/search/SearchAlarmScheme.java new file mode 100644 index 0000000..0dd5769 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchAlarmScheme.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 报警方案设置 + * @author lin.liu + */ +@Data +public class SearchAlarmScheme extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchCommonParameters.java b/src/main/java/com/nanjing/water/entity/search/SearchCommonParameters.java new file mode 100644 index 0000000..29a0a12 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchCommonParameters.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 公共参数 + * @author lin.liu + */ +@Data +public class SearchCommonParameters extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchSysDictData.java b/src/main/java/com/nanjing/water/entity/search/SearchSysDictData.java new file mode 100644 index 0000000..cf16fea --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchSysDictData.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 字典数据表 + * @author lin.liu + */ +@Data +public class SearchSysDictData extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchSysDictType.java b/src/main/java/com/nanjing/water/entity/search/SearchSysDictType.java new file mode 100644 index 0000000..a5d503c --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchSysDictType.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 字典类型表 + * @author lin.liu + */ +@Data +public class SearchSysDictType extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchSysRegion.java b/src/main/java/com/nanjing/water/entity/search/SearchSysRegion.java new file mode 100644 index 0000000..33f0ae2 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchSysRegion.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 系统行政地区 + * @author lin.liu + */ +@Data +public class SearchSysRegion extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchWaterFacility.java b/src/main/java/com/nanjing/water/entity/search/SearchWaterFacility.java new file mode 100644 index 0000000..351a540 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchWaterFacility.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 设备信息 + * @author lin.liu + */ +@Data +public class SearchWaterFacility extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityParameter.java b/src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityParameter.java new file mode 100644 index 0000000..fbd9216 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityParameter.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Data +public class SearchWaterFacilityParameter extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityType.java b/src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityType.java new file mode 100644 index 0000000..25741ba --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchWaterFacilityType.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 设备类型 + * @author lin.liu + */ +@Data +public class SearchWaterFacilityType extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/entity/search/SearchWaterMonitoryPoint.java b/src/main/java/com/nanjing/water/entity/search/SearchWaterMonitoryPoint.java new file mode 100644 index 0000000..ac55fe5 --- /dev/null +++ b/src/main/java/com/nanjing/water/entity/search/SearchWaterMonitoryPoint.java @@ -0,0 +1,13 @@ +package com.nanjing.water.entity.search; + +import com.nanjing.water.entity.dto.SearchBasicDTO; +import lombok.Data; + +/** + * 监控点 + * @author lin.liu + */ +@Data +public class SearchWaterMonitoryPoint extends SearchBasicDTO { + +} diff --git a/src/main/java/com/nanjing/water/host/controller/WaterFacilityController.java b/src/main/java/com/nanjing/water/host/controller/WaterFacilityController.java new file mode 100644 index 0000000..3534961 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/WaterFacilityController.java @@ -0,0 +1,163 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.IPUtils; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.waterfacility.ReqCreateWaterFacility; +import com.nanjing.water.entity.request.waterfacility.ReqModifyWaterFacility; + +import com.nanjing.water.entity.response.point.ResMonitoryPointDataFacility; +import com.nanjing.water.entity.search.SearchWaterFacility; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.repository.vo.WaterFacilityVO; +import com.nanjing.water.service.WaterFacilityService; +import org.eclipse.paho.client.mqttv3.MqttException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 150.设备信息 + * @author lin.liu + * @order 150 + */ +@RestController +@RequestMapping(value = "waterFacility") +public class WaterFacilityController extends BasicController { + @Autowired + private WaterFacilityService service; + + /** + * 创建[设备表] + * @author lin.liu + * @description 创建[设备表] + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateWaterFacility request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("设备编号"), request.getFacilityCode()) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("设备编号"), request.getFacilityCode(), ConstantFactory.LENGTH_MAX50) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("设备名称"), request.getFacilityName()) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("设备名称"), request.getFacilityName(), ConstantFactory.LENGTH_MAX200) + // 大于0 + .addGreater(ParameterUtil.named("设备类型"), request.getFacilityType(), 0L) + + // 限制最大长度 + .addLengthMax(ParameterUtil.named("备注"), request.getRemark(), ConstantFactory.LENGTH_MAX1000) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("设备图片"), request.getFacilityUrl(), ConstantFactory.LENGTH_MAX200) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request); + } + + /** + * 编辑[设备表] + * @author lin.liu + * @description 编辑[设备表] + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyWaterFacility request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("设备id"), request.getId(), 0L) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("设备编号"), request.getFacilityCode()) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("设备编号"), request.getFacilityCode(), ConstantFactory.LENGTH_MAX50) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("设备名称"), request.getFacilityName()) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("设备名称"), request.getFacilityName(), ConstantFactory.LENGTH_MAX200) + // 大于0 + .addGreater(ParameterUtil.named("设备类型"), request.getFacilityType(), 0L) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("备注"), request.getRemark(), ConstantFactory.LENGTH_MAX1000) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("设备图片"), request.getFacilityUrl(), ConstantFactory.LENGTH_MAX200) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request); + } + + /** + * 获取[设备表] + * @author lin.liu + * @description 获取[设备表] + */ + @GetMapping(value = "get") + public ExecutedResult<WaterFacilityVO> get(@RequestParam Long id) { + return this.service.get(id); + } + + /** + * 查询[设备表] + * @author lin.liu + * @description 查询[设备表] + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<WaterFacilityVO>> search(@RequestBody SearchWaterFacility request) { + return this.service.search(request); + } + +// /** +// * 设备开关阀 +// * @author lin.liu +// * @description 设备开阀 +// */ +// @PostMapping(value = "openOrClose") +// public ExecutedResult<String> open(@RequestBody ReqOpenAdnClose po, HttpServletRequest request) throws MqttException { +// return this.service.openOrClose(po,this.getTokenUser(), IPUtils.getIpAddress(request)); +// } + + /** + * 获取指定监控点最新数据 + * @author lin.liu + */ + @GetMapping(value = "listData/{pointId}") + public ExecutedResult<List<ResMonitoryPointDataFacility>> listData(@PathVariable Long pointId) { + return this.service.listData(pointId); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/WaterFacilityParameterController.java b/src/main/java/com/nanjing/water/host/controller/WaterFacilityParameterController.java new file mode 100644 index 0000000..9323370 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/WaterFacilityParameterController.java @@ -0,0 +1,129 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.waterfacilityparameter.ReqAddParameter; +import com.nanjing.water.entity.request.waterfacilityparameter.ReqModifyWaterFacilityParameter; +import com.nanjing.water.entity.search.SearchWaterFacilityParameter; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import com.nanjing.water.repository.vo.WaterFacilityParameterVO; +import com.nanjing.water.service.WaterFacilityParameterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 151.设备设定参数 + * @author lin.liu + * @order 151 + */ +@RestController +@RequestMapping(value = "waterFacilityParameter") +public class WaterFacilityParameterController extends BasicController { + @Autowired + private WaterFacilityParameterService service; + + /** + * 创建[设备设定参数] + * @author lin.liu + * @description 创建[设备设定参数] + */ + @PostMapping(value = "create") + public ExecutedResult<String> create(@RequestBody ReqAddParameter request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("设备id"), request.getFacilityId()) + .addNotNullOrEmpty(ParameterUtil.named("参数列表"), request.getParameterList()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request); + } + + /** + * 编辑[设备设定参数] + * @author lin.liu + * @description 编辑[设备设定参数] + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyWaterFacilityParameter request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("[设备设定参数]id"), request.getId(), 0L) + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request); + } + + /** + * 获取[设备设定参数] + * @author lin.liu + * @description 获取[设备设定参数] + */ + @GetMapping(value = "get") + public ExecutedResult<WaterFacilityParameterVO> get(@RequestParam Long id) { + return this.service.get(id); + } + + /** + * 根据设备id获取设备绑定参数列表 + * @author lin.liu + * @description 根据设备id获取设备绑定参数列表 + */ + @GetMapping(value = "getListByFacilityId") + public ExecutedResult<List<WaterFacilityParameterPO>> getListByFacilityId(@RequestParam Long facilityId) { + return this.service.getListByFacilityId(facilityId); + } + + /** + * 查询[设备设定参数] + * @author lin.liu + * @description 查询[设备设定参数] + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<WaterFacilityParameterVO>> search(@RequestBody SearchWaterFacilityParameter request) { + return this.service.search(request); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/WaterFacilityTypeController.java b/src/main/java/com/nanjing/water/host/controller/WaterFacilityTypeController.java new file mode 100644 index 0000000..542a9f3 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/WaterFacilityTypeController.java @@ -0,0 +1,125 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.waterfacilitytype.ReqCreateWaterFacilityType; +import com.nanjing.water.entity.request.waterfacilitytype.ReqModifyWaterFacilityType; +import com.nanjing.water.entity.search.SearchWaterFacilityType; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.repository.vo.WaterFacilityTypeVO; +import com.nanjing.water.service.WaterFacilityTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 130.设备类型 + * @author lin.liu + * @order 130 + */ +@RestController +@RequestMapping(value = "waterFacilityType") +public class WaterFacilityTypeController extends BasicController { + @Autowired + private WaterFacilityTypeService service; + + /** + * 创建[设备类型表] + * @author lin.liu + * @description 创建[设备类型表] + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateWaterFacilityType request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request); + } + + /** + * 编辑[设备类型表] + * @author lin.liu + * @description 编辑[设备类型表] + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyWaterFacilityType request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("[设备类型表]id"), request.getId(), 0L) + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request); + } + /** + * 删除设备类型表 + * + * @param id 删除设备类型表 + * @author li。ling。yu + * @date 2023/07/17 + */ + @PostMapping(value = "remove") + public ExecutedResult<String> remove(@RequestParam Long id) { + return this.service.remove(id); + } + /** + * 获取[设备类型表] + * @author lin.liu + * @description 获取[设备类型表] + */ + @GetMapping(value = "get") + public ExecutedResult<WaterFacilityTypeVO> get(@RequestParam Long id) { + return this.service.get(id); + } + + /** + * 查询[设备类型表] + * @author lin.liu + * @description 查询[设备类型表] + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<WaterFacilityTypeVO>> search(@RequestBody SearchWaterFacilityType request) { + return this.service.search(request); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/WaterMonitoryPointController.java b/src/main/java/com/nanjing/water/host/controller/WaterMonitoryPointController.java new file mode 100644 index 0000000..fcf6922 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/WaterMonitoryPointController.java @@ -0,0 +1,131 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.watermonitorypoint.ReqCreateWaterMonitoryPoint; +import com.nanjing.water.entity.request.watermonitorypoint.ReqModifyWaterMonitoryPoint; +import com.nanjing.water.entity.response.point.ResMonitoryPointData; +import com.nanjing.water.entity.search.SearchWaterMonitoryPoint; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.repository.vo.WaterMonitoryPointVO; +import com.nanjing.water.service.WaterMonitoryPointService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 140.监控点 + * @author lin.liu + * @order 140 + */ +@RestController +@RequestMapping(value = "waterMonitoryPoint") +public class WaterMonitoryPointController extends BasicController { + @Autowired + private WaterMonitoryPointService service; + + /** + * 创建[监控点] + * @author lin.liu + * @description 创建[监控点] + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateWaterMonitoryPoint request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("监控点名称"), request.getPointName()) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("监控点名称"), request.getPointName(), ConstantFactory.LENGTH_MAX200); + + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request); + } + + /** + * 编辑[监控点] + * @author lin.liu + * @description 编辑[监控点] + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyWaterMonitoryPoint request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("监控id"), request.getId(), 0L) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("监控点名称"), request.getPointName()) + // 限制最大长度 + .addLengthMax(ParameterUtil.named("监控点名称"), request.getPointName(), ConstantFactory.LENGTH_MAX200); + + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request); + } + /** + * 删除监控点 + * + * @param id 删除监控点 + * @author li。ling。yu + * @date 2023/07/17 + */ + @PostMapping(value = "remove") + public ExecutedResult<String> remove(@RequestParam Long id) { + return this.service.remove(id); + } + + /** + * 查询监控点 + * @author lin.liu + * @description 查询监控点 + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<WaterMonitoryPointVO>> search(@RequestBody SearchWaterMonitoryPoint request) { + return this.service.search(request); + } + + /** + * 所有监控点最新数据 + * @author lin.liu + */ + @GetMapping(value = "listData") + public ExecutedResult<List<ResMonitoryPointData>> listData() { + return this.service.listData(); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/admin/AdminMenuController.java b/src/main/java/com/nanjing/water/host/controller/admin/AdminMenuController.java new file mode 100644 index 0000000..4e8926c --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/admin/AdminMenuController.java @@ -0,0 +1,273 @@ +package com.nanjing.water.host.controller.admin; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.enums.EMenuType; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.request.ReqListId; +import com.nanjing.water.entity.request.ReqListSetSort; +import com.nanjing.water.entity.request.ReqSetSort; +import com.nanjing.water.entity.request.adminmenu.ReqCreateAdminMenu; +import com.nanjing.water.entity.request.adminmenu.ReqModifyAdminMenu; +import com.nanjing.water.entity.response.admin.ResAdminMenuTreeAndPermission; +import com.nanjing.water.entity.search.SearchAdminMenu; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.host.api.MustAdmin; +import com.nanjing.water.repository.vo.AdminMenuVO; +import com.nanjing.water.service.AdminPowerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 10.菜单相关接口 + * + * @author lin.liu + * @date 2023/02/17 + * @order 10 + */ +@RestController +@RequestMapping(value = "admin/menu") +public class AdminMenuController extends BasicController { + @Autowired + private AdminPowerService service; + + /** + * 创建菜单 + * + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateAdminMenu request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须是枚举值 + .addMustEnum(ParameterUtil.named("类型"), request.getType(), EMenuType.class) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("菜单名称"), request.getName()) + // 限制长度 + .addLengthMax(ParameterUtil.named("菜单名称"), request.getName(), ConstantFactory.LENGTH_MAX20) + // 限制长度 + .addLengthMax(ParameterUtil.named("菜单标题"), request.getTitle(), ConstantFactory.LENGTH_MAX100) + // 限制长度 + .addLengthMax(ParameterUtil.named("前端资源路径"), request.getUrl(), ConstantFactory.LENGTH_MAX200) + // 限制长度 + .addLengthMax(ParameterUtil.named("图标"), request.getIcon(), ConstantFactory.LENGTH_MAX200) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.createMenu(request); + } + + /** + * 编辑菜单 + * + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyAdminMenu request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须是枚举值 + .addMustEnum(ParameterUtil.named("类型"), request.getType(), EMenuType.class) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("菜单名称"), request.getName()) + // 限制长度 + .addLengthMax(ParameterUtil.named("菜单名称"), request.getName(), ConstantFactory.LENGTH_MAX20) + // 限制长度 + .addLengthMax(ParameterUtil.named("菜单标题"), request.getTitle(), ConstantFactory.LENGTH_MAX100) + // 限制长度 + .addLengthMax(ParameterUtil.named("前端资源路径"), request.getUrl(), ConstantFactory.LENGTH_MAX200) + // 限制长度 + .addLengthMax(ParameterUtil.named("图标"), request.getIcon(), ConstantFactory.LENGTH_MAX200) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.modifyMenu(request); + } + + /** + * 停用菜单 + * + * @param menuId 菜单id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "stop/{menuId}") + public ExecutedResult<String> stop(@PathVariable Long menuId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("菜单id"), menuId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.changeMenuStatus(menuId, EState.DISABLED); + } + + /** + * 启用菜单 + * + * @param menuId 菜单id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "enable/menuId") + public ExecutedResult<String> enable(@PathVariable Long menuId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("菜单id"), menuId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.changeMenuStatus(menuId, EState.NORMAL); + } + + /** + * [菜单]设置排序值 + * + * @author lin.liu + * @date 2021/11/23 + */ + @PostMapping(value = "setSort") + public ExecutedResult<String> setSort(@RequestBody ReqSetSort request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("菜单id"), request.getId(), 0L) + // 必须大于0 + .addGreaterThan(ParameterUtil.named("排序值"), request.getSort(), 0) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.setMenuSort(request); + } + + /** + * [菜单]批量设置排序值 + * + * @author lin.liu + * @date 2021/11/23 + */ + @PostMapping(value = "listSetSort") + ExecutedResult<String> listSetSort(ReqListSetSort request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 不能为空 + .addNotNullOrEmpty(ParameterUtil.named("菜单排序设置列表"), request.getList()) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.listSetMenuSort(request); + } + + /** + * 删除菜单 + * + * @param menuId 菜单id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "remove/{menuId}") + public ExecutedResult<String> remove(@PathVariable Long menuId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("菜单id"), menuId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.removeMenu(menuId); + } + + /** + * 批量删除[删除菜单] + * + * @author lin.liu + * @date 2021/11/23 + */ + @PostMapping(value = "removeList") + public ExecutedResult<String> removeList(@RequestBody ReqListId request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 不能为空 + .addNotNullOrEmpty(ParameterUtil.named("[测试信息]id列表"), request.getListId()) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.removeMenuList(request.getListId()); + } + + /** + * 获取所有层级菜单(只返回状态正常的数据) + * + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping(value = "getListTree") + public ExecutedResult<List<ResAdminMenuTreeAndPermission>> getListTree() { + return this.service.getListTreeMenu(); + } + + /** + * 获取指定菜单的子级菜单 + * + * @param menuId 菜单id + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping(value = "getListChild/{menuId}") + public ExecutedResult<List<AdminMenuVO>> getListChild(@PathVariable Long menuId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("菜单id"), menuId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.getListChildMenu(menuId); + } + + /** + * 分页查询菜单 + * + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<AdminMenuVO>> search(@RequestBody SearchAdminMenu request) { + return this.service.searchMenu(request); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/admin/AdminPermissionController.java b/src/main/java/com/nanjing/water/host/controller/admin/AdminPermissionController.java new file mode 100644 index 0000000..8df6a33 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/admin/AdminPermissionController.java @@ -0,0 +1,120 @@ +package com.nanjing.water.host.controller.admin; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.request.adminpermission.ReqCreateAdminPermission; +import com.nanjing.water.entity.request.adminpermission.ReqModifyAdminPermission; +import com.nanjing.water.entity.response.admin.ResAdminPermission; +import com.nanjing.water.entity.search.SearchAdminPermission; +import com.nanjing.water.host.api.MustAdmin; +import com.nanjing.water.service.AdminPowerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 20.权限相关接口 + * + * @author lin.liu + * @date 2023/02/17 + * @order 20 + */ +@MustAdmin +@RestController +@RequestMapping(value = "admin/permission") +public class AdminPermissionController { + @Autowired + private AdminPowerService service; + + + /** + * 创建权限 + * + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateAdminPermission request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addNotNullOrEmpty(ParameterUtil.named("权限值"), request.getSn()) + .addLengthMax(ParameterUtil.named("权限值"), request.getSn(), ConstantFactory.LENGTH_MAX50) + .addGreater(ParameterUtil.named("菜单id"), request.getMenuId(), 0) + .addLengthMax(ParameterUtil.named("前端资源url"), request.getMenuUrl(), ConstantFactory.LENGTH_MAX200) + .addNotNullOrEmpty(ParameterUtil.named("权限名称"), request.getName()) + .addLengthMax(ParameterUtil.named("权限名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("图标"), request.getIcon(), ConstantFactory.LENGTH_MAX200) + .addLengthMax(ParameterUtil.named("类型"), request.getType(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.createPermission(request); + } + + /** + * 编辑权限 + * + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyAdminPermission request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addNotNullOrEmpty(ParameterUtil.named("权限值"), request.getSn()) + .addLengthMax(ParameterUtil.named("权限值"), request.getSn(), ConstantFactory.LENGTH_MAX50) + .addGreater(ParameterUtil.named("菜单id"), request.getMenuId(), 0) + .addLengthMax(ParameterUtil.named("前端资源url"), request.getMenuUrl(), ConstantFactory.LENGTH_MAX200) + .addNotNullOrEmpty(ParameterUtil.named("权限名称"), request.getName()) + .addLengthMax(ParameterUtil.named("权限名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("图标"), request.getIcon(), ConstantFactory.LENGTH_MAX200) + .addLengthMax(ParameterUtil.named("类型"), request.getType(), ConstantFactory.LENGTH_MAX50) + // 必须是枚举 + .addMustEnum(ParameterUtil.named("状态"), request.getStatus(), EState.class) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.modifyPermission(request); + } + + /** + * 删除权限 + * + * @param powerId 权限id + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping(value = "remove/{powerId}") + public ExecutedResult<String> remove(@PathVariable Long powerId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("权限id"), powerId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.removePermission(powerId); + } + + /** + * 分页查询权限 + * + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<ResAdminPermission>> search(@RequestBody SearchAdminPermission request) { + return this.service.searchPermission(request); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/admin/AdminRoleController.java b/src/main/java/com/nanjing/water/host/controller/admin/AdminRoleController.java new file mode 100644 index 0000000..94b3837 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/admin/AdminRoleController.java @@ -0,0 +1,321 @@ +package com.nanjing.water.host.controller.admin; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.request.ReqListId; +import com.nanjing.water.entity.request.ReqListSetSort; +import com.nanjing.water.entity.request.ReqSetSort; +import com.nanjing.water.entity.request.adminrole.ReqCreateAdminRole; +import com.nanjing.water.entity.request.adminrole.ReqModifyAdminRole; +import com.nanjing.water.entity.request.adminrolemenurelation.ReqSetListMenu4Role; +import com.nanjing.water.entity.request.adminuser.ReqSetListRole4Admin; +import com.nanjing.water.entity.response.admin.ResAdminPower; +import com.nanjing.water.entity.search.SearchAdminRole; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.host.api.MustAdmin; +import com.nanjing.water.repository.vo.AdminRoleVO; +import com.nanjing.water.service.AdminPowerService; +import com.nanjing.water.service.AdminService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 30.角色相关接口 + * + * @author lin.liu + * @date 2023/02/17 + * @order 30 + */ + +@RestController +@RequestMapping(value = "admin/role") +public class AdminRoleController extends BasicController { + @Autowired + private AdminPowerService service; + @Autowired + private AdminService adminService; + + /** + * 创建角色 + * + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateAdminRole request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("角色名称"), request.getName()) + // 限制长度 + .addLengthMax(ParameterUtil.named("角色名称"), request.getName(), ConstantFactory.LENGTH_MAX20) + // 限制长度 + .addLengthMax(ParameterUtil.named("描述"), request.getDescription(), ConstantFactory.LENGTH_MAX100) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.createRole(request); + } + + /** + * 编辑角色 + * + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyAdminRole request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("角色id"), request.getId(), 0L) + // 非空 + .addNotNullOrEmpty(ParameterUtil.named("角色名称"), request.getName()) + // 限制长度 + .addLengthMax(ParameterUtil.named("角色名称"), request.getName(), ConstantFactory.LENGTH_MAX100) + // 限制长度 + .addLengthMax(ParameterUtil.named("描述"), request.getDescription(), ConstantFactory.LENGTH_MAX200) + // 必须是枚举值 + .addMustEnum(ParameterUtil.named("状态"), request.getStatus(), EState.class) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.modifyRole(request); + } + + /** + * 停用角色 + * + * @param roleId 角色id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "stop/{roleId}") + public ExecutedResult<String> stop(@PathVariable Long roleId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("角色id"), roleId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.changeRoleStatus(roleId, EState.DISABLED); + } + + /** + * 启用角色 + * + * @param roleId 角色id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "enable/{roleId}") + public ExecutedResult<String> enable(@PathVariable Long roleId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("角色id"), roleId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.changeRoleStatus(roleId, EState.NORMAL); + } + + /** + * [角色]设置排序值 + * + * @author lin.liu + * @date 2021/11/23 + */ + @PostMapping(value = "setSort") + public ExecutedResult<String> setSort(@RequestBody ReqSetSort request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("角色id"), request.getId(), 0L) + // 必须大于0 + .addGreaterThan(ParameterUtil.named("排序值"), request.getSort(), 0) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.setRoleSort(request); + } + + /** + * [角色]批量设置排序值 + * + * @author lin.liu + * @date 2021/11/23 + */ + @PostMapping(value = "listSetSort") + ExecutedResult<String> listSetSort(ReqListSetSort request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 不能为空 + .addNotNullOrEmpty(ParameterUtil.named("角色排序设置列表"), request.getList()) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.listSetRoleSort(request); + } + + /** + * 删除角色 + * + * @param roleId 角色id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "remove/{roleId}") + public ExecutedResult<String> remove(@PathVariable Long roleId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("角色id"), roleId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.removeRole(roleId); + } + + /** + * 批量删除角色 + * @param request 请求参数 + * @author lin.liu + * @date 2021/11/23 + */ + @PostMapping(value = "removeList") + public ExecutedResult<String> removeList(@RequestBody ReqListId request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 不能为空 + .addNotNullOrEmpty(ParameterUtil.named("角色id列表"), request.getListId()) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.removeRoleList(request.getListId()); + } + + /** + * 分页查询角色 + * + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<AdminRoleVO>> search(@RequestBody SearchAdminRole request) { + return this.service.searchRole(request); + } + + /** + * 设置角色菜单权限列表 + * + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "setListMenuAndPermission") + public ExecutedResult<String> setListMenuAndPermission(@RequestBody ReqSetListMenu4Role request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("角色id"), request.getId(), 0) + .addNotNullOrEmpty(ParameterUtil.named("菜单列表"), request.getListMenu()) + .addNotNullOrEmpty(ParameterUtil.named("菜单权限列表"), request.getListMenu()); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.setListMenu4Role(request); + } + + /** + * 获取角色菜单权限列表 + * + * @param roleId 角色id + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping(value = "getListMenuAndPermission/{roleId}") + public ExecutedResult<ResAdminPower> getListMenuAndPermission(@PathVariable Long roleId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("角色id"), roleId, 0); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.getListMenu4Role(roleId); + } + + /** + * 设置管理员的角色列表 + * + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "setListRole4Admin") + public ExecutedResult<String> setListRole4Admin(@RequestBody ReqSetListRole4Admin request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("管理员id"), request.getId(), 0); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return adminService.setListRole4Admin(request); + } + + /** + * 获取管理员的角色列表 + * + * @param adminId 管理员id + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping(value = "getListRole4Admin") + public ExecutedResult<List<AdminRoleVO>> getListRole4Admin(@RequestParam Long adminId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("管理员id"), adminId, 0); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return adminService.getListRole4Admin(adminId); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/admin/AdminUserController.java b/src/main/java/com/nanjing/water/host/controller/admin/AdminUserController.java new file mode 100644 index 0000000..91ae0b9 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/admin/AdminUserController.java @@ -0,0 +1,294 @@ +package com.nanjing.water.host.controller.admin; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.jwt.LoginUserDTO; +import com.nanjing.water.common.util.IPUtils; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.enums.EUserType; +import com.nanjing.water.entity.request.ReqChangePassword; +import com.nanjing.water.entity.request.adminuser.ReqAdminLogin; +import com.nanjing.water.entity.request.adminuser.ReqCreateAdminUser; +import com.nanjing.water.entity.request.adminuser.ReqModifyAdminUser; +import com.nanjing.water.entity.response.admin.ResAdminLogin; +import com.nanjing.water.entity.response.admin.ResAdminPower; +import com.nanjing.water.entity.search.SearchAdminUser; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.host.api.MustAdmin; +import com.nanjing.water.host.api.NonLogin; +import com.nanjing.water.repository.vo.AdminUserVO; +import com.nanjing.water.service.AdminPowerService; +import com.nanjing.water.service.AdminService; +import com.nanjing.water.service.dto.ResAdminDetail; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +/** + * 40.管理员用户相关接口 + * + * @author lin.liu + * @date 2023/02/17 + * @order 40 + */ +@RestController +@RequestMapping("admin/user") +public class AdminUserController extends BasicController { + @Autowired + private AdminService service; + @Autowired + private AdminPowerService adminPowerService; + + /** + * 添加后台管理员 + * + * @param request 请求参数 + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping("add") + public ExecutedResult<Long> add(@RequestBody ReqCreateAdminUser request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addMustEnum(ParameterUtil.named("用户类型"), request.getUserType(), EUserType.class) + .addNotNullOrEmpty(ParameterUtil.named("用户名"), request.getUserName()) + .addLengthMax(ParameterUtil.named("用户名"), request.getUserName(), ConstantFactory.LENGTH_MAX100) + .addNotNullOrEmpty(ParameterUtil.named("密码"), request.getPassword()) + .addLengthMax(ParameterUtil.named("密码"), request.getPassword(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("昵称"), request.getNickName(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("头像"), request.getHeadImg(), ConstantFactory.LENGTH_MAX500) + .addLengthMax(ParameterUtil.named("联系方式"), request.getContact(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("联系邮箱"), request.getEmail(), ConstantFactory.LENGTH_MAX50); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.createAdmin(request); + } + + /** + * 修改后台管理员 + * + * @param request 请求参数 + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping("modify") + public ExecutedResult<String> modify(@RequestBody ReqModifyAdminUser request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("用户id"), request.getId(), 0L) + .addMustEnum(ParameterUtil.named("用户类型"), request.getUserType(), EUserType.class) + .addMustEnum(ParameterUtil.named("状态"), request.getStatus(), EState.class) + .addLengthMax(ParameterUtil.named("昵称"), request.getNickName(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("头像"), request.getHeadImg(), ConstantFactory.LENGTH_MAX500) + .addLengthMax(ParameterUtil.named("联系方式"), request.getContact(), ConstantFactory.LENGTH_MAX50) + .addLengthMax(ParameterUtil.named("联系邮箱"), request.getEmail(), ConstantFactory.LENGTH_MAX50); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.modify(request); + } + + /** + * 获取指定管理员详情 + * + * @param userId 用户id + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping("detail/{userId}") + public ExecutedResult<ResAdminDetail> detail(@PathVariable Long userId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("用户id"), userId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.detail(userId); + } + + /** + * 分页查询所有管理员 + * + * @param request 查询参数 + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping("search") + public ExecutedResult<PagerResult<AdminUserVO>> search(@RequestBody SearchAdminUser request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator(); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.search(request); + } + + /** + * 管理员登录 + * + * @param request 请求参数 + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping("login") + @NonLogin + public ExecutedResult<ResAdminLogin> adminLogin(@RequestBody ReqAdminLogin request) throws Exception { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addNotNullOrEmpty(ParameterUtil.named("验证码已过期,请重新获取"), request.getUuid()) + .addNotNullOrEmpty(ParameterUtil.named("验证码不允许为空"), request.getCode()) + .addNotNullOrEmpty(ParameterUtil.named("用户名"), request.getUserName()) + .addNotNullOrEmpty(ParameterUtil.named("密码"), request.getPassword()) + .addNotNullOrEmpty(ParameterUtil.named("设备码"), request.getMachineCode()); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.adminLogin(request); + } + /** + * 获取登录设备ip地址 + * + * @param request 获取登录设备ip地址 + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping("/getIpAddress") + @NonLogin + public ExecutedResult<String> getIpAddress(HttpServletRequest request) { + return ExecutedResult.success(IPUtils.getIpAddress(request)); + } + /** + * 保存前端登录验证码 + * + * @param uuid 请求参数 + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping("/generate") + @NonLogin + public ExecutedResult<String> generate(@RequestParam String uuid) { + //#endregion + return service.generate(uuid); + } + /** + * 获取管理员权限列表 + * + * @param userId 用户id + * @author lin.liu + * @date 2023/02/17 + */ + @GetMapping("getPower/{userId}") + public ExecutedResult<ResAdminPower> getPower(@PathVariable Long userId) { + return service.getPower(userId); + } + + /** + * 修改密码 + * + * @param request 请求参数 + * @author lin.liu + * @date 2023/02/17 + */ + @PostMapping("changePassword") + public ExecutedResult<String> changePassword(@RequestBody ReqChangePassword request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addNotNullOrEmpty(ParameterUtil.named("旧密码"), request.getOldPassword()) + .addNotNullOrEmpty(ParameterUtil.named("新密码"), request.getNewPassword()) + .addLengthMax(ParameterUtil.named("新密码"), request.getNewPassword(), ConstantFactory.LENGTH_MAX50); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + LoginUserDTO user = super.getTokenUser(); + return service.changePassword(user, request); + } + + /** + * 重置管理员密码 + * + * @param userId 用户id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping("resetPassword/{userId}") + public ExecutedResult<String> resetPassword(@PathVariable Long userId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("用户id"), userId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.resetPassword(userId); + } + + /** + * 停用管理员帐号 + * + * @param userId 用户id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "stop/{userId}") + public ExecutedResult<String> stop(@PathVariable Long userId) { + return this.service.stop(userId); + } + + /** + * 启用管理员帐号 + * + * @param userId 用户id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping(value = "enable/{userId}") + public ExecutedResult<String> enable(@PathVariable Long userId) { + return this.service.enable(userId); + } + + /** + * 删除管理员 + * + * @param userId 用户id + * @author lin.liu + * @date 2023/02/17 + */ + @MustAdmin + @PostMapping("remove/{userId}") + public ExecutedResult<String> remove(@PathVariable Long userId) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addGreater(ParameterUtil.named("用户id"), userId, 0L); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return service.remove(userId); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/base/FileController.java b/src/main/java/com/nanjing/water/host/controller/base/FileController.java new file mode 100644 index 0000000..1c33bcf --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/base/FileController.java @@ -0,0 +1,188 @@ +package com.nanjing.water.host.controller.base; + +import com.google.gson.Gson; +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.config.SysConfig; +import com.nanjing.water.common.enums.EContentType; +import com.nanjing.water.common.util.FileUtil; +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.common.validator.EParameterValidateType; +import com.nanjing.water.entity.dto.NameValueDTO; +import com.nanjing.water.entity.dto.UploadResultVo; +import com.nanjing.water.host.api.NonLogin; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ResourceLoader; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 01.文件上传 + * @author lin.liu + * @date 2021/11/26 + * @order 01 + */ +@NonLogin +@RestController +@RequestMapping("/file") +public class FileController { + @Autowired + private ResourceLoader resourceLoader; + + /** + * 上传文件 + * + * @param requestMultipart 复杂请求对象 + */ + @PostMapping(value = "upload") + @NonLogin + public ExecutedResult<UploadResultVo> upload(MultipartHttpServletRequest requestMultipart, HttpServletRequest request) throws Exception { + UploadResultVo result = this.defaultResult(); + + Map<String, MultipartFile> mapFile = requestMultipart.getFileMap(); + if (mapFile.isEmpty()) { + return ExecutedResult.failed("请求中没有找到文件。"); + } + if (mapFile.size() > 1) { + return ExecutedResult.failed("仅支持单个文件上传。"); + } + String fileId = requestMultipart.getParameter("fileId"); + String toPath = requestMultipart.getParameter("path"); + if (StringUtil.isNullOrEmpty(toPath)) { + return ExecutedResult.failed(ParameterUtil.named("path") + EParameterValidateType.NOT_NULLOREMPTY.getDesc()); + } + Iterator<Map.Entry<String, MultipartFile>> iterator = mapFile.entrySet().iterator(); + Map.Entry<String, MultipartFile> fileEntry = iterator.next(); + + MultipartFile file = fileEntry.getValue(); + String contentType = file.getContentType(); + + InputStream fConfig = resourceLoader.getResource("classpath:upload_allow.json").getInputStream(); + String allowStr = FileUtil.readFileContent(fConfig); + Map<String, String> map = new Gson().fromJson(allowStr, Map.class); + List<NameValueDTO<String>> listConfig = map.entrySet().stream().map(c -> new NameValueDTO<>(c.getKey(), c.getValue())) + .collect(Collectors.toList()); + NameValueDTO<String> findConfig = listConfig.stream().filter(c -> c.getName().equals(contentType)) + .findAny().orElse(null); + if (Objects.isNull(findConfig)) { + return ExecutedResult.failed(file.getOriginalFilename() + ", 不支持的文件类型。" + file.getContentType()); + } + if (null != file.getOriginalFilename() && !file.getOriginalFilename().contains(findConfig.getValue())) { + return ExecutedResult.failed(file.getOriginalFilename() + ", 不支持的文件类型。" + file.getContentType()); + } + + EContentType type = EContentType.getByValue(file.getContentType()); + String filePath = "/" + toPath + "/files/"; + boolean isMultimedia = false; + long size = file.getSize() / ConstantFactory.FILE_UNIT; + if (null != type) { + switch (type) { + case GIF: + case JPG: + case PNG: + case JPEG: + filePath = "/" + toPath + "/images/"; + if (size > ConstantFactory.FILE_SIZE_20M) { + return ExecutedResult.failed("图片不能超过20M!"); + } + break; + case GZ: + case RAR: + case X7Z: + case ZIP: + if (size > ConstantFactory.FILE_SIZE_20M) { + return ExecutedResult.failed("压缩文件不能超过20M!"); + } + break; + + case MP3: + isMultimedia = true; + if (size > ConstantFactory.FILE_SIZE_20M) { + return ExecutedResult.failed("音频文件不能超过20M!"); + } + break; + case MP4: + isMultimedia = true; + if (size > ConstantFactory.FILE_SIZE_20M) { + return ExecutedResult.failed("视频文件不能超过20M!"); + } + break; + default: + break; + } + } + filePath += LocalDateTimeUtil.toFormatString(LocalDateTimeUtil.todayFirst(), "yyyyMMdd") + "/"; + InputStream fsIn = file.getInputStream(); + + String fileSuffix = "." + findConfig.getValue(); + File directory = new File(SysConfig.fileUploadBasic() + filePath); + //如果路径不存在,新建 + if (!directory.exists() && !directory.isDirectory()) { + directory.mkdirs(); + } + + String newFileName = filePath + StringUtil.md5(file.getOriginalFilename() + LocalDateTimeUtil.nowDateTimeFullStr() + SysConfig.fileDisturbStr()) + fileSuffix; + File newFile = new File(SysConfig.fileUploadBasic() + newFileName); + if (!newFile.exists()) { + //每次写入1MB + byte[] buffer = new byte[ConstantFactory.FILE_UNIT * ConstantFactory.FILE_SIZE_1M]; + int len; + FileOutputStream fsOut = null; + try { + fsOut = new FileOutputStream(newFile); + while ((len = fsIn.read(buffer)) != -1) { + fsOut.write(buffer, 0, len); + fsOut.flush(); + } + } finally { + if (Objects.nonNull(fsOut)) { + fsOut.close(); + } + } + } + if (Objects.nonNull(fsIn)) { + fsIn.close(); + } + + result.setFileId(fileId); + result.setName(file.getOriginalFilename()); + result.setNewFileName(newFileName); + result.setSize(size); + result.setFileType(findConfig.getValue()); + result.setContentType(findConfig.getName()); + result.setNewFileView(SysConfig.fileViewBasic() + newFileName); + + file = null; + newFile = null; + + return ExecutedResult.success(result); + } + + + private UploadResultVo defaultResult() { + UploadResultVo result = new UploadResultVo(); + result.setFileId(""); + result.setName(""); + result.setNewFileName(""); + result.setNewFileView(""); + result.setFileType(""); + result.setContentType(""); + result.setSize(0L); + return result; + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/base/SysDictDataController.java b/src/main/java/com/nanjing/water/host/controller/base/SysDictDataController.java new file mode 100644 index 0000000..cdddfce --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/base/SysDictDataController.java @@ -0,0 +1,145 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller.base; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.ReqListId; +import com.nanjing.water.entity.request.sysdictdata.ReqCreateSysDictData; +import com.nanjing.water.entity.request.sysdictdata.ReqModifySysDictData; +import com.nanjing.water.entity.search.SearchSysDictData; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.repository.vo.SysDictDataVO; +import com.nanjing.water.service.SysDictDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 04.字典数据 + * @author lin.liu + * @description 字典数据 + * @order 04 + */ +@RestController +@RequestMapping(value = "sysDictData") +public class SysDictDataController extends BasicController { + @Autowired + private SysDictDataService service; + + /** + * 创建[字典数据表] + * @author lin.liu + * @description 创建[字典数据表] + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateSysDictData request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request, super.getTokenUser()); + } + + /** + * 编辑[字典数据表] + * @author lin.liu + * @description 编辑[字典数据表] + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifySysDictData request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("[字典数据表]id"), request.getId(), 0L) + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request, super.getTokenUser()); + } + + /** + * 获取[字典数据表] + * @author lin.liu + */ + @GetMapping(value = "get/{id}") + public ExecutedResult<SysDictDataVO> get(@PathVariable Long id) { + return this.service.get(id); + } + + /** + * 根据id删除[字典数据表] + * @author zr + * @description 根据id删除[字典数据表] + */ + @PostMapping(value = "remove/{id}") + public ExecutedResult<String> remove(@PathVariable Long id){ + return this.service.remove(id); + } + + /** + * 根据id批量删除字典数据 + * @author zr + */ + @PostMapping(value = "removeList") + public ExecutedResult<String> removeList(@RequestBody ReqListId reqListId){ + return this.service.removeList(reqListId.getListId()); + } + + /** + * 根据类型获取[字典数据表] + * @author zr + */ + @GetMapping(value = "getListByType/{type}") + public ExecutedResult<List<SysDictDataVO>> getListByType(@PathVariable String type) { + return this.service.getListByType(type); + } + + /** + * 查询[字典数据表] + * @author lin.liu + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<SysDictDataVO>> search(@RequestBody SearchSysDictData request) { + return this.service.search(request); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/base/SysDictTypeController.java b/src/main/java/com/nanjing/water/host/controller/base/SysDictTypeController.java new file mode 100644 index 0000000..2ae58c8 --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/base/SysDictTypeController.java @@ -0,0 +1,143 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller.base; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.ReqListId; +import com.nanjing.water.entity.request.sysdicttype.ReqCreateSysDictType; +import com.nanjing.water.entity.request.sysdicttype.ReqModifySysDictType; +import com.nanjing.water.entity.search.SearchSysDictType; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.repository.vo.SysDictTypeVO; +import com.nanjing.water.service.SysDictTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 03.字典类型 + * @author lin.liu + * @order 03 + */ +@RestController +@RequestMapping(value = "sysDictType") +public class SysDictTypeController extends BasicController { + @Autowired + private SysDictTypeService service; + + /** + * 创建[字典类型表] + * @author lin.liu + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateSysDictType request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request); + } + + /** + * 编辑[字典类型表] + * @author lin.liu + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifySysDictType request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("[字典类型表]id"), request.getId(), 0L) + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request); + } + + /** + * 获取[字典类型表] + * @author lin.liu + */ + @GetMapping(value = "get/{id}") + public ExecutedResult<SysDictTypeVO> get(@PathVariable Long id) { + return this.service.get(id); + } + + /** + * 根据id删除[字典类型表] + * @author zr + * @description 根据id删除[字典类型表] + */ + @PostMapping(value = "remove/{id}") + ExecutedResult<String> remove(@PathVariable Long id){ + return this.service.remove(id); + } + + /** + * 根据id批量删除字典类型 + */ + @PostMapping(value = "removeList") + public ExecutedResult<String> removeList(@RequestBody ReqListId request) { + return service.removeList(request.getListId()); + } + + /** + * 根据id批量获取[字典类型表] + * @author zr + * @description 根据id批量获取[字典类型表] + */ + @PostMapping(value = "getList") + public ExecutedResult<List<SysDictTypeVO>> getList(@RequestBody ReqListId request) { + return this.service.getList(request.getListId()); + } + + /** + * 查询[字典类型表] + * @author lin.liu + * @description 查询[字典类型表] + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<SysDictTypeVO>> search(@RequestBody SearchSysDictType request) { + return this.service.search(request); + } +} diff --git a/src/main/java/com/nanjing/water/host/controller/base/SysRegionController.java b/src/main/java/com/nanjing/water/host/controller/base/SysRegionController.java new file mode 100644 index 0000000..efadbed --- /dev/null +++ b/src/main/java/com/nanjing/water/host/controller/base/SysRegionController.java @@ -0,0 +1,160 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.host.controller.base; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.validator.ParameterValidateResult; +import com.nanjing.water.common.validator.ParameterValidator; +import com.nanjing.water.entity.request.ReqListId; +import com.nanjing.water.entity.request.sysregion.ReqCreateSysRegion; +import com.nanjing.water.entity.request.sysregion.ReqModifySysRegion; +import com.nanjing.water.entity.response.region.ResRegionTree; +import com.nanjing.water.entity.search.SearchSysRegion; +import com.nanjing.water.host.BasicController; +import com.nanjing.water.host.api.NonLogin; +import com.nanjing.water.repository.vo.SysRegionVO; +import com.nanjing.water.service.SysRegionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 06.系统行政地区 + * @author lin.liu + * @order 06 + */ +@RestController +@RequestMapping(value = "sysRegion") +public class SysRegionController extends BasicController { + @Autowired + private SysRegionService service; + + /** + * 创建[系统行政地区] + * @author lin.liu + * @description 创建[系统行政地区] + */ + @PostMapping(value = "create") + public ExecutedResult<Long> create(@RequestBody ReqCreateSysRegion request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.create(request); + } + + /** + * 编辑[系统行政地区] + * @author lin.liu + * @description 编辑[系统行政地区] + */ + @PostMapping(value = "modify") + public ExecutedResult<String> modify(@RequestBody ReqModifySysRegion request) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + // 必须大于0 + .addGreater(ParameterUtil.named("[系统行政地区]id"), request.getId(), 0L) + // 非空 + //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName()) + // 限制最大长度 + //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50) + ; + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return failed(result.getErrorMsg()); + } + //#endregion + return this.service.modify(request); + } + + /** + * 获取[系统行政地区] + * @author lin.liu + * @description 获取[系统行政地区] + */ + @GetMapping(value = "get/{code}") + public ExecutedResult<SysRegionVO> get(@PathVariable String code) { + return this.service.get(code); + } + /** + * 根据id批量获取[系统行政地区] + * @author lin.liu + * @description 根据id批量获取[系统行政地区] + */ + @PostMapping(value = "getList") + public ExecutedResult<List<SysRegionVO>> getList(@RequestBody ReqListId request) { + return this.service.getList(request.getListId()); + } + + /** + * 获取指定区域的子级区域 + * + * @param code 区域编号,不传获取所有一级区域 + * @author lin.liu + * @date 2024/05/13 + */ + @GetMapping(value = "getListChild") + public ExecutedResult<List<ResRegionTree>> getListChild(@RequestParam String code) { + return this.service.getListChild(code); + } + /** + * 查询[系统行政地区] + * @author lin.liu + * @description 查询[系统行政地区] + */ + @PostMapping(value = "search") + public ExecutedResult<PagerResult<SysRegionVO>> search(@RequestBody SearchSysRegion request) { + return this.service.search(request); + } + /** + * 获取指定区域的子级区域(包含自身) + * + * @param code 区域编号 + * @author lin.liu + * @date 2024/05/13 + */ + @NonLogin + @GetMapping(value = "currAndTree/{code}") + public ExecutedResult<ResRegionTree> currAndTree(@PathVariable String code) { + //#region 参数验证 + ParameterValidator validator = new ParameterValidator() + .addNotNullOrEmpty(ParameterUtil.named("区域编号"), code); + ParameterValidateResult result = validator.validate(); + if (result.getIsFiled()) { + return ExecutedResult.failed(result.getErrorMsg()); + } + //#endregion + return this.service.currAndTree(code); + } +} diff --git a/src/main/java/com/nanjing/water/host/mqtt/MQTTConnect.java b/src/main/java/com/nanjing/water/host/mqtt/MQTTConnect.java new file mode 100644 index 0000000..c2df6bb --- /dev/null +++ b/src/main/java/com/nanjing/water/host/mqtt/MQTTConnect.java @@ -0,0 +1,36 @@ +package com.nanjing.water.host.mqtt; + +import com.nanjing.water.common.config.MqttConfig; +import org.eclipse.paho.client.mqttv3.MqttConnectOptions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +@Component +@Order(20) +public class MQTTConnect { + @Autowired + private MqttConfig mqttConfig; + + //生成配置对象,用户名,密码等 + public MqttConnectOptions getOptions() { + MqttConnectOptions options = new MqttConnectOptions(); + options.setCleanSession(false); + options.setUserName(mqttConfig.getUser()); + options.setPassword(mqttConfig.getPassword().toCharArray()); + options.setConnectionTimeout(mqttConfig.getConnectionTimeout()); + //设置心跳 + options.setKeepAliveInterval(mqttConfig.getKeepAliveInterval()); + return options; + } + + public MqttConnectOptions getOptions(MqttConnectOptions options) { + options.setCleanSession(false); + options.setUserName(mqttConfig.getUser()); + options.setPassword(mqttConfig.getPassword().toCharArray()); + options.setConnectionTimeout(mqttConfig.getConnectionTimeout()); + //设置心跳 + options.setKeepAliveInterval(mqttConfig.getKeepAliveInterval()); + return options; + } +} diff --git a/src/main/java/com/nanjing/water/host/mqtt/MQTTServer.java b/src/main/java/com/nanjing/water/host/mqtt/MQTTServer.java new file mode 100644 index 0000000..12a628f --- /dev/null +++ b/src/main/java/com/nanjing/water/host/mqtt/MQTTServer.java @@ -0,0 +1,94 @@ +package com.nanjing.water.host.mqtt; + +import com.nanjing.water.common.config.MqttConfig; +import com.nanjing.water.common.enums.ELogger; +import org.eclipse.paho.client.mqttv3.*; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +/** + * 发布端 + * Title:Server + * Description: 服务器向多个客户端推送主题,即不同客户端可向服务器订阅相同主题 + */ +@Component +@Order(7) +public class MQTTServer implements InitializingBean { + private static final Logger LOGGER = LoggerFactory.getLogger(ELogger.DEBUG.getLogFileName()); + @Autowired + private MqttConfig mqttConfig; + @Autowired + private MQTTConnect mqttConnect; + static MqttClient client; + + private void connect() throws MqttException { + //防止重复创建MQTTClient实例 + if (client == null) { + //就是这里的clientId,服务器用来区分用户的,不能重复 + String host = "tcp://" + mqttConfig.getHost() + ":" + mqttConfig.getPort(); + client = new MqttClient(host, mqttConfig.getServerClientId(), new MemoryPersistence());// MemoryPersistence设置clientid的保存形式,默认为以内存保存 + //client.setCallback(new PushCallback()); + } + MqttConnectOptions options = mqttConnect.getOptions(); + //判断拦截状态,这里注意一下,如果没有这个判断,是非常坑的 + if (!client.isConnected()) { + client.connect(options); + LOGGER.info("---------------------mqtt连接成功"); + } else {//这里的逻辑是如果连接成功就重新连接 + client.disconnect(); + client.connect(mqttConnect.getOptions(options)); + LOGGER.info("---------------------mqtt连接成功"); + } + } + + + public boolean publish(MqttTopic topic , MqttMessage message) throws MqttException { + MqttDeliveryToken token = topic.publish(message); + token.waitForCompletion(); + LOGGER.debug("消息发送成功! " + token.isComplete()); + return token.isComplete(); + } + + /** + * mqtt发送消息 + * @param topic 发布消息的主题 + * @param data 消息内容 + */ + public boolean send(String topic, String data) throws MqttException { + MqttConnectOptions options = mqttConnect.getOptions(); + try { + client.connect(mqttConnect.getOptions(options)); + } catch (Exception e) {} + MqttTopic mqttTopic = client.getTopic(topic); + + MqttMessage message = new MqttMessage(); + //消息等级 + //level 0:最多一次的传输 + //level 1:至少一次的传输,(鸡肋) + //level 2: 只有一次的传输 + message.setQos(0); + //如果重复消费,则把值改为true,然后发送一条空的消息,之前的消息就会覆盖,然后在改为false + message.setRetained(false); + + message.setPayload(data.getBytes()); + + return this.publish(mqttTopic, message); + } + + @Override + public void afterPropertiesSet() throws Exception { + // MemoryPersistence设置clientid的保存形式,默认为以内存保存 +// client = new MqttClient(HOST, clientid, new MemoryPersistence()); + if (Objects.equals(mqttConfig.getEnable(), Boolean.FALSE)) { + return; + } + this.connect(); + } +} diff --git a/src/main/java/com/nanjing/water/host/mqtt/MQTTStart.java b/src/main/java/com/nanjing/water/host/mqtt/MQTTStart.java new file mode 100644 index 0000000..2bd8f6d --- /dev/null +++ b/src/main/java/com/nanjing/water/host/mqtt/MQTTStart.java @@ -0,0 +1,26 @@ +package com.nanjing.water.host.mqtt; + +import com.nanjing.water.common.config.MqttConfig; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +@Component +@Order(40) +public class MQTTStart implements InitializingBean { + @Autowired + private MQTTSubsribe mqttSubsribe; + @Autowired + private MqttConfig mqttConfig; + + @Override + public void afterPropertiesSet() throws Exception { + if (Objects.equals(mqttConfig.getEnable(), Boolean.FALSE)) { + return; + } + mqttSubsribe.init(); + } +} diff --git a/src/main/java/com/nanjing/water/host/mqtt/MQTTSubsribe.java b/src/main/java/com/nanjing/water/host/mqtt/MQTTSubsribe.java new file mode 100644 index 0000000..ad5b5cc --- /dev/null +++ b/src/main/java/com/nanjing/water/host/mqtt/MQTTSubsribe.java @@ -0,0 +1,100 @@ +package com.nanjing.water.host.mqtt; + +import com.nanjing.water.common.config.MqttConfig; +import com.nanjing.water.common.enums.ELogger; +import org.eclipse.paho.client.mqttv3.MqttClient; +import org.eclipse.paho.client.mqttv3.MqttConnectOptions; +import org.eclipse.paho.client.mqttv3.MqttException; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +/** + * 订阅端 + */ +@Component +@Order(30) +public class MQTTSubsribe { + private static final Logger LOGGER = LoggerFactory.getLogger(ELogger.DEBUG.getLogFileName()); + @Autowired + private MqttConfig mqttConfig; + @Autowired + private MQTTConnect mqttConnect; + + /** + * 测试和正式环境不要使用同样的clientId 和主题 + * 如果和正式环境一样,正式环境启动后,本地再次启动会频繁断开重连,订阅的主题一样的话,测试的数据正式环境也会消费这些数据 + */ + //private static final String clientid = "测试clients";//测试 +// private String topic = "lunhan"; + + public MqttClient client; + + //方法实现说明 断线重连方法,如果是持久订阅,重连是不需要再次订阅,如果是非持久订阅,重连是需要重新订阅主题 取决于options.setCleanSession(true); + // true为非持久订阅 + public void connect() throws MqttException { + //防止重复创建MQTTClient实例 + if (client == null) { + //就是这里的clientId,服务器用来区分用户的,不能重复,clientId不能和发布的clientId一样,否则会出现频繁断开连接和重连的问题 + //不仅不能和发布的clientId一样,而且也不能和其他订阅的clientId一样,如果想要接收之前的离线数据,这就需要将client的 setCleanSession + // 设置为false,这样服务器才能保留它的session,再次建立连接的时候,它就会继续使用这个session了。 这时此连接clientId 是不能更改的。 + //但是其实还有一个问题,就是使用热部署的时候还是会出现频繁断开连接和重连的问题,可能是因为刚启动时的连接没断开,然后热部署的时候又进行了重连,重启一下就可以了 + //+ System.currentTimeMillis() + String host = "tcp://" + mqttConfig.getHost() + ":" + mqttConfig.getPort(); + client = new MqttClient(host, mqttConfig.getClientId(), new MemoryPersistence());// MemoryPersistence设置clientid的保存形式,默认为以内存保存 + //如果是订阅者则添加回调类,发布不需要 + client.setCallback(new PushCallback(MQTTSubsribe.this)); +// client.setCallback(new PushCallback()); + } + MqttConnectOptions options = mqttConnect.getOptions(); + //判断拦截状态,这里注意一下,如果没有这个判断,是非常坑的 + if (!client.isConnected()) { + client.connect(options); + LOGGER.info("----------mqtt连接成功"); + } else {//这里的逻辑是如果连接成功就重新连接 + client.disconnect(); + client.connect(mqttConnect.getOptions(options)); + LOGGER.info("----------mqtt连接成功"); + } + } + + public void init() { + try { + this.connect(); + LOGGER.info("----------mqtt执行"); + this.subscribe(mqttConfig.getTopic()); + LOGGER.info("----------mqtt执行订阅"); + } catch (MqttException e) { + e.printStackTrace(); + } + } + + /** + * 订阅某个主题,qos默认为0 + * + * @param topic . + */ + public void subscribe(String topic) { + subscribe(topic,2); + } + + /** + * 订阅某个主题 + * + * @param topic . + * @param qos . + */ + public void subscribe(String topic, int qos) { + + try { + client.subscribe(topic,qos); + //MQTT 协议中订阅关系是持久化的,因此如果不需要订阅某些 Topic,需要调用 unsubscribe 方法取消订阅关系。 +// client.unsubscribe("需要解除订阅关系的主题"); + } catch (MqttException e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/nanjing/water/host/mqtt/PushCallback.java b/src/main/java/com/nanjing/water/host/mqtt/PushCallback.java new file mode 100644 index 0000000..ad4b9aa --- /dev/null +++ b/src/main/java/com/nanjing/water/host/mqtt/PushCallback.java @@ -0,0 +1,85 @@ +package com.nanjing.water.host.mqtt; + +import com.nanjing.water.common.enums.ELogger; +import com.nanjing.water.common.util.LoggerUtil; +import com.nanjing.water.common.util.SpringUtil; +import com.nanjing.water.common.util.ThreadPoolUtil;; +import com.nanjing.water.service.DataUploadRecordService; +import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; +import org.eclipse.paho.client.mqttv3.MqttCallback; +import org.eclipse.paho.client.mqttv3.MqttMessage; +import org.slf4j.Logger; + +import java.nio.charset.StandardCharsets; + +/** + * 发布消息的回调类 + * <p> + * 必须实现MqttCallback的接口并实现对应的相关接口方法CallBack 类将实现 MqttCallBack。 + * 每个客户机标识都需要一个回调实例。在此示例中,构造函数传递客户机标识以另存为实例数据。 + * 在回调中,将它用来标识已经启动了该回调的哪个实例。 + * 必须在回调类中实现三个方法: + * <p> + * public void messageArrived(MqttTopic topic, MqttMessage message)接收已经预订的发布。 + * <p> + * public void connectionLost(Throwable cause)在断开连接时调用。 + * <p> + * public void deliveryComplete(MqttDeliveryToken token)) + * 接收到已经发布的 QoS 1 或 QoS 2 消息的传递令牌时调用。 + * 由 MqttClient.connect 激活此回调。 + */ +public class PushCallback implements MqttCallback { + private static final Logger LOGGER_DEBUG = LoggerUtil.get(ELogger.DEBUG); + private static final Logger LOGGER_ERROR = LoggerUtil.get(ELogger.SYS_ERROR); + + private static DataUploadRecordService dataUploadService = SpringUtil.getBean(DataUploadRecordService.class); + + private MQTTSubsribe mqttSubsribe; + + public PushCallback(MQTTSubsribe mqttSubsribe) { + this.mqttSubsribe = mqttSubsribe; + } + + public void connectionLost(Throwable cause) { + // 连接丢失后,一般在这里面进行重连 + LOGGER_DEBUG.info("---------------------mqtt连接断开"); + + while (true) { + try {//如果没有发生异常说明连接成功,如果发生异常,则死循环 + mqttSubsribe.init(); + LOGGER_DEBUG.info("---------------------mqtt重连成功"); + break; + } catch (Exception e) { + LOGGER_ERROR.error("mqtt连接丢失", e); + continue; + } finally { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // 重新设置中断状态 + Thread.currentThread().interrupt(); + } + } + } + } + + public void deliveryComplete(IMqttDeliveryToken token) { + LOGGER_DEBUG.info("deliveryComplete---------" + token.isComplete()); + } + + public void messageArrived(String topic, MqttMessage message) { + // subscribe后得到的消息会执行到这里面 + String msg = new String(message.getPayload(), StandardCharsets.UTF_8); + + LOGGER_DEBUG.info("收到mqtt消息,主题: " + topic + ", Qos: " + message.getQos() + ", 消息内容: " + msg); + //这里可以针对收到的消息做处理 + ThreadPoolUtil.getDefaultPool().execute(() -> { + try { + //调用方法 + dataUploadService.mqttReceived(topic, msg); + } catch (Exception e) { + LOGGER_ERROR.error("messageArrived", e); + } + }); + } +} diff --git a/src/main/java/com/nanjing/water/host/mqtt/WebSocket.java b/src/main/java/com/nanjing/water/host/mqtt/WebSocket.java new file mode 100644 index 0000000..09ce82b --- /dev/null +++ b/src/main/java/com/nanjing/water/host/mqtt/WebSocket.java @@ -0,0 +1,54 @@ +package com.nanjing.water.host.mqtt; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import javax.websocket.OnClose; +import javax.websocket.OnMessage; +import javax.websocket.OnOpen; +import javax.websocket.Session; +import javax.websocket.server.ServerEndpoint; +import java.util.concurrent.CopyOnWriteArraySet; + +@Component +@ServerEndpoint("/webSocket") +@Order(3) +public class WebSocket { + private static final Logger log = LoggerFactory.getLogger(WebSocket.class); + + private Session session; + + private static CopyOnWriteArraySet<WebSocket> webSocketSet=new CopyOnWriteArraySet<>(); + + @OnOpen + public void onOpen(Session session){ + this.session=session; + webSocketSet.add(this); + log.info("【websocket消息】 有新的连接,总数:{}",webSocketSet.size()); + } + + @OnClose + public void onClose(){ + webSocketSet.remove(this); + log.info("【websocket消息】 连接断开,总数:{}",webSocketSet.size()); + } + + @OnMessage + public void onMessage(String message){ + log.info("【websocket消息】 收到客户端发来的消息:{}",message); + } + + public static void sendMessage(String message){ + for(WebSocket webSocket:webSocketSet){ + log.info("【websocket消息】 广播消息,message={}",message); + try { + webSocket.session.getBasicRemote().sendText(message); + }catch (Exception e){ + e.printStackTrace(); + } + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminMenuMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminMenuMapperImpl.java new file mode 100644 index 0000000..dbf2b01 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminMenuMapperImpl.java @@ -0,0 +1,130 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.search.SearchAdminMenu; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminMenuMapper; +import com.nanjing.water.repository.po.AdminMenuPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 后台菜单 + * @author lin.liu + * @description 后台菜单 + */ +@Repository +public class AdminMenuMapperImpl extends BasicMapperImpl<AdminMenuPO, AdminMenuMapper> { + public AdminMenuMapper mapper; + AdminMenuMapperImpl(AdminMenuMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminMenuPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminMenu search = (SearchAdminMenu)request; + // 查询条件 + LambdaQueryWrapper<AdminMenuPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminMenuPO::getStatus, EState.NORMAL.getValue()); + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminMenuPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminMenuPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(AdminMenuPO::getName, search.getKeywords()) + .or().like(AdminMenuPO::getTitle, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminMenuPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminMenuPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminMenuPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminMenuPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminMenuPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminMenuPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminMenuPO::getId); + } + Page<AdminMenuPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + /** + * 根据父级菜单获取子菜单列表 + * @param parentId 父级菜单id + */ + public List<AdminMenuPO> list4Parent(Long parentId) { + // 查询条件 + LambdaQueryWrapper<AdminMenuPO> queryWrapper = this.query(); + queryWrapper.eq(AdminMenuPO::getParentId, parentId); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminMenusMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminMenusMapperImpl.java new file mode 100644 index 0000000..e1e2ce2 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminMenusMapperImpl.java @@ -0,0 +1,137 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchAdminMenus; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminMenusMapper; +import com.nanjing.water.repository.po.AdminMenusPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 菜单信息 + * @author lin.liu + */ +@Repository +public class AdminMenusMapperImpl extends BasicMapperImpl<AdminMenusPO, AdminMenusMapper> { + AdminMenusMapperImpl(AdminMenusMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminMenusPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminMenus search = (SearchAdminMenus)request; + // 查询条件 + LambdaQueryWrapper<AdminMenusPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminMenusPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminMenusPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminMenusPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminMenusPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminMenusPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(AdminMenusPO::getName, search.getKeywords()) + // .or().like(AdminMenusPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminMenusPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminMenusPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminMenusPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminMenusPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminMenusPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminMenusPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminMenusPO::getId); + } + Page<AdminMenusPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(AdminMenusPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(AdminMenusPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public AdminMenusPO getById(Long id) { + return super.get(id); + } + + public List<AdminMenusPO> getListById(List<Long> listId) { + return super.getList(listId); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminPermissionMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminPermissionMapperImpl.java new file mode 100644 index 0000000..e79b637 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminPermissionMapperImpl.java @@ -0,0 +1,141 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchAdminPermission; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminPermissionMapper; +import com.nanjing.water.repository.po.AdminPermissionPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 后台用户权限表 + * @author lin.liu + * @description 后台用户权限表 + */ +@Repository +public class AdminPermissionMapperImpl extends BasicMapperImpl<AdminPermissionPO, AdminPermissionMapper> { + AdminPermissionMapperImpl(AdminPermissionMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminPermissionPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminPermission search = (SearchAdminPermission)request; + // 查询条件 + LambdaQueryWrapper<AdminPermissionPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminPermissionPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminPermissionPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminPermissionPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminPermissionPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminPermissionPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(AdminPermissionPO::getName, search.getKeywords()) + .or().like(AdminPermissionPO::getMenuUrl, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminPermissionPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminPermissionPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminPermissionPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminPermissionPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminPermissionPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminPermissionPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminPermissionPO::getId); + } + Page<AdminPermissionPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + /** + * 根据菜单id获取权限列表 + * @param listMenuId 菜单id + */ + public List<AdminPermissionPO> list4MenuId(List<Long> listMenuId) { + // 查询条件 + LambdaQueryWrapper<AdminPermissionPO> queryWrapper = this.query(); + queryWrapper.in(AdminPermissionPO::getMenuId, listMenuId); + return DB.selectList(queryWrapper); + } + + public AdminPermissionPO get4Sn(String sn) { + // 查询条件 + LambdaQueryWrapper<AdminPermissionPO> queryWrapper = this.query(); + queryWrapper.eq(AdminPermissionPO::getSn, sn); + return DB.selectOne(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminRoleMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminRoleMapperImpl.java new file mode 100644 index 0000000..6103494 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminRoleMapperImpl.java @@ -0,0 +1,117 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchAdminRole; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminRoleMapper; +import com.nanjing.water.repository.po.AdminRolePO; +import org.springframework.stereotype.Repository; + +/** + * 后台用户角色表 + * @author lin.liu + * @description 后台用户角色表 + */ +@Repository +public class AdminRoleMapperImpl extends BasicMapperImpl<AdminRolePO, AdminRoleMapper> { + AdminRoleMapperImpl(AdminRoleMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminRolePO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminRole search = (SearchAdminRole)request; + // 查询条件 + LambdaQueryWrapper<AdminRolePO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminRolePO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminRolePO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminRolePO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminRolePO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminRolePO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(AdminRolePO::getName, search.getKeywords()) + .or().like(AdminRolePO::getDescription, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminRolePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminRolePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminRolePO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminRolePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminRolePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminRolePO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminRolePO::getId); + } + Page<AdminRolePO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + }} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminRoleMenuRelationMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminRoleMenuRelationMapperImpl.java new file mode 100644 index 0000000..8be1d8d --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminRoleMenuRelationMapperImpl.java @@ -0,0 +1,144 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchAdminRoleMenuRelation; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminRoleMenuRelationMapper; +import com.nanjing.water.repository.po.AdminRoleMenuRelationPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 后台角色菜单关系表 + * @author lin.liu + * @description 后台角色菜单关系表 + */ +@Repository +public class AdminRoleMenuRelationMapperImpl extends BasicMapperImpl<AdminRoleMenuRelationPO, AdminRoleMenuRelationMapper> { + AdminRoleMenuRelationMapperImpl(AdminRoleMenuRelationMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminRoleMenuRelationPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminRoleMenuRelation search = (SearchAdminRoleMenuRelation)request; + // 查询条件 + LambdaQueryWrapper<AdminRoleMenuRelationPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminRoleMenuRelationPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminRoleMenuRelationPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminRoleMenuRelationPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminRoleMenuRelationPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminRoleMenuRelationPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(AdminRoleMenuRelationPO::getName, search.getKeywords()) + // .or().like(AdminRoleMenuRelationPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminRoleMenuRelationPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminRoleMenuRelationPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminRoleMenuRelationPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminRoleMenuRelationPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminRoleMenuRelationPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminRoleMenuRelationPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminRoleMenuRelationPO::getId); + } + Page<AdminRoleMenuRelationPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + /** + * 根据角色id获取角色拥有的菜单列表 + * @param roleId 角色id + */ + public List<AdminRoleMenuRelationPO> list4Role(Long roleId) { + // 查询条件 + LambdaQueryWrapper<AdminRoleMenuRelationPO> queryWrapper = this.query(); + queryWrapper.eq(AdminRoleMenuRelationPO::getRoleId, roleId); + return DB.selectList(queryWrapper); + } + + /** + * 根据角色id获取角色拥有的菜单列表 + * @param listRoleId 角色id列表 + */ + public List<AdminRoleMenuRelationPO> list4Role(List<Long> listRoleId) { + // 查询条件 + LambdaQueryWrapper<AdminRoleMenuRelationPO> queryWrapper = this.query(); + queryWrapper.in(AdminRoleMenuRelationPO::getRoleId, listRoleId); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminRolePermissionRelationMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminRolePermissionRelationMapperImpl.java new file mode 100644 index 0000000..faa52e5 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminRolePermissionRelationMapperImpl.java @@ -0,0 +1,144 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchAdminRolePermissionRelation; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminRolePermissionRelationMapper; +import com.nanjing.water.repository.po.AdminRolePermissionRelationPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 后台角色权限关系表 + * @author lin.liu + * @description 后台角色权限关系表 + */ +@Repository +public class AdminRolePermissionRelationMapperImpl extends BasicMapperImpl<AdminRolePermissionRelationPO, AdminRolePermissionRelationMapper> { + AdminRolePermissionRelationMapperImpl(AdminRolePermissionRelationMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminRolePermissionRelationPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminRolePermissionRelation search = (SearchAdminRolePermissionRelation)request; + // 查询条件 + LambdaQueryWrapper<AdminRolePermissionRelationPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminRolePermissionRelationPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminRolePermissionRelationPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminRolePermissionRelationPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminRolePermissionRelationPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminRolePermissionRelationPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(AdminRolePermissionRelationPO::getName, search.getKeywords()) + // .or().like(AdminRolePermissionRelationPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminRolePermissionRelationPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminRolePermissionRelationPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminRolePermissionRelationPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminRolePermissionRelationPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminRolePermissionRelationPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminRolePermissionRelationPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminRolePermissionRelationPO::getId); + } + Page<AdminRolePermissionRelationPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + /** + * 根据角色获取拥有的权限列表 + * @param roleId 角色id + */ + public List<AdminRolePermissionRelationPO> list4Role(Long roleId) { + // 查询条件 + LambdaQueryWrapper<AdminRolePermissionRelationPO> queryWrapper = this.query(); + queryWrapper.eq(AdminRolePermissionRelationPO::getRoleId, roleId); + return DB.selectList(queryWrapper); + } + + /** + * 根据角色获取拥有的权限列表 + * @param listRoleId 角色id列表 + */ + public List<AdminRolePermissionRelationPO> list4Role(List<Long> listRoleId) { + // 查询条件 + LambdaQueryWrapper<AdminRolePermissionRelationPO> queryWrapper = this.query(); + queryWrapper.in(AdminRolePermissionRelationPO::getRoleId, listRoleId); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminRoleRelationMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminRoleRelationMapperImpl.java new file mode 100644 index 0000000..8077514 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminRoleRelationMapperImpl.java @@ -0,0 +1,144 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchAdminRoleRelation; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminRoleRelationMapper; +import com.nanjing.water.repository.po.AdminRoleRelationPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 后台用户和角色关系表 + * @author lin.liu + * @description 后台用户和角色关系表 + */ +@Repository +public class AdminRoleRelationMapperImpl extends BasicMapperImpl<AdminRoleRelationPO, AdminRoleRelationMapper> { + AdminRoleRelationMapperImpl(AdminRoleRelationMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminRoleRelationPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminRoleRelation search = (SearchAdminRoleRelation)request; + // 查询条件 + LambdaQueryWrapper<AdminRoleRelationPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminRoleRelationPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminRoleRelationPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminRoleRelationPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminRoleRelationPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminRoleRelationPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(AdminRoleRelationPO::getName, search.getKeywords()) + // .or().like(AdminRoleRelationPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminRoleRelationPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminRoleRelationPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminRoleRelationPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminRoleRelationPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminRoleRelationPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminRoleRelationPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminRoleRelationPO::getId); + } + Page<AdminRoleRelationPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + /** + * 根据管理员获取拥有的角色列表 + * @param adminId 管理员id + */ + public List<AdminRoleRelationPO> list4Admin(Long adminId) { + // 查询条件 + LambdaQueryWrapper<AdminRoleRelationPO> queryWrapper = this.query(); + queryWrapper.eq(AdminRoleRelationPO::getAdminId, adminId); + return DB.selectList(queryWrapper); + } + + /** + * 根据管理员获取拥有的角色列表 + * @param listAdminId 管理员id列表 + */ + public List<AdminRoleRelationPO> list4Admin(List<Long> listAdminId) { + // 查询条件 + LambdaQueryWrapper<AdminRoleRelationPO> queryWrapper = this.query(); + queryWrapper.in(AdminRoleRelationPO::getAdminId, listAdminId); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AdminUserMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AdminUserMapperImpl.java new file mode 100644 index 0000000..4e31575 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AdminUserMapperImpl.java @@ -0,0 +1,134 @@ +/** + * # __----~~~~~~~~~~~------___ + * # . . ~~//====...... __--~ ~~ + * # -. \_|// |||\\ ~~~~~~::::... /~ + * # ___-==_ _-~o~ \/ ||| \\ _/~~- + * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * # _-~~ .=~ | \\-_ '-~7 /- / || \ / + * # .~ .~ | \\ -_ / /- / || \ / + * # / ____ / | \\ ~-_/ /|- _/ .|| \ / + * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * # ' ~-| /| |-~\~~ __--~~ + * # |-~~-_/ | | ~\_ _-~ /\ + * # / \ \__ \/~ \__ + * # _--~ _/ | .-~~____--~-/ ~~==. + * # ((->/~ '.|||' -_| ~~-/ , . _|| + * # -_ ~\ ~~---l__i__i__i--~~_/ + * # _-~-__ ~) \--______________--~~ + * # //.-~~~-~_--~- |-------~~~~~~~~ + * # //.-~~~--\ + * # 神兽保佑 + * # 永无BUG! + */ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchAdminUser; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AdminUserMapper; +import com.nanjing.water.repository.po.AdminUserPO; +import org.springframework.stereotype.Repository; + +/** + * 管理员帐号 + * @author lin.liu + * @description 管理员帐号 + */ +@Repository +public class AdminUserMapperImpl extends BasicMapperImpl<AdminUserPO, AdminUserMapper> { + AdminUserMapperImpl(AdminUserMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AdminUserPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAdminUser search = (SearchAdminUser) request; + // 查询条件 + LambdaQueryWrapper<AdminUserPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AdminUserPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AdminUserPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AdminUserPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AdminUserPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AdminUserPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(AdminUserPO::getUserName, search.getKeywords()) + .or().like(AdminUserPO::getNickName, search.getKeywords()) + .or().like(AdminUserPO::getContact, search.getKeywords()) + .or().like(AdminUserPO::getEmail, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AdminUserPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AdminUserPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AdminUserPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AdminUserPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AdminUserPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AdminUserPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AdminUserPO::getId); + } + Page<AdminUserPO> pageResult = DB.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + /** + * 根据用户名获取管理端用户 + * @param userName 用户名 + */ + public AdminUserPO get4Name(String userName) { + // 查询条件 + LambdaQueryWrapper<AdminUserPO> queryWrapper = this.query(); + queryWrapper.eq(AdminUserPO::getUserName, userName); + return DB.selectOne(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AlarmHistoryMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AlarmHistoryMapperImpl.java new file mode 100644 index 0000000..3958153 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AlarmHistoryMapperImpl.java @@ -0,0 +1,152 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchAlarmHistory; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AlarmHistoryMapper; +import com.nanjing.water.repository.po.AlarmHistoryPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 报警信息 + * @author lin.liu + */ +@Repository +public class AlarmHistoryMapperImpl extends BasicMapperImpl<AlarmHistoryPO, AlarmHistoryMapper> { + AlarmHistoryMapperImpl(AlarmHistoryMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AlarmHistoryPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAlarmHistory search = (SearchAlarmHistory)request; + // 查询条件 + LambdaQueryWrapper<AlarmHistoryPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AlarmHistoryPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AlarmHistoryPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AlarmHistoryPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AlarmHistoryPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AlarmHistoryPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(AlarmHistoryPO::getName, search.getKeywords()) + // .or().like(AlarmHistoryPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AlarmHistoryPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AlarmHistoryPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AlarmHistoryPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AlarmHistoryPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AlarmHistoryPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AlarmHistoryPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AlarmHistoryPO::getId); + } + Page<AlarmHistoryPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(AlarmHistoryPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(AlarmHistoryPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public AlarmHistoryPO getById(Long id) { + return super.get(id); + } + + public List<AlarmHistoryPO> getListById(List<Long> listId) { + return super.getList(listId); + } + + + public List<AlarmHistoryPO> getListByTime(Long beginTime,Long endTime) { + LambdaQueryWrapper<AlarmHistoryPO> queryWrapper = this.query(); + queryWrapper.between(AlarmHistoryPO::getLastTime,beginTime,endTime); + return super.selectList(queryWrapper); + } + public AlarmHistoryPO getListByFacilityId(Long facilityId,Integer code) { + LambdaQueryWrapper<AlarmHistoryPO> queryWrapper = this.query(); + queryWrapper.eq(AlarmHistoryPO::getFacilityId,facilityId); + queryWrapper.eq(AlarmHistoryPO::getCode,code); + queryWrapper.ne(AlarmHistoryPO::getIsConfirm,30); + queryWrapper.ne(AlarmHistoryPO::getIsConfirm,200); + return super.selectOne(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/AlarmSchemeMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/AlarmSchemeMapperImpl.java new file mode 100644 index 0000000..cbe25cf --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/AlarmSchemeMapperImpl.java @@ -0,0 +1,144 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchAlarmScheme; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.AlarmSchemeMapper; +import com.nanjing.water.repository.po.AlarmSchemePO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 报警方案设置 + * @author lin.liu + */ +@Repository +public class AlarmSchemeMapperImpl extends BasicMapperImpl<AlarmSchemePO, AlarmSchemeMapper> { + AlarmSchemeMapperImpl(AlarmSchemeMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<AlarmSchemePO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchAlarmScheme search = (SearchAlarmScheme)request; + // 查询条件 + LambdaQueryWrapper<AlarmSchemePO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(AlarmSchemePO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, AlarmSchemePO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), AlarmSchemePO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, AlarmSchemePO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, AlarmSchemePO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(AlarmSchemePO::getName, search.getKeywords()) + // .or().like(AlarmSchemePO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(AlarmSchemePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(AlarmSchemePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(AlarmSchemePO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(AlarmSchemePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(AlarmSchemePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(AlarmSchemePO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(AlarmSchemePO::getId); + } + Page<AlarmSchemePO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(AlarmSchemePO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(AlarmSchemePO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public AlarmSchemePO getById(Long id) { + return super.get(id); + } + + public AlarmSchemePO getByFacilityId(Long facilityId,String code) { + LambdaQueryWrapper<AlarmSchemePO> queryWrapper = this.query(); + queryWrapper.eq(AlarmSchemePO::getFacilityId,facilityId); + queryWrapper.eq(AlarmSchemePO::getColumnsCode,code); + return super.selectOne(queryWrapper); + } + + public List<AlarmSchemePO> getListById(List<Long> listId) { + return super.getList(listId); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/CommonParametersMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/CommonParametersMapperImpl.java new file mode 100644 index 0000000..cac862c --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/CommonParametersMapperImpl.java @@ -0,0 +1,156 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchCommonParameters; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.CommonParametersMapper; +import com.nanjing.water.repository.po.CommonParametersPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 公共参数 + * @author lin.liu + */ +@Repository +public class CommonParametersMapperImpl extends BasicMapperImpl<CommonParametersPO, CommonParametersMapper> { + CommonParametersMapperImpl(CommonParametersMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<CommonParametersPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchCommonParameters search = (SearchCommonParameters)request; + // 查询条件 + LambdaQueryWrapper<CommonParametersPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(CommonParametersPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, CommonParametersPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), CommonParametersPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, CommonParametersPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, CommonParametersPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(CommonParametersPO::getName, search.getKeywords()) + .or().like(CommonParametersPO::getUnit, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + ESortOrderBy orderBy = ESortOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(CommonParametersPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(CommonParametersPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(CommonParametersPO::getUpdateTime); + break; + // 最后更新时间 + case SORT: + queryWrapper.orderByAsc(CommonParametersPO::getSort); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(CommonParametersPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(CommonParametersPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(CommonParametersPO::getUpdateTime); + break; + // 最后更新时间 + case SORT: + queryWrapper.orderByDesc(CommonParametersPO::getSort); + break; + } + } + } + } else { + queryWrapper.orderByDesc(CommonParametersPO::getSort); + } + Page<CommonParametersPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(CommonParametersPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public CommonParametersPO getByMark(String mark){ + LambdaQueryWrapper<CommonParametersPO> queryWrapper = this.query(); + queryWrapper.eq(CommonParametersPO::getMark, mark); + return super.selectOne(queryWrapper); + } + public Boolean addNotIncrement(CommonParametersPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public CommonParametersPO getById(Long id) { + return super.get(id); + } + + public List<CommonParametersPO> getListById(List<Long> listId) { + return super.getList(listId); + } + + public List<CommonParametersPO> list4Mark(List<String> listMark) { + LambdaQueryWrapper<CommonParametersPO> queryWrapper = this.query(); + queryWrapper.in(CommonParametersPO::getMark, listMark); + return super.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/SysDictDataMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/SysDictDataMapperImpl.java new file mode 100644 index 0000000..4f1474e --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/SysDictDataMapperImpl.java @@ -0,0 +1,187 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchSysDictData; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.SysDictDataMapper; +import com.nanjing.water.repository.po.SysDictDataPO; +import org.springframework.stereotype.Repository; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 字典数据表 + * @author lin.liu + * @description 字典数据表 + */ +@Repository +public class SysDictDataMapperImpl extends BasicMapperImpl<SysDictDataPO, SysDictDataMapper> { + SysDictDataMapperImpl(SysDictDataMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<SysDictDataPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchSysDictData search = (SearchSysDictData)request; + // 查询条件 + LambdaQueryWrapper<SysDictDataPO> queryWrapper = this.query(); + // 状态 + queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, SysDictDataPO::getStatus, search.getStatus()); + // 状态列表 + queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), SysDictDataPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, SysDictDataPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, SysDictDataPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.like(SysDictDataPO::getDictLabel, search.getKeywords()); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(SysDictDataPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(SysDictDataPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(SysDictDataPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(SysDictDataPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(SysDictDataPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(SysDictDataPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(SysDictDataPO::getId); + } + Page<SysDictDataPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(SysDictDataPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + /** + * 根据type获取数据列表 + * @param type 类型 + */ + public List<SysDictDataPO> getListByType(String type) { + LambdaQueryWrapper<SysDictDataPO> queryWrapper = this.query(); + queryWrapper.eq(SysDictDataPO::getDictType, type); + return DB.selectList(queryWrapper); + } + public Long count4Type(String type) { + LambdaQueryWrapper<SysDictDataPO> queryWrapper = this.query(); + queryWrapper.eq(SysDictDataPO::getDictType, type); + return DB.getCount(queryWrapper); + } + public List<String> findExists4Type(List<String> listType) { + LambdaQueryWrapper<SysDictDataPO> queryWrapper = this.query(); + queryWrapper.select(SysDictDataPO.class, c -> c.getColumn().equals("dict_type")); + queryWrapper.in(SysDictDataPO::getDictType, listType); + List<Map<String, Object>> result = DB.selectMaps(queryWrapper); + return result.stream().map(c -> c.get("dict_type").toString()).distinct().collect(Collectors.toList()); + } + + public Boolean addNotIncrement(SysDictDataPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public SysDictDataPO getById(Long id) { + return super.get(id); + } + + public List<SysDictDataPO> getListById(List<Long> listId) { + return super.getList(listId); + } + + public List<SysDictDataPO> listByType(List<String> listType) { + LambdaQueryWrapper<SysDictDataPO> queryWrapper = this.query(); + queryWrapper.in(SysDictDataPO::getDictType, listType); + return DB.selectList(queryWrapper); + } + + public Map<String, Map<String, String>> map4Type(List<String> listType) { + Map<String, Map<String, String>> result = new HashMap<>(); + + List<SysDictDataPO> listDictData = this.listByType(listType); + Map<String, List<SysDictDataPO>> map4Type = listDictData.stream().collect(Collectors.groupingBy(SysDictDataPO::getDictType)); + for (Map.Entry<String, List<SysDictDataPO>> entry : map4Type.entrySet()) { + Map<String, String> mapData = entry.getValue().stream().collect( + Collectors.toMap(SysDictDataPO::getDictValue, SysDictDataPO::getDictLabel) + ); + result.put(entry.getKey(), mapData); + } + return result; + } + + public Map<String, SysDictDataPO> map4Type(String type) { + List<SysDictDataPO> listDictData = this.getListByType(type); + if (ListUtil.isNullOrEmpty(listDictData)) { + return new HashMap<>(); + } + return listDictData.stream().collect(Collectors.toMap(SysDictDataPO::getDictValue, c -> c)); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/SysDictTypeMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/SysDictTypeMapperImpl.java new file mode 100644 index 0000000..8c91771 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/SysDictTypeMapperImpl.java @@ -0,0 +1,150 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchSysDictType; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.SysDictTypeMapper; +import com.nanjing.water.repository.po.SysDictTypePO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 字典类型表 + * @author lin.liu + * @description 字典类型表 + */ +@Repository +public class SysDictTypeMapperImpl extends BasicMapperImpl<SysDictTypePO, SysDictTypeMapper> { + SysDictTypeMapperImpl(SysDictTypeMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<SysDictTypePO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchSysDictType search = (SearchSysDictType)request; + // 查询条件 + LambdaQueryWrapper<SysDictTypePO> queryWrapper = this.query(); + // 状态 + queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, SysDictTypePO::getStatus, search.getStatus()); + // 状态列表 + queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), SysDictTypePO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, SysDictTypePO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, SysDictTypePO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(SysDictTypePO::getDictType, search.getKeywords()) + .or().like(SysDictTypePO::getDictName, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(SysDictTypePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(SysDictTypePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(SysDictTypePO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(SysDictTypePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(SysDictTypePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(SysDictTypePO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(SysDictTypePO::getId); + } + Page<SysDictTypePO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(SysDictTypePO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(SysDictTypePO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public SysDictTypePO getById(Long id) { + return super.get(id); + } + + public List<SysDictTypePO> getListById(List<Long> listId) { + return super.getList(listId); + } + + public SysDictTypePO get4Type(String type) { + LambdaQueryWrapper<SysDictTypePO> queryWrapper = this.query(); + queryWrapper.eq(SysDictTypePO::getDictType, type); + return DB.selectOne(queryWrapper); + } + + public List<SysDictTypePO> get4Type(List<String> listType) { + LambdaQueryWrapper<SysDictTypePO> queryWrapper = this.query(); + queryWrapper.in(SysDictTypePO::getDictType, listType); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/SysRegionMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/SysRegionMapperImpl.java new file mode 100644 index 0000000..f6af1ec --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/SysRegionMapperImpl.java @@ -0,0 +1,162 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchSysRegion; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.SysRegionMapper; +import com.nanjing.water.repository.po.SysRegionPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 系统行政地区 + * @author lin.liu + */ +@Repository +public class SysRegionMapperImpl extends BasicMapperImpl<SysRegionPO, SysRegionMapper> { + SysRegionMapperImpl(SysRegionMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<SysRegionPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchSysRegion search = (SearchSysRegion)request; + // 查询条件 + LambdaQueryWrapper<SysRegionPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(SysRegionPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, SysRegionPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), SysRegionPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, SysRegionPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, SysRegionPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(SysRegionPO::getName, search.getKeywords()) + // .or().like(SysRegionPO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(SysRegionPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(SysRegionPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(SysRegionPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(SysRegionPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(SysRegionPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(SysRegionPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(SysRegionPO::getId); + } + Page<SysRegionPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(SysRegionPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + public List<SysRegionPO> getList4Parent(String code) { + LambdaQueryWrapper<SysRegionPO> queryWrapper = this.query(); + queryWrapper.eq(SysRegionPO::getParentCode,code); + return DB.selectList(queryWrapper); + } + public SysRegionPO get4Code(String code) { + LambdaQueryWrapper<SysRegionPO> queryWrapper = this.query(); + queryWrapper.eq(SysRegionPO::getCode,code); + return DB.selectOne(queryWrapper); + } + public List<SysRegionPO> getList4LevelChild(Integer level) { + LambdaQueryWrapper<SysRegionPO> queryWrapper = this.query(); + queryWrapper.gt(SysRegionPO::getLevel,level); + return DB.selectList(queryWrapper); + } + public List<SysRegionPO> getList4Level(Integer level) { + LambdaQueryWrapper<SysRegionPO> queryWrapper = this.query(); + queryWrapper.eq(SysRegionPO::getLevel,level); + return DB.selectList(queryWrapper); + } + public Boolean addNotIncrement(SysRegionPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public SysRegionPO getById(Long id) { + return super.get(id); + } + + public List<SysRegionPO> getListById(List<Long> listId) { + return super.getList(listId); + } + + public List<SysRegionPO> list4Code(List<String> listCode) { + LambdaQueryWrapper<SysRegionPO> queryWrapper = this.query(); + queryWrapper.in(SysRegionPO::getCode, listCode); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/WaterFacilityMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/WaterFacilityMapperImpl.java new file mode 100644 index 0000000..81a64ba --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/WaterFacilityMapperImpl.java @@ -0,0 +1,156 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.dto.OrderByDTO; +import com.nanjing.water.entity.dto.SearchBasicDTO; +import com.nanjing.water.entity.enums.EOrderBy; +import com.nanjing.water.entity.search.SearchWaterFacility; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.WaterFacilityMapper; +import com.nanjing.water.repository.po.WaterFacilityPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 设备信息 + * @author lin.liu + */ +@Repository +public class WaterFacilityMapperImpl extends BasicMapperImpl<WaterFacilityPO, WaterFacilityMapper> { + WaterFacilityMapperImpl(WaterFacilityMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<WaterFacilityPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchWaterFacility search = (SearchWaterFacility)request; + // 查询条件 + LambdaQueryWrapper<WaterFacilityPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(WaterFacilityPO::getIsDelete, EYesOrNo.NO.getValue()); + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, WaterFacilityPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, WaterFacilityPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(WaterFacilityPO::getFacilityName, search.getKeywords()) + .or().like(WaterFacilityPO::getFacilityCode, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(WaterFacilityPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(WaterFacilityPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(WaterFacilityPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(WaterFacilityPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(WaterFacilityPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(WaterFacilityPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(WaterFacilityPO::getId); + } + Page<WaterFacilityPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(WaterFacilityPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(WaterFacilityPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + public List<WaterFacilityPO> getListByCode(List<String> listCode) { + LambdaQueryWrapper<WaterFacilityPO> queryWrapper = this.query(); + queryWrapper.in(WaterFacilityPO::getFacilityCode,listCode); + return super.selectList(queryWrapper); + } + public WaterFacilityPO getByCode(String code) { + LambdaQueryWrapper<WaterFacilityPO> queryWrapper = this.query(); + queryWrapper.eq(WaterFacilityPO::getFacilityCode,code); + return super.selectOne(queryWrapper); + } + + public List<WaterFacilityPO> getListByPointId(Long pointId) { + LambdaQueryWrapper<WaterFacilityPO> queryWrapper = this.query(); + queryWrapper.eq(WaterFacilityPO::getPointId,pointId); + return super.selectList(queryWrapper); + } +// public List<WaterFacilityPO> getListByPointTypeId(Long pointTypeId) { +// LambdaQueryWrapper<WaterFacilityPO> queryWrapper = this.query(); +// queryWrapper.eq(WaterFacilityPO::getPointTypeId,pointTypeId); +// return super.selectList(queryWrapper); +// } + public WaterFacilityPO getById(Long id) { + return super.get(id); + } + + public List<WaterFacilityPO> getListById(List<Long> listId) { + return super.getList(listId); + } + +} diff --git a/src/main/java/com/nanjing/water/repository/impl/WaterFacilityParameterMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/WaterFacilityParameterMapperImpl.java new file mode 100644 index 0000000..7e8a0d1 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/WaterFacilityParameterMapperImpl.java @@ -0,0 +1,151 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchWaterFacilityParameter; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.WaterFacilityParameterMapper; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Repository +public class WaterFacilityParameterMapperImpl extends BasicMapperImpl<WaterFacilityParameterPO, WaterFacilityParameterMapper> { + WaterFacilityParameterMapperImpl(WaterFacilityParameterMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<WaterFacilityParameterPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchWaterFacilityParameter search = (SearchWaterFacilityParameter)request; + // 查询条件 + LambdaQueryWrapper<WaterFacilityParameterPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(WaterFacilityParameterPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, WaterFacilityParameterPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), WaterFacilityParameterPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, WaterFacilityParameterPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, WaterFacilityParameterPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(WaterFacilityParameterPO::getFacilityCode, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(WaterFacilityParameterPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(WaterFacilityParameterPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(WaterFacilityParameterPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(WaterFacilityParameterPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(WaterFacilityParameterPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(WaterFacilityParameterPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(WaterFacilityParameterPO::getId); + } + Page<WaterFacilityParameterPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(WaterFacilityParameterPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + public List<WaterFacilityParameterPO> getCodeList(List<String> codeList) { + LambdaQueryWrapper<WaterFacilityParameterPO> queryWrapper = this.query(); + queryWrapper.in(WaterFacilityParameterPO::getFacilityCode,codeList); + return super.selectList(queryWrapper); + } + public Boolean addNotIncrement(WaterFacilityParameterPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + public List<WaterFacilityParameterPO> getListByFacilityId(Long facilityId) { + LambdaQueryWrapper<WaterFacilityParameterPO> queryWrapper = this.query(); + queryWrapper.eq(WaterFacilityParameterPO::getFacilityId,facilityId); + queryWrapper.eq(WaterFacilityParameterPO::getIsDelete,EYesOrNo.NO.getValue()); + return DB.selectList(queryWrapper); + } + public WaterFacilityParameterPO getById(Long id) { + return super.get(id); + } + + public List<WaterFacilityParameterPO> getListById(List<Long> listId) { + return super.getList(listId); + } + + public List<WaterFacilityParameterPO> getListByFacilityId(List<Long> facilityId) { + LambdaQueryWrapper<WaterFacilityParameterPO> queryWrapper = this.query(); + queryWrapper.in(WaterFacilityParameterPO::getFacilityId, facilityId); + return DB.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/WaterFacilityTypeMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/WaterFacilityTypeMapperImpl.java new file mode 100644 index 0000000..88d2de8 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/WaterFacilityTypeMapperImpl.java @@ -0,0 +1,142 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchWaterFacilityType; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.WaterFacilityTypeMapper; +import com.nanjing.water.repository.po.WaterFacilityTypePO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 设备类型 + * @author lin.liu + */ +@Repository +public class WaterFacilityTypeMapperImpl extends BasicMapperImpl<WaterFacilityTypePO, WaterFacilityTypeMapper> { + WaterFacilityTypeMapperImpl(WaterFacilityTypeMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<WaterFacilityTypePO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchWaterFacilityType search = (SearchWaterFacilityType)request; + // 查询条件 + LambdaQueryWrapper<WaterFacilityTypePO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(WaterFacilityTypePO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, WaterFacilityTypePO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), WaterFacilityTypePO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, WaterFacilityTypePO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, WaterFacilityTypePO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + //if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + // queryWrapper.and(q -> + // q.like(WaterFacilityTypePO::getName, search.getKeywords()) + // .or().like(WaterFacilityTypePO::getPhone, search.getKeywords()) + // ); + //} + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(WaterFacilityTypePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(WaterFacilityTypePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(WaterFacilityTypePO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(WaterFacilityTypePO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(WaterFacilityTypePO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(WaterFacilityTypePO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(WaterFacilityTypePO::getId); + } + Page<WaterFacilityTypePO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(WaterFacilityTypePO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(WaterFacilityTypePO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public WaterFacilityTypePO getById(Long id) { + return super.get(id); + } + + public WaterFacilityTypePO getByCode(String code) { + LambdaQueryWrapper<WaterFacilityTypePO> queryWrapper = this.query(); + queryWrapper.eq(WaterFacilityTypePO::getCode,code); + return super.selectOne(queryWrapper); + } + public List<WaterFacilityTypePO> getListById(List<Long> listId) { + return super.getList(listId); + } +} diff --git a/src/main/java/com/nanjing/water/repository/impl/WaterMonitoryPointMapperImpl.java b/src/main/java/com/nanjing/water/repository/impl/WaterMonitoryPointMapperImpl.java new file mode 100644 index 0000000..724c1b2 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/impl/WaterMonitoryPointMapperImpl.java @@ -0,0 +1,152 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.dto.*; +import com.nanjing.water.entity.enums.*; +import com.nanjing.water.entity.search.SearchWaterMonitoryPoint; +import com.nanjing.water.repository.BasicMapperImpl; +import com.nanjing.water.repository.mapper.WaterMonitoryPointMapper; +import com.nanjing.water.repository.po.WaterMonitoryPointPO; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 监控点 + * @author lin.liu + */ +@Repository +public class WaterMonitoryPointMapperImpl extends BasicMapperImpl<WaterMonitoryPointPO, WaterMonitoryPointMapper> { + WaterMonitoryPointMapperImpl(WaterMonitoryPointMapper mapper) { + super(mapper); + } + + @Override + public PagerResult<WaterMonitoryPointPO> search(SearchBasicDTO request) { + // 还原查询条件真实类型 + SearchWaterMonitoryPoint search = (SearchWaterMonitoryPoint)request; + // 查询条件 + LambdaQueryWrapper<WaterMonitoryPointPO> queryWrapper = this.query(); + // 非逻辑删除 + queryWrapper.eq(WaterMonitoryPointPO::getIsDelete, EYesOrNo.NO.getValue()); + // 状态 + //queryWrapper.eq(NumericUtil.tryParseInt(search.getStatus()).compareTo(0) > 0, WaterMonitoryPointPO::getStatus, search.getStatus()); + // 状态列表 + //queryWrapper.in(ListUtil.isNotNullOrEmpty(search.getListStatus()), WaterMonitoryPointPO::getStatus, search.getListStatus()); + + // 数据创建时间-起始 + queryWrapper.ge(NumericUtil.tryParseLong(search.getCreateTimeStart()).compareTo(0L) > 0, WaterMonitoryPointPO::getCreateTime, search.getCreateTimeStart()); + // 数据创建时间-截止 + queryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, WaterMonitoryPointPO::getCreateTime, search.getCreateTimeEnd()); + // 关键字 + if (StringUtil.isNotNullOrEmpty(search.getKeywords())) { + queryWrapper.and(q -> + q.like(WaterMonitoryPointPO::getPointName, search.getKeywords()) + ); + } + + // 排序处理 + if (ListUtil.isNotNullOrEmpty(search.getOrderBy())) { + for (OrderByDTO item : search.getOrderBy()) { + EOrderBy orderBy = EOrderBy.getByValue(item.getOrderBy()); + // 顺序排序 + if (item.getIsAsc()) { + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByAsc(WaterMonitoryPointPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByAsc(WaterMonitoryPointPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByAsc(WaterMonitoryPointPO::getUpdateTime); + break; + } + } else { + // 倒叙排序 + switch (orderBy) { + // 主键 + case ID: + queryWrapper.orderByDesc(WaterMonitoryPointPO::getId); + break; + // 数据创建时间 + case CREATE_TIME: + queryWrapper.orderByDesc(WaterMonitoryPointPO::getCreateTime); + break; + // 最后更新时间 + case UPDATE_TIME: + queryWrapper.orderByDesc(WaterMonitoryPointPO::getUpdateTime); + break; + } + } + } + } else { + queryWrapper.orderByDesc(WaterMonitoryPointPO::getId); + } + Page<WaterMonitoryPointPO> pageResult = super.selectPage(new Page<>(search.getPage(), search.getLimit()), queryWrapper); + return new PagerResult<>(pageResult.getSize(), pageResult.getCurrent(), pageResult.getTotal(), pageResult.getRecords()); + } + + public Boolean add(WaterMonitoryPointPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public Boolean addNotIncrement(WaterMonitoryPointPO item) { + int rowCount = super.insert(item); + return rowCount == 1; + } + + public WaterMonitoryPointPO getById(Long id) { + return super.get(id); + } + + public WaterMonitoryPointPO getByCode(String code) { + LambdaQueryWrapper<WaterMonitoryPointPO> queryWrapper = this.query(); + queryWrapper.eq(WaterMonitoryPointPO::getPointCode,code); + return super.selectOne(queryWrapper); + } + public List<WaterMonitoryPointPO> getListById(List<Long> listId) { + return super.getList(listId); + } + + public WaterMonitoryPointPO likeCode(String code) { + LambdaQueryWrapper<WaterMonitoryPointPO> queryWrapper = this.query(); + queryWrapper.like(WaterMonitoryPointPO::getPointCode, code); + return super.selectOne(queryWrapper); + } + public List<WaterMonitoryPointPO> getListByType(Integer type) { + LambdaQueryWrapper<WaterMonitoryPointPO> queryWrapper = this.query(); + queryWrapper.eq(WaterMonitoryPointPO::getPointType,type); + return super.selectList(queryWrapper); + } +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminMenuMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminMenuMapper.java new file mode 100644 index 0000000..c165ad7 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminMenuMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminMenuPO; + +/** + * 菜单 mapper + * @author lin.liu + */ +public interface AdminMenuMapper extends BasicMapper<AdminMenuPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminMenusMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminMenusMapper.java new file mode 100644 index 0000000..dea04fc --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminMenusMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminMenusPO; + +/** + * 菜单信息 mapper + * @author lin.liu + */ +public interface AdminMenusMapper extends BasicMapper<AdminMenusPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminPermissionMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminPermissionMapper.java new file mode 100644 index 0000000..98557a9 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminPermissionMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminPermissionPO; + +/** + * 权限 mapper + * @author lin.liu + */ +public interface AdminPermissionMapper extends BasicMapper<AdminPermissionPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminRoleMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminRoleMapper.java new file mode 100644 index 0000000..c282df8 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminRoleMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminRolePO; + +/** + * 角色 mapper + * @author lin.liu + */ +public interface AdminRoleMapper extends BasicMapper<AdminRolePO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminRoleMenuRelationMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminRoleMenuRelationMapper.java new file mode 100644 index 0000000..11da56f --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminRoleMenuRelationMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminRoleMenuRelationPO; + +/** + * 角色菜单关联关系 mapper + * @author lin.liu + */ +public interface AdminRoleMenuRelationMapper extends BasicMapper<AdminRoleMenuRelationPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminRolePermissionRelationMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminRolePermissionRelationMapper.java new file mode 100644 index 0000000..ffbafdd --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminRolePermissionRelationMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminRolePermissionRelationPO; + +/** + * 角色权限关联关系 mapper + * @author lin.liu + */ +public interface AdminRolePermissionRelationMapper extends BasicMapper<AdminRolePermissionRelationPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminRoleRelationMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminRoleRelationMapper.java new file mode 100644 index 0000000..2e527cf --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminRoleRelationMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminRoleRelationPO; + +/** + * 用户和角色关联关系 mapper + * @author lin.liu + */ +public interface AdminRoleRelationMapper extends BasicMapper<AdminRoleRelationPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AdminUserMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AdminUserMapper.java new file mode 100644 index 0000000..9d92320 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AdminUserMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AdminUserPO; + +/** + * 管理员帐号 mapper + * @author lin.liu + */ +public interface AdminUserMapper extends BasicMapper<AdminUserPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AlarmHistoryMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AlarmHistoryMapper.java new file mode 100644 index 0000000..bb0f0c2 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AlarmHistoryMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AlarmHistoryPO; + +/** + * 报警信息 mapper + * @author lin.liu + */ +public interface AlarmHistoryMapper extends BasicMapper<AlarmHistoryPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/AlarmSchemeMapper.java b/src/main/java/com/nanjing/water/repository/mapper/AlarmSchemeMapper.java new file mode 100644 index 0000000..0002fb0 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/AlarmSchemeMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.AlarmSchemePO; + +/** + * 报警方案设置 mapper + * @author lin.liu + */ +public interface AlarmSchemeMapper extends BasicMapper<AlarmSchemePO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/CommonParametersMapper.java b/src/main/java/com/nanjing/water/repository/mapper/CommonParametersMapper.java new file mode 100644 index 0000000..f6ec82a --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/CommonParametersMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.CommonParametersPO; + +/** + * 公共参数 mapper + * @author lin.liu + */ +public interface CommonParametersMapper extends BasicMapper<CommonParametersPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/SysDictDataMapper.java b/src/main/java/com/nanjing/water/repository/mapper/SysDictDataMapper.java new file mode 100644 index 0000000..2dcadd2 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/SysDictDataMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.SysDictDataPO; + +/** + * 字典数据 mapper + * @author lin.liu + */ +public interface SysDictDataMapper extends BasicMapper<SysDictDataPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/SysDictTypeMapper.java b/src/main/java/com/nanjing/water/repository/mapper/SysDictTypeMapper.java new file mode 100644 index 0000000..f029eea --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/SysDictTypeMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.SysDictTypePO; + +/** + * 字典类型 mapper + * @author lin.liu + */ +public interface SysDictTypeMapper extends BasicMapper<SysDictTypePO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/SysRegionMapper.java b/src/main/java/com/nanjing/water/repository/mapper/SysRegionMapper.java new file mode 100644 index 0000000..5d38537 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/SysRegionMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.SysRegionPO; + +/** + * 系统行政地区 mapper + * @author lin.liu + */ +public interface SysRegionMapper extends BasicMapper<SysRegionPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityMapper.java b/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityMapper.java new file mode 100644 index 0000000..36a3193 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityMapper.java @@ -0,0 +1,14 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.WaterFacilityPO; + + +/** + * 设备信息 mapper + * + * @author lin.liu + */ +public interface WaterFacilityMapper extends BasicMapper<WaterFacilityPO> { + +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityParameterMapper.java b/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityParameterMapper.java new file mode 100644 index 0000000..25c40de --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityParameterMapper.java @@ -0,0 +1,12 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; + +/** + * 设备设定参数 mapper + * + * @author lin.liu + */ +public interface WaterFacilityParameterMapper extends BasicMapper<WaterFacilityParameterPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityTypeMapper.java b/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityTypeMapper.java new file mode 100644 index 0000000..8009a86 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/WaterFacilityTypeMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.WaterFacilityTypePO; + +/** + * 设备类型 mapper + * @author lin.liu + */ +public interface WaterFacilityTypeMapper extends BasicMapper<WaterFacilityTypePO> { +} diff --git a/src/main/java/com/nanjing/water/repository/mapper/WaterMonitoryPointMapper.java b/src/main/java/com/nanjing/water/repository/mapper/WaterMonitoryPointMapper.java new file mode 100644 index 0000000..ade60fe --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/mapper/WaterMonitoryPointMapper.java @@ -0,0 +1,11 @@ +package com.nanjing.water.repository.mapper; + +import com.nanjing.water.repository.BasicMapper; +import com.nanjing.water.repository.po.WaterMonitoryPointPO; + +/** + * 监控点 mapper + * @author lin.liu + */ +public interface WaterMonitoryPointMapper extends BasicMapper<WaterMonitoryPointPO> { +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminMenuPO.java b/src/main/java/com/nanjing/water/repository/po/AdminMenuPO.java new file mode 100644 index 0000000..8dacf69 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminMenuPO.java @@ -0,0 +1,105 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 菜单 + * @author lin.liu + */ +@Data +@TableName("admin_menu") +public class AdminMenuPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 父级ID + */ + @TableField(value = "parent_id") + private Long parentId; + /** + * 类型 EMenuType + */ + @TableField(value = "type") + private Integer type; + /** + * 菜单名称 + */ + @TableField(value = "name") + private String name; + /** + * 菜单标题 + */ + @TableField(value = "title") + private String title; + /** + * 前端资源路径 + */ + @TableField(value = "url") + private String url; + /** + * 菜单层级 + */ + @TableField(value = "level") + private Integer level; + /** + * 排序值 + */ + @TableField(value = "sort") + private Integer sort; + /** + * 图标 + */ + @TableField(value = "icon") + private String icon; + /** + * 状态 EState + */ + @TableField(value = "status") + private Integer status; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminMenusPO.java b/src/main/java/com/nanjing/water/repository/po/AdminMenusPO.java new file mode 100644 index 0000000..ff7d418 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminMenusPO.java @@ -0,0 +1,100 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 菜单信息 + * @author lin.liu + */ +@Data +@TableName("admin_menus") +public class AdminMenusPO implements Serializable { + /** + * 主键id + */ + private Long id; + /** + * 父级id + */ + @TableField(value = "parent_id") + private Long parentId; + /** + * 菜单名称 + */ + @TableField(value = "name") + private String name; + /** + * 菜单标题 + */ + @TableField(value = "title") + private String title; + /** + * 前端资源路径 + */ + @TableField(value = "uri") + private String uri; + /** + * 菜单层级 + */ + @TableField(value = "level") + private Integer level; + /** + * 排序值 + */ + @TableField(value = "sort") + private Integer sort; + /** + * 图标 + */ + @TableField(value = "icon") + private String icon; + /** + * 状态 EState + */ + @TableField(value = "status") + private Integer status; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminPermissionPO.java b/src/main/java/com/nanjing/water/repository/po/AdminPermissionPO.java new file mode 100644 index 0000000..84ac543 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminPermissionPO.java @@ -0,0 +1,95 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 权限 + * @author lin.liu + */ +@Data +@TableName("admin_permission") +public class AdminPermissionPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 权限值 + */ + @TableField(value = "sn") + private String sn; + /** + * 菜单id + */ + @TableField(value = "menu_id") + private Long menuId; + /** + * 前端资源url + */ + @TableField(value = "menu_url") + private String menuUrl; + /** + * 名称 + */ + @TableField(value = "name") + private String name; + /** + * 图标 + */ + @TableField(value = "icon") + private String icon; + /** + * 权限类型 EOperation + */ + @TableField(value = "type") + private String type; + /** + * 状态 EStatus + */ + @TableField(value = "status") + private Integer status; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminRoleMenuRelationPO.java b/src/main/java/com/nanjing/water/repository/po/AdminRoleMenuRelationPO.java new file mode 100644 index 0000000..ef60955 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminRoleMenuRelationPO.java @@ -0,0 +1,70 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 角色菜单关联关系 + * @author lin.liu + */ +@Data +@TableName("admin_role_menu_relation") +public class AdminRoleMenuRelationPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 角色id + */ + @TableField(value = "role_id") + private Long roleId; + /** + * 菜单id + */ + @TableField(value = "menu_id") + private Long menuId; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminRolePO.java b/src/main/java/com/nanjing/water/repository/po/AdminRolePO.java new file mode 100644 index 0000000..7e91b15 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminRolePO.java @@ -0,0 +1,80 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 角色 + * @author lin.liu + */ +@Data +@TableName("admin_role") +public class AdminRolePO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 角色名称 + */ + @TableField(value = "name") + private String name; + /** + * 描述 + */ + @TableField(value = "description") + private String description; + /** + * 状态 EState + */ + @TableField(value = "status") + private Integer status; + /** + * 排序值 + */ + @TableField(value = "sort") + private Integer sort; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminRolePermissionRelationPO.java b/src/main/java/com/nanjing/water/repository/po/AdminRolePermissionRelationPO.java new file mode 100644 index 0000000..3578b53 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminRolePermissionRelationPO.java @@ -0,0 +1,70 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 角色权限关联关系 + * @author lin.liu + */ +@Data +@TableName("admin_role_permission_relation") +public class AdminRolePermissionRelationPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 角色id + */ + @TableField(value = "role_id") + private Long roleId; + /** + * 权限id + */ + @TableField(value = "permission_id") + private Long permissionId; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminRoleRelationPO.java b/src/main/java/com/nanjing/water/repository/po/AdminRoleRelationPO.java new file mode 100644 index 0000000..e69b710 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminRoleRelationPO.java @@ -0,0 +1,70 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 用户和角色关联关系 + * @author lin.liu + */ +@Data +@TableName("admin_role_relation") +public class AdminRoleRelationPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 管理员id + */ + @TableField(value = "admin_id") + private Long adminId; + /** + * 角色id + */ + @TableField(value = "role_id") + private Long roleId; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AdminUserPO.java b/src/main/java/com/nanjing/water/repository/po/AdminUserPO.java new file mode 100644 index 0000000..18b5ce0 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AdminUserPO.java @@ -0,0 +1,105 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 管理员帐号 + * @author lin.liu + */ +@Data +@TableName("admin_user") +public class AdminUserPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 用户类型 EUserType + */ + @TableField(value = "user_type") + private Integer userType; + /** + * 用户关联id,和“user_type”对应,如:客户id等 + */ + @TableField(value = "user_rel_id") + private Long userRelId; + /** + * 用户名 + */ + @TableField(value = "user_name") + private String userName; + /** + * 密码 + */ + @TableField(value = "password") + private String password; + /** + * 昵称 + */ + @TableField(value = "nick_name") + private String nickName; + /** + * 头像 + */ + @TableField(value = "head_img") + private String headImg; + /** + * 联系方式 + */ + @TableField(value = "contact") + private String contact; + /** + * 联系邮箱 + */ + @TableField(value = "email") + private String email; + /** + * 状态 EState + */ + @TableField(value = "status") + private Integer status; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AlarmHistoryPO.java b/src/main/java/com/nanjing/water/repository/po/AlarmHistoryPO.java new file mode 100644 index 0000000..53cc88b --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AlarmHistoryPO.java @@ -0,0 +1,105 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 报警信息 + * @author lin.liu + */ +@Data +@TableName("alarm_history") +public class AlarmHistoryPO implements Serializable { + /** + * 主键id + */ + private Long id; + /** + * 设备id + */ + @TableField(value = "facility_id") + private Long facilityId; + /** + * 设备名称 + */ + @TableField(value = "facility_name") + private String facilityName; + /** + * 报警参数 + */ + @TableField(value = "code") + private Integer code; + /** + * 报警描述 + */ + @TableField(value = "description") + private String description; + /** + * 备注 + */ + @TableField(value = "comment") + private String comment; + /** + * 是否处理 + */ + @TableField(value = "is_solve") + private Integer isSolve; + /** + * 是否确认(10误报 20已证实,200已处理) + */ + @TableField(value = "is_confirm") + private Integer isConfirm; + /** + * 是否删除 + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; + /** + * 创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 修改时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 最后报警时间 + */ + @TableField(value = "last_time") + private Long lastTime; + /** + * 报警次数 + */ + @TableField(value = "total_count") + private Integer totalCount; +} diff --git a/src/main/java/com/nanjing/water/repository/po/AlarmSchemePO.java b/src/main/java/com/nanjing/water/repository/po/AlarmSchemePO.java new file mode 100644 index 0000000..6cf9c37 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/AlarmSchemePO.java @@ -0,0 +1,91 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.sql.Timestamp; + +/** + * 报警方案设置 + * @author lin.liu + */ +@Data +@TableName("alarm_scheme") +public class AlarmSchemePO implements Serializable { + /** + * 主键id + */ + private Long id; + /** + * 设备id + */ + @TableField(value = "facility_id") + private Long facilityId; + /** + * 设备参数 + */ + @TableField(value = "columns_code") + private String columnsCode; + /** + * 方案名称 + */ + @TableField(value = "scheme_name") + private String schemeName; + /** + * 低报警值 + */ + @TableField(value = "low_alarm") + private BigDecimal lowAlarm; + /** + * 高报警值 + */ + @TableField(value = "tall_alarm") + private BigDecimal tallAlarm; + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + /** + * 是否删除 + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; + /** + * 创建日期 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 修改日期 + */ + @TableField(value = "update_time") + private Timestamp updateTime; +} diff --git a/src/main/java/com/nanjing/water/repository/po/CommonParametersPO.java b/src/main/java/com/nanjing/water/repository/po/CommonParametersPO.java new file mode 100644 index 0000000..bba05cd --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/CommonParametersPO.java @@ -0,0 +1,80 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 公共参数 + * @author lin.liu + */ +@Data +@TableName("common_parameters") +public class CommonParametersPO implements Serializable { + /** + * 参数管理id,主键自增 + */ + private Long id; + /** + * 参数名称,与前端对接的名称 + */ + @TableField(value = "name") + private String name; + /** + * 参数标识,与硬件对接的名称 + */ + @TableField(value = "mark") + private String mark; + /** + * 单位 + */ + @TableField(value = "unit") + private String unit; + /** + * 排序值 + */ + @TableField(value = "sort") + private Integer sort; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除)(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/SysDictDataPO.java b/src/main/java/com/nanjing/water/repository/po/SysDictDataPO.java new file mode 100644 index 0000000..b193ebe --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/SysDictDataPO.java @@ -0,0 +1,85 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 字典数据 + * @author lin.liu + */ +@Data +@TableName("sys_dict_data") +public class SysDictDataPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 字典标题 + */ + @TableField(value = "dict_label") + private String dictLabel; + /** + * 字典键值 + */ + @TableField(value = "dict_value") + private String dictValue; + /** + * 字典类型 + */ + @TableField(value = "dict_type") + private String dictType; + /** + * 状态 + */ + @TableField(value = "status") + private Integer status; + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/SysDictTypePO.java b/src/main/java/com/nanjing/water/repository/po/SysDictTypePO.java new file mode 100644 index 0000000..51d8d1e --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/SysDictTypePO.java @@ -0,0 +1,80 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 字典类型 + * @author lin.liu + */ +@Data +@TableName("sys_dict_type") +public class SysDictTypePO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 字典名称 + */ + @TableField(value = "dict_name") + private String dictName; + /** + * 字典类型 + */ + @TableField(value = "dict_type") + private String dictType; + /** + * 状态 + */ + @TableField(value = "status") + private Integer status; + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/SysRegionPO.java b/src/main/java/com/nanjing/water/repository/po/SysRegionPO.java new file mode 100644 index 0000000..1d7c33c --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/SysRegionPO.java @@ -0,0 +1,126 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.sql.Timestamp; + +/** + * 系统行政地区 + * @author lin.liu + */ +@Data +@TableName("sys_region") +public class SysRegionPO implements Serializable { + /** + * 主键Id + */ + private Long id; + /** + * 行政代码 + */ + @TableField(value = "code") + private String code; + /** + * 上级行政代码 + */ + @TableField(value = "parent_code") + private String parentCode; + /** + * 名称 + */ + @TableField(value = "name") + private String name; + /** + * 简称 + */ + @TableField(value = "short_name") + private String shortName; + /** + * 邮政编码 + */ + @TableField(value = "zip_code") + private String zipCode; + /** + * 区号 + */ + @TableField(value = "city_code") + private String cityCode; + /** + * 层级 + */ + @TableField(value = "level") + private Integer level; + /** + * 拼音 + */ + @TableField(value = "pin_yin") + private String pinYin; + /** + * 拼音简写 + */ + @TableField(value = "pin_yin_short") + private String pinYinShort; + /** + * 经度 + */ + @TableField(value = "lng") + private BigDecimal lng; + /** + * 维度 + */ + @TableField(value = "lat") + private BigDecimal lat; + /** + * 排序 + */ + @TableField(value = "sort") + private Integer sort; + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; +} diff --git a/src/main/java/com/nanjing/water/repository/po/WaterFacilityPO.java b/src/main/java/com/nanjing/water/repository/po/WaterFacilityPO.java new file mode 100644 index 0000000..e083ece --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/WaterFacilityPO.java @@ -0,0 +1,143 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.sql.Timestamp; + +/** + * 设备信息 + * @author lin.liu + */ +@Data +@TableName("water_facility") +public class WaterFacilityPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 设备名称 + */ + @TableField(value = "facility_name") + private String facilityName; + /** + * 设备编号 + */ + @TableField(value = "facility_code") + private String facilityCode; + /** + * 设备类型 + */ + @TableField(value = "facility_type") + private Long facilityType; + /** + * 监控点id + */ + @TableField(value = "point_id") + private Long pointId; + /** + * 1:在线 0:下线 + */ + @TableField(value = "is_online") + private Integer isOnline; + + /** + * 地址 + */ + @TableField(value = "address") + private String address; + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + /** + * 设备图片 + */ + @TableField(value = "facility_url") + private String facilityUrl; + /** + * 安装日期 + */ + @TableField(value = "install_date") + private String installDate; + /** + * 最新数据上报时间间隔(单位分钟) + */ + @TableField(value = "new_interval_time") + private Integer newIntervalTime; + /** + * 历史数据上报时间间隔(单位分钟) + */ + @TableField(value = "history_interval_time") + private Integer historyIntervalTime; + /** + * 水位采集时间间隔(单位分钟) + */ + @TableField(value = "gather_interval_time") + private Integer gatherIntervalTime; + /** + * 量程设置 + */ + @TableField(value = "range") + private BigDecimal range; + /** + * 高程设置 + */ + @TableField(value = "elevation") + private BigDecimal elevation; + /** + * 投放角度 + */ + @TableField(value = "put_angle") + private BigDecimal putAngle; + /** + * 低水位下限 + */ + @TableField(value = "low_water_level") + private BigDecimal lowWaterLevel; + + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/WaterFacilityParameterPO.java b/src/main/java/com/nanjing/water/repository/po/WaterFacilityParameterPO.java new file mode 100644 index 0000000..9eecc71 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/WaterFacilityParameterPO.java @@ -0,0 +1,95 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Data +@TableName("water_facility_parameter") +public class WaterFacilityParameterPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 设备id + */ + @TableField(value = "facility_id") + private Long facilityId; + /** + * 设备code + */ + @TableField(value = "facility_code") + private String facilityCode; + /** + * 参数编码 + */ + @TableField(value = "columns_code") + private String columnsCode; + /** + * 参数名称 + */ + @TableField(value = "columns_show") + private String columnsShow; + /** + * 锟斤拷位 + */ + @TableField(value = "columns_units") + private String columnsUnits; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; + /** + * 参数值 + */ + @TableField(value = "column_value") + private String columnValue; + /** + * 最后更新时间 + */ + @TableField(value = "last_time") + private String lastTime; +} diff --git a/src/main/java/com/nanjing/water/repository/po/WaterFacilityTypePO.java b/src/main/java/com/nanjing/water/repository/po/WaterFacilityTypePO.java new file mode 100644 index 0000000..2aa8f88 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/WaterFacilityTypePO.java @@ -0,0 +1,70 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 设备类型 + * @author lin.liu + */ +@Data +@TableName("water_facility_type") +public class WaterFacilityTypePO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 编码 + */ + @TableField(value = "code") + private String code; + /** + * 名称 + */ + @TableField(value = "name") + private String name; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 编辑时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/po/WaterMonitoryPointPO.java b/src/main/java/com/nanjing/water/repository/po/WaterMonitoryPointPO.java new file mode 100644 index 0000000..1af6710 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/po/WaterMonitoryPointPO.java @@ -0,0 +1,96 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.sql.Timestamp; + +/** + * 监控点 + * @author lin.liu + */ +@Data +@TableName("water_monitory_point") +public class WaterMonitoryPointPO implements Serializable { + /** + * 主键 + */ + private Long id; + /** + * 上级监控点id + */ + @TableField(value = "parent_id") + private Long parentId; + /** + * 监控点类型 + */ + @TableField(value = "point_type") + private Integer pointType; + /** + * 监控点编号 + */ + @TableField(value = "point_code") + private String pointCode; + /** + * 监控点名称 + */ + @TableField(value = "point_name") + private String pointName; + /** + * 详细地址 + */ + @TableField(value = "address") + private String address; + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 监控点图片 + */ + @TableField(value = "image_rul") + private String imageUrl; + /** + * 数据创建时间 + */ + @TableField(value = "create_time") + private Long createTime; + /** + * 最后更新时间 + */ + @TableField(value = "update_time") + private Timestamp updateTime; + /** + * 是否删除(逻辑删除) + */ + @TableLogic + @TableField(value = "is_delete") + private Integer isDelete; +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminMenuVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminMenuVO.java new file mode 100644 index 0000000..85d6ec1 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminMenuVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminMenuPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 后台菜单 + * @author lin.liu + */ +@Data +public class AdminMenuVO extends AdminMenuPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminPermissionVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminPermissionVO.java new file mode 100644 index 0000000..67b4b42 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminPermissionVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminPermissionPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 后台用户权限表 + * @author lin.liu + */ +@Data +public class AdminPermissionVO extends AdminPermissionPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminRoleMenuRelationVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminRoleMenuRelationVO.java new file mode 100644 index 0000000..ec1e8af --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminRoleMenuRelationVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminRoleMenuRelationPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 后台角色菜单关系表 + * @author lin.liu + */ +@Data +public class AdminRoleMenuRelationVO extends AdminRoleMenuRelationPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminRolePermissionRelationVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminRolePermissionRelationVO.java new file mode 100644 index 0000000..707a534 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminRolePermissionRelationVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminRolePermissionRelationPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 后台角色权限关系表 + * @author lin.liu + */ +@Data +public class AdminRolePermissionRelationVO extends AdminRolePermissionRelationPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminRoleRelationVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminRoleRelationVO.java new file mode 100644 index 0000000..f4d04bf --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminRoleRelationVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminRoleRelationPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 后台用户和角色关系表 + * @author lin.liu + */ +@Data +public class AdminRoleRelationVO extends AdminRoleRelationPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminRoleVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminRoleVO.java new file mode 100644 index 0000000..4bf4441 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminRoleVO.java @@ -0,0 +1,53 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminRolePO; + +import java.util.Objects; + +/** + * 后台用户角色表 + * @author lin.liu + */ + +public class AdminRoleVO extends AdminRolePO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AdminUserVO.java b/src/main/java/com/nanjing/water/repository/vo/AdminUserVO.java new file mode 100644 index 0000000..3554aba --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AdminUserVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminUserPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 管理员帐号 + * @author lin.liu + */ +@Data +public class AdminUserVO extends AdminUserPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AlarmHistoryVO.java b/src/main/java/com/nanjing/water/repository/vo/AlarmHistoryVO.java new file mode 100644 index 0000000..f5b5b11 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AlarmHistoryVO.java @@ -0,0 +1,61 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AlarmHistoryPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 报警信息 + * @author lin.liu + */ +@Data +public class AlarmHistoryVO extends AlarmHistoryPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } + + public String getLastTimeView() { + if (NumericUtil.tryParseLong(this.getLastTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getLastTime()); + } + return ""; + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/AlarmSchemeVO.java b/src/main/java/com/nanjing/water/repository/vo/AlarmSchemeVO.java new file mode 100644 index 0000000..669e014 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/AlarmSchemeVO.java @@ -0,0 +1,56 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AlarmSchemePO; +import lombok.Data; + +import java.util.Objects; + +/** + * 报警方案设置 + * @author lin.liu + */ +@Data +public class AlarmSchemeVO extends AlarmSchemePO implements BasicVO { + private String facilityName; + private String columnsName; + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/CommonParametersVO.java b/src/main/java/com/nanjing/water/repository/vo/CommonParametersVO.java new file mode 100644 index 0000000..69a07dc --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/CommonParametersVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.CommonParametersPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 公共参数 + * @author lin.liu + */ +@Data +public class CommonParametersVO extends CommonParametersPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/SysDictDataVO.java b/src/main/java/com/nanjing/water/repository/vo/SysDictDataVO.java new file mode 100644 index 0000000..94e6ad7 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/SysDictDataVO.java @@ -0,0 +1,58 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.SysDictDataPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 字典数据表 + * @author lin.liu + */ +@Data +public class SysDictDataVO extends SysDictDataPO implements BasicVO { + /** + * 字典类型名称 + */ + public String dictTypeTxt; + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/SysDictTypeVO.java b/src/main/java/com/nanjing/water/repository/vo/SysDictTypeVO.java new file mode 100644 index 0000000..944a417 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/SysDictTypeVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.SysDictTypePO; +import lombok.Data; + +import java.util.Objects; + +/** + * 字典类型表 + * @author lin.liu + */ +@Data +public class SysDictTypeVO extends SysDictTypePO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/SysRegionVO.java b/src/main/java/com/nanjing/water/repository/vo/SysRegionVO.java new file mode 100644 index 0000000..48c025f --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/SysRegionVO.java @@ -0,0 +1,54 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.SysRegionPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 系统行政地区 + * @author lin.liu + */ +@Data +public class SysRegionVO extends SysRegionPO implements BasicVO { + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/WaterFacilityParameterVO.java b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityParameterVO.java new file mode 100644 index 0000000..5ef6f00 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityParameterVO.java @@ -0,0 +1,55 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Data +public class WaterFacilityParameterVO extends WaterFacilityParameterPO implements BasicVO { + private String facilityName; + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/WaterFacilityTypeVO.java b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityTypeVO.java new file mode 100644 index 0000000..7d02260 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityTypeVO.java @@ -0,0 +1,56 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.WaterFacilityPO; +import com.nanjing.water.repository.po.WaterFacilityTypePO; +import lombok.Data; + +import java.util.List; +import java.util.Objects; + +/** + * 设备类型 + * @author lin.liu + */ +@Data +public class WaterFacilityTypeVO extends WaterFacilityTypePO implements BasicVO { + private List<WaterFacilityPO> facilityPOList; + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java new file mode 100644 index 0000000..1d0ce24 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java @@ -0,0 +1,56 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.WaterFacilityPO; +import lombok.Data; + +import java.util.Objects; + +/** + * 设备信息 + * @author lin.liu + */ +@Data +public class WaterFacilityVO extends WaterFacilityPO implements BasicVO { + private String pointName; + private String facilityTypeName; + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/repository/vo/WaterMonitoryPointVO.java b/src/main/java/com/nanjing/water/repository/vo/WaterMonitoryPointVO.java new file mode 100644 index 0000000..98db8e2 --- /dev/null +++ b/src/main/java/com/nanjing/water/repository/vo/WaterMonitoryPointVO.java @@ -0,0 +1,58 @@ +/** + * # __----~~~~~~~~~~~------___ + * # . . ~~//====...... __--~ ~~ + * # -. \_|// |||\\ ~~~~~~::::... /~ + * # ___-==_ _-~o~ \/ ||| \\ _/~~- + * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * # _-~~ .=~ | \\-_ '-~7 /- / || \ / + * # .~ .~ | \\ -_ / /- / || \ / + * # / ____ / | \\ ~-_/ /|- _/ .|| \ / + * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * # ' ~-| /| |-~\~~ __--~~ + * # |-~~-_/ | | ~\_ _-~ /\ + * # / \ \__ \/~ \__ + * # _--~ _/ | .-~~____--~-/ ~~==. + * # ((->/~ '.|||' -_| ~~-/ , . _|| + * # -_ ~\ ~~---l__i__i__i--~~_/ + * # _-~-__ ~) \--______________--~~ + * # //.-~~~-~_--~- |-------~~~~~~~~ + * # //.-~~~--\ + * # 神兽保佑 + * # 永无BUG! + */ +package com.nanjing.water.repository.vo; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.WaterMonitoryPointPO; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * 监控点 + * @author lin.liu + */ +@Data +public class WaterMonitoryPointVO extends WaterMonitoryPointPO implements BasicVO { + private List<WaterMonitoryPointVO> childrenList=new ArrayList<>(); + private String pointTypeName; + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/service/AdminPowerService.java b/src/main/java/com/nanjing/water/service/AdminPowerService.java new file mode 100644 index 0000000..a0b30b6 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminPowerService.java @@ -0,0 +1,869 @@ +package com.nanjing.water.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.request.ReqListSetSort; +import com.nanjing.water.entity.request.ReqSetSort; +import com.nanjing.water.entity.request.adminmenu.ReqCreateAdminMenu; +import com.nanjing.water.entity.request.adminmenu.ReqModifyAdminMenu; +import com.nanjing.water.entity.request.adminpermission.ReqCreateAdminPermission; +import com.nanjing.water.entity.request.adminpermission.ReqModifyAdminPermission; +import com.nanjing.water.entity.request.adminrole.ReqCreateAdminRole; +import com.nanjing.water.entity.request.adminrole.ReqModifyAdminRole; +import com.nanjing.water.entity.request.adminrolemenurelation.ReqSetListMenu4Role; +import com.nanjing.water.entity.response.admin.ResAdminMenuTreeAndPermission; +import com.nanjing.water.entity.response.admin.ResAdminPermission; +import com.nanjing.water.entity.response.admin.ResAdminPower; +import com.nanjing.water.entity.search.SearchAdminMenu; +import com.nanjing.water.entity.search.SearchAdminPermission; +import com.nanjing.water.entity.search.SearchAdminRole; +import com.nanjing.water.repository.impl.*; +import com.nanjing.water.repository.po.*; +import com.nanjing.water.repository.vo.AdminMenuVO; +import com.nanjing.water.repository.vo.AdminRoleVO; +import com.nanjing.water.service.cache.AdminMenuService; +import com.nanjing.water.service.cache.AdminPermissionService; +import com.nanjing.water.service.convert.AdminMenuConvert; +import com.nanjing.water.service.convert.AdminPermissionConvert; +import com.nanjing.water.service.convert.AdminRoleConvert; +import org.apache.commons.lang3.BooleanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class AdminPowerService extends BaseService { + @Autowired + private AdminMenuMapperImpl menusDao; + @Autowired + private AdminPermissionMapperImpl permissionDao; + @Autowired + private AdminRoleMapperImpl roleDao; + @Autowired + private AdminRoleMenuRelationMapperImpl roleMenuRelationDao; + @Autowired + private AdminRolePermissionRelationMapperImpl rolePermissionRelationDao; + @Autowired + private AdminRoleRelationMapperImpl adminRoleRelationDao; + + @Autowired + private AdminMenuService menusService; + @Autowired + private AdminPermissionService permissionService; + + + + // 创建菜单 + public ExecutedResult<Long> createMenu(ReqCreateAdminMenu request) { + AdminMenuPO item = AdminMenuConvert.INSTANCE.toCreate(request); + item.setParentId(NumericUtil.tryParseLong(request.getParentId(), 0L)); + item.setTitle(ParameterUtil.dealNullStr(request.getTitle())); + item.setLevel(1); + item.setSort(NumericUtil.tryParseInt(request.getSort(), 0)); + item.setStatus(EState.NORMAL.getValue()); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + if (item.getParentId().compareTo(0L) > 0) { + ExecutedResult<AdminMenuPO> check = this.checkMenuId(request.getParentId()); + if (check.isFailed()) { + return ExecutedResult.failed("父级菜单不存在: " + request.getParentId()); + } + item.setLevel(check.getData().getLevel() + 1); + } + int rowCount = menusDao.insert(item); + if (rowCount == 1) { + // 删除菜单缓存 + menusService.removeListAllCache(); + // 删除所有权限缓存 + permissionService.removeListAllCache(); + // 删除所有用户的菜单和权限缓存 + this.removePowerAllUser(); + + // 给新增的菜单添加默认权限 + permissionService.createDefaultPermission(item); + return ExecutedResult.success(item.getId()); + } + return ExecutedResult.failed("创建[菜单]失败。"); + } + private ExecutedResult<AdminMenuPO> checkMenuId(Long id) { + AdminMenuPO item = menusDao.get(id); + if (Objects.isNull(item)) { + return ExecutedResult.failed("[菜单]不存在: " + id); + } + return ExecutedResult.success(item); + } + protected ExecutedResult<List<AdminMenuPO>> checkMenuId(List<Long> listId) { + // 从数据库查找测试信息 + List<AdminMenuPO> list = menusDao.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[菜单]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminMenuPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的测试信息 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[菜单]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + // 编辑菜单 + public ExecutedResult<String> modifyMenu(ReqModifyAdminMenu request) { + ExecutedResult<AdminMenuPO> checkExists = this.checkMenuId(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminMenuPO item = AdminMenuConvert.INSTANCE.toModify(request); + item.setTitle(ParameterUtil.dealNullStr(request.getTitle())); + item.setParentId(NumericUtil.tryParseLong(request.getParentId(), 0L)); + item.setLevel(1); + item.setSort(NumericUtil.tryParseInt(request.getSort(), 0)); + if (item.getParentId().compareTo(0L) > 0) { + ExecutedResult<AdminMenuPO> check = this.checkMenuId(request.getParentId()); + if (check.isFailed()) { + return ExecutedResult.failed("父级菜单不存在: " + request.getParentId()); + } + item.setLevel(check.getData().getLevel() + 1); + } + int rowCount = menusDao.updateById(item); + if (rowCount == 1) { + // 删除菜单缓存 + menusService.removeListAllCache(); + // 删除所有权限缓存 + permissionService.removeListAllCache(); + // 删除所有用户的菜单和权限缓存 + this.removePowerAllUser(); + return ExecutedResult.success(); + } + return ExecutedResult.failed("编辑[菜单]失败。"); + } + + public ExecutedResult<String> removeMenu(Long id) { + // 验证记录是否存在 + ExecutedResult<AdminMenuPO> checkExists = this.checkMenuId(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + Boolean result = menusDao.deleteLogic(id); + if (result) { + // 删除菜单缓存 + menusService.removeListAllCache(); + // 删除所有权限缓存 + permissionService.removeListAllCache(); + // 删除所有用户的菜单和权限缓存 + this.removePowerAllUser(); + return ExecutedResult.success(); + } + return ExecutedResult.failed("删除[菜单]失败。"); + } + + public ExecutedResult<String> removeMenuList(List<Long> listId) { + // 验证记录是否存在 + ExecutedResult<List<AdminMenuPO>> checkExists = this.checkMenuId(listId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + Boolean result = menusDao.deleteLogic(listId); + if (result) { + // 删除菜单缓存 + menusService.removeListAllCache(); + // 删除所有权限缓存 + permissionService.removeListAllCache(); + // 删除所有用户的菜单和权限缓存 + this.removePowerAllUser(); + return ExecutedResult.success(); + } + return ExecutedResult.failed("删除[菜单]失败。"); + } + + // 变更菜单状态 + public ExecutedResult<String> changeMenuStatus(Long id, EState status) { + ExecutedResult<AdminMenuPO> checkExists = this.checkMenuId(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminMenuPO upd = new AdminMenuPO(); + upd.setId(id); + upd.setStatus(status.getValue()); + int rowCount = menusDao.updateById(upd); + if (rowCount == 1) { + // 删除菜单缓存 + menusService.removeListAllCache(); + // 删除所有权限缓存 + permissionService.removeListAllCache(); + // 删除所有用户的菜单和权限缓存 + this.removePowerAllUser(); + return ExecutedResult.success(); + } + return ExecutedResult.failed("修改[菜单]状态失败。"); + } + + // 获取所有层级菜单 + public ExecutedResult<List<ResAdminMenuTreeAndPermission>> getListTreeMenu() { + List<ResAdminMenuTreeAndPermission> result = new ArrayList<>(); + LambdaQueryWrapper<AdminMenuPO> where = menusDao.query(); + where.in(AdminMenuPO::getStatus, Arrays.asList( + EState.NORMAL.getValue() + )); + List<AdminMenuPO> list = menusDao.selectList(where); + + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.success(result); + } + List<AdminMenuPO> listRoot = list.stream().filter(c -> Objects.equals(c.getLevel(), 1)).collect(Collectors.toList()); + listRoot = listRoot.stream() + .sorted(Comparator.comparing(AdminMenuPO::getSort)) + .collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(listRoot)) { + return ExecutedResult.success(result); + } + + List<Long> listMenuId = list.stream() + .map(AdminMenuPO::getId) + .collect(Collectors.toList()); + List<AdminPermissionPO> listPermission = permissionDao.list4MenuId(listMenuId); + Map<Long, List<AdminPermissionPO>> mapPermission = listPermission.stream() + .collect(Collectors.groupingBy(AdminPermissionPO::getMenuId)); + + for (AdminMenuPO item : listRoot) { + ResAdminMenuTreeAndPermission view = AdminMenuConvert.INSTANCE.toTreeVo(item); + this.fillChildMenu(view, list, mapPermission); + this.fillPermission4Menu(view, mapPermission); + result.add(view); + } + return ExecutedResult.success(result); + } + public void fillPermission4Menu(ResAdminMenuTreeAndPermission view, Map<Long, List<AdminPermissionPO>> mapPermission) { + view.setPermissions(new ArrayList<>()); + if (BooleanUtils.isFalse(mapPermission.containsKey(view.getId()))) { + return; + } + List<AdminPermissionPO> list = mapPermission.get(view.getId()); + view.setPermissions(AdminPermissionConvert.INSTANCE.toDetail(list)); + } + public void fillChildMenu(ResAdminMenuTreeAndPermission view, List<AdminMenuPO> list, Map<Long, List<AdminPermissionPO>> mapPermission) { + List<AdminMenuPO> listChild = list.stream() + .filter(c -> c.getParentId().equals(view.getId())) + .collect(Collectors.toList()); + view.setChildren(new ArrayList<>()); + if (ListUtil.isNullOrEmpty(listChild)) { + return; + } + listChild = listChild.stream() + .sorted(Comparator.comparing(AdminMenuPO::getSort).reversed()) + .collect(Collectors.toList()); + for (AdminMenuPO child : listChild) { + ResAdminMenuTreeAndPermission viewChild = AdminMenuConvert.INSTANCE.toTreeVo(child); + this.fillChildMenu(viewChild, list, mapPermission); + this.fillPermission4Menu(viewChild, mapPermission); + view.getChildren().add(viewChild); + } + } + + // 获取指定菜单的子级菜单 + public ExecutedResult<List<AdminMenuVO>> getListChildMenu(Long parentId) { + List<AdminMenuPO> list = menusDao.list4Parent(parentId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.success(new ArrayList<>()); + } + return ExecutedResult.success(AdminMenuConvert.INSTANCE.toVo(list)); + } + + // 分页查询菜单 + public ExecutedResult<PagerResult<AdminMenuVO>> searchMenu(SearchAdminMenu request) { + List<AdminMenuVO> result = new ArrayList<>(); + + super.dealPager(request); + request.setLastRowNo((request.getPage() - 1) * NumericUtil.tryParseLong(request.getLimit())); + // 处理时间范围 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(request.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + request.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + request.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + if (NumericUtil.tryParseInt(request.getStatus(), 0).compareTo(0) < 1 && ListUtil.isNullOrEmpty(request.getListStatus())) { + request.setListStatus(Arrays.asList(EState.NORMAL.getValue(), EState.DISABLED.getValue())); + } + + PagerResult<AdminMenuPO> pagerResult = menusDao.search(request); + + if (NumericUtil.tryParseLong(pagerResult.getTotal()).compareTo(0L) < 1) { + return ExecutedResult.success( + new PagerResult<>(request.getLimit(), request.getPage(), 0L, new ArrayList<>()) + ); + } + List<AdminMenuPO> list = pagerResult.getList(); + Long lastId = 0L; + if (ListUtil.isNotNullOrEmpty(list)) { + lastId = list.stream().map(AdminMenuPO::getId).min(Comparator.comparing(c -> c)).get(); + result = AdminMenuConvert.INSTANCE.toVo(list); + } + PagerResult<AdminMenuVO> view = new PagerResult<>(request.getLimit(), request.getPage(), pagerResult.getTotal(), result); + view.setLastId(lastId); + return ExecutedResult.success(view); + } + + // 创建权限 + public ExecutedResult<Long> createPermission(ReqCreateAdminPermission request) { + String sn = request.getSn(); + AdminPermissionPO find = permissionDao.get4Sn(sn); + if (Objects.nonNull(find) && find.getId().compareTo(0L) > 0) { + return ExecutedResult.failed("权限编码已存在。" + sn); + } + ExecutedResult<AdminMenuPO> checkExists = this.checkMenuId(request.getMenuId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + AdminPermissionPO item = new AdminPermissionPO(); + item.setName(request.getName()); + item.setSn(request.getSn()); + item.setMenuId(request.getMenuId()); + item.setMenuId(request.getMenuId()); + item.setStatus(EState.NORMAL.getValue()); + item.setMenuUrl(ParameterUtil.dealNullStr(request.getMenuUrl())); + item.setIcon(ParameterUtil.dealNullStr(request.getIcon())); + item.setType(ParameterUtil.dealNullStr(request.getType())); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + int rowCount = permissionDao.insert(item); + if (rowCount == 1) { + // 删除权限缓存 + permissionService.removeListAllCache(); + return ExecutedResult.success(item.getId()); + } + return ExecutedResult.failed("创建[权限]失败。"); + } + + // 编辑权限 + public ExecutedResult<String> modifyPermission(ReqModifyAdminPermission request) { + Long id = request.getId(); + String sn = request.getSn(); + ExecutedResult<AdminPermissionPO> checkExists = this.checkPermissionId(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminPermissionPO findBySn = permissionDao.get4Sn(sn); + if (Objects.nonNull(findBySn) && !Objects.equals(id, findBySn.getId())) { + return ExecutedResult.failed("权限编码已存在。" + sn); + } + ExecutedResult<AdminMenuPO> check = this.checkMenuId(request.getMenuId()); + if (check.isFailed()) { + return ExecutedResult.failed(check.getMsg()); + } + + AdminPermissionPO item = new AdminPermissionPO(); + item.setId(id); + item.setSn(request.getSn()); + item.setMenuId(request.getMenuId()); + item.setName(request.getName()); + int rowCount = permissionDao.updateById(item); + if (rowCount == 1) { + // 删除权限缓存 + permissionService.removeListAllCache(); + return ExecutedResult.success(); + } + return ExecutedResult.failed("编辑[权限]失败。"); + } + private ExecutedResult<AdminPermissionPO> checkPermissionId(Long id) { + AdminPermissionPO item = permissionDao.get(id); + if (Objects.isNull(item)) { + return ExecutedResult.failed("[权限]不存在: " + id); + } + return ExecutedResult.success(item); + } + + // 删除权限 + public ExecutedResult<String> removePermission(Long id) { + AdminPermissionPO find = permissionDao.get(id); + if (null == find) { + return ExecutedResult.failed("[权限]记录未找到。" + id); + } + Boolean remove = permissionDao.remove(id); + if (remove) { + // 删除权限缓存 + permissionService.removeListAllCache(); + return ExecutedResult.success(); + } + return ExecutedResult.failed("删除[权限]失败"); + } + + // 分页查询权限 + public ExecutedResult<PagerResult<ResAdminPermission>> searchPermission(SearchAdminPermission request) { + List<ResAdminPermission> result = new ArrayList<>(); + + super.dealPager(request); + request.setLastRowNo((request.getPage() - 1) * NumericUtil.tryParseLong(request.getLimit())); + // 处理时间范围 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(request.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + request.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + request.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + if (NumericUtil.tryParseInt(request.getStatus(), 0).compareTo(0) < 1 && ListUtil.isNullOrEmpty(request.getListStatus())) { + request.setListStatus(Arrays.asList(EState.NORMAL.getValue(), EState.DISABLED.getValue())); + } + PagerResult<AdminPermissionPO> pagerResult = permissionDao.search(request); + + if (NumericUtil.tryParseLong(pagerResult.getTotal()).compareTo(0L) < 1) { + return ExecutedResult.success( + new PagerResult<>(request.getLimit(), request.getPage(), 0L, new ArrayList<>()) + ); + } + List<AdminPermissionPO> list = pagerResult.getList(); + Long lastId = 0L; + if (ListUtil.isNotNullOrEmpty(list)) { + lastId = list.stream().map(AdminPermissionPO::getId).min(Comparator.comparing(c -> c)).get(); + result = AdminPermissionConvert.INSTANCE.toDetail(list); + } + PagerResult<ResAdminPermission> view = new PagerResult<>(request.getLimit(), request.getPage(), pagerResult.getTotal(), result); + view.setLastId(lastId); + return ExecutedResult.success(view); + } + + // 创建角色 + public ExecutedResult<Long> createRole(ReqCreateAdminRole request) { + AdminRolePO item = AdminRoleConvert.INSTANCE.toCreate(request); + item.setDescription(ParameterUtil.dealNullStr(request.getDescription())); + item.setStatus(EState.NORMAL.getValue()); + item.setSort(NumericUtil.tryParseInt(request.getSort(), 0)); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + int rowCount = roleDao.insert(item); + if (rowCount == 1) { + return ExecutedResult.success(item.getId()); + } + return ExecutedResult.failed("创建[角色]失败。"); + } + + // 编辑角色 + public ExecutedResult<String> modifyRole(ReqModifyAdminRole request) { + ExecutedResult<AdminRolePO> checkExists = this.checkRoleId(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminRolePO item = AdminRoleConvert.INSTANCE.toModify(request); + item.setSort(NumericUtil.tryParseInt(request.getSort(), 0)); + item.setDescription(ParameterUtil.dealNullStr(request.getDescription())); + int rowCount = roleDao.updateById(item); + if (rowCount == 1) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("编辑[角色]失败。"); + } + + // 修改角色状态 + public ExecutedResult<String> changeRoleStatus(Long id, EState status) { + ExecutedResult<AdminRolePO> checkExists = this.checkRoleId(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminRolePO upd = new AdminRolePO(); + upd.setId(id); + upd.setStatus(status.getValue()); + int rowCount = roleDao.updateById(upd); + if (rowCount == 1) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("修改[角色]状态失败。"); + } + private ExecutedResult<AdminRolePO> checkRoleId(Long id) { + AdminRolePO item = roleDao.selectById(id); + if (Objects.isNull(item)) { + return ExecutedResult.failed("[角色]不存在: " + id); + } + return ExecutedResult.success(item); + } + private ExecutedResult<List<AdminRolePO>> checkRoleId(List<Long> listId) { + // 从数据库查找测试信息 + List<AdminRolePO> list = roleDao.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminRolePO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的测试信息 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + public ExecutedResult<String> removeRole(Long id) { + // 验证记录是否存在 + ExecutedResult<AdminRolePO> checkExists = this.checkRoleId(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + Boolean result = roleDao.deleteLogic(id); + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[角色]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<String> removeRoleList(List<Long> listId) { + // 验证记录是否存在 + ExecutedResult<List<AdminRolePO>> checkExists = this.checkRoleId(listId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + Boolean result = roleDao.deleteLogic(listId); + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[角色]失败。"); + } + return ExecutedResult.success(); + } + + // 分页查询角色 + public ExecutedResult<PagerResult<AdminRoleVO>> searchRole(SearchAdminRole request) { + List<AdminRoleVO> result = new ArrayList<>(); + + super.dealPager(request); + request.setLastRowNo((request.getPage() - 1) * NumericUtil.tryParseLong(request.getLimit())); + // 处理时间范围 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(request.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + request.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + request.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + if (NumericUtil.tryParseInt(request.getStatus(), 0).compareTo(0) < 1 && ListUtil.isNullOrEmpty(request.getListStatus())) { + request.setListStatus(Arrays.asList(EState.NORMAL.getValue(), EState.DISABLED.getValue())); + } + + PagerResult<AdminRolePO> pagerResult = roleDao.search(request); + + if (NumericUtil.tryParseLong(pagerResult.getTotal()).compareTo(0L) < 1) { + return ExecutedResult.success( + new PagerResult<>(request.getLimit(), request.getPage(), 0L, new ArrayList<>()) + ); + } + List<AdminRolePO> list = pagerResult.getList(); + Long lastId = 0L; + if (ListUtil.isNotNullOrEmpty(list)) { + lastId = list.stream().map(AdminRolePO::getId).min(Comparator.comparing(c -> c)).get(); + result = AdminRoleConvert.INSTANCE.toVo(list); + } + PagerResult<AdminRoleVO> view = new PagerResult<>(request.getLimit(), request.getPage(), pagerResult.getTotal(), result); + view.setLastId(lastId); + return ExecutedResult.success(view); + } + + // 设置角色菜单权限列表 + public ExecutedResult<String> setListMenu4Role(ReqSetListMenu4Role request) { + Long roleId = request.getId(); + ExecutedResult<AdminRolePO> checkExists = this.checkRoleId(roleId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminRolePO find = checkExists.getData(); + Long now = LocalDateTimeUtil.nowTimeStamp(); + + //找到角色已有的菜单列表 + List<AdminRoleMenuRelationPO> listOld = roleMenuRelationDao.list4Role(roleId); + listOld = ParameterUtil.dealNull(listOld); + List<Long> listOldMenuId = listOld.stream() + .map(AdminRoleMenuRelationPO::getMenuId) + .collect(Collectors.toList()); + + //现在设置的菜单id列表 + List<Long> listMenuId = ParameterUtil.dealNull(request.getListMenu()); + + //找到所有菜单 + List<Long> listAllId = new ArrayList<>(listOldMenuId); + listAllId.addAll(listMenuId); + ListUtil.repeat(listAllId); + List<AdminMenuPO> listMenu = menusDao.getList(listAllId); + Map<Long, AdminMenuPO> mapMenu = listMenu.stream() + .collect(Collectors.toMap(AdminMenuPO::getId, c -> c)); + + //找到新增菜单列表(新菜单列表的元素,不存在于已有的菜单列表中) + List<Long> listNew = listMenuId.stream() + .filter(c -> !listOldMenuId.contains(c)) + .collect(Collectors.toList()); + //找到删除菜单列表(已有菜单列表的元素,不存在于新菜单列表) + List<Long> listRemove = listOldMenuId.stream() + .filter(c -> !listMenuId.contains(c)) + .collect(Collectors.toList()); + + //批量新增 + if(BooleanUtils.isFalse(listNew.isEmpty())) { + List<AdminRoleMenuRelationPO> list = listNew.stream() + .map(c -> { + AdminRoleMenuRelationPO item = new AdminRoleMenuRelationPO(); + item.setRoleId(roleId); + item.setMenuId(c); + item.setCreateTime(now); + return item; + }).collect(Collectors.toList()); + Boolean addList = roleMenuRelationDao.addList(list); + if(BooleanUtils.isFalse(addList)) { + return ExecutedResult.failed("给角色“" + roleId + "”新增菜单失败。" + listNew); + } + } + //批量删除 + if(BooleanUtils.isFalse(listRemove.isEmpty())) { + List<Long> listId = listOld.stream() + .filter(c -> listRemove.contains(c.getMenuId())) + .map(AdminRoleMenuRelationPO::getId).collect(Collectors.toList()); + Boolean removeList = roleMenuRelationDao.remove(listId); + if(BooleanUtils.isFalse(removeList)) { + return ExecutedResult.failed("删除角色“" + roleId + "”已有菜单失败。" + listRemove); + } + } + + + + //找到角色已有的权限列表 + List<AdminRolePermissionRelationPO> listOldPermission = rolePermissionRelationDao.list4Role(roleId); + listOldPermission = ParameterUtil.dealNull(listOldPermission); + List<Long> listOldPermissionId = listOldPermission.stream() + .map(AdminRolePermissionRelationPO::getPermissionId) + .collect(Collectors.toList()); + + //现在设置的权限id列表 + List<Long> listPermissionId = ParameterUtil.dealNull(request.getListPermission()); + + //找到所有权限 + List<Long> listAllPermissionId = new ArrayList<>(listOldPermissionId); + listAllPermissionId.addAll(listPermissionId); + ListUtil.repeat(listAllPermissionId); + List<AdminPermissionPO> listPermission = permissionDao.getList(listAllPermissionId); + Map<Long, AdminPermissionPO> mapPermission = listPermission.stream() + .collect(Collectors.toMap(AdminPermissionPO::getId, c -> c)); + + //找到新增权限列表(新权限列表的元素,不存在于已有的菜单列表中) + List<Long> listNewPermission = listPermissionId.stream() + .filter(c -> !listOldPermissionId.contains(c)) + .collect(Collectors.toList()); + //找到删除权限列表(已有权限列表的元素,不存在于新菜单列表) + List<Long> listRemovePermission = listOldPermissionId.stream() + .filter(c -> !listPermissionId.contains(c)) + .collect(Collectors.toList()); + + //批量新增 + if(BooleanUtils.isFalse(listNewPermission.isEmpty())) { + List<AdminRolePermissionRelationPO> list = listNewPermission.stream() + .map(c -> { + AdminRolePermissionRelationPO item = new AdminRolePermissionRelationPO(); + item.setRoleId(roleId); + item.setPermissionId(c); + item.setCreateTime(now); + return item; + }).collect(Collectors.toList()); + Boolean addList = rolePermissionRelationDao.addList(list); + if(BooleanUtils.isFalse(addList)) { + return ExecutedResult.failed("给角色“" + roleId + "”新增权限失败。" + listNewPermission); + } + } + //批量删除 + if(BooleanUtils.isFalse(listRemovePermission.isEmpty())) { + List<Long> listId = listOldPermission.stream() + .filter(c -> listRemovePermission.contains(c.getPermissionId())) + .map(AdminRolePermissionRelationPO::getId).collect(Collectors.toList()); + Boolean removeList = rolePermissionRelationDao.remove(listId); + if(BooleanUtils.isFalse(removeList)) { + return ExecutedResult.failed("删除角色“" + roleId + "”已有权限失败。" + listRemovePermission); + } + } + return ExecutedResult.success(); + } + + // 获取角色菜单权限列表 + public ExecutedResult<ResAdminPower> getListMenu4Role(Long roleId) { + ResAdminPower result = new ResAdminPower(); + result.setMenus(new ArrayList<>()); + result.setPermissions(new ArrayList<>()); + + ExecutedResult<AdminRolePO> checkExists = this.checkRoleId(roleId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminRolePO find = checkExists.getData(); + //找到角色已有的菜单列表 + List<AdminRoleMenuRelationPO> listMenu4Role = roleMenuRelationDao.list4Role(roleId); + if (ListUtil.isNotNullOrEmpty(listMenu4Role)) { + List<Long> listOldMenuId = listMenu4Role.stream() + .map(AdminRoleMenuRelationPO::getMenuId) + .collect(Collectors.toList()); + List<AdminMenuPO> listMenu = menusDao.getList(listOldMenuId); + if (ListUtil.isNotNullOrEmpty(listMenu)) { + result.setMenus(AdminMenuConvert.INSTANCE.toVo(listMenu)); + } + } + //找到角色已有的权限列表 + List<AdminRolePermissionRelationPO> listPermission4Role = rolePermissionRelationDao.list4Role(roleId); + if (ListUtil.isNotNullOrEmpty(listPermission4Role)) { + List<Long> listPermissionId = listPermission4Role.stream() + .map(AdminRolePermissionRelationPO::getPermissionId) + .collect(Collectors.toList()); + List<AdminPermissionPO> listPermission = permissionDao.getList(listPermissionId); + if (ListUtil.isNotNullOrEmpty(listPermission)) { + result.setPermissions(AdminPermissionConvert.INSTANCE.toDetail(listPermission)); + } + } + return ExecutedResult.success(result); + } + + protected List<AdminPermissionPO> getListPermission4Role(List<Long> listRoleId) { + List<AdminRolePermissionRelationPO> listPermissionRel = rolePermissionRelationDao.list4Role(listRoleId); + if (ListUtil.isNullOrEmpty(listPermissionRel)) { + return new ArrayList<>(); + } + List<AdminPermissionPO> listPermission = permissionService.listAllWithCache(); + if (ListUtil.isNullOrEmpty(listPermission)) { + return new ArrayList<>(); + } + // 筛选状态 + listPermission = listPermission.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.toList()); + List<Long> listPermissionId = listPermissionRel.stream() + .map(AdminRolePermissionRelationPO::getPermissionId) + .collect(Collectors.toList()); + return listPermission.stream() + .filter(c -> listPermissionId.contains(c.getId())) + .collect(Collectors.toList()); + } + + protected List<AdminMenuPO> getListMenu4Role(List<Long> listRoleId) { + List<AdminRoleMenuRelationPO> listRoleMenu = roleMenuRelationDao.list4Role(listRoleId); + if (ListUtil.isNullOrEmpty(listRoleMenu)) { + return new ArrayList<>(); + } + List<AdminMenuPO> listMenu = menusService.listAllWithCache(); + if (ListUtil.isNullOrEmpty(listMenu)) { + return new ArrayList<>(); + } + // 筛选状态 + listMenu = listMenu.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.toList()); + List<Long> listMenuId = listRoleMenu.stream().map(AdminRoleMenuRelationPO::getMenuId) + .collect(Collectors.toList()); + return listMenu.stream() + .filter(c -> listMenuId.contains(c.getId())) + .collect(Collectors.toList()); + } + + /** + * 删除指定用户的菜单和权限缓存 + * @param userId 用户id + */ + protected void removePower4User(Long userId) { + menusService.removeUserMenuCache(userId); + permissionService.removeUserCache(userId); + } + /** + * 删除所有用户的菜单和权限缓存 + */ + protected void removePowerAllUser() { + menusService.removeAllUserMenuCache(); + permissionService.removeAllUserCache(); + } + + public ExecutedResult<String> setMenuSort(ReqSetSort request) { + // 验证记录是否存在 + ExecutedResult<AdminMenuPO> checkExists = this.checkMenuId(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + AdminMenuPO item = new AdminMenuPO(); + item.setId(request.getId()); + item.setSort(request.getSort()); + + int rowCount = menusDao.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("[测试信息]设置排序值失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<String> listSetMenuSort(ReqListSetSort request) { + // id列表 + List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); + // 验证记录是否存在 + ExecutedResult<List<AdminMenuPO>> checkExists = this.checkMenuId(listId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + List<AdminMenuPO> listUpdate = request.getList().stream() + .map(c -> { + AdminMenuPO item = new AdminMenuPO(); + item.setId(c.getId()); + item.setSort(c.getSort()); + return item; + }) + .collect(Collectors.toList()); + Boolean result = menusDao.modifyList(listUpdate); + if (result) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("[测试信息]设置排序值失败"); + } + + public ExecutedResult<String> setRoleSort(ReqSetSort request) { + // 验证记录是否存在 + ExecutedResult<AdminRolePO> checkExists = this.checkRoleId(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + AdminRolePO item = new AdminRolePO(); + item.setId(request.getId()); + item.setSort(request.getSort()); + + int rowCount = roleDao.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("[角色]设置排序值失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<String> listSetRoleSort(ReqListSetSort request) { + // id列表 + List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); + // 验证记录是否存在 + ExecutedResult<List<AdminRolePO>> checkExists = this.checkRoleId(listId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + List<AdminRolePO> listUpdate = request.getList().stream() + .map(c -> { + AdminRolePO item = new AdminRolePO(); + item.setId(c.getId()); + item.setSort(c.getSort()); + return item; + }) + .collect(Collectors.toList()); + Boolean result = roleDao.modifyList(listUpdate); + if (result) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("[角色]设置排序值失败"); + } +} diff --git a/src/main/java/com/nanjing/water/service/AdminRoleMenuRelationService.java b/src/main/java/com/nanjing/water/service/AdminRoleMenuRelationService.java new file mode 100644 index 0000000..985446f --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminRoleMenuRelationService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.adminrolemenurelation.ReqCreateAdminRoleMenuRelation; +import com.nanjing.water.entity.request.adminrolemenurelation.ReqModifyAdminRoleMenuRelation; +import com.nanjing.water.entity.search.SearchAdminRoleMenuRelation; +import com.nanjing.water.repository.impl.AdminRoleMenuRelationMapperImpl; +import com.nanjing.water.repository.po.AdminRoleMenuRelationPO; +import com.nanjing.water.repository.vo.AdminRoleMenuRelationVO; +import com.nanjing.water.service.convert.AdminRoleMenuRelationConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 角色菜单关联关系 + * @author lin.liu + */ +@Service +public class AdminRoleMenuRelationService extends BaseService { + @Autowired + private AdminRoleMenuRelationMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateAdminRoleMenuRelation request) { + // 转换po + AdminRoleMenuRelationPO item = AdminRoleMenuRelationConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[角色菜单关联关系]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyAdminRoleMenuRelation request) { + // 验证记录是否存在 + ExecutedResult<AdminRoleMenuRelationPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AdminRoleMenuRelationPO item = AdminRoleMenuRelationConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[角色菜单关联关系]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<AdminRoleMenuRelationVO> get(Long id) { + AdminRoleMenuRelationVO result = new AdminRoleMenuRelationVO(); + + AdminRoleMenuRelationPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AdminRoleMenuRelationConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRoleMenuRelationPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRoleMenuRelationPO item = new AdminRoleMenuRelationPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[角色菜单关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRoleMenuRelationPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRoleMenuRelationPO item = new AdminRoleMenuRelationPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[角色菜单关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AdminRoleMenuRelationPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRoleMenuRelationPO item = new AdminRoleMenuRelationPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[角色菜单关联关系]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AdminRoleMenuRelationPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AdminRoleMenuRelationPO> listUpdate = request.getList().stream() +// .map(c -> { +// AdminRoleMenuRelationPO item = new AdminRoleMenuRelationPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[角色菜单关联关系]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[角色菜单关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[角色菜单关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AdminRoleMenuRelationVO>> getList(List<Long> listId) { + List<AdminRoleMenuRelationVO> result = new ArrayList<>(); + + List<AdminRoleMenuRelationPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AdminRoleMenuRelationConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AdminRoleMenuRelationVO>> search(SearchAdminRoleMenuRelation search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AdminRoleMenuRelationPO> pageList = mapper.search(search); + List<AdminRoleMenuRelationVO> listVo = new ArrayList<>(); + List<AdminRoleMenuRelationPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = AdminRoleMenuRelationConvert.INSTANCE.toVo(list); + } + PagerResult<AdminRoleMenuRelationVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AdminRoleMenuRelationPO> check4Id(Long id) { + AdminRoleMenuRelationPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[角色菜单关联关系]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<AdminRoleMenuRelationPO>> check4Id(List<Long> listId) { + // 从数据库查找角色菜单关联关系 + List<AdminRoleMenuRelationPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色菜单关联关系]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminRoleMenuRelationPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的角色菜单关联关系 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色菜单关联关系]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/AdminRolePermissionRelationService.java b/src/main/java/com/nanjing/water/service/AdminRolePermissionRelationService.java new file mode 100644 index 0000000..03c9387 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminRolePermissionRelationService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.adminrolepermissionrelation.ReqCreateAdminRolePermissionRelation; +import com.nanjing.water.entity.request.adminrolepermissionrelation.ReqModifyAdminRolePermissionRelation; +import com.nanjing.water.entity.search.SearchAdminRolePermissionRelation; +import com.nanjing.water.repository.impl.AdminRolePermissionRelationMapperImpl; +import com.nanjing.water.repository.po.AdminRolePermissionRelationPO; +import com.nanjing.water.repository.vo.AdminRolePermissionRelationVO; +import com.nanjing.water.service.convert.AdminRolePermissionRelationConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 角色权限关联关系 + * @author lin.liu + */ +@Service +public class AdminRolePermissionRelationService extends BaseService { + @Autowired + private AdminRolePermissionRelationMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateAdminRolePermissionRelation request) { + // 转换po + AdminRolePermissionRelationPO item = AdminRolePermissionRelationConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[角色权限关联关系]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyAdminRolePermissionRelation request) { + // 验证记录是否存在 + ExecutedResult<AdminRolePermissionRelationPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AdminRolePermissionRelationPO item = AdminRolePermissionRelationConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[角色权限关联关系]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<AdminRolePermissionRelationVO> get(Long id) { + AdminRolePermissionRelationVO result = new AdminRolePermissionRelationVO(); + + AdminRolePermissionRelationPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AdminRolePermissionRelationConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRolePermissionRelationPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRolePermissionRelationPO item = new AdminRolePermissionRelationPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[角色权限关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRolePermissionRelationPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRolePermissionRelationPO item = new AdminRolePermissionRelationPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[角色权限关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AdminRolePermissionRelationPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRolePermissionRelationPO item = new AdminRolePermissionRelationPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[角色权限关联关系]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AdminRolePermissionRelationPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AdminRolePermissionRelationPO> listUpdate = request.getList().stream() +// .map(c -> { +// AdminRolePermissionRelationPO item = new AdminRolePermissionRelationPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[角色权限关联关系]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[角色权限关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[角色权限关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AdminRolePermissionRelationVO>> getList(List<Long> listId) { + List<AdminRolePermissionRelationVO> result = new ArrayList<>(); + + List<AdminRolePermissionRelationPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AdminRolePermissionRelationConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AdminRolePermissionRelationVO>> search(SearchAdminRolePermissionRelation search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AdminRolePermissionRelationPO> pageList = mapper.search(search); + List<AdminRolePermissionRelationVO> listVo = new ArrayList<>(); + List<AdminRolePermissionRelationPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = AdminRolePermissionRelationConvert.INSTANCE.toVo(list); + } + PagerResult<AdminRolePermissionRelationVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AdminRolePermissionRelationPO> check4Id(Long id) { + AdminRolePermissionRelationPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[角色权限关联关系]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<AdminRolePermissionRelationPO>> check4Id(List<Long> listId) { + // 从数据库查找角色权限关联关系 + List<AdminRolePermissionRelationPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色权限关联关系]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminRolePermissionRelationPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的角色权限关联关系 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色权限关联关系]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/AdminRoleRelationService.java b/src/main/java/com/nanjing/water/service/AdminRoleRelationService.java new file mode 100644 index 0000000..f87f911 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminRoleRelationService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.adminrolerelation.ReqCreateAdminRoleRelation; +import com.nanjing.water.entity.request.adminrolerelation.ReqModifyAdminRoleRelation; +import com.nanjing.water.entity.search.SearchAdminRoleRelation; +import com.nanjing.water.repository.impl.AdminRoleRelationMapperImpl; +import com.nanjing.water.repository.po.AdminRoleRelationPO; +import com.nanjing.water.repository.vo.AdminRoleRelationVO; +import com.nanjing.water.service.convert.AdminRoleRelationConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 用户和角色关联关系 + * @author lin.liu + */ +@Service +public class AdminRoleRelationService extends BaseService { + @Autowired + private AdminRoleRelationMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateAdminRoleRelation request) { + // 转换po + AdminRoleRelationPO item = AdminRoleRelationConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[用户和角色关联关系]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyAdminRoleRelation request) { + // 验证记录是否存在 + ExecutedResult<AdminRoleRelationPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AdminRoleRelationPO item = AdminRoleRelationConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[用户和角色关联关系]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<AdminRoleRelationVO> get(Long id) { + AdminRoleRelationVO result = new AdminRoleRelationVO(); + + AdminRoleRelationPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AdminRoleRelationConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRoleRelationPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRoleRelationPO item = new AdminRoleRelationPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[用户和角色关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRoleRelationPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRoleRelationPO item = new AdminRoleRelationPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[用户和角色关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AdminRoleRelationPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRoleRelationPO item = new AdminRoleRelationPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[用户和角色关联关系]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AdminRoleRelationPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AdminRoleRelationPO> listUpdate = request.getList().stream() +// .map(c -> { +// AdminRoleRelationPO item = new AdminRoleRelationPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[用户和角色关联关系]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[用户和角色关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[用户和角色关联关系]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AdminRoleRelationVO>> getList(List<Long> listId) { + List<AdminRoleRelationVO> result = new ArrayList<>(); + + List<AdminRoleRelationPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AdminRoleRelationConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AdminRoleRelationVO>> search(SearchAdminRoleRelation search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AdminRoleRelationPO> pageList = mapper.search(search); + List<AdminRoleRelationVO> listVo = new ArrayList<>(); + List<AdminRoleRelationPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = AdminRoleRelationConvert.INSTANCE.toVo(list); + } + PagerResult<AdminRoleRelationVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AdminRoleRelationPO> check4Id(Long id) { + AdminRoleRelationPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[用户和角色关联关系]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<AdminRoleRelationPO>> check4Id(List<Long> listId) { + // 从数据库查找用户和角色关联关系 + List<AdminRoleRelationPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[用户和角色关联关系]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminRoleRelationPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的用户和角色关联关系 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[用户和角色关联关系]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/AdminRoleService.java b/src/main/java/com/nanjing/water/service/AdminRoleService.java new file mode 100644 index 0000000..9de0d80 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminRoleService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.adminrole.ReqCreateAdminRole; +import com.nanjing.water.entity.request.adminrole.ReqModifyAdminRole; +import com.nanjing.water.entity.search.SearchAdminRole; +import com.nanjing.water.repository.impl.AdminRoleMapperImpl; +import com.nanjing.water.repository.po.AdminRolePO; +import com.nanjing.water.repository.vo.AdminRoleVO; +import com.nanjing.water.service.convert.AdminRoleConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 角色 + * @author lin.liu + */ +@Service +public class AdminRoleService extends BaseService { + @Autowired + private AdminRoleMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateAdminRole request) { + // 转换po + AdminRolePO item = AdminRoleConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[角色]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyAdminRole request) { + // 验证记录是否存在 + ExecutedResult<AdminRolePO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AdminRolePO item = AdminRoleConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[角色]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<AdminRoleVO> get(Long id) { + AdminRoleVO result = new AdminRoleVO(); + + AdminRolePO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AdminRoleConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRolePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRolePO item = new AdminRolePO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[角色]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminRolePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRolePO item = new AdminRolePO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[角色]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AdminRolePO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminRolePO item = new AdminRolePO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[角色]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AdminRolePO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AdminRolePO> listUpdate = request.getList().stream() +// .map(c -> { +// AdminRolePO item = new AdminRolePO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[角色]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[角色]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[角色]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AdminRoleVO>> getList(List<Long> listId) { + List<AdminRoleVO> result = new ArrayList<>(); + + List<AdminRolePO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AdminRoleConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AdminRoleVO>> search(SearchAdminRole search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AdminRolePO> pageList = mapper.search(search); + List<AdminRoleVO> listVo = new ArrayList<>(); + List<AdminRolePO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = AdminRoleConvert.INSTANCE.toVo(list); + } + PagerResult<AdminRoleVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AdminRolePO> check4Id(Long id) { + AdminRolePO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[角色]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<AdminRolePO>> check4Id(List<Long> listId) { + // 从数据库查找角色 + List<AdminRolePO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminRolePO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的角色 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[角色]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/AdminService.java b/src/main/java/com/nanjing/water/service/AdminService.java new file mode 100644 index 0000000..abbba56 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminService.java @@ -0,0 +1,544 @@ +package com.nanjing.water.service; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.jwt.JWTUtil; +import com.nanjing.water.common.jwt.LoginUserDTO; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.security.MD5Util; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.enums.EUserType; +import com.nanjing.water.entity.request.ReqChangePassword; +import com.nanjing.water.entity.request.adminuser.ReqAdminLogin; +import com.nanjing.water.entity.request.adminuser.ReqCreateAdminUser; +import com.nanjing.water.entity.request.adminuser.ReqModifyAdminUser; +import com.nanjing.water.entity.request.adminuser.ReqSetListRole4Admin; +import com.nanjing.water.entity.response.admin.ResAdminLogin; +import com.nanjing.water.entity.response.admin.ResAdminMenuTreeAndPermission; +import com.nanjing.water.entity.response.admin.ResAdminPower; +import com.nanjing.water.entity.search.SearchAdminUser; +import com.nanjing.water.repository.impl.*; +import com.nanjing.water.repository.po.*; +import com.nanjing.water.repository.vo.AdminRoleVO; +import com.nanjing.water.repository.vo.AdminUserVO; +import com.nanjing.water.service.cache.AdminMenuService; +import com.nanjing.water.service.cache.AdminPermissionService; +import com.nanjing.water.service.convert.AdminMenuConvert; +import com.nanjing.water.service.convert.AdminPermissionConvert; +import com.nanjing.water.service.convert.AdminRoleConvert; +import com.nanjing.water.service.convert.AdminUserConvert; +import com.nanjing.water.service.dto.ResAdminDetail; +import com.wf.captcha.SpecCaptcha; +import org.apache.commons.lang3.BooleanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +@Service +public class AdminService extends BaseService { + private static final List<Integer> LIST_ADMIN_TYPE = Arrays.asList( + EUserType.ADMIN.getValue(), + EUserType.ADMIN_USER.getValue() + ); + + @Autowired + private AdminUserMapperImpl dao; + @Autowired + private AdminMenuMapperImpl menusDao; + @Autowired + private AdminPermissionMapperImpl permissionDao; + @Autowired + private AdminRoleMapperImpl roleDao; + @Autowired + private AdminRoleMenuRelationMapperImpl roleMenuRelationDao; + @Autowired + private AdminRolePermissionRelationMapperImpl rolePermissionRelationDao; + @Autowired + private AdminRoleRelationMapperImpl adminRoleRelationDao; + + @Autowired + private AdminMenuService menusService; + @Autowired + private AdminPermissionService permissionService; + @Autowired + private AdminPowerService adminPowerService; + @Autowired + private StringRedisTemplate redisTemplate; + + + // 添加后台管理员 + public ExecutedResult<Long> createAdmin(ReqCreateAdminUser request) { + AdminUserPO find = dao.get4Name(request.getUserName()); + if (Objects.nonNull(find)) { + return ExecutedResult.failed("管理员帐号已存在。" + request.getUserName()); + } + AdminUserPO item = AdminUserConvert.INSTANCE.toCreate(request); + item.setUserRelId(0L); + item.setNickName(ParameterUtil.dealNullStr(request.getNickName())); + item.setHeadImg(ParameterUtil.dealNullStr(request.getHeadImg())); + item.setEmail(ParameterUtil.dealNullStr(request.getEmail())); + item.setContact(ParameterUtil.dealNullStr(request.getContact())); + // 密码加密 + item.setPassword(MD5Util.encrypt(request.getPassword() + ConstantFactory.KEY_PASSWORD)); + item.setStatus(EState.NORMAL.getValue()); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + int rowCount = dao.insert(item); + if (rowCount == 1) { + return ExecutedResult.success(item.getId()); + } + return ExecutedResult.failed("添加[管理员]失败。"); + } + + // 修改后台管理员 + public ExecutedResult<String> modify(ReqModifyAdminUser request) { + ExecutedResult<AdminUserPO> check = this.check4Id(request.getId()); + if (check.isFailed()) { + return ExecutedResult.failed(check.getMsg(), check.getMsgCode()); + } + + AdminUserPO item = new AdminUserPO(); + item.setId(request.getId()); + item.setNickName(ParameterUtil.dealNullStr(request.getNickName())); + item.setHeadImg(ParameterUtil.dealNullStr(request.getHeadImg())); + item.setContact(ParameterUtil.dealNullStr(request.getContact())); + item.setEmail(ParameterUtil.dealNullStr(request.getEmail())); + item.setStatus(request.getStatus()); + int rowCount = dao.updateById(item); + if (rowCount == 1) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("编辑[管理员]失败。"); + } + + // 获取指定管理员详情 + public ExecutedResult<ResAdminDetail> detail(Long adminId) { + ExecutedResult<AdminUserPO> check = this.check4Id(adminId); + if (check.isFailed()) { + return ExecutedResult.failed(check.getMsg(), check.getMsgCode()); + } + ResAdminDetail result = AdminUserConvert.INSTANCE.toDetail(check.getData()); + + result.setListRole(new ArrayList<>()); + //找到角色已有的菜单列表 + List<AdminRoleRelationPO> listRoleRel = adminRoleRelationDao.list4Admin(adminId); + if (ListUtil.isNotNullOrEmpty(listRoleRel)) { + List<Long> listRoleId = listRoleRel.stream() + .map(AdminRoleRelationPO::getRoleId) + .collect(Collectors.toList()); + List<AdminRolePO> listRole = roleDao.getList(listRoleId); + result.setListRole(AdminRoleConvert.INSTANCE.toVo(listRole)); + } + return ExecutedResult.success(result); + } + + // 管理员登录 + public ExecutedResult<ResAdminLogin> adminLogin(ReqAdminLogin request) throws Exception { + Integer maxNumber = 3; + AdminUserPO user = dao.get4Name(request.getUserName()); + //获取缓存中的验证码 + String realCode = redisTemplate.opsForValue().get(request.getUuid()); + if (realCode == null) { + return ExecutedResult.failed("验证码已失效,请重新获取~"); + } + // 验证码校验 + if (!request.getCode().equalsIgnoreCase(realCode)) { + return ExecutedResult.failed("验证码错误"); + } + //获取缓存中设备码 + String machineCode = redisTemplate.opsForValue().get(request.getMachineCode()); + if (StringUtil.isNotNullOrEmpty(machineCode) && Integer.valueOf(machineCode) >= maxNumber) { + return ExecutedResult.failed("登录次数限制,请10分钟后重新登录!"); + } + if (checkPassword(user, request.getPassword())) { + // 构建登录用户 + LoginUserDTO loginUser = new LoginUserDTO(); + loginUser.setUserId(user.getId().toString()); + loginUser.setUserType(user.getUserType()); + loginUser.setNickName(user.getNickName()); + loginUser.setPhone(user.getContact()); + // 保存用户信息到jwt + String token = JWTUtil.getToken(loginUser); + ResAdminLogin result = this.getListPower4Admin(user); + result.setName(user.getNickName()); + result.setToken(token); + return ExecutedResult.success(result); + } else { + Integer newAttempts = StringUtil.isNullOrEmpty(machineCode) ? 1 : Integer.valueOf(machineCode) + 1; + redisTemplate.opsForValue().set(request.getMachineCode(), newAttempts.toString()); + redisTemplate.expire(request.getMachineCode(), 10, TimeUnit.MINUTES); + } + + + return ExecutedResult.failed("账号或密码错误!"); + } + + private static boolean checkPassword(AdminUserPO user, String passWord) throws Exception { + if (Objects.isNull(user)) { + return false; + } + if (BooleanUtils.isFalse(Objects.equals(user.getStatus(), EState.NORMAL.getValue()))) { + return false; + } + if (BooleanUtils.isFalse(MD5Util.encrypt(passWord + ConstantFactory.KEY_PASSWORD).equals(user.getPassword()))) { + return false; + } + return true; + } + + /** + * 生成验证码图片并返回其 Base64 编码字符串 + * + * @param uuid 用于标识验证码的唯一标识符 + * @return 包含验证码图片 Base64 编码的响应结果 + */ + public ExecutedResult<String> generate(String uuid) { + SpecCaptcha specCaptcha = new SpecCaptcha(100, 30, 4); + // captcha.setCharType(Captcha.TYPE_DEFAULT); + String code = specCaptcha.text().toLowerCase(); + // 缓存验证码 + redisTemplate.opsForValue().set(uuid, code); + // 设置验证码3分钟后过期 + redisTemplate.expire(uuid, 3, TimeUnit.MINUTES); + return ExecutedResult.success(specCaptcha.toBase64()); + } + + // 获取管理员权限列表 + public ExecutedResult<ResAdminPower> getPower(Long adminId) { + ResAdminPower result = new ResAdminPower(); + result.setMenus(new ArrayList<>()); + + ExecutedResult<AdminUserPO> check = this.check4Id(adminId); + if (check.isFailed()) { + return ExecutedResult.success(result); + } + AdminUserPO user = check.getData(); + + List<AdminMenuPO> listMenu; + List<AdminPermissionPO> listPermission = null; + // 超级管理员有所有权限 + if (Objects.equals(user.getUserType(), EUserType.ADMIN.getValue())) { + listMenu = menusService.listAllWithCache(); + listPermission = permissionService.listAllWithCache(); + } else { + //找到角色已有的菜单列表 + List<AdminRoleRelationPO> listRole = adminRoleRelationDao.list4Admin(adminId); + if (ListUtil.isNullOrEmpty(listRole)) { + return ExecutedResult.success(result); + } + List<Long> listRoleId = listRole.stream() + .map(AdminRoleRelationPO::getRoleId) + .collect(Collectors.toList()); + + listMenu = menusService.listUserAllWithCache(adminId, listRoleId, adminPowerService::getListMenu4Role); + listPermission = permissionService.listUserAllWithCache(adminId, listRoleId, adminPowerService::getListPermission4Role); + } + if (ListUtil.isNotNullOrEmpty(listMenu)) { + // 筛选状态 + listMenu = listMenu.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.toList()); + result.setMenus(AdminMenuConvert.INSTANCE.toVo(listMenu)); + } + if (ListUtil.isNotNullOrEmpty(listPermission)) { + // 筛选状态 + listPermission = listPermission.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.toList()); + result.setPermissions(AdminPermissionConvert.INSTANCE.toDetail(listPermission)); + } + return ExecutedResult.success(result); + } + + // 修改密码 + public ExecutedResult<String> changePassword(LoginUserDTO user, ReqChangePassword request) { + Long adminId = NumericUtil.tryParseLong(user.getUserId(), 0L); + ExecutedResult<AdminUserPO> check = this.check4Id(adminId); + if (check.isFailed()) { + return ExecutedResult.failed(check.getMsg(), check.getMsgCode()); + } + String oldPass = MD5Util.encrypt(request.getOldPassword() + ConstantFactory.KEY_PASSWORD); + if (BooleanUtils.isFalse(oldPass.equals(check.getData().getPassword()))) { + return ExecutedResult.failed("密码校验失败。"); + } + return this.changePasswordDo(adminId, request.getNewPassword()); + } + + private ExecutedResult<String> changePasswordDo(Long adminId, String password) { + AdminUserPO item = new AdminUserPO(); + item.setId(adminId); + // 密码加密 + item.setPassword(MD5Util.encrypt(password + ConstantFactory.KEY_PASSWORD)); + int rowCount = dao.updateById(item); + if (rowCount == 1) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("密码修改失败。"); + } + + // 重置密码 + public ExecutedResult<String> resetPassword(Long adminId) { + ExecutedResult<AdminUserPO> check = this.check4Id(adminId); + if (check.isFailed()) { + return ExecutedResult.failed(check.getMsg(), check.getMsgCode()); + } + String pass = RandVerifyCode.complexCode(8); + ExecutedResult<String> changePasswordDo = this.changePasswordDo(adminId, pass); + if (changePasswordDo.isFailed()) { + return changePasswordDo; + } + return ExecutedResult.success(pass); + } + + // 分页查询所有管理员 + public ExecutedResult<PagerResult<AdminUserVO>> search(SearchAdminUser request) { + List<AdminUserVO> result = new ArrayList<>(); + + super.dealPager(request); + request.setLastRowNo((request.getPage() - 1) * NumericUtil.tryParseLong(request.getLimit())); + // 处理时间范围 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(request.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + request.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + request.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AdminUserPO> pagerResult = dao.search(request); + + if (NumericUtil.tryParseLong(pagerResult.getTotal()).compareTo(0L) < 1) { + return ExecutedResult.success( + new PagerResult<>(request.getLimit(), request.getPage(), 0L, new ArrayList<>()) + ); + } + List<AdminUserPO> list = pagerResult.getList(); + Long lastId = 0L; + if (ListUtil.isNotNullOrEmpty(list)) { + lastId = list.stream().map(AdminUserPO::getId).min(Comparator.comparing(c -> c)).get(); + + list.forEach(item -> { + AdminUserVO vo = AdminUserConvert.INSTANCE.toVo(item); + result.add(vo); + }); + } + PagerResult<AdminUserVO> view = new PagerResult<>(request.getLimit(), request.getPage(), pagerResult.getTotal(), result); + view.setLastId(lastId); + return ExecutedResult.success(view); + } + + public ExecutedResult<String> stop(Long id) { + // 验证记录是否存在 + ExecutedResult<AdminUserPO> checkExists = this.check4Id(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminUserPO item = new AdminUserPO(); + item.setId(id); + item.setStatus(EState.DISABLED.getValue()); + + int rowCount = this.dao.updateById(item); + if (rowCount == 1) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("停用[管理员]失败。"); + } + + public ExecutedResult<String> enable(Long id) { + // 验证记录是否存在 + ExecutedResult<AdminUserPO> checkExists = this.check4Id(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminUserPO item = new AdminUserPO(); + item.setId(id); + item.setStatus(EState.NORMAL.getValue()); + + int rowCount = this.dao.updateById(item); + if (rowCount == 1) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("启用[管理员]失败。"); + } + + public ExecutedResult<String> remove(Long adminId) { + ExecutedResult<AdminUserPO> check = this.check4Id(adminId); + if (check.isFailed()) { + return ExecutedResult.failed(check.getMsg(), check.getMsgCode()); + } + Boolean remove = dao.remove(adminId); + if (remove) { + return ExecutedResult.success(); + } + return ExecutedResult.failed("删除[管理员]失败"); + } + + public ExecutedResult<AdminUserPO> check4Id(Long id) { + AdminUserPO item = dao.get(id); + if (Objects.isNull(item)) { + return ExecutedResult.failed("[管理员]不存在: " + id); + } + return ExecutedResult.success(item); + } + + // 设置管理员的角色列表 + public ExecutedResult<String> setListRole4Admin(ReqSetListRole4Admin request) { + Long adminId = request.getId(); + ExecutedResult<AdminUserPO> checkExists = this.check4Id(adminId); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminUserPO find = checkExists.getData(); + //找到管理员已有的角色列表 + List<AdminRoleRelationPO> listOld = adminRoleRelationDao.list4Admin(adminId); + listOld = ParameterUtil.dealNull(listOld); + + //现在设置的角色id列表 + List<Long> listRoleId = ParameterUtil.dealNull(request.getListRole()); + + //批量新增 + if (BooleanUtils.isFalse(listRoleId.isEmpty())) { + List<AdminRoleRelationPO> list = listRoleId.stream() + .map(c -> { + AdminRoleRelationPO item = new AdminRoleRelationPO(); + item.setAdminId(adminId); + item.setRoleId(c); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + return item; + }).collect(Collectors.toList()); + Boolean addList = adminRoleRelationDao.addList(list); + if (BooleanUtils.isFalse(addList)) { + return ExecutedResult.failed("给管理员“" + adminId + "”新增角色失败。" + listRoleId); + } + } + //批量删除 + if (BooleanUtils.isFalse(listOld.isEmpty())) { + List<Long> listId = listOld.stream() + .map(AdminRoleRelationPO::getId).collect(Collectors.toList()); + Boolean removeList = adminRoleRelationDao.remove(listId); + if (BooleanUtils.isFalse(removeList)) { + return ExecutedResult.failed("删除管理员“" + adminId + "”已有角色失败。" + listId); + } + } + // 删除指定用户的菜单和权限缓存 + adminPowerService.removePower4User(adminId); + return ExecutedResult.success(); + } + + // 获取管理员的角色列表 + public ExecutedResult<List<AdminRoleVO>> getListRole4Admin(Long id) { + List<AdminRoleVO> result = new ArrayList<>(); + + ExecutedResult<AdminUserPO> checkExists = this.check4Id(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AdminUserPO find = checkExists.getData(); + List<AdminRolePO> list; + if (Objects.equals(find.getUserType(), EUserType.ADMIN.getValue())) { + list = roleDao.getList(); + } else { + //找到角色已有的菜单列表 + List<AdminRoleRelationPO> listRole = adminRoleRelationDao.list4Admin(id); + listRole = ParameterUtil.dealNull(listRole); + if (ListUtil.isNullOrEmpty(listRole)) { + return ExecutedResult.success(result); + } + List<Long> listRoleId = listRole.stream() + .map(AdminRoleRelationPO::getRoleId) + .collect(Collectors.toList()); + list = roleDao.getList(listRoleId); + } + if (ListUtil.isNotNullOrEmpty(list)) { + // 筛选状态 + list = list.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.toList()); + result = AdminRoleConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + /** + * 获取指定用户的菜单和权限 + * + * @param user 用户 + */ + public ResAdminLogin getListPower4Admin(AdminUserPO user) { + Long adminId = user.getId(); + + ResAdminLogin result = new ResAdminLogin(); + result.setId(user.getId()); + result.setUserType(user.getUserType()); + result.setMenus(new ArrayList<>()); + + List<AdminMenuPO> listMenu; + List<AdminPermissionPO> listPermission = null; + + // 管理员从缓存中取有所有权限(普通管理员剔除系统管理部分菜单) + if (LIST_ADMIN_TYPE.contains(user.getUserType())) { + listMenu = menusService.listAllWithCache(); + + if (Objects.equals(EUserType.ADMIN_USER.getValue(), user.getUserType())) { + List<Long> listNot = Arrays.asList(10101L, 10102L, 10103L); + listMenu = listMenu.stream().filter(c -> !listNot.contains(c.getId())).collect(Collectors.toList()); + } + + listPermission = permissionService.listAllWithCache(); + } else { + //找到角色已有的菜单列表 + List<AdminRoleRelationPO> listRole = adminRoleRelationDao.list4Admin(adminId); + if (ListUtil.isNullOrEmpty(listRole)) { + return result; + } + List<Long> listRoleId = listRole.stream() + .map(AdminRoleRelationPO::getRoleId) + .collect(Collectors.toList()); + + listMenu = menusService.listUserAllWithCache(user.getId(), listRoleId, adminPowerService::getListMenu4Role); + listPermission = permissionService.listUserAllWithCache(user.getId(), listRoleId, adminPowerService::getListPermission4Role); + } + if (ListUtil.isNotNullOrEmpty(listMenu)) { + // 筛选状态 + listMenu = listMenu.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.toList()); + Map<Long, List<AdminPermissionPO>> mapPermission = new HashMap<>(); + // 筛选权限状态 + if (ListUtil.isNotNullOrEmpty(listPermission)) { + // 筛选状态 + mapPermission = listPermission.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .collect(Collectors.groupingBy(AdminPermissionPO::getMenuId)); + } + + List<AdminMenuPO> listRoot = listMenu.stream().filter(c -> Objects.equals(c.getLevel(), 1)).collect(Collectors.toList()); + listRoot = listRoot.stream() + .sorted(Comparator.comparing(AdminMenuPO::getSort).reversed()) + .collect(Collectors.toList()); + if (ListUtil.isNotNullOrEmpty(listRoot)) { + for (AdminMenuPO item : listRoot) { + ResAdminMenuTreeAndPermission view = AdminMenuConvert.INSTANCE.toTreeVo(item); + adminPowerService.fillChildMenu(view, listMenu, mapPermission); + adminPowerService.fillPermission4Menu(view, mapPermission); + result.getMenus().add(view); + } + } + } + if (ListUtil.isNotNullOrEmpty(listPermission)) { + // 筛选状态 + List<String> listPermissionSn = listPermission.stream() + .filter(c -> Objects.equals(c.getStatus(), EState.NORMAL.getValue())) + .sorted(Comparator.comparing(AdminPermissionPO::getMenuId)) + .map(AdminPermissionPO::getSn) + .collect(Collectors.toList()); + result.setListPermission(listPermissionSn); + } + return result; + } +} diff --git a/src/main/java/com/nanjing/water/service/AdminUserService.java b/src/main/java/com/nanjing/water/service/AdminUserService.java new file mode 100644 index 0000000..8da4a30 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AdminUserService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.adminuser.ReqCreateAdminUser; +import com.nanjing.water.entity.request.adminuser.ReqModifyAdminUser; +import com.nanjing.water.entity.search.SearchAdminUser; +import com.nanjing.water.repository.impl.AdminUserMapperImpl; +import com.nanjing.water.repository.po.AdminUserPO; +import com.nanjing.water.repository.vo.AdminUserVO; +import com.nanjing.water.service.convert.AdminUserConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 管理员帐号 + * @author lin.liu + */ +@Service +public class AdminUserService extends BaseService { + @Autowired + private AdminUserMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateAdminUser request) { + // 转换po + AdminUserPO item = AdminUserConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[管理员帐号]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyAdminUser request) { + // 验证记录是否存在 + ExecutedResult<AdminUserPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AdminUserPO item = AdminUserConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[管理员帐号]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<AdminUserVO> get(Long id) { + AdminUserVO result = new AdminUserVO(); + + AdminUserPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AdminUserConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminUserPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminUserPO item = new AdminUserPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[管理员帐号]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AdminUserPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminUserPO item = new AdminUserPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[管理员帐号]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AdminUserPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AdminUserPO item = new AdminUserPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[管理员帐号]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AdminUserPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AdminUserPO> listUpdate = request.getList().stream() +// .map(c -> { +// AdminUserPO item = new AdminUserPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[管理员帐号]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[管理员帐号]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[管理员帐号]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AdminUserVO>> getList(List<Long> listId) { + List<AdminUserVO> result = new ArrayList<>(); + + List<AdminUserPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AdminUserConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AdminUserVO>> search(SearchAdminUser search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AdminUserPO> pageList = mapper.search(search); + List<AdminUserVO> listVo = new ArrayList<>(); + List<AdminUserPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = AdminUserConvert.INSTANCE.toVo(list); + } + PagerResult<AdminUserVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AdminUserPO> check4Id(Long id) { + AdminUserPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[管理员帐号]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<AdminUserPO>> check4Id(List<Long> listId) { + // 从数据库查找管理员帐号 + List<AdminUserPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[管理员帐号]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AdminUserPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的管理员帐号 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[管理员帐号]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/AlarmHistoryService.java b/src/main/java/com/nanjing/water/service/AlarmHistoryService.java new file mode 100644 index 0000000..5a74497 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AlarmHistoryService.java @@ -0,0 +1,275 @@ +/** + * # __----~~~~~~~~~~~------___ + * # . . ~~//====...... __--~ ~~ + * # -. \_|// |||\\ ~~~~~~::::... /~ + * # ___-==_ _-~o~ \/ ||| \\ _/~~- + * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * # _-~~ .=~ | \\-_ '-~7 /- / || \ / + * # .~ .~ | \\ -_ / /- / || \ / + * # / ____ / | \\ ~-_/ /|- _/ .|| \ / + * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * # ' ~-| /| |-~\~~ __--~~ + * # |-~~-_/ | | ~\_ _-~ /\ + * # / \ \__ \/~ \__ + * # _--~ _/ | .-~~____--~-/ ~~==. + * # ((->/~ '.|||' -_| ~~-/ , . _|| + * # -_ ~\ ~~---l__i__i__i--~~_/ + * # _-~-__ ~) \--______________--~~ + * # //.-~~~-~_--~- |-------~~~~~~~~ + * # //.-~~~--\ + * # 神兽保佑 + * # 永无BUG! + */ +package com.nanjing.water.service; + + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.alarmhistory.ReqCreateAlarmHistory; +import com.nanjing.water.entity.request.alarmhistory.ReqModifyAlarmHistory; +import com.nanjing.water.entity.search.SearchAlarmHistory; +import com.nanjing.water.repository.impl.AlarmHistoryMapperImpl; +import com.nanjing.water.repository.po.AlarmHistoryPO; +import com.nanjing.water.repository.vo.AlarmHistoryVO; +import com.nanjing.water.service.convert.AlarmHistoryConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 报警信息 + * @author lin.liu + */ +@Service +public class AlarmHistoryService extends BaseService { + @Autowired + private AlarmHistoryMapperImpl mapper; + + public ExecutedResult<String> create(ReqCreateAlarmHistory request) { + //查询报警记录是否存在 + AlarmHistoryPO historyPO = mapper.getListByFacilityId(request.getFacilityId(), request.getCode()); + if(Objects.nonNull(historyPO)){ + historyPO.setTotalCount(historyPO.getTotalCount()+1); + historyPO.setLastTime(LocalDateTimeUtil.nowTimeStamp()); + int i = mapper.updateById(historyPO); + if (i != 1) { + return ExecutedResult.failed("创建[报警信息]失败。"); + } + }else { + // 转换po + AlarmHistoryPO item = AlarmHistoryConvert.INSTANCE.toCreate(request); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[报警信息]失败。"); + } + } + + return ExecutedResult.success(); + } + + public ExecutedResult<String> modify(ReqModifyAlarmHistory request) { + // 验证记录是否存在 + ExecutedResult<AlarmHistoryPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AlarmHistoryPO item = AlarmHistoryConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[报警信息]失败。"); + } + return ExecutedResult.success(); + } + public ExecutedResult<String> editConfirm(Long id,Integer status){ + // 验证记录是否存在 + ExecutedResult<AlarmHistoryPO> checkExists = this.check4Id(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + AlarmHistoryPO data = checkExists.getData(); + data.setIsConfirm(status); + int i = mapper.updateById(data); + if(i!=1){ + return ExecutedResult.failed("编辑[报警信息]失败。"); + } + return ExecutedResult.success(); + } + public ExecutedResult<AlarmHistoryVO> get(Long id) { + AlarmHistoryVO result = new AlarmHistoryVO(); + + AlarmHistoryPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AlarmHistoryConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AlarmHistoryPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AlarmHistoryPO item = new AlarmHistoryPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[报警信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AlarmHistoryPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AlarmHistoryPO item = new AlarmHistoryPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[报警信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AlarmHistoryPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AlarmHistoryPO item = new AlarmHistoryPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[报警信息]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AlarmHistoryPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AlarmHistoryPO> listUpdate = request.getList().stream() +// .map(c -> { +// AlarmHistoryPO item = new AlarmHistoryPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[报警信息]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[报警信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[报警信息]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AlarmHistoryVO>> getList(List<Long> listId) { + List<AlarmHistoryVO> result = new ArrayList<>(); + + List<AlarmHistoryPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AlarmHistoryConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AlarmHistoryVO>> search(SearchAlarmHistory search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AlarmHistoryPO> pageList = mapper.search(search); + List<AlarmHistoryVO> listVo = new ArrayList<>(); + List<AlarmHistoryPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, AlarmHistoryVO.class); + } + PagerResult<AlarmHistoryVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AlarmHistoryPO> check4Id(Long id) { + AlarmHistoryPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[报警信息]不存在:" + id); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<AlarmHistoryPO>> check4Id(List<Long> listId) { + // 从数据库查找报警信息 + List<AlarmHistoryPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[报警信息]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AlarmHistoryPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的报警信息 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[报警信息]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + +} diff --git a/src/main/java/com/nanjing/water/service/AlarmSchemeService.java b/src/main/java/com/nanjing/water/service/AlarmSchemeService.java new file mode 100644 index 0000000..3322774 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/AlarmSchemeService.java @@ -0,0 +1,275 @@ +/** + * # __----~~~~~~~~~~~------___ + * # . . ~~//====...... __--~ ~~ + * # -. \_|// |||\\ ~~~~~~::::... /~ + * # ___-==_ _-~o~ \/ ||| \\ _/~~- + * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * # _-~~ .=~ | \\-_ '-~7 /- / || \ / + * # .~ .~ | \\ -_ / /- / || \ / + * # / ____ / | \\ ~-_/ /|- _/ .|| \ / + * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * # ' ~-| /| |-~\~~ __--~~ + * # |-~~-_/ | | ~\_ _-~ /\ + * # / \ \__ \/~ \__ + * # _--~ _/ | .-~~____--~-/ ~~==. + * # ((->/~ '.|||' -_| ~~-/ , . _|| + * # -_ ~\ ~~---l__i__i__i--~~_/ + * # _-~-__ ~) \--______________--~~ + * # //.-~~~-~_--~- |-------~~~~~~~~ + * # //.-~~~--\ + * # 神兽保佑 + * # 永无BUG! + */ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.alarmscheme.ReqCreateAlarmScheme; +import com.nanjing.water.entity.request.alarmscheme.ReqModifyAlarmScheme; +import com.nanjing.water.entity.search.SearchAlarmScheme; +import com.nanjing.water.repository.impl.AlarmSchemeMapperImpl; +import com.nanjing.water.repository.impl.CommonParametersMapperImpl; +import com.nanjing.water.repository.impl.WaterFacilityMapperImpl; +import com.nanjing.water.repository.po.AlarmSchemePO; +import com.nanjing.water.repository.po.CommonParametersPO; +import com.nanjing.water.repository.po.WaterFacilityPO; +import com.nanjing.water.repository.vo.AlarmSchemeVO; +import com.nanjing.water.service.convert.AlarmSchemeConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 报警方案设置 + * + * @author lin.liu + */ +@Service +public class AlarmSchemeService extends BaseService { + @Autowired + private AlarmSchemeMapperImpl mapper; + @Autowired + private WaterFacilityMapperImpl waterFacilityMapper; + @Autowired + private CommonParametersMapperImpl commonParametersMapper; + + public ExecutedResult<Long> create(ReqCreateAlarmScheme request) { + //查询是否存着报警方案 + AlarmSchemePO alarmSchemePO = mapper.getByFacilityId(request.getFacilityId(), request.getColumnsCode()); + if(Objects.nonNull(alarmSchemePO)){ + return ExecutedResult.failed("设备报警方案已存在!"); + } + // 转换po + AlarmSchemePO item = AlarmSchemeConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[报警方案设置]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyAlarmScheme request) { + // 验证记录是否存在 + ExecutedResult<AlarmSchemePO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + AlarmSchemePO item = AlarmSchemeConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[报警方案设置]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<AlarmSchemeVO> get(Long id) { + AlarmSchemeVO result = new AlarmSchemeVO(); + + AlarmSchemePO find = mapper.get(id); + if (null != find) { + // 转换vo + result = AlarmSchemeConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AlarmSchemePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AlarmSchemePO item = new AlarmSchemePO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[报警方案设置]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<AlarmSchemePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AlarmSchemePO item = new AlarmSchemePO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[报警方案设置]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<AlarmSchemePO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// AlarmSchemePO item = new AlarmSchemePO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[报警方案设置]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<AlarmSchemePO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<AlarmSchemePO> listUpdate = request.getList().stream() +// .map(c -> { +// AlarmSchemePO item = new AlarmSchemePO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[报警方案设置]设置排序值失败"); +// } +// + public ExecutedResult<String> remove(Long id) { + int result = mapper.deleteById(id); + if (result<1) { + return ExecutedResult.failed("删除[报警方案设置]失败。"); + } + return ExecutedResult.success(); + } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[报警方案设置]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<AlarmSchemeVO>> getList(List<Long> listId) { + List<AlarmSchemeVO> result = new ArrayList<>(); + + List<AlarmSchemePO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = AlarmSchemeConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<AlarmSchemeVO>> search(SearchAlarmScheme search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<AlarmSchemePO> pageList = mapper.search(search); + List<AlarmSchemeVO> listVo = new ArrayList<>(); + List<AlarmSchemePO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = AlarmSchemeConvert.INSTANCE.toVo(list); + if (ListUtil.isNotNullOrEmpty(listVo)) { + List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); + List<CommonParametersPO> parametersPOList = commonParametersMapper.getList(); + for (AlarmSchemeVO schemeVO : listVo) { + WaterFacilityPO facilityPO = facilityPOList.stream().filter(item -> item.getId().equals(schemeVO.getFacilityId())).findFirst().orElse(null); + CommonParametersPO parametersPO = parametersPOList.stream().filter(item -> item.getMark().equals(schemeVO.getColumnsCode())).findFirst().orElse(null); + if (Objects.nonNull(facilityPO)) + schemeVO.setFacilityName(facilityPO.getFacilityName()); + + if (Objects.nonNull(parametersPO)) + schemeVO.setColumnsName(parametersPO.getName()); + } + } + } + PagerResult<AlarmSchemeVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<AlarmSchemePO> check4Id(Long id) { + AlarmSchemePO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[报警方案设置]不存在:" + id); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<AlarmSchemePO>> check4Id(List<Long> listId) { + // 从数据库查找报警方案设置 + List<AlarmSchemePO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[报警方案设置]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(AlarmSchemePO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的报警方案设置 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[报警方案设置]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } +} diff --git a/src/main/java/com/nanjing/water/service/CommonParametersService.java b/src/main/java/com/nanjing/water/service/CommonParametersService.java new file mode 100644 index 0000000..9b7741d --- /dev/null +++ b/src/main/java/com/nanjing/water/service/CommonParametersService.java @@ -0,0 +1,290 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.commonparameters.ReqCreateCommonParameters; +import com.nanjing.water.entity.request.commonparameters.ReqModifyCommonParameters; +import com.nanjing.water.entity.search.SearchCommonParameters; +import com.nanjing.water.repository.impl.CommonParametersMapperImpl; +import com.nanjing.water.repository.impl.WaterFacilityParameterMapperImpl; +import com.nanjing.water.repository.po.CommonParametersPO; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import com.nanjing.water.repository.vo.CommonParametersVO; +import org.apache.commons.lang3.BooleanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 公共参数 + * @author lin.liu + */ +@Service +public class CommonParametersService extends BaseService { + @Autowired + private CommonParametersMapperImpl mapper; + @Autowired + private WaterFacilityParameterMapperImpl facilityParameterMapper; + + public ExecutedResult<Long> create(ReqCreateCommonParameters request) { + if(StringUtil.isNotNullOrEmpty(request.getMark())){ + CommonParametersPO byMark = mapper.getByMark(request.getMark()); + if(Objects.nonNull(byMark)){ + return ExecutedResult.failed("参数:"+request.getMark()+"标记已存在。"); + } + } + // 转换po + CommonParametersPO item = CopierUtil.mapTo(request, CommonParametersPO.class); + item.setUnit(ParameterUtil.dealNull(request.getUnit())); + item.setSort(NumericUtil.tryParseInt(request.getSort(), 0)); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[公共参数]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyCommonParameters request) { + // 验证记录是否存在 + ExecutedResult<CommonParametersPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + CommonParametersPO item = CopierUtil.mapTo(request, CommonParametersPO.class); + item.setUnit(ParameterUtil.dealNull(request.getUnit())); + item.setSort(NumericUtil.tryParseInt(request.getSort(), 0)); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[公共参数]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<CommonParametersVO> get(Long id) { + CommonParametersVO result = new CommonParametersVO(); + + CommonParametersPO find = mapper.get(id); + if (null != find) { + result = CopierUtil.mapTo(find, CommonParametersVO.class); + } + return ExecutedResult.success(result); + } + + // public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<CommonParametersPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// CommonParametersPO item = new CommonParametersPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[公共参数]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<CommonParametersPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// CommonParametersPO item = new CommonParametersPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[公共参数]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<CommonParametersPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// CommonParametersPO item = new CommonParametersPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[公共参数]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<CommonParametersPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<CommonParametersPO> listUpdate = request.getList().stream() +// .map(c -> { +// CommonParametersPO item = new CommonParametersPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[公共参数]设置排序值失败"); +// } +// + public ExecutedResult<String> remove(Long id) { + CommonParametersPO parametersPO = mapper.get(id); + if(Objects.isNull(parametersPO)){ + return ExecutedResult.failed("要删除的[公共参数]不存在。"); + } + LambdaQueryWrapper<WaterFacilityParameterPO> queryWrapper =new LambdaQueryWrapper<>(); + queryWrapper.eq(WaterFacilityParameterPO::getColumnsCode,parametersPO.getMark()); + queryWrapper.eq(WaterFacilityParameterPO::getIsDelete,EYesOrNo.NO.getValue()); + List<WaterFacilityParameterPO> list = facilityParameterMapper.selectList(queryWrapper); + if(ListUtil.isNotNullOrEmpty(list)){ + return ExecutedResult.failed("请先解除绑定此参数的设备"); + } + Boolean result = mapper.remove(id); + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[公共参数]失败。"); + } + return ExecutedResult.success(); + } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[公共参数]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<CommonParametersVO>> getList(List<Long> listId) { + List<CommonParametersVO> result = new ArrayList<>(); + + List<CommonParametersPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, CommonParametersVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<CommonParametersVO>> search(SearchCommonParameters search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<CommonParametersPO> pageList = mapper.search(search); + List<CommonParametersVO> listVo = new ArrayList<>(); + List<CommonParametersPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, CommonParametersVO.class); + } + PagerResult<CommonParametersVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<CommonParametersPO> check4Id(Long id) { + CommonParametersPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[公共参数]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<CommonParametersPO>> check4Id(List<Long> listId) { + // 从数据库查找公共参数 + List<CommonParametersPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[公共参数]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(CommonParametersPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的公共参数 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[公共参数]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + protected ExecutedResult<List<CommonParametersPO>> check4Mark(List<String> listMark) { + // 从数据库查找公共参数 + List<CommonParametersPO> list = mapper.list4Mark(listMark); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("参数不存在." + listMark); + } + // 数据库找到的id列表 + List<String> listIdFind = list.stream().map(CommonParametersPO::getMark).collect(Collectors.toList()); + // 数量不一致 + if (listMark.size() != listIdFind.size()) { + // 筛选数据库不存在的公共参数 + List<String> listIdNotFound = listMark.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("参数不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } +} diff --git a/src/main/java/com/nanjing/water/service/QuartzTaskErrorService.java b/src/main/java/com/nanjing/water/service/QuartzTaskErrorService.java new file mode 100644 index 0000000..2bfcf03 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/QuartzTaskErrorService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.quartztaskerror.ReqCreateQuartzTaskError; +import com.nanjing.water.entity.request.quartztaskerror.ReqModifyQuartzTaskError; +import com.nanjing.water.entity.search.SearchQuartzTaskError; +import com.nanjing.water.repository.impl.QuartzTaskErrorMapperImpl; +import com.nanjing.water.repository.po.QuartzTaskErrorPO; +import com.nanjing.water.repository.vo.QuartzTaskErrorVO; +import com.nanjing.water.service.convert.QuartzTaskErrorConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 定时任务错误信息 + * @author lin.liu + */ +@Service +public class QuartzTaskErrorService extends BaseService { + @Autowired + private QuartzTaskErrorMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateQuartzTaskError request) { + // 转换po + QuartzTaskErrorPO item = QuartzTaskErrorConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[定时任务错误信息]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyQuartzTaskError request) { + // 验证记录是否存在 + ExecutedResult<QuartzTaskErrorPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + QuartzTaskErrorPO item = QuartzTaskErrorConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[定时任务错误信息]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<QuartzTaskErrorVO> get(Long id) { + QuartzTaskErrorVO result = new QuartzTaskErrorVO(); + + QuartzTaskErrorPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = QuartzTaskErrorConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskErrorPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskErrorPO item = new QuartzTaskErrorPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[定时任务错误信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskErrorPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskErrorPO item = new QuartzTaskErrorPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[定时任务错误信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskErrorPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskErrorPO item = new QuartzTaskErrorPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[定时任务错误信息]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<QuartzTaskErrorPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<QuartzTaskErrorPO> listUpdate = request.getList().stream() +// .map(c -> { +// QuartzTaskErrorPO item = new QuartzTaskErrorPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[定时任务错误信息]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[定时任务错误信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[定时任务错误信息]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<QuartzTaskErrorVO>> getList(List<Long> listId) { + List<QuartzTaskErrorVO> result = new ArrayList<>(); + + List<QuartzTaskErrorPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = QuartzTaskErrorConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<QuartzTaskErrorVO>> search(SearchQuartzTaskError search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<QuartzTaskErrorPO> pageList = mapper.search(search); + List<QuartzTaskErrorVO> listVo = new ArrayList<>(); + List<QuartzTaskErrorPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = QuartzTaskErrorConvert.INSTANCE.toVo(list); + } + PagerResult<QuartzTaskErrorVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<QuartzTaskErrorPO> check4Id(Long id) { + QuartzTaskErrorPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[定时任务错误信息]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<QuartzTaskErrorPO>> check4Id(List<Long> listId) { + // 从数据库查找定时任务错误信息 + List<QuartzTaskErrorPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[定时任务错误信息]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(QuartzTaskErrorPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的定时任务错误信息 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[定时任务错误信息]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/QuartzTaskInfoService.java b/src/main/java/com/nanjing/water/service/QuartzTaskInfoService.java new file mode 100644 index 0000000..e407b9e --- /dev/null +++ b/src/main/java/com/nanjing/water/service/QuartzTaskInfoService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.quartztaskinfo.ReqCreateQuartzTaskInfo; +import com.nanjing.water.entity.request.quartztaskinfo.ReqModifyQuartzTaskInfo; +import com.nanjing.water.entity.search.SearchQuartzTaskInfo; +import com.nanjing.water.repository.impl.QuartzTaskInfoMapperImpl; +import com.nanjing.water.repository.po.QuartzTaskInfoPO; +import com.nanjing.water.repository.vo.QuartzTaskInfoVO; +import com.nanjing.water.service.convert.QuartzTaskInfoConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 定时任务信息 + * @author lin.liu + */ +@Service +public class QuartzTaskInfoService extends BaseService { + @Autowired + private QuartzTaskInfoMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateQuartzTaskInfo request) { + // 转换po + QuartzTaskInfoPO item = QuartzTaskInfoConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[定时任务信息]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyQuartzTaskInfo request) { + // 验证记录是否存在 + ExecutedResult<QuartzTaskInfoPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + QuartzTaskInfoPO item = QuartzTaskInfoConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[定时任务信息]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<QuartzTaskInfoVO> get(Long id) { + QuartzTaskInfoVO result = new QuartzTaskInfoVO(); + + QuartzTaskInfoPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = QuartzTaskInfoConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskInfoPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskInfoPO item = new QuartzTaskInfoPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[定时任务信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskInfoPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskInfoPO item = new QuartzTaskInfoPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[定时任务信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskInfoPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskInfoPO item = new QuartzTaskInfoPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[定时任务信息]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<QuartzTaskInfoPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<QuartzTaskInfoPO> listUpdate = request.getList().stream() +// .map(c -> { +// QuartzTaskInfoPO item = new QuartzTaskInfoPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[定时任务信息]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[定时任务信息]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[定时任务信息]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<QuartzTaskInfoVO>> getList(List<Long> listId) { + List<QuartzTaskInfoVO> result = new ArrayList<>(); + + List<QuartzTaskInfoPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = QuartzTaskInfoConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<QuartzTaskInfoVO>> search(SearchQuartzTaskInfo search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<QuartzTaskInfoPO> pageList = mapper.search(search); + List<QuartzTaskInfoVO> listVo = new ArrayList<>(); + List<QuartzTaskInfoPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = QuartzTaskInfoConvert.INSTANCE.toVo(list); + } + PagerResult<QuartzTaskInfoVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<QuartzTaskInfoPO> check4Id(Long id) { + QuartzTaskInfoPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[定时任务信息]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<QuartzTaskInfoPO>> check4Id(List<Long> listId) { + // 从数据库查找定时任务信息 + List<QuartzTaskInfoPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[定时任务信息]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(QuartzTaskInfoPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的定时任务信息 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[定时任务信息]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/QuartzTaskRecordService.java b/src/main/java/com/nanjing/water/service/QuartzTaskRecordService.java new file mode 100644 index 0000000..c9c9d2d --- /dev/null +++ b/src/main/java/com/nanjing/water/service/QuartzTaskRecordService.java @@ -0,0 +1,246 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.quartztaskrecord.ReqCreateQuartzTaskRecord; +import com.nanjing.water.entity.request.quartztaskrecord.ReqModifyQuartzTaskRecord; +import com.nanjing.water.entity.search.SearchQuartzTaskRecord; +import com.nanjing.water.repository.impl.QuartzTaskRecordMapperImpl; +import com.nanjing.water.repository.po.QuartzTaskRecordPO; +import com.nanjing.water.repository.vo.QuartzTaskRecordVO; +import com.nanjing.water.service.convert.QuartzTaskRecordConvert; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 定时任务执行记录 + * @author lin.liu + */ +@Service +public class QuartzTaskRecordService extends BaseService { + @Autowired + private QuartzTaskRecordMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateQuartzTaskRecord request) { + // 转换po + QuartzTaskRecordPO item = QuartzTaskRecordConvert.INSTANCE.toCreate(request); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[定时任务执行记录]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyQuartzTaskRecord request) { + // 验证记录是否存在 + ExecutedResult<QuartzTaskRecordPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + QuartzTaskRecordPO item = QuartzTaskRecordConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[定时任务执行记录]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<QuartzTaskRecordVO> get(Long id) { + QuartzTaskRecordVO result = new QuartzTaskRecordVO(); + + QuartzTaskRecordPO find = mapper.get(id); + if (null != find) { + // 转换vo + result = QuartzTaskRecordConvert.INSTANCE.toVo(find); + } + return ExecutedResult.success(result); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskRecordPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskRecordPO item = new QuartzTaskRecordPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[定时任务执行记录]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskRecordPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskRecordPO item = new QuartzTaskRecordPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[定时任务执行记录]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<QuartzTaskRecordPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// QuartzTaskRecordPO item = new QuartzTaskRecordPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[定时任务执行记录]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<QuartzTaskRecordPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<QuartzTaskRecordPO> listUpdate = request.getList().stream() +// .map(c -> { +// QuartzTaskRecordPO item = new QuartzTaskRecordPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[定时任务执行记录]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[定时任务执行记录]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[定时任务执行记录]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<QuartzTaskRecordVO>> getList(List<Long> listId) { + List<QuartzTaskRecordVO> result = new ArrayList<>(); + + List<QuartzTaskRecordPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + // 转换vo + result = QuartzTaskRecordConvert.INSTANCE.toVo(list); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<QuartzTaskRecordVO>> search(SearchQuartzTaskRecord search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<QuartzTaskRecordPO> pageList = mapper.search(search); + List<QuartzTaskRecordVO> listVo = new ArrayList<>(); + List<QuartzTaskRecordPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = QuartzTaskRecordConvert.INSTANCE.toVo(list); + } + PagerResult<QuartzTaskRecordVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<QuartzTaskRecordPO> check4Id(Long id) { + QuartzTaskRecordPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[定时任务执行记录]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<QuartzTaskRecordPO>> check4Id(List<Long> listId) { + // 从数据库查找定时任务执行记录 + List<QuartzTaskRecordPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[定时任务执行记录]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(QuartzTaskRecordPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的定时任务执行记录 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[定时任务执行记录]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + }} diff --git a/src/main/java/com/nanjing/water/service/SysDictDataService.java b/src/main/java/com/nanjing/water/service/SysDictDataService.java new file mode 100644 index 0000000..698dd2e --- /dev/null +++ b/src/main/java/com/nanjing/water/service/SysDictDataService.java @@ -0,0 +1,390 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.jwt.LoginUserDTO; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.ListUtil; +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.ParameterUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.request.sysdictdata.ReqCreateSysDictData; +import com.nanjing.water.entity.request.sysdictdata.ReqModifySysDictData; +import com.nanjing.water.entity.search.SearchSysDictData; +import com.nanjing.water.repository.impl.SysDictDataMapperImpl; +import com.nanjing.water.repository.impl.SysDictTypeMapperImpl; +import com.nanjing.water.repository.po.SysDictDataPO; +import com.nanjing.water.repository.po.SysDictTypePO; +import com.nanjing.water.repository.vo.SysDictDataVO; +import com.nanjing.water.service.convert.SysDictDataConvert; +import org.apache.commons.lang3.BooleanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 字典数据表 + * @author lin.liu + * @description 字典数据表 + */ +@Service +public class SysDictDataService extends BaseService { + @Autowired + private SysDictDataMapperImpl mapper; + @Autowired + private SysDictTypeMapperImpl dictTypeMapper; + + @Autowired + private SysDictTypeService dictTypeService; + + + public ExecutedResult<Long> create(ReqCreateSysDictData request, LoginUserDTO loginUser) { + // 校验类型 + dictTypeService.check4TypeExc(request.getDictType()); + + // 转换po + SysDictDataPO item = SysDictDataConvert.INSTANCE.toCreate(request); + // 设置状态 + item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[字典数据表]失败。"); + } + // 删除所有缓存 + this.removeAllTypeCache(); + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifySysDictData request, LoginUserDTO loginUser) { + // 验证记录是否存在 + ExecutedResult<SysDictDataPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + SysDictDataPO item = SysDictDataConvert.INSTANCE.toModify(request); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[字典数据表]失败。"); + } + // 删除所有缓存 + this.removeAllTypeCache(); + return ExecutedResult.success(); + } + + public ExecutedResult<SysDictDataVO> get(Long id) { + SysDictDataVO result = new SysDictDataVO(); + + SysDictDataPO find = mapper.get(id); + if (null != find) { + // 转换po + result = SysDictDataConvert.INSTANCE.toVo(find); + // 赋值类型名称 + result.setDictTypeTxt(""); + + SysDictTypePO type = dictTypeMapper.get4Type(find.getDictType()); + if (Objects.nonNull(type)) { + result.setDictTypeTxt(type.getDictName()); + } + } + return ExecutedResult.success(result); + } + + // public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<SysDictDataPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// SysDictDataPO item = new SysDictDataPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[字典数据表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<SysDictDataPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// SysDictDataPO item = new SysDictDataPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[字典数据表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<SysDictDataPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// SysDictDataPO item = new SysDictDataPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[字典数据表]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<SysDictDataPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<SysDictDataPO> listUpdate = request.getList().stream() +// .map(c -> { +// SysDictDataPO item = new SysDictDataPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[字典数据表]设置排序值失败"); +// } +// + public ExecutedResult<String> remove(Long id) { + Boolean result = mapper.remove(id); + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[字典数据表]失败。"); + } + // 删除所有缓存 + this.removeAllTypeCache(); + return ExecutedResult.success(); + } + + public ExecutedResult<String> removeList(List<Long> ids) { + Boolean result = mapper.remove(ids); + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[字典数据表]失败。"); + } + // 删除所有缓存 + this.removeAllTypeCache(); + return ExecutedResult.success(); + } + + /** + * 根据类型查询数据 + * @param type 字典类型 + */ + public ExecutedResult<List<SysDictDataVO>> getListByType(String type) { + List<SysDictDataVO> result = new ArrayList<>(); + + List<SysDictDataPO> list = this.mapper.getListByType(type); + if (ListUtil.isNotNullOrEmpty(list)) { + List<SysDictTypePO> listType = dictTypeMapper.get4Type( + list.stream() + .map(SysDictDataPO::getDictType) + .distinct() + .collect(Collectors.toList()) + ); + Map<Object, SysDictTypePO> map4Type = listType.stream().collect(Collectors.toMap(SysDictTypePO::getId, c -> c)); + + for (SysDictDataPO item : list) { + // 转化vo + SysDictDataVO vo = SysDictDataConvert.INSTANCE.toVo(item); + // 赋值类型名称 + vo.setDictTypeTxt(""); + + if (map4Type.containsKey(item.getDictType())) { + vo.setDictTypeTxt(map4Type.get(item.getDictType()).getDictName()); + } + + result.add(vo); + } + } + return ExecutedResult.success(result); + } + + /** + * 根据类型查询数据 + * @param listId 字典数据id列表 + */ + public ExecutedResult<List<SysDictDataVO>> getList(List<Long> listId) { + List<SysDictDataVO> result = new ArrayList<>(); + + List<SysDictDataPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + List<SysDictTypePO> listType = dictTypeMapper.get4Type( + list.stream() + .map(SysDictDataPO::getDictType) + .distinct() + .collect(Collectors.toList()) + ); + Map<Object, SysDictTypePO> map4Type = listType.stream().collect(Collectors.toMap(SysDictTypePO::getId, c -> c)); + + for (SysDictDataPO item : list) { + // 转化vo + SysDictDataVO vo = SysDictDataConvert.INSTANCE.toVo(item); + // 赋值类型名称 + vo.setDictTypeTxt(""); + + if (map4Type.containsKey(item.getDictType())) { + vo.setDictTypeTxt(map4Type.get(item.getDictType()).getDictName()); + } + + result.add(vo); + } + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<SysDictDataVO>> search(SearchSysDictData search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<SysDictDataPO> pageList = mapper.search(search); + List<SysDictDataVO> listVo = new ArrayList<>(); + List<SysDictDataPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + List<SysDictTypePO> listType = dictTypeMapper.get4Type( + list.stream() + .map(SysDictDataPO::getDictType) + .distinct() + .collect(Collectors.toList()) + ); + Map<Object, SysDictTypePO> map4Type = listType.stream().collect(Collectors.toMap(SysDictTypePO::getId, c -> c)); + + for (SysDictDataPO item : list) { + // 转化vo + SysDictDataVO vo = SysDictDataConvert.INSTANCE.toVo(item); + // 赋值类型名称 + vo.setDictTypeTxt(""); + + if (map4Type.containsKey(item.getDictType())) { + vo.setDictTypeTxt(map4Type.get(item.getDictType()).getDictName()); + } + + listVo.add(vo); + } + } + PagerResult<SysDictDataVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<SysDictDataPO> check4Id(Long id) { + SysDictDataPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[字典数据表]不存在:" + id); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<SysDictDataPO>> check4Id(List<Long> listId) { + // 从数据库查找字典数据表 + List<SysDictDataPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[字典数据表]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(SysDictDataPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的字典数据表 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[字典数据表]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + + /** + * 获取指定类型下的字典列表(缓存) + */ + @Cacheable(cacheManager = "json4RedisCacheManager", value = "dictDataCache4Type", key = "#type") + private List<SysDictDataVO> list4TypeWithCache(String type, Function<String, List<SysDictDataVO>> funcList4Type) { + return funcList4Type.apply(type); + } + // 根据类型删除字典列表缓存 + @CacheEvict(cacheNames = "dictDataCache4Type", key = "#type") + private void removeList4TypeCache(String type) { + } + // 删除所有用户拥有的菜单缓存 + @CacheEvict(cacheNames = "dictDataCache4Type", allEntries = true) + public void removeAllTypeCache() { + } + + public List<SysDictDataVO> list4TypeWithCache(String type) { + return this.list4TypeWithCache(type, (t) -> this.getListByType(t).getData()); + } + + public Map<String, SysDictDataVO> map4TypeWithCache(String type) { + List<SysDictDataVO> list = this.list4TypeWithCache(type); + return list.stream().collect(Collectors.toMap(SysDictDataVO::getDictValue, c -> c)); + } + + public Map<String, SysDictDataVO> mapLabel4TypeWithCache(String type) { + List<SysDictDataVO> list = this.list4TypeWithCache(type); + return list.stream().collect(Collectors.toMap(SysDictDataVO::getDictLabel, c -> c)); + } +} diff --git a/src/main/java/com/nanjing/water/service/SysDictTypeService.java b/src/main/java/com/nanjing/water/service/SysDictTypeService.java new file mode 100644 index 0000000..7ac910d --- /dev/null +++ b/src/main/java/com/nanjing/water/service/SysDictTypeService.java @@ -0,0 +1,323 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EResultCode; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.exceptions.BusinessException; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.entity.request.sysdicttype.ReqCreateSysDictType; +import com.nanjing.water.entity.request.sysdicttype.ReqModifySysDictType; +import com.nanjing.water.entity.search.SearchSysDictType; +import com.nanjing.water.repository.impl.SysDictDataMapperImpl; +import com.nanjing.water.repository.impl.SysDictTypeMapperImpl; +import com.nanjing.water.repository.po.SysDictTypePO; +import com.nanjing.water.repository.vo.SysDictTypeVO; +import org.apache.commons.lang3.BooleanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 字典类型表 + * @author lin.liu + * @description 字典类型表 + */ +@Service +public class SysDictTypeService extends BaseService { + @Autowired + private SysDictTypeMapperImpl mapper; + @Autowired + private SysDictDataMapperImpl sysDictDataMapper; + + public ExecutedResult<Long> create(ReqCreateSysDictType request) { + // 转换po + SysDictTypePO item = CopierUtil.mapTo(request, SysDictTypePO.class); + // 设置状态 + item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[字典类型表]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifySysDictType request) { + // 验证记录是否存在 + ExecutedResult<SysDictTypePO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + SysDictTypePO item = CopierUtil.mapTo(request, SysDictTypePO.class); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[字典类型表]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<SysDictTypeVO> get(Long id) { + SysDictTypeVO result = new SysDictTypeVO(); + + SysDictTypePO find = mapper.get(id); + if (null != find) { + result = CopierUtil.mapTo(find, SysDictTypeVO.class); + } + return ExecutedResult.success(result); + } + public ExecutedResult<String> remove(Long id) { + // 验证记录是否存在 + ExecutedResult<SysDictTypePO> checkExists = this.check4Id(id); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + Long exitCount = sysDictDataMapper.count4Type(checkExists.getData().getDictType()); + if(exitCount.compareTo(0L) > 0){ + return ExecutedResult.failed("此类型有关联的字典数据,不能删除"); + } + Boolean result = this.mapper.remove(id); + + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[字典类型表]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<String> removeList(List<Long> ids) { + // 验证记录是否存在 + ExecutedResult<List<SysDictTypePO>> checkExists = this.check4Id(ids); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + + List<String> listExitDataType = sysDictDataMapper.findExists4Type( + checkExists.getData().stream() + .map(SysDictTypePO::getDictType) + .collect(Collectors.toList()) + ); + if (ListUtil.isNotNullOrEmpty(listExitDataType)) { + return ExecutedResult.failed("以下类型有关联的字典数据,不能删除." + listExitDataType); + } + + Boolean result = mapper.remove(ids); + if (BooleanUtils.isFalse(result)) { + return ExecutedResult.failed("删除[字典类型表]失败。"); + } + return ExecutedResult.success(); + } + +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<SysDictTypePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// SysDictTypePO item = new SysDictTypePO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[字典类型表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<SysDictTypePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// SysDictTypePO item = new SysDictTypePO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[字典类型表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<SysDictTypePO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// SysDictTypePO item = new SysDictTypePO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[字典类型表]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<SysDictTypePO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<SysDictTypePO> listUpdate = request.getList().stream() +// .map(c -> { +// SysDictTypePO item = new SysDictTypePO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[字典类型表]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[字典类型表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[字典类型表]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<SysDictTypeVO>> getList(List<Long> listId) { + List<SysDictTypeVO> result = new ArrayList<>(); + + List<SysDictTypePO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, SysDictTypeVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<SysDictTypeVO>> search(SearchSysDictType search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<SysDictTypePO> pageList = mapper.search(search); + List<SysDictTypeVO> listVo = new ArrayList<>(); + List<SysDictTypePO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, SysDictTypeVO.class); + } + PagerResult<SysDictTypeVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<SysDictTypePO> check4Id(Long id) { + SysDictTypePO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[字典类型]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected SysDictTypePO check4IdExc(Long id) { + ExecutedResult<SysDictTypePO> check = this.check4Id(id); + if (check.isFailed()) { + throw new BusinessException(EResultCode.NOT_FOUND, check.getMsg()); + } + return check.getData(); + } + protected ExecutedResult<List<SysDictTypePO>> check4Id(List<Long> listId) { + // 从数据库查找字典类型表 + List<SysDictTypePO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[字典类型]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(SysDictTypePO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的字典类型表 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[字典类型]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + protected List<SysDictTypePO> check4IdExc(List<Long> listId) { + ExecutedResult<List<SysDictTypePO>> check = this.check4Id(listId); + if (check.isFailed()) { + throw new BusinessException(EResultCode.NOT_FOUND, check.getMsg()); + } + return check.getData(); + } + + protected ExecutedResult<SysDictTypePO> check4Type(String type) { + SysDictTypePO exists = mapper.get4Type(type); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[字典类型]不存在:" + type); + } + return ExecutedResult.success(exists); + } + protected SysDictTypePO check4TypeExc(String type) { + ExecutedResult<SysDictTypePO> check = this.check4Type(type); + if (check.isFailed()) { + throw new BusinessException(EResultCode.NOT_FOUND, check.getMsg()); + } + return check.getData(); + } +} diff --git a/src/main/java/com/nanjing/water/service/SysRegionService.java b/src/main/java/com/nanjing/water/service/SysRegionService.java new file mode 100644 index 0000000..c0a2f67 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/SysRegionService.java @@ -0,0 +1,258 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.exceptions.BusinessException; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.sysregion.ReqCreateSysRegion; +import com.nanjing.water.entity.request.sysregion.ReqModifySysRegion; +import com.nanjing.water.entity.response.region.ResRegionTree; +import com.nanjing.water.entity.search.SearchSysRegion; +import com.nanjing.water.repository.impl.SysRegionMapperImpl; +import com.nanjing.water.repository.po.SysRegionPO; +import com.nanjing.water.repository.vo.SysRegionVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 系统行政地区 + * @author lin.liu + */ +@Service +public class SysRegionService extends BaseService { + @Autowired + private SysRegionMapperImpl mapper; + + public ExecutedResult<Long> create(ReqCreateSysRegion request) { + // 转换po + SysRegionPO item = CopierUtil.mapTo(request, SysRegionPO.class); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[系统行政地区]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifySysRegion request) { + // 验证记录是否存在 + ExecutedResult<SysRegionPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + SysRegionPO item = CopierUtil.mapTo(request, SysRegionPO.class); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[系统行政地区]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<SysRegionVO> get(String code) { + SysRegionVO result = new SysRegionVO(); + + SysRegionPO find = mapper.get4Code(code); + if (null != find) { + result = CopierUtil.mapTo(find, SysRegionVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<List<SysRegionVO>> getList(List<Long> listId) { + List<SysRegionVO> result = new ArrayList<>(); + + List<SysRegionPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, SysRegionVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<List<ResRegionTree>> getListChild(String code) { + List<SysRegionPO> list = null; + if (StringUtil.isNullOrEmpty(code)) { + list = mapper.getList4Level(1); + } else { + list = mapper.getList4Parent(code); + } + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.success(new ArrayList<>()); + } + return ExecutedResult.success(CopierUtil.mapTo(list, ResRegionTree.class)); + } + + public void fillChildMenu(ResRegionTree view, List<SysRegionPO> list) { + List<SysRegionPO> listChild = list.stream() + .filter(c -> c.getParentCode().equals(view.getCode())) + .collect(Collectors.toList()); + view.setChildren(new ArrayList<>()); + if (ListUtil.isNullOrEmpty(listChild)) { + return; + } + listChild = listChild.stream() + .sorted(Comparator.comparing(SysRegionPO::getSort)) + .collect(Collectors.toList()); + for (SysRegionPO child : listChild) { + ResRegionTree viewChild = CopierUtil.mapTo(child, ResRegionTree.class); + this.fillChildMenu(viewChild, list); + view.getChildren().add(viewChild); + } + } + + public ExecutedResult<PagerResult<SysRegionVO>> search(SearchSysRegion search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<SysRegionPO> pageList = mapper.search(search); + List<SysRegionVO> listVo = new ArrayList<>(); + List<SysRegionPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, SysRegionVO.class); + } + PagerResult<SysRegionVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<SysRegionPO> check4Id(Long id) { + SysRegionPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[系统行政地区]不存在:" + id); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<SysRegionPO>> check4Id(List<Long> listId) { + // 从数据库查找系统行政地区 + List<SysRegionPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[系统行政地区]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(SysRegionPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的系统行政地区 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[系统行政地区]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + public void fillChild(ResRegionTree view, List<SysRegionPO> list) { + List<SysRegionPO> listChild = list.stream() + .filter(c -> c.getParentCode().equals(view.getCode())) + .collect(Collectors.toList()); + view.setChildren(new ArrayList<>()); + if (ListUtil.isNullOrEmpty(listChild)) { + return; + } + listChild = listChild.stream() + .sorted(Comparator.comparing(SysRegionPO::getSort)) + .collect(Collectors.toList()); + for (SysRegionPO child : listChild) { + ResRegionTree viewChild = CopierUtil.mapTo(child, ResRegionTree.class); + this.fillChild(viewChild, list); + view.getChildren().add(viewChild); + } + } + + public ExecutedResult<SysRegionPO> check4Code(String code) { + SysRegionPO exists = mapper.get4Code(code); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[系统行政地区]不存在:" + code); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<SysRegionPO>> check4Code(List<String> listCode) { + // 从数据库查找系统行政地区 + List<SysRegionPO> list = mapper.list4Code(listCode); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[系统行政地区]不存在." + listCode); + } + // 数据库找到的id列表 + List<String> listIdFind = list.stream().map(SysRegionPO::getCode).collect(Collectors.toList()); + // 数量不一致 + if (listCode.size() != listIdFind.size()) { + // 筛选数据库不存在的系统行政地区 + List<String> listIdNotFound = listCode.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[系统行政地区]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + public ExecutedResult<ResRegionTree> currAndTree(String code) { + // 校验区域信息 + ExecutedResult<SysRegionPO> checkRegion = this.check4Code(code); + if (checkRegion.isFailed()) { + return ExecutedResult.failed(checkRegion.getMsg()); + } + SysRegionPO curr = checkRegion.getData(); + ResRegionTree result = CopierUtil.mapTo(curr, ResRegionTree.class); + + List<SysRegionPO> list = mapper.getList4LevelChild(curr.getLevel()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.success(result); + } + this.fillChild(result, list); + return ExecutedResult.success(result); + } + + public List<SysRegionPO> check4CodeExc(List<String> listRegion) { + ExecutedResult<List<SysRegionPO>> check4Code = this.check4Code(listRegion); + if (check4Code.isFailed()) { + throw new BusinessException(check4Code.getMsg()); + } + return check4Code.getData(); + } +} \ No newline at end of file diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java new file mode 100644 index 0000000..b95bd5c --- /dev/null +++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java @@ -0,0 +1,284 @@ +/** + * # __----~~~~~~~~~~~------___ + * # . . ~~//====...... __--~ ~~ + * # -. \_|// |||\\ ~~~~~~::::... /~ + * # ___-==_ _-~o~ \/ ||| \\ _/~~- + * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * # _-~~ .=~ | \\-_ '-~7 /- / || \ / + * # .~ .~ | \\ -_ / /- / || \ / + * # / ____ / | \\ ~-_/ /|- _/ .|| \ / + * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * # ' ~-| /| |-~\~~ __--~~ + * # |-~~-_/ | | ~\_ _-~ /\ + * # / \ \__ \/~ \__ + * # _--~ _/ | .-~~____--~-/ ~~==. + * # ((->/~ '.|||' -_| ~~-/ , . _|| + * # -_ ~\ ~~---l__i__i__i--~~_/ + * # _-~-__ ~) \--______________--~~ + * # //.-~~~-~_--~- |-------~~~~~~~~ + * # //.-~~~--\ + * # 神兽保佑 + * # 永无BUG! + */ +package com.nanjing.water.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.nanjing.water.common.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.waterfacilityparameter.ReqAddParameter; +import com.nanjing.water.entity.request.waterfacilityparameter.ReqCreateWaterFacilityParameter; +import com.nanjing.water.entity.request.waterfacilityparameter.ReqModifyWaterFacilityParameter; +import com.nanjing.water.entity.search.SearchWaterFacilityParameter; +import com.nanjing.water.repository.impl.WaterFacilityMapperImpl; +import com.nanjing.water.repository.impl.WaterFacilityParameterMapperImpl; +import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl; +import com.nanjing.water.repository.po.WaterFacilityPO; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import com.nanjing.water.repository.vo.WaterFacilityParameterVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 设备设定参数 + * @author lin.liu + */ +@Service +public class WaterFacilityParameterService extends BaseService { + @Autowired + private WaterFacilityParameterMapperImpl mapper; + @Autowired + private WaterFacilityMapperImpl waterFacilityMapper; + @Autowired + private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; + + public ExecutedResult<String> create(ReqAddParameter request) { + WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId()); + if (Objects.isNull(facilityPO)) { + return ExecutedResult.failed("所属设备[id=" + request.getFacilityId() + "]不存在。"); + } + List<WaterFacilityParameterPO> list = mapper.getListByFacilityId(request.getFacilityId()); + List<Long> ids = new ArrayList<Long>(); + if (ListUtil.isNotNullOrEmpty(list)) { + list.forEach(x -> { + ids.add(x.getId()); + }); + } + if (ListUtil.isNotNullOrEmpty(ids)) { + mapper.remove(ids); + } + if (ListUtil.isNotNullOrEmpty(request.getParameterList())) { + for (ReqCreateWaterFacilityParameter x : request.getParameterList()) { + WaterFacilityParameterPO item = new WaterFacilityParameterPO(); + item.setId(SnowFlakeUtil.getId()); + item.setFacilityId(facilityPO.getId()); + item.setFacilityCode(facilityPO.getFacilityCode()); + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + item.setColumnsUnits(x.getColumnsUnits()); + item.setColumnsCode(x.getColumnsCode()); + item.setColumnsShow(x.getColumnsShow()); + item.setColumnValue(""); + item.setLastTime(""); + this.mapper.insert(item); + } + } + return ExecutedResult.success("添加成功"); + } + + public ExecutedResult<String> modify(ReqModifyWaterFacilityParameter request) { + // 验证记录是否存在 + ExecutedResult<WaterFacilityParameterPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + WaterFacilityParameterPO item = CopierUtil.mapTo(request, WaterFacilityParameterPO.class); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[设备设定参数]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<WaterFacilityParameterVO> get(Long id) { + WaterFacilityParameterVO result = new WaterFacilityParameterVO(); + + WaterFacilityParameterPO find = mapper.get(id); + if (null != find) { + result = CopierUtil.mapTo(find, WaterFacilityParameterVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<List<WaterFacilityParameterPO>> getListByFacilityId(Long facilityId) { + List<WaterFacilityParameterPO> list = new ArrayList<>(); + LambdaQueryWrapper<WaterFacilityParameterPO> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(WaterFacilityParameterPO::getFacilityId, facilityId); + list = mapper.selectList(wrapper); + return ExecutedResult.success(list); + } +// public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<WaterFacilityParameterPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// WaterFacilityParameterPO item = new WaterFacilityParameterPO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[设备设定参数]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<WaterFacilityParameterPO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// WaterFacilityParameterPO item = new WaterFacilityParameterPO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[设备设定参数]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<WaterFacilityParameterPO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// WaterFacilityParameterPO item = new WaterFacilityParameterPO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[设备设定参数]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<WaterFacilityParameterPO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<WaterFacilityParameterPO> listUpdate = request.getList().stream() +// .map(c -> { +// WaterFacilityParameterPO item = new WaterFacilityParameterPO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[设备设定参数]设置排序值失败"); +// } +// +// public ExecutedResult<String> remove(Long id) { +// Boolean result = mapper.deleteLogic(id); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[设备设定参数]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[设备设定参数]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<WaterFacilityParameterVO>> getList(List<Long> listId) { + List<WaterFacilityParameterVO> result = new ArrayList<>(); + + List<WaterFacilityParameterPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, WaterFacilityParameterVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<WaterFacilityParameterVO>> search(SearchWaterFacilityParameter search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<WaterFacilityParameterPO> pageList = mapper.search(search); + List<WaterFacilityParameterVO> listVo = new ArrayList<>(); + List<WaterFacilityParameterPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, WaterFacilityParameterVO.class); + List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); + for (WaterFacilityParameterVO vo : listVo) { + String facilityName = facilityPOList.stream().filter(x -> x.getId().equals(vo.getFacilityId())).map(WaterFacilityPO::getFacilityName).findFirst().orElse(null); + if (StringUtil.isNotNullOrEmpty(facilityName)) { + vo.setFacilityName(facilityName); + } + } + } + PagerResult<WaterFacilityParameterVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<WaterFacilityParameterPO> check4Id(Long id) { + WaterFacilityParameterPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[设备设定参数]不存在:" + id); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<WaterFacilityParameterPO>> check4Id(List<Long> listId) { + // 从数据库查找设备设定参数 + List<WaterFacilityParameterPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[设备设定参数]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(WaterFacilityParameterPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的设备设定参数 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[设备设定参数]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + +} diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityService.java b/src/main/java/com/nanjing/water/service/WaterFacilityService.java new file mode 100644 index 0000000..5f761ed --- /dev/null +++ b/src/main/java/com/nanjing/water/service/WaterFacilityService.java @@ -0,0 +1,238 @@ +/** + * # __----~~~~~~~~~~~------___ + * # . . ~~//====...... __--~ ~~ + * # -. \_|// |||\\ ~~~~~~::::... /~ + * # ___-==_ _-~o~ \/ ||| \\ _/~~- + * # __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * # _-~~ .=~ | \\-_ '-~7 /- / || \ / + * # .~ .~ | \\ -_ / /- / || \ / + * # / ____ / | \\ ~-_/ /|- _/ .|| \ / + * # |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * # ' ~-| /| |-~\~~ __--~~ + * # |-~~-_/ | | ~\_ _-~ /\ + * # / \ \__ \/~ \__ + * # _--~ _/ | .-~~____--~-/ ~~==. + * # ((->/~ '.|||' -_| ~~-/ , . _|| + * # -_ ~\ ~~---l__i__i__i--~~_/ + * # _-~-__ ~) \--______________--~~ + * # //.-~~~-~_--~- |-------~~~~~~~~ + * # //.-~~~--\ + * # 神兽保佑 + * # 永无BUG! + */ +package com.nanjing.water.service; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.waterfacility.ReqCreateWaterFacility; +import com.nanjing.water.entity.request.waterfacility.ReqEditWaterFacility; +import com.nanjing.water.entity.request.waterfacility.ReqModifyWaterFacility; +import com.nanjing.water.entity.response.point.ResMonitoryPointDataFacility; +import com.nanjing.water.entity.response.point.ResMonitoryPointDataFacilityParameter; +import com.nanjing.water.entity.search.SearchWaterFacility; +import com.nanjing.water.repository.impl.*; +import com.nanjing.water.repository.po.*; +import com.nanjing.water.repository.vo.WaterFacilityVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 设备信息 + * @author lin.liu + */ +@Service +public class WaterFacilityService extends BaseService { + @Autowired + private WaterFacilityMapperImpl mapper; + @Autowired + private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; + @Autowired + private WaterFacilityParameterMapperImpl facilityParameterMapper; + @Autowired + private WaterFacilityTypeMapperImpl waterFacilityTypeMapper; + + + @Autowired + private WaterMonitoryPointService monitoryPointService; + + + + public ExecutedResult<Long> create(ReqCreateWaterFacility request) { + // 转换po + WaterFacilityPO item = CopierUtil.mapTo(request, WaterFacilityPO.class); + WaterMonitoryPointPO pointPO = waterMonitoryPointMapper.getById(request.getPointId()); + if (pointPO == null) { + return ExecutedResult.failed("所选监测点不存在。"); + } + + item.setAddress(""); + item.setRemark(ParameterUtil.dealNull(request.getRemark())); + item.setFacilityUrl(ParameterUtil.dealNull(request.getFacilityUrl())); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[设备]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyWaterFacility request) { + // 验证记录是否存在 + ExecutedResult<WaterFacilityPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + WaterFacilityPO item = CopierUtil.mapTo(request, WaterFacilityPO.class); + item.setRemark(ParameterUtil.dealNull(request.getRemark())); + item.setFacilityUrl(ParameterUtil.dealNull(request.getFacilityUrl())); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[设备]失败。"); + } + return ExecutedResult.success(); + } + public ExecutedResult<String> editIntervalTime(ReqEditWaterFacility request){ + ExecutedResult<WaterFacilityPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + WaterFacilityPO facilityPO = CopierUtil.mapTo(request, WaterFacilityPO.class); + int rowCount = mapper.updateById(facilityPO); + if (rowCount != 1) { + return ExecutedResult.failed("编辑设备参数失败"); + } + //修改定时任务时间 + return ExecutedResult.success(); + } + public ExecutedResult<WaterFacilityVO> get(Long id) { + WaterFacilityVO result = new WaterFacilityVO(); + + WaterFacilityPO find = mapper.get(id); + if (null != find) { + result = CopierUtil.mapTo(find, WaterFacilityVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<List<WaterFacilityVO>> getList(List<Long> listId) { + List<WaterFacilityVO> result = new ArrayList<>(); + + List<WaterFacilityPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, WaterFacilityVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<WaterFacilityVO>> search(SearchWaterFacility search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<WaterFacilityPO> pageList = mapper.search(search); + List<WaterFacilityVO> listVo = new ArrayList<>(); + List<WaterFacilityPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, WaterFacilityVO.class); + List<WaterMonitoryPointPO> pointList = waterMonitoryPointMapper.getList(); + List<WaterFacilityTypePO> typeList = waterFacilityTypeMapper.getList(); + for (WaterFacilityVO vo : listVo) { + String pointName = pointList.stream().filter(x -> x.getId().equals(vo.getPointId())).map(WaterMonitoryPointPO::getPointName).findFirst().orElse(null); + if (StringUtil.isNotNullOrEmpty(pointName)) { + vo.setPointName(pointName); + } + String typeName = typeList.stream().filter(o -> o.getId().equals(vo.getFacilityType())).map(WaterFacilityTypePO::getName).findFirst().orElse(null); + if (StringUtil.isNotNullOrEmpty(typeName)) { + vo.setFacilityTypeName(typeName); + } + + } + } + PagerResult<WaterFacilityVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<WaterFacilityPO> check4Id(Long id) { + WaterFacilityPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[设备表]不存在:" + id); + } + return ExecutedResult.success(exists); + } + + protected ExecutedResult<List<WaterFacilityPO>> check4Id(List<Long> listId) { + // 从数据库查找设备表 + List<WaterFacilityPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[设备表]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(WaterFacilityPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的设备表 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[设备表]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + + public ExecutedResult<List<ResMonitoryPointDataFacility>> listData(Long pointId) { + List<ResMonitoryPointDataFacility> listVo = new ArrayList<>(); + + ExecutedResult<WaterMonitoryPointPO> checkPoint = monitoryPointService.check4Id(pointId); + if (checkPoint.isFailed()) { + return ExecutedResult.failed(checkPoint.getMsg()); + } + List<WaterFacilityPO> listFacility = mapper.getListByPointId(pointId); + + List<WaterFacilityParameterPO> listParameter = facilityParameterMapper.getList(); + Map<Long, List<WaterFacilityParameterPO>> mapParameter = listParameter.stream().collect(Collectors.groupingBy(WaterFacilityParameterPO::getFacilityId)); + for (WaterFacilityPO facility : listFacility) { + ResMonitoryPointDataFacility facilityVo = new ResMonitoryPointDataFacility(); + facilityVo.setFacilityCode(facility.getFacilityCode()); + facilityVo.setFacilityName(facility.getFacilityName()); + facilityVo.setData(new ArrayList<>()); + if (mapParameter.containsKey(facility.getId())) { + for (WaterFacilityParameterPO parameter : mapParameter.get(facility.getId())) { + ResMonitoryPointDataFacilityParameter parameterVo = new ResMonitoryPointDataFacilityParameter(); + parameterVo.setMark(parameter.getColumnsCode()); + parameterVo.setName(parameter.getColumnsShow()); + parameterVo.setValue(parameter.getColumnValue()); + parameterVo.setUnit(parameter.getColumnsUnits()); + parameterVo.setLastTime(parameter.getLastTime()); + + facilityVo.getData().add(parameterVo); + } + } + listVo.add(facilityVo); + } + return ExecutedResult.success(listVo); + } +} diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityTypeService.java b/src/main/java/com/nanjing/water/service/WaterFacilityTypeService.java new file mode 100644 index 0000000..2841eab --- /dev/null +++ b/src/main/java/com/nanjing/water/service/WaterFacilityTypeService.java @@ -0,0 +1,274 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.*; +import com.nanjing.water.common.enums.*; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.waterfacilitytype.ReqCreateWaterFacilityType; +import com.nanjing.water.entity.request.waterfacilitytype.ReqModifyWaterFacilityType; +import com.nanjing.water.entity.search.SearchWaterFacilityType; +import com.nanjing.water.repository.impl.WaterFacilityMapperImpl; +import com.nanjing.water.repository.impl.WaterFacilityTypeMapperImpl; +import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl; +import com.nanjing.water.repository.po.WaterFacilityPO; +import com.nanjing.water.repository.po.WaterFacilityTypePO; +import com.nanjing.water.repository.po.WaterMonitoryPointPO; +import com.nanjing.water.repository.vo.WaterFacilityTypeVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 设备类型 + * @author lin.liu + */ +@Service +public class WaterFacilityTypeService extends BaseService { + @Autowired + private WaterFacilityTypeMapperImpl mapper; + @Autowired + private WaterFacilityMapperImpl waterFacilityMapper; + @Autowired + private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; + + public ExecutedResult<Long> create(ReqCreateWaterFacilityType request) { + // 转换po + WaterFacilityTypePO item = CopierUtil.mapTo(request, WaterFacilityTypePO.class); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[设备类型表]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyWaterFacilityType request) { + // 验证记录是否存在 + ExecutedResult<WaterFacilityTypePO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + WaterFacilityTypePO item = CopierUtil.mapTo(request, WaterFacilityTypePO.class); + + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[设备类型表]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<WaterFacilityTypeVO> get(Long id) { + WaterFacilityTypeVO result = new WaterFacilityTypeVO(); + + WaterFacilityTypePO find = mapper.get(id); + if (null != find) { + result = CopierUtil.mapTo(find, WaterFacilityTypeVO.class); + } + return ExecutedResult.success(result); + } + + // public ExecutedResult<String> stop(Long id) { +// // 验证记录是否存在 +// ExecutedResult<WaterFacilityTypePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// WaterFacilityTypePO item = new WaterFacilityTypePO(); +// item.setId(id); +// item.setStatus(EState.DISABLED.getValue()); +// +// int rowCount = mapper.updateById(item); +// if (rowCount != 1) { +// return ExecutedResult.failed("停用[设备类型表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> enable(Long id) { +// // 验证记录是否存在 +// ExecutedResult<WaterFacilityTypePO> checkExists = this.check4Id(id); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// WaterFacilityTypePO item = new WaterFacilityTypePO(); +// item.setId(id); +// item.setStatus(EState.NORMAL.getValue()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("启用[设备类型表]失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> setSort(ReqSetSort request) { +// // 验证记录是否存在 +// ExecutedResult<WaterFacilityTypePO> checkExists = this.check4Id(request.getId()); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// WaterFacilityTypePO item = new WaterFacilityTypePO(); +// item.setId(request.getId()); +// item.setSort(request.getSort()); +// +// int rowCount = mapper.updateById(item);\n" + +// if (rowCount != 1) { +// return ExecutedResult.failed("设置[设备类型表]排序值失败。"); +// } +// return ExecutedResult.success(); +// } +// +// public ExecutedResult<String> listSetSort(ReqListSetSort request) { +// // id列表 +// List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList()); +// // 验证记录是否存在 +// ExecutedResult<List<WaterFacilityTypePO>> checkExists = this.check4Id(listId); +// if (checkExists.isFailed()) { +// return ExecutedResult.failed(checkExists.getMsg()); +// } +// +// List<WaterFacilityTypePO> listUpdate = request.getList().stream() +// .map(c -> { +// WaterFacilityTypePO item = new WaterFacilityTypePO(); +// item.setId(c.getId()); +// item.setSort(c.getSort()); +// return item; +// }) +// .collect(Collectors.toList()); +// Boolean result = mapper.modifyList(listUpdate); +// if (result) { +// return ExecutedResult.success(); +// } +// return ExecutedResult.failed("[设备类型表]设置排序值失败"); +// } +// + public ExecutedResult<String> remove(Long id) { + int i = mapper.deleteById(id); + if (i<1) { + return ExecutedResult.failed("删除[设备类型表]失败。"); + } + return ExecutedResult.success(); + } +// +// public ExecutedResult<String> removeList(List<Long> ids) { +// Boolean result = mapper.deleteLogic(ids); +// if (BooleanUtils.isFalse(result)) { +// return ExecutedResult.failed("删除[设备类型表]失败。"); +// } +// return ExecutedResult.success(); +// } + + public ExecutedResult<List<WaterFacilityTypeVO>> getList(List<Long> listId) { + List<WaterFacilityTypeVO> result = new ArrayList<>(); + + List<WaterFacilityTypePO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, WaterFacilityTypeVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<WaterFacilityTypeVO>> search(SearchWaterFacilityType search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<WaterFacilityTypePO> pageList = mapper.search(search); + List<WaterFacilityTypeVO> listVo = new ArrayList<>(); + List<WaterFacilityTypePO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, WaterFacilityTypeVO.class); + } + PagerResult<WaterFacilityTypeVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<WaterFacilityTypePO> check4Id(Long id) { + WaterFacilityTypePO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[设备类型表]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<WaterFacilityTypePO>> check4Id(List<Long> listId) { + // 从数据库查找设备类型表 + List<WaterFacilityTypePO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[设备类型表]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(WaterFacilityTypePO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的设备类型表 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[设备类型表]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + public ExecutedResult<List<WaterFacilityTypeVO>> getFacilityList(Integer type){ + List<WaterFacilityTypeVO> result=new ArrayList<>(); + List<WaterFacilityTypePO> list = mapper.getList(); + //获取所有监测点 + List<WaterMonitoryPointPO> pointPOList = waterMonitoryPointMapper.getListByType(type); + List<Long> collect = pointPOList.stream().map(WaterMonitoryPointPO::getId).collect(Collectors.toList()); + //根据监测点获取所有设备信息 + List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); + List<WaterFacilityPO> facilityList = facilityPOList.stream().filter(x -> collect.contains(x.getPointId())).collect(Collectors.toList()); + if(ListUtil.isNotNullOrEmpty(facilityList)){ + List<Long> typeIdList = facilityList.stream().map(WaterFacilityPO::getFacilityType).distinct().collect(Collectors.toList()); + List<WaterFacilityTypePO> collect1 = list.stream().filter(x -> typeIdList.contains(x.getId())).collect(Collectors.toList()); + if(ListUtil.isNotNullOrEmpty(collect1)){ + result=CopierUtil.mapTo(collect1, WaterFacilityTypeVO.class); + for(WaterFacilityTypeVO vo:result){ + vo.setFacilityPOList(facilityList.stream().filter(x->x.getFacilityType().equals(vo.getId())).collect(Collectors.toList())); + } + } + } + return ExecutedResult.success(result); + } +} diff --git a/src/main/java/com/nanjing/water/service/WaterMonitoryPointService.java b/src/main/java/com/nanjing/water/service/WaterMonitoryPointService.java new file mode 100644 index 0000000..07172d6 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/WaterMonitoryPointService.java @@ -0,0 +1,261 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service; + +import com.nanjing.water.common.ExecutedResult; +import com.nanjing.water.common.PagerResult; +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.model.Tuple; +import com.nanjing.water.common.util.*; +import com.nanjing.water.entity.request.watermonitorypoint.ReqCreateWaterMonitoryPoint; +import com.nanjing.water.entity.request.watermonitorypoint.ReqModifyWaterMonitoryPoint; +import com.nanjing.water.entity.response.point.ResMonitoryPointData; +import com.nanjing.water.entity.response.point.ResMonitoryPointDataFacility; +import com.nanjing.water.entity.response.point.ResMonitoryPointDataFacilityParameter; +import com.nanjing.water.entity.search.SearchWaterMonitoryPoint; +import com.nanjing.water.repository.impl.*; +import com.nanjing.water.repository.po.*; +import com.nanjing.water.repository.vo.WaterMonitoryPointVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 监控点 + * @author lin.liu + */ +@Service +public class WaterMonitoryPointService extends BaseService { + @Autowired + private WaterMonitoryPointMapperImpl mapper; + @Autowired + private WaterFacilityMapperImpl facilityMapper; + @Autowired + private WaterFacilityParameterMapperImpl facilityParameterMapper; + @Autowired + private SysRegionService regionService; + + public ExecutedResult<Long> create(ReqCreateWaterMonitoryPoint request) { + // 转换po + WaterMonitoryPointPO item = CopierUtil.mapTo(request, WaterMonitoryPointPO.class); + item.setRemark(ParameterUtil.dealNull(request.getRemark())); + // 设置状态 + //item.setStatus(EState.NORMAL.getValue()); + // 设置记录创建时间 + item.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + // 是否删除(逻辑删除)初始值 + item.setIsDelete(EYesOrNo.NO.getValue()); + + int rowCount = mapper.insert(item); + if (rowCount != 1) { + return ExecutedResult.failed("创建[监控点]失败。"); + } + return ExecutedResult.success(item.getId()); + } + + public ExecutedResult<String> modify(ReqModifyWaterMonitoryPoint request) { + // 验证记录是否存在 + ExecutedResult<WaterMonitoryPointPO> checkExists = this.check4Id(request.getId()); + if (checkExists.isFailed()) { + return ExecutedResult.failed(checkExists.getMsg()); + } + // 转换po + WaterMonitoryPointPO item = CopierUtil.mapTo(request, WaterMonitoryPointPO.class); + item.setRemark(ParameterUtil.dealNull(request.getRemark())); + int rowCount = mapper.updateById(item); + if (rowCount != 1) { + return ExecutedResult.failed("编辑[监控点]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<WaterMonitoryPointVO> get(Long id) { + WaterMonitoryPointVO result = new WaterMonitoryPointVO(); + + WaterMonitoryPointPO find = mapper.get(id); + if (null != find) { + result = CopierUtil.mapTo(find, WaterMonitoryPointVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<String> remove(Long id) { + int result = mapper.deleteById(id); + if (result<1) { + return ExecutedResult.failed("删除[监控点]失败。"); + } + return ExecutedResult.success(); + } + + public ExecutedResult<List<WaterMonitoryPointVO>> getList(List<Long> listId) { + List<WaterMonitoryPointVO> result = new ArrayList<>(); + + List<WaterMonitoryPointPO> list = mapper.getList(listId); + if (ListUtil.isNotNullOrEmpty(list)) { + result = CopierUtil.mapTo(list, WaterMonitoryPointVO.class); + } + return ExecutedResult.success(result); + } + + public ExecutedResult<PagerResult<WaterMonitoryPointVO>> search(SearchWaterMonitoryPoint search) { + // 处理创建时间范围-查询参数 + Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange()); + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) { + search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime()); + } + if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) { + search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime()); + } + + PagerResult<WaterMonitoryPointPO> pageList = mapper.search(search); + List<WaterMonitoryPointVO> listVo = new ArrayList<>(); + List<WaterMonitoryPointPO> list = pageList.getList(); + if (ListUtil.isNotNullOrEmpty(list)) { + pageList.setLastId(list.get(list.size() - 1).getId()); + // 转换vo + listVo = CopierUtil.mapTo(list, WaterMonitoryPointVO.class); + } + PagerResult<WaterMonitoryPointVO> result = new PagerResult<>(pageList.getLimit(), pageList.getPage(), pageList.getTotal(), listVo); + result.setLastId(pageList.getLastId()); + return ExecutedResult.success(result); + } + + protected ExecutedResult<WaterMonitoryPointPO> check4Id(Long id) { + WaterMonitoryPointPO exists = mapper.get(id); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[监控点]不存在:" + id); + } + return ExecutedResult.success(exists); + } + protected ExecutedResult<List<WaterMonitoryPointPO>> check4Id(List<Long> listId) { + // 从数据库查找监控点 + List<WaterMonitoryPointPO> list = mapper.getList(listId); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[监控点]不存在." + listId); + } + // 数据库找到的id列表 + List<Long> listIdFind = list.stream().map(WaterMonitoryPointPO::getId).collect(Collectors.toList()); + // 数量不一致 + if (listId.size() != listIdFind.size()) { + // 筛选数据库不存在的监控点 + List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList()); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.failed("[监控点]不存在." + listIdNotFound); + } + } + return ExecutedResult.success(list); + } + + public ExecutedResult<WaterMonitoryPointPO> check4Code(String code) { + WaterMonitoryPointPO exists = mapper.getByCode(code); + if (Objects.isNull(exists)) { + return ExecutedResult.failed("[监控点]不存在:" + code); + } + return ExecutedResult.success(exists); + } + + public WaterMonitoryPointPO likeCode(String code) { + return mapper.likeCode(code); + } + + public ExecutedResult<List<ResMonitoryPointData>> listData() { + List<ResMonitoryPointData> listVo = new ArrayList<>(); + + List<WaterMonitoryPointPO> list = mapper.getList(); + if (ListUtil.isNullOrEmpty(list)) { + return ExecutedResult.success(listVo); + } + List<WaterFacilityPO> listFacility = facilityMapper.getList(); + Map<Long, List<WaterFacilityPO>> mapFacility = listFacility.stream().collect(Collectors.groupingBy(WaterFacilityPO::getPointId)); + + List<WaterFacilityParameterPO> listParameter = facilityParameterMapper.getList(); + Map<Long, List<WaterFacilityParameterPO>> mapParameter = listParameter.stream().collect(Collectors.groupingBy(WaterFacilityParameterPO::getFacilityId)); + for (WaterMonitoryPointPO item : list) { + ResMonitoryPointData vo = new ResMonitoryPointData(); + vo.setPointCode(item.getPointCode()); + vo.setPointName(item.getPointName()); + vo.setData(new ArrayList<>()); + if (mapFacility.containsKey(item.getId())) { + for (WaterFacilityPO facility : mapFacility.get(item.getId())) { + ResMonitoryPointDataFacility facilityVo = new ResMonitoryPointDataFacility(); + facilityVo.setFacilityCode(facility.getFacilityCode()); + facilityVo.setFacilityName(facility.getFacilityName()); + facilityVo.setData(new ArrayList<>()); + if (mapParameter.containsKey(facility.getId())) { + for (WaterFacilityParameterPO parameter : mapParameter.get(facility.getId())) { + ResMonitoryPointDataFacilityParameter parameterVo = new ResMonitoryPointDataFacilityParameter(); + parameterVo.setMark(parameter.getColumnsCode()); + parameterVo.setName(parameter.getColumnsShow()); + parameterVo.setValue(parameter.getColumnValue()); + parameterVo.setUnit(parameter.getColumnsUnits()); + parameterVo.setLastTime(parameter.getLastTime()); + + facilityVo.getData().add(parameterVo); + } + } + vo.getData().add(facilityVo); + } + + } + listVo.add(vo); + } + return ExecutedResult.success(listVo); + } + public ExecutedResult<List<WaterMonitoryPointVO>> getPointList(Integer type){ + List<WaterMonitoryPointVO> result = new ArrayList<>(); + List<WaterMonitoryPointPO> pointPOList=new ArrayList<>(); + if(Objects.isNull(type)){ + pointPOList = mapper.getList(); + }else { + pointPOList= mapper.getListByType(type); + } + if(ListUtil.isNotNullOrEmpty(pointPOList)){ + result=CopierUtil.mapTo(pointPOList, WaterMonitoryPointVO.class); + //根据父id分组 + Map<Long, List<WaterMonitoryPointVO>> map = result.stream().collect(Collectors.groupingBy(WaterMonitoryPointPO::getParentId)); + //获取父id为0的列表 + result= map.get(0L); + for(WaterMonitoryPointVO pointVO:result){ + buildTree(map,pointVO); + } + } + + return ExecutedResult.success(result); + } + public static void buildTree(Map<Long,List<WaterMonitoryPointVO>>map,WaterMonitoryPointVO pointVO){ + //获取所有父id列表 + List<WaterMonitoryPointVO> pointVOList = map.get(pointVO.getId()); + if(map.get(pointVO.getId())==null){ + return; + } + pointVO.setChildrenList(pointVOList); + for (WaterMonitoryPointVO pointVO1:pointVOList){ + buildTree(map,pointVO1); + } + } +} diff --git a/src/main/java/com/nanjing/water/service/cache/AdminMenuService.java b/src/main/java/com/nanjing/water/service/cache/AdminMenuService.java new file mode 100644 index 0000000..c90e5ff --- /dev/null +++ b/src/main/java/com/nanjing/water/service/cache/AdminMenuService.java @@ -0,0 +1,74 @@ +package com.nanjing.water.service.cache; + +import com.nanjing.water.common.util.SerializeUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.repository.impl.AdminMenuMapperImpl; +import com.nanjing.water.repository.po.AdminMenuPO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; +import java.util.function.Function; + +@Service +public class AdminMenuService { + @Autowired + private AdminMenuMapperImpl dao; + + @Autowired + private StringRedisTemplate redisTemplate; + + /** + * 获取所有菜单(缓存) + */ + public List<AdminMenuPO> listAllWithCache() { + try { + if (redisTemplate.hasKey("adminMenusCache")) { + String json = redisTemplate.opsForValue().get("adminMenusCache"); + if (StringUtil.isNotNullOrEmpty(json)) { + return SerializeUtil.toListObject(json, AdminMenuPO.class); + } + } + } catch (Exception e) { + // + } + List<AdminMenuPO> list = dao.getList(); + redisTemplate.opsForValue().set("adminMenusCache", SerializeUtil.toJson(list)); + return list; + } + + // 删除菜单缓存 + public void removeListAllCache() { + redisTemplate.delete("adminMenusCache"); + } + + + /** + * 获取用户拥有的菜单(缓存) + */ + public List<AdminMenuPO> listUserAllWithCache(Long id, List<Long> listRoleId, Function<List<Long>, List<AdminMenuPO>> funcGetUserMenu) { + try { + if (redisTemplate.hasKey("userMenusCache")) { + Object json = redisTemplate.opsForHash().get("userMenusCache", id); + if (Objects.nonNull(json)) { + return SerializeUtil.toListObject(json.toString(), AdminMenuPO.class); + } + } + } catch (Exception e) { + // + } + List<AdminMenuPO> list = funcGetUserMenu.apply(listRoleId); + redisTemplate.opsForHash().put("adminMenusCache", id, SerializeUtil.toJson(list)); + return list; + } + // 删除指定用户拥有的菜单缓存 + public void removeUserMenuCache(Long id) { + redisTemplate.opsForHash().delete("userMenusCache", id); + } + // 删除所有用户拥有的菜单缓存 + public void removeAllUserMenuCache() { + redisTemplate.delete("userMenusCache"); + } +} diff --git a/src/main/java/com/nanjing/water/service/cache/AdminPermissionService.java b/src/main/java/com/nanjing/water/service/cache/AdminPermissionService.java new file mode 100644 index 0000000..01168ed --- /dev/null +++ b/src/main/java/com/nanjing/water/service/cache/AdminPermissionService.java @@ -0,0 +1,142 @@ +package com.nanjing.water.service.cache; + +import com.nanjing.water.common.enums.EYesOrNo; +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.SerializeUtil; +import com.nanjing.water.common.util.StringUtil; +import com.nanjing.water.entity.enums.EMenuType; +import com.nanjing.water.entity.enums.EOperation; +import com.nanjing.water.entity.enums.EState; +import com.nanjing.water.repository.impl.AdminPermissionMapperImpl; +import com.nanjing.water.repository.po.AdminMenuPO; +import com.nanjing.water.repository.po.AdminPermissionPO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; + +@Service +public class AdminPermissionService { + @Autowired + private AdminPermissionMapperImpl dao; + + @Autowired + private StringRedisTemplate redisTemplate; + + /** + * 获取所有权限(缓存) + */ + public List<AdminPermissionPO> listAllWithCache() { + try { + if (redisTemplate.hasKey("adminPermissionCache")) { + String json = redisTemplate.opsForValue().get("adminPermissionCache"); + if (StringUtil.isNotNullOrEmpty(json)) { + return SerializeUtil.toListObject(json, AdminPermissionPO.class); + } + } + } catch (Exception e) { + // + } + List<AdminPermissionPO> list = dao.getList(); + redisTemplate.opsForValue().set("adminPermissionCache", SerializeUtil.toJson(list)); + return list; + } + + // 删除权限缓存 + public void removeListAllCache() { + redisTemplate.delete("adminPermissionCache"); + } + + /** + * 获取用户拥有的权限(缓存) + */ + public List<AdminPermissionPO> listUserAllWithCache(Long id, List<Long> listRoleId, Function<List<Long>, List<AdminPermissionPO>> funcGetUserPermission) { + try { + if (redisTemplate.hasKey("userMenusCache")) { + Object json = redisTemplate.opsForHash().get("userPermissionCache", id); + if (Objects.nonNull(json)) { + return SerializeUtil.toListObject(json.toString(), AdminPermissionPO.class); + } + } + } catch (Exception e) { + // + } + List<AdminPermissionPO> list = funcGetUserPermission.apply(listRoleId); + redisTemplate.opsForHash().put("userPermissionCache", id, list); + return list; + } + // 删除指定用户拥有的权限缓存 + public void removeUserCache(Long id) { + redisTemplate.opsForHash().delete("userPermissionCache", id); + } + // 删除所有用户拥有的权限缓存 + public void removeAllUserCache() { + redisTemplate.delete("userPermissionCache"); + } + + /** + * 给菜单添加默认权限 + * @param menu 菜单信息 + */ + public void createDefaultPermission(AdminMenuPO menu) { + if (!Objects.equals(menu.getType(), EMenuType.PAGE.getValue())) { + return; + } + Long now = LocalDateTimeUtil.nowTimeStamp(); + List<AdminPermissionPO> list = new ArrayList<>(); + + AdminPermissionPO item1 = new AdminPermissionPO(); + item1.setSn(menu.getUrl().replaceAll("/", "") + "." + EOperation.LIST.getValue()); + item1.setMenuId(menu.getId()); + item1.setMenuUrl(menu.getUrl()); + item1.setName(menu.getName() + "." + EOperation.LIST.getDesc()); + item1.setIcon(""); + item1.setType(EOperation.LIST.getValue()); + item1.setStatus(EState.NORMAL.getValue()); + item1.setCreateTime(now); + item1.setIsDelete(EYesOrNo.NO.getValue()); + list.add(item1); + + AdminPermissionPO item2 = new AdminPermissionPO(); + item2.setSn(menu.getUrl().replaceAll("/", "") + "." + EOperation.ADD.getValue()); + item2.setMenuId(menu.getId()); + item2.setMenuUrl(menu.getUrl()); + item2.setName(menu.getName() + "." + EOperation.ADD.getDesc()); + item2.setIcon(""); + item2.setType(EOperation.ADD.getValue()); + item2.setStatus(EState.NORMAL.getValue()); + item2.setCreateTime(now); + item2.setIsDelete(EYesOrNo.NO.getValue()); + list.add(item2); + + AdminPermissionPO item3 = new AdminPermissionPO(); + item3.setSn(menu.getUrl().replaceAll("/", "") + "." + EOperation.UPDATE.getValue()); + item3.setMenuId(menu.getId()); + item3.setMenuUrl(menu.getUrl()); + item3.setName(menu.getName() + "." + EOperation.UPDATE.getDesc()); + item3.setIcon(""); + item3.setType(EOperation.UPDATE.getValue()); + item3.setStatus(EState.NORMAL.getValue()); + item3.setCreateTime(now); + item3.setIsDelete(EYesOrNo.NO.getValue()); + list.add(item3); + + AdminPermissionPO item4 = new AdminPermissionPO(); + item4.setSn(menu.getUrl().replaceAll("/", "") + "." + EOperation.DETAIL.getValue()); + item4.setMenuId(menu.getId()); + item4.setMenuUrl(menu.getUrl()); + item4.setName(menu.getName() + "." + EOperation.DETAIL.getDesc()); + item4.setIcon(""); + item4.setType(EOperation.DETAIL.getValue()); + item4.setStatus(EState.NORMAL.getValue()); + item4.setCreateTime(now); + item4.setIsDelete(EYesOrNo.NO.getValue()); + list.add(item4); + + dao.insert(list); + } +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminMenuConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminMenuConvert.java new file mode 100644 index 0000000..d290b85 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminMenuConvert.java @@ -0,0 +1,50 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminmenu.ReqCreateAdminMenu; +import com.nanjing.water.entity.request.adminmenu.ReqModifyAdminMenu; +import com.nanjing.water.entity.response.admin.ResAdminMenuTreeAndPermission; +import com.nanjing.water.repository.po.AdminMenuPO; +import com.nanjing.water.repository.vo.AdminMenuVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 后台菜单 + * @author {#=author} + */ +@Mapper +public interface AdminMenuConvert { + AdminMenuConvert INSTANCE = Mappers.getMapper(AdminMenuConvert.class); + + AdminMenuPO toCreate(ReqCreateAdminMenu request); + AdminMenuPO toModify(ReqModifyAdminMenu request); + + AdminMenuVO toVo(AdminMenuPO item); + List<AdminMenuVO> toVo(List<AdminMenuPO> list); + + ResAdminMenuTreeAndPermission toTreeVo(AdminMenuPO item); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminPermissionConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminPermissionConvert.java new file mode 100644 index 0000000..deaee96 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminPermissionConvert.java @@ -0,0 +1,50 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminpermission.ReqCreateAdminPermission; +import com.nanjing.water.entity.request.adminpermission.ReqModifyAdminPermission; +import com.nanjing.water.entity.response.admin.ResAdminPermission; +import com.nanjing.water.repository.po.AdminPermissionPO; +import com.nanjing.water.repository.vo.AdminPermissionVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 后台用户权限表 + * @author {#=author} + */ +@Mapper +public interface AdminPermissionConvert { + AdminPermissionConvert INSTANCE = Mappers.getMapper(AdminPermissionConvert.class); + + AdminPermissionPO toCreate(ReqCreateAdminPermission request); + AdminPermissionPO toModify(ReqModifyAdminPermission request); + + AdminPermissionVO toVo(AdminPermissionPO item); + List<AdminPermissionVO> toVo(List<AdminPermissionPO> list); + + List<ResAdminPermission> toDetail(List<AdminPermissionPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminRoleConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminRoleConvert.java new file mode 100644 index 0000000..4702cef --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminRoleConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminrole.ReqCreateAdminRole; +import com.nanjing.water.entity.request.adminrole.ReqModifyAdminRole; +import com.nanjing.water.repository.po.AdminRolePO; +import com.nanjing.water.repository.vo.AdminRoleVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 后台用户角色表 + * @author {#=author} + */ +@Mapper +public interface AdminRoleConvert { + AdminRoleConvert INSTANCE = Mappers.getMapper(AdminRoleConvert.class); + + AdminRolePO toCreate(ReqCreateAdminRole request); + AdminRolePO toModify(ReqModifyAdminRole request); + + AdminRoleVO toVo(AdminRolePO item); + List<AdminRoleVO> toVo(List<AdminRolePO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminRoleMenuRelationConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminRoleMenuRelationConvert.java new file mode 100644 index 0000000..141c662 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminRoleMenuRelationConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminrolemenurelation.ReqCreateAdminRoleMenuRelation; +import com.nanjing.water.entity.request.adminrolemenurelation.ReqModifyAdminRoleMenuRelation; +import com.nanjing.water.repository.po.AdminRoleMenuRelationPO; +import com.nanjing.water.repository.vo.AdminRoleMenuRelationVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 后台角色菜单关系表 + * @author {#=author} + */ +@Mapper +public interface AdminRoleMenuRelationConvert { + AdminRoleMenuRelationConvert INSTANCE = Mappers.getMapper(AdminRoleMenuRelationConvert.class); + + AdminRoleMenuRelationPO toCreate(ReqCreateAdminRoleMenuRelation request); + AdminRoleMenuRelationPO toModify(ReqModifyAdminRoleMenuRelation request); + + AdminRoleMenuRelationVO toVo(AdminRoleMenuRelationPO item); + List<AdminRoleMenuRelationVO> toVo(List<AdminRoleMenuRelationPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminRolePermissionRelationConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminRolePermissionRelationConvert.java new file mode 100644 index 0000000..5cc1e34 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminRolePermissionRelationConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminrolepermissionrelation.ReqCreateAdminRolePermissionRelation; +import com.nanjing.water.entity.request.adminrolepermissionrelation.ReqModifyAdminRolePermissionRelation; +import com.nanjing.water.repository.po.AdminRolePermissionRelationPO; +import com.nanjing.water.repository.vo.AdminRolePermissionRelationVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 后台角色权限关系表 + * @author {#=author} + */ +@Mapper +public interface AdminRolePermissionRelationConvert { + AdminRolePermissionRelationConvert INSTANCE = Mappers.getMapper(AdminRolePermissionRelationConvert.class); + + AdminRolePermissionRelationPO toCreate(ReqCreateAdminRolePermissionRelation request); + AdminRolePermissionRelationPO toModify(ReqModifyAdminRolePermissionRelation request); + + AdminRolePermissionRelationVO toVo(AdminRolePermissionRelationPO item); + List<AdminRolePermissionRelationVO> toVo(List<AdminRolePermissionRelationPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminRoleRelationConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminRoleRelationConvert.java new file mode 100644 index 0000000..0fede5a --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminRoleRelationConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminrolerelation.ReqCreateAdminRoleRelation; +import com.nanjing.water.entity.request.adminrolerelation.ReqModifyAdminRoleRelation; +import com.nanjing.water.repository.po.AdminRoleRelationPO; +import com.nanjing.water.repository.vo.AdminRoleRelationVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 后台用户和角色关系表 + * @author {#=author} + */ +@Mapper +public interface AdminRoleRelationConvert { + AdminRoleRelationConvert INSTANCE = Mappers.getMapper(AdminRoleRelationConvert.class); + + AdminRoleRelationPO toCreate(ReqCreateAdminRoleRelation request); + AdminRoleRelationPO toModify(ReqModifyAdminRoleRelation request); + + AdminRoleRelationVO toVo(AdminRoleRelationPO item); + List<AdminRoleRelationVO> toVo(List<AdminRoleRelationPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AdminUserConvert.java b/src/main/java/com/nanjing/water/service/convert/AdminUserConvert.java new file mode 100644 index 0000000..27c29bc --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AdminUserConvert.java @@ -0,0 +1,50 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.adminuser.ReqCreateAdminUser; +import com.nanjing.water.entity.request.adminuser.ReqModifyAdminUser; +import com.nanjing.water.repository.po.AdminUserPO; +import com.nanjing.water.repository.vo.AdminUserVO; +import com.nanjing.water.service.dto.ResAdminDetail; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 管理员帐号 + * @author {#=author} + */ +@Mapper +public interface AdminUserConvert { + AdminUserConvert INSTANCE = Mappers.getMapper(AdminUserConvert.class); + + AdminUserPO toCreate(ReqCreateAdminUser request); + AdminUserPO toModify(ReqModifyAdminUser request); + + AdminUserVO toVo(AdminUserPO item); + List<AdminUserVO> toVo(List<AdminUserPO> list); + + ResAdminDetail toDetail(AdminUserPO item); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AlarmHistoryConvert.java b/src/main/java/com/nanjing/water/service/convert/AlarmHistoryConvert.java new file mode 100644 index 0000000..c3e624c --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AlarmHistoryConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.alarmhistory.ReqCreateAlarmHistory; +import com.nanjing.water.entity.request.alarmhistory.ReqModifyAlarmHistory; +import com.nanjing.water.repository.po.AlarmHistoryPO; +import com.nanjing.water.repository.vo.AlarmHistoryVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 报警信息 + * @author {#=author} + */ +@Mapper +public interface AlarmHistoryConvert { + AlarmHistoryConvert INSTANCE = Mappers.getMapper(AlarmHistoryConvert.class); + + AlarmHistoryPO toCreate(ReqCreateAlarmHistory request); + AlarmHistoryPO toModify(ReqModifyAlarmHistory request); + + AlarmHistoryVO toVo(AlarmHistoryPO item); + List<AlarmHistoryVO> toVo(List<AlarmHistoryPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/AlarmSchemeConvert.java b/src/main/java/com/nanjing/water/service/convert/AlarmSchemeConvert.java new file mode 100644 index 0000000..2bdfa98 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/AlarmSchemeConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.alarmscheme.ReqCreateAlarmScheme; +import com.nanjing.water.entity.request.alarmscheme.ReqModifyAlarmScheme; +import com.nanjing.water.repository.po.AlarmSchemePO; +import com.nanjing.water.repository.vo.AlarmSchemeVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 报警方案设置 + * @author {#=author} + */ +@Mapper +public interface AlarmSchemeConvert { + AlarmSchemeConvert INSTANCE = Mappers.getMapper(AlarmSchemeConvert.class); + + AlarmSchemePO toCreate(ReqCreateAlarmScheme request); + AlarmSchemePO toModify(ReqModifyAlarmScheme request); + + AlarmSchemeVO toVo(AlarmSchemePO item); + List<AlarmSchemeVO> toVo(List<AlarmSchemePO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/CommonParametersConvert.java b/src/main/java/com/nanjing/water/service/convert/CommonParametersConvert.java new file mode 100644 index 0000000..ba94150 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/CommonParametersConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.commonparameters.ReqCreateCommonParameters; +import com.nanjing.water.entity.request.commonparameters.ReqModifyCommonParameters; +import com.nanjing.water.repository.po.CommonParametersPO; +import com.nanjing.water.repository.vo.CommonParametersVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 公共参数 + * @author {#=author} + */ +@Mapper +public interface CommonParametersConvert { + CommonParametersConvert INSTANCE = Mappers.getMapper(CommonParametersConvert.class); + + CommonParametersPO toCreate(ReqCreateCommonParameters request); + CommonParametersPO toModify(ReqModifyCommonParameters request); + + CommonParametersVO toVo(CommonParametersPO item); + List<CommonParametersVO> toVo(List<CommonParametersPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/SysDictDataConvert.java b/src/main/java/com/nanjing/water/service/convert/SysDictDataConvert.java new file mode 100644 index 0000000..2915842 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/SysDictDataConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.sysdictdata.ReqCreateSysDictData; +import com.nanjing.water.entity.request.sysdictdata.ReqModifySysDictData; +import com.nanjing.water.repository.po.SysDictDataPO; +import com.nanjing.water.repository.vo.SysDictDataVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 字典数据表 + * @author {#=author} + */ +@Mapper +public interface SysDictDataConvert { + SysDictDataConvert INSTANCE = Mappers.getMapper(SysDictDataConvert.class); + + SysDictDataPO toCreate(ReqCreateSysDictData request); + SysDictDataPO toModify(ReqModifySysDictData request); + + SysDictDataVO toVo(SysDictDataPO item); + List<SysDictDataVO> toVo(List<SysDictDataPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/SysDictTypeConvert.java b/src/main/java/com/nanjing/water/service/convert/SysDictTypeConvert.java new file mode 100644 index 0000000..39e919e --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/SysDictTypeConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.sysdicttype.ReqCreateSysDictType; +import com.nanjing.water.entity.request.sysdicttype.ReqModifySysDictType; +import com.nanjing.water.repository.po.SysDictTypePO; +import com.nanjing.water.repository.vo.SysDictTypeVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 字典类型表 + * @author {#=author} + */ +@Mapper +public interface SysDictTypeConvert { + SysDictTypeConvert INSTANCE = Mappers.getMapper(SysDictTypeConvert.class); + + SysDictTypePO toCreate(ReqCreateSysDictType request); + SysDictTypePO toModify(ReqModifySysDictType request); + + SysDictTypeVO toVo(SysDictTypePO item); + List<SysDictTypeVO> toVo(List<SysDictTypePO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/SysRegionConvert.java b/src/main/java/com/nanjing/water/service/convert/SysRegionConvert.java new file mode 100644 index 0000000..cfe4998 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/SysRegionConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.sysregion.ReqCreateSysRegion; +import com.nanjing.water.entity.request.sysregion.ReqModifySysRegion; +import com.nanjing.water.repository.po.SysRegionPO; +import com.nanjing.water.repository.vo.SysRegionVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 系统行政地区 + * @author {#=author} + */ +@Mapper +public interface SysRegionConvert { + SysRegionConvert INSTANCE = Mappers.getMapper(SysRegionConvert.class); + + SysRegionPO toCreate(ReqCreateSysRegion request); + SysRegionPO toModify(ReqModifySysRegion request); + + SysRegionVO toVo(SysRegionPO item); + List<SysRegionVO> toVo(List<SysRegionPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/WaterFacilityConvert.java b/src/main/java/com/nanjing/water/service/convert/WaterFacilityConvert.java new file mode 100644 index 0000000..0bdb507 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/WaterFacilityConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.waterfacility.ReqCreateWaterFacility; +import com.nanjing.water.entity.request.waterfacility.ReqModifyWaterFacility; +import com.nanjing.water.repository.po.WaterFacilityPO; +import com.nanjing.water.repository.vo.WaterFacilityVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 设备信息 + * @author {#=author} + */ +@Mapper +public interface WaterFacilityConvert { + WaterFacilityConvert INSTANCE = Mappers.getMapper(WaterFacilityConvert.class); + + WaterFacilityPO toCreate(ReqCreateWaterFacility request); + WaterFacilityPO toModify(ReqModifyWaterFacility request); + + WaterFacilityVO toVo(WaterFacilityPO item); + List<WaterFacilityVO> toVo(List<WaterFacilityPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/WaterFacilityParameterConvert.java b/src/main/java/com/nanjing/water/service/convert/WaterFacilityParameterConvert.java new file mode 100644 index 0000000..288ade8 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/WaterFacilityParameterConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.waterfacilityparameter.ReqCreateWaterFacilityParameter; +import com.nanjing.water.entity.request.waterfacilityparameter.ReqModifyWaterFacilityParameter; +import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import com.nanjing.water.repository.vo.WaterFacilityParameterVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 设备设定参数 + * @author {#=author} + */ +@Mapper +public interface WaterFacilityParameterConvert { + WaterFacilityParameterConvert INSTANCE = Mappers.getMapper(WaterFacilityParameterConvert.class); + + WaterFacilityParameterPO toCreate(ReqCreateWaterFacilityParameter request); + WaterFacilityParameterPO toModify(ReqModifyWaterFacilityParameter request); + + WaterFacilityParameterVO toVo(WaterFacilityParameterPO item); + List<WaterFacilityParameterVO> toVo(List<WaterFacilityParameterPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/WaterFacilityTypeConvert.java b/src/main/java/com/nanjing/water/service/convert/WaterFacilityTypeConvert.java new file mode 100644 index 0000000..b8f5283 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/WaterFacilityTypeConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.waterfacilitytype.ReqCreateWaterFacilityType; +import com.nanjing.water.entity.request.waterfacilitytype.ReqModifyWaterFacilityType; +import com.nanjing.water.repository.po.WaterFacilityTypePO; +import com.nanjing.water.repository.vo.WaterFacilityTypeVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 设备类型 + * @author {#=author} + */ +@Mapper +public interface WaterFacilityTypeConvert { + WaterFacilityTypeConvert INSTANCE = Mappers.getMapper(WaterFacilityTypeConvert.class); + + WaterFacilityTypePO toCreate(ReqCreateWaterFacilityType request); + WaterFacilityTypePO toModify(ReqModifyWaterFacilityType request); + + WaterFacilityTypeVO toVo(WaterFacilityTypePO item); + List<WaterFacilityTypeVO> toVo(List<WaterFacilityTypePO> list); +} diff --git a/src/main/java/com/nanjing/water/service/convert/WaterMonitoryPointConvert.java b/src/main/java/com/nanjing/water/service/convert/WaterMonitoryPointConvert.java new file mode 100644 index 0000000..82c89c9 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/convert/WaterMonitoryPointConvert.java @@ -0,0 +1,47 @@ +/** +# __----~~~~~~~~~~~------___ +# . . ~~//====...... __--~ ~~ +# -. \_|// |||\\ ~~~~~~::::... /~ +# ___-==_ _-~o~ \/ ||| \\ _/~~- +# __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ +# _-~~ .=~ | \\-_ '-~7 /- / || \ / +# .~ .~ | \\ -_ / /- / || \ / +# / ____ / | \\ ~-_/ /|- _/ .|| \ / +# |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ +# ' ~-| /| |-~\~~ __--~~ +# |-~~-_/ | | ~\_ _-~ /\ +# / \ \__ \/~ \__ +# _--~ _/ | .-~~____--~-/ ~~==. +# ((->/~ '.|||' -_| ~~-/ , . _|| +# -_ ~\ ~~---l__i__i__i--~~_/ +# _-~-__ ~) \--______________--~~ +# //.-~~~-~_--~- |-------~~~~~~~~ +# //.-~~~--\ +# 神兽保佑 +# 永无BUG! +*/ +package com.nanjing.water.service.convert; + +import com.nanjing.water.entity.request.watermonitorypoint.ReqCreateWaterMonitoryPoint; +import com.nanjing.water.entity.request.watermonitorypoint.ReqModifyWaterMonitoryPoint; +import com.nanjing.water.repository.po.WaterMonitoryPointPO; +import com.nanjing.water.repository.vo.WaterMonitoryPointVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 监控点 + * @author {#=author} + */ +@Mapper +public interface WaterMonitoryPointConvert { + WaterMonitoryPointConvert INSTANCE = Mappers.getMapper(WaterMonitoryPointConvert.class); + + WaterMonitoryPointPO toCreate(ReqCreateWaterMonitoryPoint request); + WaterMonitoryPointPO toModify(ReqModifyWaterMonitoryPoint request); + + WaterMonitoryPointVO toVo(WaterMonitoryPointPO item); + List<WaterMonitoryPointVO> toVo(List<WaterMonitoryPointPO> list); +} diff --git a/src/main/java/com/nanjing/water/service/dto/ResAdminDetail.java b/src/main/java/com/nanjing/water/service/dto/ResAdminDetail.java new file mode 100644 index 0000000..c7bf301 --- /dev/null +++ b/src/main/java/com/nanjing/water/service/dto/ResAdminDetail.java @@ -0,0 +1,35 @@ +package com.nanjing.water.service.dto; + +import com.nanjing.water.common.util.LocalDateTimeUtil; +import com.nanjing.water.common.util.NumericUtil; +import com.nanjing.water.repository.po.AdminUserPO; +import com.nanjing.water.repository.vo.AdminRoleVO; +import com.nanjing.water.repository.vo.BasicVO; +import lombok.Data; + +import java.util.List; +import java.util.Objects; + +@Data +public class ResAdminDetail extends AdminUserPO implements BasicVO { + /** + * 角色列表 + */ + private List<AdminRoleVO> listRole; + + @Override + public String getCreateTimeView() { + if (NumericUtil.tryParseLong(this.getCreateTime()).compareTo(0L) > 0) { + return LocalDateTimeUtil.toFormatString(this.getCreateTime()); + } + return ""; + } + + @Override + public String getUpdateTimeView() { + if (Objects.isNull(this.getUpdateTime())) { + return ""; + } + return LocalDateTimeUtil.toFormatFullString(this.getUpdateTime()); + } +} diff --git a/src/main/java/com/nanjing/water/service/dto/StatisticsTodayDto.java b/src/main/java/com/nanjing/water/service/dto/StatisticsTodayDto.java new file mode 100644 index 0000000..bf7fe2a --- /dev/null +++ b/src/main/java/com/nanjing/water/service/dto/StatisticsTodayDto.java @@ -0,0 +1,60 @@ +package com.nanjing.water.service.dto; + +import com.nanjing.water.common.ConstantFactory; +import com.nanjing.water.common.util.ListUtil; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Objects; + +@Data +public class StatisticsTodayDto { + private String pointCode; + private String facilityCode; + private String parameterCode; + private List<BigDecimal> listValue; + /** + * 最小值 + */ + public BigDecimal getMinValue() { + if (ListUtil.isNullOrEmpty(listValue)) { + return BigDecimal.ZERO; + } + return listValue.stream().min(BigDecimal::compareTo).get(); + } + /** + * 最大值 + */ + public BigDecimal getMaxValue() { + if (ListUtil.isNullOrEmpty(listValue)) { + return BigDecimal.ZERO; + } + return listValue.stream().max(BigDecimal::compareTo).get(); + } + /** + * 平均值 + */ + public BigDecimal getAverageValue() { + if (ListUtil.isNullOrEmpty(listValue)) { + return BigDecimal.ZERO; + } + BigDecimal sum = listValue.stream().reduce(BigDecimal.ZERO, BigDecimal::add); + if (Objects.equals(sum, BigDecimal.ZERO)) { + return BigDecimal.ZERO; + } + return sum.divide(new BigDecimal(String.valueOf(listValue.size())), ConstantFactory.NUM2, BigDecimal.ROUND_HALF_UP); + } + /** + * 统计次数 + */ + public Integer getDataCount() { + return this.listValue.size(); + } + /** + * 合格次数 + */ + public Integer getPassCount() { + return this.listValue.size(); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c902c4c..7e1296f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: application: - name: xxx-yyy + name: nanjing-station-service profiles: # 通过mvn打包传递参数,指定配置文件环境 active: @package.environment@ @@ -21,7 +21,7 @@ jwt: token_header: Token #JWT存储的请求头 - secret: xxx-yyy-secret #hardware-lunhan-secret #JWT加解密密钥(所有硬件项目通用,公用一个用户中心登录,其他项目不写登录接口,直接用token) + secret: nanjing-station-secret #hardware-lunhan-secret #JWT加解密密钥(所有硬件项目通用,公用一个用户中心登录,其他项目不写登录接口,直接用token) expiration: 15811200 #JWT的超期限时间(60*60*24*183) 单位:秒 head: 'Bearer ' #JWT负载中拿到开头 diff --git a/src/test/java/com/nanjing/water/GenCodeGauss.java b/src/test/java/com/nanjing/water/GenCodeGauss.java index 31feb18..c60413a 100644 --- a/src/test/java/com/nanjing/water/GenCodeGauss.java +++ b/src/test/java/com/nanjing/water/GenCodeGauss.java @@ -21,7 +21,7 @@ private static final String PORT = "57654"; private static final String USER = "lunhan"; private static final String PASSWORD = "lunhan.20240330"; - private static final String DB_NAME = "water_basic"; + private static final String DB_NAME = "nanjing_water_system"; private static final String AUTHOR = "lin.liu"; public static Connection CONN = null; @@ -30,16 +30,16 @@ //region 输出文件路径设置 class OutSet { - public static final String PO = "./src/main/java/com/lunhan/xxx/repository/po/"; - public static final String VO = "./src/main/java/com/lunhan/xxx/repository/vo/"; - public static final String CONVERT_MAPPER = "./src/main/java/com/lunhan/xxx/service/convert/"; - public static final String MAPPER_IMPL = "./src/main/java/com/lunhan/xxx/repository/impl/"; - public static final String MAPPER = "./src/main/java/com/lunhan/xxx/repository/mapper/"; - public static final String SERVICE = "./src/main/java/com/lunhan/xxx/service/"; - public static final String Controller = "./src/main/java/com/lunhan/xxx/host/controller/"; - public static final String SEARCH = "./src/main/java/com/lunhan/xxx/entity/search/"; - public static final String RequestDTO = "./src/main/java/com/lunhan/xxx/entity/request/"; - public static final String ResponseDTO = "./src/main/java/com/lunhan/xxx/entity/response/"; + public static final String PO = "./src/main/java/com/nanjing/water/repository/po/"; + public static final String VO = "./src/main/java/com/nanjing/water/repository/vo/"; + public static final String CONVERT_MAPPER = "./src/main/java/com/nanjing/water/service/convert/"; + public static final String MAPPER_IMPL = "./src/main/java/com/nanjing/water/repository/impl/"; + public static final String MAPPER = "./src/main/java/com/nanjing/water/repository/mapper/"; + public static final String SERVICE = "./src/main/java/com/nanjing/water/service/"; + public static final String Controller = "./src/main/java/com/nanjing/water/host/controller/"; + public static final String SEARCH = "./src/main/java/com/nanjing/water/entity/search/"; + public static final String Request = "./src/main/java/com/nanjing/water/entity/request/"; + public static final String Response = "./src/main/java/com/nanjing/water/entity/response/"; } //endregion @@ -244,7 +244,7 @@ * 只生成以下配置的表 */ private static final List<String> ONLY_TABLES = Arrays.asList( - + "data_upload_record" ); public static void main(String[] args) { @@ -792,10 +792,10 @@ } content.append("}"); - if (new File(GenCodeGauss.OutSet.RequestDTO + tableNamePackage + "/" + createDTOName + ".java").exists()) { + if (new File(GenCodeGauss.OutSet.Request + tableNamePackage + "/" + createDTOName + ".java").exists()) { return; } - writeFile(GenCodeGauss.OutSet.RequestDTO + tableNamePackage + "/", createDTOName + ".java", content.toString()); + writeFile(GenCodeGauss.OutSet.Request + tableNamePackage + "/", createDTOName + ".java", content.toString()); } private static void genModifyDto(List<Map<String, Object>> columns, String tabName, String tableDesc) { @@ -885,10 +885,10 @@ } content.append("}"); - if (new File(GenCodeGauss.OutSet.RequestDTO + tableNamePackage + "/" + modifyDTOName + ".java").exists()) { + if (new File(GenCodeGauss.OutSet.Request + tableNamePackage + "/" + modifyDTOName + ".java").exists()) { return; } - writeFile(GenCodeGauss.OutSet.RequestDTO + tableNamePackage + "/", modifyDTOName + ".java", content.toString()); + writeFile(GenCodeGauss.OutSet.Request + tableNamePackage + "/", modifyDTOName + ".java", content.toString()); } private static void genConvertMapper(String tableName, String tableDesc) { diff --git a/src/test/java/com/nanjing/water/GenCodeMysql.java b/src/test/java/com/nanjing/water/GenCodeMysql.java index d57a60e..7d3db3a 100644 --- a/src/test/java/com/nanjing/water/GenCodeMysql.java +++ b/src/test/java/com/nanjing/water/GenCodeMysql.java @@ -47,17 +47,17 @@ //region 架包路径设置 class PackageSet { - public static final String PO = "com.lunhan.water.repository.po"; - public static final String VO = "com.lunhan.water.repository.vo"; - public static final String CONVERT_MAPPER = "com.lunhan.water.service.convert"; - public static final String DAO = "com.lunhan.water.repository.dao"; - public static final String COLUMNS_ENUM = "com.lunhan.water.repository.columns"; - public static final String MAPPER = "com.lunhan.water.repository"; - public static final String SERVICE = "com.lunhan.water.service"; - public static final String Controller = "com.lunhan.water.host.controller"; - public static final String SEARCH = "com.lunhan.water.entity.search"; - public static final String Request = "com.lunhan.water.entity.request"; - public static final String Response = "com.lunhan.water.entity.response"; + public static final String PO = "com.nanjing.water.repository.po"; + public static final String VO = "com.nanjing.water.repository.vo"; + public static final String CONVERT_MAPPER = "com.nanjing.water.service.convert"; + public static final String DAO = "com.nanjing.water.repository.dao"; + public static final String COLUMNS_ENUM = "com.nanjing.water.repository.columns"; + public static final String MAPPER = "com.nanjing.water.repository"; + public static final String SERVICE = "com.nanjing.water.service"; + public static final String Controller = "com.nanjing.water.host.controller"; + public static final String SEARCH = "com.nanjing.water.entity.search"; + public static final String Request = "com.nanjing.water.entity.request"; + public static final String Response = "com.nanjing.water.entity.response"; } //endregion @@ -120,8 +120,8 @@ //region vo类 import 内容设置 private static final String[] SET_VO_IMPORT = new String[]{ - "import com.lunhan.water.common.util.LocalDateTimeUtil;", - "import com.lunhan.water.common.util.NumericUtil;", + "import com.nanjing.water.common.util.LocalDateTimeUtil;", + "import com.nanjing.water.common.util.NumericUtil;", "import java.util.Objects;" }; //endregion @@ -137,7 +137,7 @@ //region 字段名枚举类 import 内容设置 private static final String[] SET_COLUMNS_ENUM_IMPORT = new String[]{ - "import com.lunhan.water.common.orm2.enums.ColumnBasic;", + "import com.nanjing.water.common.orm2.enums.ColumnBasic;", "import java.util.Arrays;", "import java.util.Objects;" }; @@ -145,13 +145,13 @@ //region dao类 import 内容设置 private static final String[] SET_DAO_IMPORT = new String[]{ - "import com.lunhan.water.common.ConstantFactory;", - "import com.lunhan.water.common.PagerResult;", - "import com.lunhan.water.common.orm2.SqlBuilder;", - "import com.lunhan.water.common.util.*;", - "import com.lunhan.water.entity.dto.OrderByDTO;", - "import com.lunhan.water.entity.enums.*;", - "import com.lunhan.water.repository.BasicDao;", + "import com.nanjing.water.common.ConstantFactory;", + "import com.nanjing.water.common.PagerResult;", + "import com.nanjing.water.common.orm2.SqlBuilder;", + "import com.nanjing.water.common.util.*;", + "import com.nanjing.water.entity.dto.OrderByDTO;", + "import com.nanjing.water.entity.enums.*;", + "import com.nanjing.water.repository.BasicDao;", "import org.springframework.stereotype.Repository;", "import java.util.*;", "import org.springframework.transaction.annotation.Transactional;" @@ -160,9 +160,9 @@ //region service类 import 内容设置 private static final String[] SET_Service_IMPORT = new String[]{ - "import com.lunhan.water.common.*;", - "import com.lunhan.water.common.model.Tuple;", - "import com.lunhan.water.common.util.*;", + "import com.nanjing.water.common.*;", + "import com.nanjing.water.common.model.Tuple;", + "import com.nanjing.water.common.util.*;", "import org.apache.commons.lang3.BooleanUtils;", "import org.springframework.beans.factory.annotation.Autowired;", "import org.springframework.stereotype.Service;", @@ -174,13 +174,13 @@ //region Controller类 import 内容设置 private static final String[] SET_Controller_IMPORT = new String[]{ - "import com.lunhan.water.common.ExecutedResult;", - "import com.lunhan.water.common.PagerResult;", - "import com.lunhan.water.common.util.ParameterUtil;", - "import com.lunhan.water.common.validator.ParameterValidateResult;", - "import com.lunhan.water.common.validator.ParameterValidator;", - "import com.lunhan.water.entity.request.ReqListId;", - "import com.lunhan.water.host.BasicController;", + "import com.nanjing.water.common.ExecutedResult;", + "import com.nanjing.water.common.PagerResult;", + "import com.nanjing.water.common.util.ParameterUtil;", + "import com.nanjing.water.common.validator.ParameterValidateResult;", + "import com.nanjing.water.common.validator.ParameterValidator;", + "import com.nanjing.water.entity.request.ReqListId;", + "import com.nanjing.water.host.BasicController;", "import org.springframework.beans.factory.annotation.Autowired;", "import org.springframework.web.bind.annotation.*;", "import java.util.List;" -- Gitblit v1.9.3