From 847cfe7b4db5a508471f682503f023309bf82eae Mon Sep 17 00:00:00 2001 From: zy <82248909@qq.com> Date: Mon, 10 Nov 2025 09:46:16 +0800 Subject: [PATCH] first --- .gitignore | 11 + pom.xml | 282 +++++++ .../com/wangbin/MybatisPlusGenerator.java | 92 +++ .../java/com/wangbin/WangbinApplication.java | 38 + src/main/java/com/wangbin/common/Result.java | 89 ++ .../java/com/wangbin/config/DruidConfig.java | 67 ++ .../com/wangbin/config/MybatisPlusConfig.java | 20 + .../java/com/wangbin/config/RedisConfig.java | 65 ++ .../java/com/wangbin/config/ServerConfig.java | 39 + .../com/wangbin/config/Swagger2Config.java | 44 + .../java/com/wangbin/config/XxlJobConfig.java | 62 ++ .../com/wangbin/constant/CommonConstant.java | 22 + .../wangbin/constant/PollutionConstants.java | 36 + .../controller/ScEquZhibiaoController.java | 21 + .../controller/SurvAlertRecordController.java | 21 + .../SurvDeviceDeployController.java | 73 ++ .../controller/SurvHisdataAirController.java | 21 + .../SurvHisdataLivestockwaterController.java | 21 + ...vHisdataLivestockwaterErrorController.java | 21 + .../SurvHisdataOrientwaterController.java | 21 + ...SurvHisdataOrientwaterErrorController.java | 21 + .../SurvHisdataPestlightController.java | 21 + .../controller/SurvHisdataSoilController.java | 21 + .../SurvTransdataAirController.java | 21 + ...SurvTransdataLivestockwaterController.java | 21 + .../SurvTransdataOrientwaterController.java | 21 + .../SurvTransdataPestlightController.java | 21 + .../SurvTransdataSoilController.java | 21 + .../java/com/wangbin/entity/ScEquZhibiao.java | 100 +++ .../com/wangbin/entity/SurvAlertRecord.java | 168 ++++ .../com/wangbin/entity/SurvDeviceDeploy.java | 177 ++++ .../com/wangbin/entity/SurvHisdataAir.java | 191 +++++ .../entity/SurvHisdataLivestockwater.java | 210 +++++ .../SurvHisdataLivestockwaterError.java | 220 +++++ .../entity/SurvHisdataOrientwater.java | 204 +++++ .../entity/SurvHisdataOrientwaterError.java | 238 ++++++ .../wangbin/entity/SurvHisdataPestlight.java | 202 +++++ .../com/wangbin/entity/SurvHisdataSoil.java | 179 ++++ .../com/wangbin/entity/SurvTransdataAir.java | 184 +++++ .../entity/SurvTransdataLivestockwater.java | 206 +++++ .../entity/SurvTransdataOrientwater.java | 198 +++++ .../entity/SurvTransdataPestlight.java | 193 +++++ .../com/wangbin/entity/SurvTransdataSoil.java | 172 ++++ .../wangbin/mapper/ScEquZhibiaoMapper.java | 16 + .../wangbin/mapper/SurvAlertRecordMapper.java | 16 + .../mapper/SurvDeviceDeployMapper.java | 16 + .../wangbin/mapper/SurvHisdataAirMapper.java | 16 + .../SurvHisdataLivestockwaterErrorMapper.java | 16 + .../SurvHisdataLivestockwaterMapper.java | 16 + .../SurvHisdataOrientwaterErrorMapper.java | 16 + .../mapper/SurvHisdataOrientwaterMapper.java | 16 + .../mapper/SurvHisdataPestlightMapper.java | 16 + .../wangbin/mapper/SurvHisdataSoilMapper.java | 16 + .../mapper/SurvTransdataAirMapper.java | 16 + .../SurvTransdataLivestockwaterMapper.java | 16 + .../SurvTransdataOrientwaterMapper.java | 16 + .../mapper/SurvTransdataPestlightMapper.java | 16 + .../mapper/SurvTransdataSoilMapper.java | 16 + .../wangbin/mapper/xml/ScEquZhibiaoMapper.xml | 5 + .../mapper/xml/SurvAlertRecordMapper.xml | 5 + .../mapper/xml/SurvDeviceDeployMapper.xml | 5 + .../mapper/xml/SurvHisdataAirMapper.xml | 5 + .../SurvHisdataLivestockwaterErrorMapper.xml | 5 + .../xml/SurvHisdataLivestockwaterMapper.xml | 5 + .../xml/SurvHisdataOrientwaterErrorMapper.xml | 5 + .../xml/SurvHisdataOrientwaterMapper.xml | 5 + .../mapper/xml/SurvHisdataPestlightMapper.xml | 5 + .../mapper/xml/SurvHisdataSoilMapper.xml | 5 + .../mapper/xml/SurvTransdataAirMapper.xml | 5 + .../xml/SurvTransdataLivestockwaterMapper.xml | 5 + .../xml/SurvTransdataOrientwaterMapper.xml | 5 + .../xml/SurvTransdataPestlightMapper.xml | 5 + .../mapper/xml/SurvTransdataSoilMapper.xml | 5 + .../wangbin/runner/MyApplicationRunner.java | 27 + .../com/wangbin/service/ICommonService.java | 11 + .../wangbin/service/IScEquZhibiaoService.java | 22 + .../service/ISurvAlertRecordService.java | 20 + .../service/ISurvDeviceDeployService.java | 19 + .../service/ISurvHisdataAirService.java | 14 + ...SurvHisdataLivestockwaterErrorService.java | 16 + .../ISurvHisdataLivestockwaterService.java | 16 + .../ISurvHisdataOrientwaterErrorService.java | 16 + .../ISurvHisdataOrientwaterService.java | 16 + .../service/ISurvHisdataPestlightService.java | 14 + .../service/ISurvHisdataSoilService.java | 14 + .../service/ISurvTransdataAirService.java | 18 + .../ISurvTransdataLivestockwaterService.java | 20 + .../ISurvTransdataOrientwaterService.java | 21 + .../ISurvTransdataPestlightService.java | 21 + .../service/ISurvTransdataSoilService.java | 22 + .../service/Impl/CommonServiceImpl.java | 62 ++ .../service/Impl/ScEquZhibiaoServiceImpl.java | 55 ++ .../Impl/SurvAlertRecordServiceImpl.java | 110 +++ .../Impl/SurvDeviceDeployServiceImpl.java | 34 + .../Impl/SurvHisdataAirServiceImpl.java | 18 + ...HisdataLivestockwaterErrorServiceImpl.java | 20 + .../SurvHisdataLivestockwaterServiceImpl.java | 131 +++ ...urvHisdataOrientwaterErrorServiceImpl.java | 20 + .../SurvHisdataOrientwaterServiceImpl.java | 142 ++++ .../Impl/SurvHisdataPestlightServiceImpl.java | 18 + .../Impl/SurvHisdataSoilServiceImpl.java | 18 + .../Impl/SurvTransdataAirServiceImpl.java | 95 +++ ...urvTransdataLivestockwaterServiceImpl.java | 129 +++ .../SurvTransdataOrientwaterServiceImpl.java | 126 +++ .../SurvTransdataPestlightServiceImpl.java | 74 ++ .../Impl/SurvTransdataSoilServiceImpl.java | 97 +++ .../com/wangbin/task/DataExamineTask.java | 78 ++ .../com/wangbin/task/MultithreadTask.java | 68 ++ .../java/com/wangbin/thread/Clent2Thread.java | 76 ++ .../java/com/wangbin/thread/ClentThread.java | 126 +++ .../java/com/wangbin/thread/NetServer.java | 76 ++ .../util/BigDecimalRandomAdjuster.java | 128 +++ src/main/java/com/wangbin/util/DataUtil.java | 242 ++++++ src/main/java/com/wangbin/util/DateUtils.java | 764 ++++++++++++++++++ .../com/wangbin/util/SpringBeanUtils.java | 47 ++ .../com/wangbin/util/SpringContextUtil.java | 50 ++ src/main/java/com/wangbin/util/TUtil.java | 45 ++ src/main/resources/application-local.yml | 81 ++ src/main/resources/application-prod.yml | 82 ++ src/main/resources/application.yml | 5 + src/main/resources/logback-spring.xml | 67 ++ src/test/java/com/wangbin/test/Test2.java | 46 ++ 122 files changed, 7828 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/com/wangbin/MybatisPlusGenerator.java create mode 100644 src/main/java/com/wangbin/WangbinApplication.java create mode 100644 src/main/java/com/wangbin/common/Result.java create mode 100644 src/main/java/com/wangbin/config/DruidConfig.java create mode 100644 src/main/java/com/wangbin/config/MybatisPlusConfig.java create mode 100644 src/main/java/com/wangbin/config/RedisConfig.java create mode 100644 src/main/java/com/wangbin/config/ServerConfig.java create mode 100644 src/main/java/com/wangbin/config/Swagger2Config.java create mode 100644 src/main/java/com/wangbin/config/XxlJobConfig.java create mode 100644 src/main/java/com/wangbin/constant/CommonConstant.java create mode 100644 src/main/java/com/wangbin/constant/PollutionConstants.java create mode 100644 src/main/java/com/wangbin/controller/ScEquZhibiaoController.java create mode 100644 src/main/java/com/wangbin/controller/SurvAlertRecordController.java create mode 100644 src/main/java/com/wangbin/controller/SurvDeviceDeployController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataAirController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterErrorController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataOrientwaterController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataOrientwaterErrorController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataPestlightController.java create mode 100644 src/main/java/com/wangbin/controller/SurvHisdataSoilController.java create mode 100644 src/main/java/com/wangbin/controller/SurvTransdataAirController.java create mode 100644 src/main/java/com/wangbin/controller/SurvTransdataLivestockwaterController.java create mode 100644 src/main/java/com/wangbin/controller/SurvTransdataOrientwaterController.java create mode 100644 src/main/java/com/wangbin/controller/SurvTransdataPestlightController.java create mode 100644 src/main/java/com/wangbin/controller/SurvTransdataSoilController.java create mode 100644 src/main/java/com/wangbin/entity/ScEquZhibiao.java create mode 100644 src/main/java/com/wangbin/entity/SurvAlertRecord.java create mode 100644 src/main/java/com/wangbin/entity/SurvDeviceDeploy.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataAir.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataLivestockwater.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataLivestockwaterError.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataOrientwater.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataOrientwaterError.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataPestlight.java create mode 100644 src/main/java/com/wangbin/entity/SurvHisdataSoil.java create mode 100644 src/main/java/com/wangbin/entity/SurvTransdataAir.java create mode 100644 src/main/java/com/wangbin/entity/SurvTransdataLivestockwater.java create mode 100644 src/main/java/com/wangbin/entity/SurvTransdataOrientwater.java create mode 100644 src/main/java/com/wangbin/entity/SurvTransdataPestlight.java create mode 100644 src/main/java/com/wangbin/entity/SurvTransdataSoil.java create mode 100644 src/main/java/com/wangbin/mapper/ScEquZhibiaoMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvAlertRecordMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvDeviceDeployMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataAirMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterErrorMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterErrorMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataPestlightMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvHisdataSoilMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvTransdataAirMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvTransdataLivestockwaterMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvTransdataOrientwaterMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvTransdataPestlightMapper.java create mode 100644 src/main/java/com/wangbin/mapper/SurvTransdataSoilMapper.java create mode 100644 src/main/java/com/wangbin/mapper/xml/ScEquZhibiaoMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvAlertRecordMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvDeviceDeployMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataAirMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterErrorMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterErrorMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataPestlightMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvHisdataSoilMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvTransdataAirMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvTransdataLivestockwaterMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvTransdataOrientwaterMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvTransdataPestlightMapper.xml create mode 100644 src/main/java/com/wangbin/mapper/xml/SurvTransdataSoilMapper.xml create mode 100644 src/main/java/com/wangbin/runner/MyApplicationRunner.java create mode 100644 src/main/java/com/wangbin/service/ICommonService.java create mode 100644 src/main/java/com/wangbin/service/IScEquZhibiaoService.java create mode 100644 src/main/java/com/wangbin/service/ISurvAlertRecordService.java create mode 100644 src/main/java/com/wangbin/service/ISurvDeviceDeployService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataAirService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterErrorService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataOrientwaterErrorService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataOrientwaterService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataPestlightService.java create mode 100644 src/main/java/com/wangbin/service/ISurvHisdataSoilService.java create mode 100644 src/main/java/com/wangbin/service/ISurvTransdataAirService.java create mode 100644 src/main/java/com/wangbin/service/ISurvTransdataLivestockwaterService.java create mode 100644 src/main/java/com/wangbin/service/ISurvTransdataOrientwaterService.java create mode 100644 src/main/java/com/wangbin/service/ISurvTransdataPestlightService.java create mode 100644 src/main/java/com/wangbin/service/ISurvTransdataSoilService.java create mode 100644 src/main/java/com/wangbin/service/Impl/CommonServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/ScEquZhibiaoServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvAlertRecordServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvDeviceDeployServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataAirServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterErrorServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterErrorServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataPestlightServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvHisdataSoilServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvTransdataAirServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvTransdataLivestockwaterServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvTransdataOrientwaterServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvTransdataPestlightServiceImpl.java create mode 100644 src/main/java/com/wangbin/service/Impl/SurvTransdataSoilServiceImpl.java create mode 100644 src/main/java/com/wangbin/task/DataExamineTask.java create mode 100644 src/main/java/com/wangbin/task/MultithreadTask.java create mode 100644 src/main/java/com/wangbin/thread/Clent2Thread.java create mode 100644 src/main/java/com/wangbin/thread/ClentThread.java create mode 100644 src/main/java/com/wangbin/thread/NetServer.java create mode 100644 src/main/java/com/wangbin/util/BigDecimalRandomAdjuster.java create mode 100644 src/main/java/com/wangbin/util/DataUtil.java create mode 100644 src/main/java/com/wangbin/util/DateUtils.java create mode 100644 src/main/java/com/wangbin/util/SpringBeanUtils.java create mode 100644 src/main/java/com/wangbin/util/SpringContextUtil.java create mode 100644 src/main/java/com/wangbin/util/TUtil.java create mode 100644 src/main/resources/application-local.yml create mode 100644 src/main/resources/application-prod.yml create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/logback-spring.xml create mode 100644 src/test/java/com/wangbin/test/Test2.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d9949e6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +## ide +**/.idea +*.iml +rebel.xml + +## backend +**/target +**/logs + +## front +**/*.lock diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..353a27d --- /dev/null +++ b/pom.xml @@ -0,0 +1,282 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + + + + 2.7.11 + + + com.wanglei + linfen + 1.0-SNAPSHOT + boot + 王磊河津 数采 + jar + + 1.8 + UTF-8 + 8.0.21 + 2.17.0 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + org.springframework.boot + spring-boot-starter-tomcat + provided + + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + org.springframework.boot + spring-boot-devtools + true + true + + + + + + mysql + mysql-connector-java + 8.0.21 + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + + + + org.springframework.boot + spring-boot-starter-aop + + + + + + net.sourceforge.nekohtml + nekohtml + 1.9.22 + + + + + com.baomidou + mybatis-plus-boot-starter + 3.2.0 + + + org.springframework.boot + spring-boot-starter-freemarker + + + + com.baomidou + mybatis-plus-generator + 3.2.0 + + + + org.apache.velocity + velocity-engine-core + 2.0 + + + + io.springfox + springfox-swagger2 + 3.0.0 + + + + com.github.xiaoymin + swagger-bootstrap-ui + 1.9.6 + + + + + com.alibaba + druid-spring-boot-starter + 1.1.21 + + + log4j + log4j + 1.2.17 + + + + + com.alibaba + fastjson + 1.2.83 + + + + + org.apache.commons + commons-lang3 + + + + + commons-io + commons-io + 2.2 + + + + + + commons-fileupload + commons-fileupload + 1.3.3 + + + + + org.slf4j + slf4j-api + + + ch.qos.logback + logback-core + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + org.apache.httpcomponents + httpcore + 4.4.10 + + + org.apache.httpcomponents + httpclient + 4.5.6 + + + + junit + junit + test + + + + + + org.apache.poi + poi-ooxml + 4.1.2 + + + + cn.hutool + hutool-all + 5.8.10 + + + + com.google.zxing + core + 3.3.3 + + + com.google.zxing + javase + 3.3.3 + + + + com.xuxueli + xxl-job-core + 2.5.0 + + + + + + wanglei-hj + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + src/main/java + + **/*.xml + + + + src/main/resources + + **/*.* + + + + + + \ No newline at end of file diff --git a/src/main/java/com/wangbin/MybatisPlusGenerator.java b/src/main/java/com/wangbin/MybatisPlusGenerator.java new file mode 100644 index 0000000..3beae8d --- /dev/null +++ b/src/main/java/com/wangbin/MybatisPlusGenerator.java @@ -0,0 +1,92 @@ +package com.wangbin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.generator.AutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.GlobalConfig; +import com.baomidou.mybatisplus.generator.config.PackageConfig; +import com.baomidou.mybatisplus.generator.config.StrategyConfig; +import com.baomidou.mybatisplus.generator.config.rules.DateType; +import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; + +/** + * mybatis代码生成类 + */ +public class MybatisPlusGenerator { + + public static final String database = "jdbc:mysql://8.130.9.244:13306/jeecg-boot"; + public static final String user = "root"; + public static final String passwd = "ZhiHang.20230629"; + + //生成代码地址 + public static final String outputdir = "D:/a5"; + //包名 + public static final String packageName = "com.wangbin"; + + + public void generator(String... include) { + AutoGenerator autoGenerator = new AutoGenerator(); + /** + * 全局配置 + */ + GlobalConfig globalConfig = new GlobalConfig(); + globalConfig.setOutputDir(outputdir); + globalConfig.setOpen(false); + globalConfig.setActiveRecord(true); + globalConfig.setFileOverride(false);//是否覆盖已有文件 + globalConfig.setMapperName("%sMapper"); + globalConfig.setServiceName("I%sService"); + globalConfig.setServiceImplName("%sServiceImpl"); + globalConfig.setControllerName("%sController"); + globalConfig.setIdType(IdType.ID_WORKER_STR); + globalConfig.setDateType(DateType.ONLY_DATE); + autoGenerator.setGlobalConfig(globalConfig); + /** + * 数据源配置 + */ + DataSourceConfig dataSourceConfig = new DataSourceConfig(); + dataSourceConfig.setUrl(database + "?useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8"); + dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); + dataSourceConfig.setUsername(user); + dataSourceConfig.setPassword(passwd); + autoGenerator.setDataSource(dataSourceConfig); + /** + * 策略配置,生成的表在这里配置 + */ + StrategyConfig stConfig = new StrategyConfig(); + stConfig.setCapitalMode(true); + stConfig.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略 + stConfig.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 + stConfig.setSkipView(true);//跳过视图 + stConfig.setInclude(include);//生成哪个表的代码 + stConfig.setEntityTableFieldAnnotationEnable(true); + stConfig.setEntityLombokModel(true); + autoGenerator.setStrategy(stConfig); + /** + * 生成文件路径配置 + */ + PackageConfig packageConfig = new PackageConfig(); + packageConfig.setParent(packageName); + packageConfig.setController("controller"); + packageConfig.setMapper("mapper"); + packageConfig.setService("service"); + packageConfig.setServiceImpl("service.Impl"); + packageConfig.setEntity("entity"); + autoGenerator.setPackageInfo(packageConfig); + //执行 + autoGenerator.execute(); + } + + + public static void main(String[] args) { + + new MybatisPlusGenerator().generator("surv_hisdata_livestockwater_error","surv_hisdata_orientwater_error");//指标 + + } + + + + + + +} diff --git a/src/main/java/com/wangbin/WangbinApplication.java b/src/main/java/com/wangbin/WangbinApplication.java new file mode 100644 index 0000000..8eb4b8a --- /dev/null +++ b/src/main/java/com/wangbin/WangbinApplication.java @@ -0,0 +1,38 @@ +package com.wangbin; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +/** + * + * MapperScan("com.demo.*.mapper"): + * 一个 * 代表一级包;比如可以扫到com.demo.aaa.mapper,不能扫到com.demo.aaa.bbb.mapper + * MapperScan("com.demo.**.mapper"): + * 两个 * 代表任意个包;比如可以扫到com.demo.aaa.mapper,也可以扫到com.demo.aaa.bbb.mapper + * + * + */ +@SpringBootApplication +//@MapperScan会扫描Mapper接口类,并生成对应的实现类。 +@MapperScan({"com.wangbin.mapper","com.wangbin.module.*.mapper"}) +//@MapperScan({"com.wangbin.**.mapper"}) +public class WangbinApplication extends SpringBootServletInitializer { + + public static void main(String[] args) { + SpringApplication.run(WangbinApplication.class, args); + } + + + /** + * 使用外置的tomcat启动 + * 默认的启动类要继承SpringBootServletInitiailzer类,并复写configure()方法。 + */ + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { + return builder.sources(WangbinApplication.class); + } + +} diff --git a/src/main/java/com/wangbin/common/Result.java b/src/main/java/com/wangbin/common/Result.java new file mode 100644 index 0000000..7caa67b --- /dev/null +++ b/src/main/java/com/wangbin/common/Result.java @@ -0,0 +1,89 @@ +package com.wangbin.common; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 接口返回数据格式 + */ +@Data +@ApiModel(value = "接口返回对象", description = "接口返回对象") +public class Result implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 返回处理消息 + */ + @ApiModelProperty(value = "返回处理消息") + private String message = "操作成功!"; + + /** + * 返回代码 + * 200返回正常 + * 401 用户名或者密码不能为空 + * 402 用户名或者密码错误 + * 501上传文件错误 + */ + @ApiModelProperty(value = "返回代码") + private Integer code = 0; + + /** + * 返回数据对象 data + */ + @ApiModelProperty(value = "返回数据对象") + private T result; + + /** + * 时间戳 + */ + @ApiModelProperty(value = "时间戳") + private long timestamp = System.currentTimeMillis(); + + public Result() { + + } + + + public static Result ok() { + Result r = new Result(); + r.setCode(200); + r.setMessage("成功"); + return r; + } + + public static Result ok(String msg) { + Result r = new Result(); + r.setCode(200); + r.setMessage(msg); + return r; + } + + //将该方法声明为静态方法 + public static Result ok(T data) { + Result r = new Result(); + r.setCode(200); + r.setResult(data); + return r; + } + + + public static Result error(int code, String message) { + Result r = new Result(); + r.message = message; + r.code = code; + return r; + } + + public static Result error(String message) { + Result r = new Result(); + r.message = message; + r.code = 500; + return r; + } + +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/config/DruidConfig.java b/src/main/java/com/wangbin/config/DruidConfig.java new file mode 100644 index 0000000..02dba60 --- /dev/null +++ b/src/main/java/com/wangbin/config/DruidConfig.java @@ -0,0 +1,67 @@ +package com.wangbin.config; + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.support.http.StatViewServlet; +import com.alibaba.druid.support.http.WebStatFilter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.boot.web.servlet.ServletRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.sql.DataSource; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author Tom + * @Date 2020/8/27 - 16:30 + * @Param + * @return + **/ +@Configuration +public class DruidConfig { + + @ConfigurationProperties(prefix = "spring.datasource") + @Bean + public DataSource druidDataSource() { + return new DruidDataSource(); + } + + //因为Springboot内置了servlet容器,所以没有web.xml,替代方法就是将ServletRegistrationBean注册进去 + //加入后台监控 + @Bean //这里其实就相当于servlet的web.xml + public ServletRegistrationBean statViewServlet() { + ServletRegistrationBean bean = + new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); + + //后台需要有人登录,进行配置 + //bean.addUrlMappings(); 这个可以添加映射,我们在构造里已经写了 + //设置一些初始化参数 + Map initParas = new HashMap(); + initParas.put("loginUsername", "admin");//它这个账户密码是固定的 + initParas.put("loginPassword", "admin123"); + //允许谁能防伪 + initParas.put("allow", "");//这个值为空或没有就允许所有人访问,ip白名单 + //initParas.put("allow","localhost");//只允许本机访问,多个ip用逗号,隔开 + //initParas.put("deny","");//ip黑名单,拒绝谁访问 deny和allow同时存在优先deny + initParas.put("resetEnable", "false");//禁用HTML页面的Reset按钮 + bean.setInitParameters(initParas); + return bean; + } + + //再配置一个过滤器,Servlet按上面的方式注册Filter也只能这样 + @Bean + public FilterRegistrationBean webStatFilter() { + FilterRegistrationBean bean = new FilterRegistrationBean(); + //可以设置也可以获取,设置一个阿里巴巴的过滤器 + bean.setFilter(new WebStatFilter()); + bean.addUrlPatterns("/*"); + //可以过滤和排除哪些东西 + Map initParams = new HashMap(); + //把不需要监控的过滤掉,这些不进行统计 + initParams.put("exclusions", "*.js,*.css,/druid/*"); + bean.setInitParameters(initParams); + return bean; + } +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/config/MybatisPlusConfig.java b/src/main/java/com/wangbin/config/MybatisPlusConfig.java new file mode 100644 index 0000000..75d6537 --- /dev/null +++ b/src/main/java/com/wangbin/config/MybatisPlusConfig.java @@ -0,0 +1,20 @@ +package com.wangbin.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; + +/** + * @author wb + * MybatisPlus 分页配置 + */ +@Configuration +@ConditionalOnClass(value = {PaginationInterceptor.class}) +public class MybatisPlusConfig { + @Bean + public PaginationInterceptor paginationInterceptor() { + return new PaginationInterceptor(); + } +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/config/RedisConfig.java b/src/main/java/com/wangbin/config/RedisConfig.java new file mode 100644 index 0000000..e6dc8ce --- /dev/null +++ b/src/main/java/com/wangbin/config/RedisConfig.java @@ -0,0 +1,65 @@ +package com.wangbin.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +import javax.annotation.Resource; + +/** + * 开启缓存支持 + */ +@Slf4j +@EnableCaching +@Configuration +public class RedisConfig extends CachingConfigurerSupport { + + @Resource + private LettuceConnectionFactory lettuceConnectionFactory; + + + /** + * RedisTemplate配置 + * @param lettuceConnectionFactory + * @return + */ + @Bean + public RedisTemplate redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) { + log.info(" --- redis config init --- "); + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = jacksonSerializer(); + RedisTemplate redisTemplate = new RedisTemplate(); + redisTemplate.setConnectionFactory(lettuceConnectionFactory); + RedisSerializer stringSerializer = new StringRedisSerializer(); + + // key序列化 + redisTemplate.setKeySerializer(stringSerializer); + // value序列化 + redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); + // Hash key序列化 + redisTemplate.setHashKeySerializer(stringSerializer); + // Hash value序列化 + redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); + redisTemplate.afterPropertiesSet(); + return redisTemplate; + } + + + private Jackson2JsonRedisSerializer jacksonSerializer() { + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.ANY); +// objectMapper.enableDefaultTyping(DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(objectMapper); + return jackson2JsonRedisSerializer; + } +} diff --git a/src/main/java/com/wangbin/config/ServerConfig.java b/src/main/java/com/wangbin/config/ServerConfig.java new file mode 100644 index 0000000..a06011b --- /dev/null +++ b/src/main/java/com/wangbin/config/ServerConfig.java @@ -0,0 +1,39 @@ +package com.wangbin.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.web.context.WebServerInitializedEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; + +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * @author wb + * 显示项目启动 接口地址 + */ +@Component +@Slf4j +public class ServerConfig implements ApplicationListener { + + private int serverPort; + + public int getPort() { + return this.serverPort; + } + + @Override + public void onApplicationEvent(WebServerInitializedEvent event) { + try { + InetAddress inetAddress = Inet4Address.getLocalHost(); + this.serverPort = event.getWebServer().getPort(); + log.info("项目启动成功!接口地址: http://" + inetAddress.getHostAddress() + ":" + serverPort + "/swagger-ui.html"); + log.info("项目启动成功!接口地址: http://" + inetAddress.getHostAddress() + ":" + serverPort + "/doc.html"); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + + +} diff --git a/src/main/java/com/wangbin/config/Swagger2Config.java b/src/main/java/com/wangbin/config/Swagger2Config.java new file mode 100644 index 0000000..68d98fa --- /dev/null +++ b/src/main/java/com/wangbin/config/Swagger2Config.java @@ -0,0 +1,44 @@ +package com.wangbin.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +/** + * Swagger2Config 配置文件 + */ +@Configuration +@EnableSwagger2 +public class Swagger2Config { + @Bean(value = "defaultApi2") + public Docket defaultApi2() { + Docket docket = new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + //分组名称 + .groupName("1.0版本") + .select() + //这里指定Controller扫描包路径 + .apis(RequestHandlerSelectors.basePackage("com.wangbin.controller")) + .paths(PathSelectors.any()) + .build(); + return docket; + } + + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("springboot") + .description("springboot") + .termsOfServiceUrl("http://localhost:9001") + .version("1.0") + .build(); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/config/XxlJobConfig.java b/src/main/java/com/wangbin/config/XxlJobConfig.java new file mode 100644 index 0000000..d632465 --- /dev/null +++ b/src/main/java/com/wangbin/config/XxlJobConfig.java @@ -0,0 +1,62 @@ +package com.wangbin.config; + +import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * xxl-job config + * + * @author xuxueli 2017-04-28 + */ +@Configuration +public class XxlJobConfig { + private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); + + @Value("${xxl.job.admin.addresses}") + private String adminAddresses; + + @Value("${xxl.job.accessToken}") + private String accessToken; + + @Value("${xxl.job.executor.appname}") + private String appname; + + @Value("${xxl.job.executor.address}") + private String address; + + @Value("${xxl.job.executor.ip}") + private String ip; + + @Value("${xxl.job.executor.port}") + private int port; + + @Value("${xxl.job.executor.logpath}") + private String logPath; + + @Value("${xxl.job.executor.logretentiondays}") + private int logRetentionDays; + + + @Bean + public XxlJobSpringExecutor xxlJobExecutor() { + logger.info(">>>>>>>>>>> xxl-job config init."); + XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); + xxlJobSpringExecutor.setAdminAddresses(adminAddresses); + xxlJobSpringExecutor.setAppname(appname); + xxlJobSpringExecutor.setAddress(address); + xxlJobSpringExecutor.setIp(ip); + xxlJobSpringExecutor.setPort(port); + xxlJobSpringExecutor.setAccessToken(accessToken); + xxlJobSpringExecutor.setLogPath(logPath); + xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); + + return xxlJobSpringExecutor; + } + + + +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/constant/CommonConstant.java b/src/main/java/com/wangbin/constant/CommonConstant.java new file mode 100644 index 0000000..de21b3a --- /dev/null +++ b/src/main/java/com/wangbin/constant/CommonConstant.java @@ -0,0 +1,22 @@ +package com.wangbin.constant; + +public interface CommonConstant { + + + /** + * 低阈值 + */ + String VAL_LOW = "valLow"; + /** + * 高阈值 + */ + String VAL_HEIGHT = "valHeight"; + + /** + * 水质 肖中平的水设备 + */ + String XZP_WATER = "xzp-water-"; + + + +} diff --git a/src/main/java/com/wangbin/constant/PollutionConstants.java b/src/main/java/com/wangbin/constant/PollutionConstants.java new file mode 100644 index 0000000..ff0b093 --- /dev/null +++ b/src/main/java/com/wangbin/constant/PollutionConstants.java @@ -0,0 +1,36 @@ +package com.wangbin.constant; + + +public interface PollutionConstants { + /** + * 水污染物 + */ + String WATER_ORIENT = "water_orient"; + + /** + * 水污染物 + */ + String WATER_LIVE = "water_live"; + + /** + * 气项监测 + */ + String AIR_SURV = "air"; + + + /** + * 土壤监测 + */ + String SOIL_SURV = "soil"; + + + String STINK = "stink"; + + String CAMERA = "camera"; + + /** + * 数据生成间隔 单位秒 + */ + Integer dataGenGap = 3600; +} + diff --git a/src/main/java/com/wangbin/controller/ScEquZhibiaoController.java b/src/main/java/com/wangbin/controller/ScEquZhibiaoController.java new file mode 100644 index 0000000..3c59e69 --- /dev/null +++ b/src/main/java/com/wangbin/controller/ScEquZhibiaoController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 设备指标 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +@Controller +@RequestMapping("/scEquZhibiao") +public class ScEquZhibiaoController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvAlertRecordController.java b/src/main/java/com/wangbin/controller/SurvAlertRecordController.java new file mode 100644 index 0000000..50004fe --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvAlertRecordController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 预警记录表 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +@Controller +@RequestMapping("/survAlertRecord") +public class SurvAlertRecordController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvDeviceDeployController.java b/src/main/java/com/wangbin/controller/SurvDeviceDeployController.java new file mode 100644 index 0000000..1602b67 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvDeviceDeployController.java @@ -0,0 +1,73 @@ +package com.wangbin.controller; + + +import com.wangbin.common.Result; +import com.wangbin.constant.CommonConstant; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.entity.SurvTransdataOrientwater; +import com.wangbin.service.ISurvDeviceDeployService; +import com.wangbin.service.ISurvTransdataOrientwaterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + *

+ * 设备表 + *

+ * + */ +@Controller +@RequestMapping("/survDeviceDeploy") +public class SurvDeviceDeployController { + +// +// @Autowired +// private ISurvDeviceDeployService deviceDeployService; +// @Autowired +// private ISurvTransdataOrientwaterService orientwaterService; +// +// +// /** +// * 控制球阀启停 +// * deployCode: xzp-water-01 +// * os:00-关 01-开 +// * qiufa:01、02 +// * +// * 第一个设备 +// * AA 01 08 01 01 01 00 55 球阀1开 AA01080101010055 +// * AA 01 08 01 01 00 00 55 球阀1关 AA01080101000055 +// * AA 01 08 01 02 01 00 55 球阀2开 AA01080102010055 +// * AA 01 08 01 02 00 00 55 球阀2关 AA01080102000055 +// *第二个设备 +// * AA 02 08 01 01 01 00 55 球阀1开 AA02080101010055 +// * AA 02 08 01 01 00 00 55 球阀1关 AA02080101000055 +// * AA 02 08 01 02 01 00 55 球阀2开 AA02080102010055 +// * AA 02 08 01 02 00 00 55 球阀2关 AA02080102000055 +// */ +// @GetMapping("/kongzhi") +// @ResponseBody +// public Result kongzhi(@RequestParam(name = "deployCode") String deployCode,@RequestParam(name = "os") String os,@RequestParam(name = "qiufa") String qiufa) throws InterruptedException { +// +// String deployCodeNum = deployCode.substring(CommonConstant.XZP_WATER.length());//xzp-water-01获取到01 +// StringBuilder sbuilder = new StringBuilder("AA"); +// sbuilder.append(deployCodeNum).append("0801").append(qiufa).append(os).append("0055"); +// +// SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(deployCode); +// if(deviceDeploy != null){ +// deviceDeploy.setSendInfo(sbuilder.toString()); +// deviceDeployService.updateById(deviceDeploy); +// } +// Thread.sleep(3*1000); +// SurvTransdataOrientwater transdataOrientwater = orientwaterService.getOneByDeviceCode(deployCode); +// return Result.ok(transdataOrientwater); +// } + + + + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataAirController.java b/src/main/java/com/wangbin/controller/SurvHisdataAirController.java new file mode 100644 index 0000000..f247b30 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataAirController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 空气污染监测历史数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survHisdataAir") +public class SurvHisdataAirController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterController.java b/src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterController.java new file mode 100644 index 0000000..5e3597f --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 畜禽水污染监测历史数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survHisdataLivestockwater") +public class SurvHisdataLivestockwaterController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterErrorController.java b/src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterErrorController.java new file mode 100644 index 0000000..52beaae --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataLivestockwaterErrorController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 前端控制器 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +@Controller +@RequestMapping("/survHisdataLivestockwaterError") +public class SurvHisdataLivestockwaterErrorController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataOrientwaterController.java b/src/main/java/com/wangbin/controller/SurvHisdataOrientwaterController.java new file mode 100644 index 0000000..fe87338 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataOrientwaterController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 面源水污染监测历史数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survHisdataOrientwater") +public class SurvHisdataOrientwaterController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataOrientwaterErrorController.java b/src/main/java/com/wangbin/controller/SurvHisdataOrientwaterErrorController.java new file mode 100644 index 0000000..a0589bb --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataOrientwaterErrorController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 前端控制器 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +@Controller +@RequestMapping("/survHisdataOrientwaterError") +public class SurvHisdataOrientwaterErrorController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataPestlightController.java b/src/main/java/com/wangbin/controller/SurvHisdataPestlightController.java new file mode 100644 index 0000000..27cd955 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataPestlightController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 杀虫灯历史数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survHisdataPestlight") +public class SurvHisdataPestlightController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvHisdataSoilController.java b/src/main/java/com/wangbin/controller/SurvHisdataSoilController.java new file mode 100644 index 0000000..e3a5ad7 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvHisdataSoilController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 土壤污染监测历史数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survHisdataSoil") +public class SurvHisdataSoilController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvTransdataAirController.java b/src/main/java/com/wangbin/controller/SurvTransdataAirController.java new file mode 100644 index 0000000..1bb6def --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvTransdataAirController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 空气污染监测数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survTransdataAir") +public class SurvTransdataAirController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvTransdataLivestockwaterController.java b/src/main/java/com/wangbin/controller/SurvTransdataLivestockwaterController.java new file mode 100644 index 0000000..83590f9 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvTransdataLivestockwaterController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 畜禽水污染监测数据表 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survTransdataLivestockwater") +public class SurvTransdataLivestockwaterController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvTransdataOrientwaterController.java b/src/main/java/com/wangbin/controller/SurvTransdataOrientwaterController.java new file mode 100644 index 0000000..9caa53f --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvTransdataOrientwaterController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 面源水污染监测数据表 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survTransdataOrientwater") +public class SurvTransdataOrientwaterController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvTransdataPestlightController.java b/src/main/java/com/wangbin/controller/SurvTransdataPestlightController.java new file mode 100644 index 0000000..b72da72 --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvTransdataPestlightController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 杀虫灯监测数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survTransdataPestlight") +public class SurvTransdataPestlightController { + +} + diff --git a/src/main/java/com/wangbin/controller/SurvTransdataSoilController.java b/src/main/java/com/wangbin/controller/SurvTransdataSoilController.java new file mode 100644 index 0000000..513ec2f --- /dev/null +++ b/src/main/java/com/wangbin/controller/SurvTransdataSoilController.java @@ -0,0 +1,21 @@ +package com.wangbin.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 土壤污染监测数据 前端控制器 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Controller +@RequestMapping("/survTransdataSoil") +public class SurvTransdataSoilController { + +} + diff --git a/src/main/java/com/wangbin/entity/ScEquZhibiao.java b/src/main/java/com/wangbin/entity/ScEquZhibiao.java new file mode 100644 index 0000000..a41748e --- /dev/null +++ b/src/main/java/com/wangbin/entity/ScEquZhibiao.java @@ -0,0 +1,100 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 设备指标 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class ScEquZhibiao extends Model { + + private static final long serialVersionUID=1L; + + /** + * 编号 + */ + @TableId(value = "id", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 创建者 + */ + @TableField("create_id") + private String createId; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新者 + */ + @TableField("update_id") + private String updateId; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** + * 设备主键 + */ + @TableField("equ_id") + private String equId; + + /** + * 指标code + */ + @TableField("code") + private String code; + + /** + * 指标名称 + */ + @TableField("name") + private String name; + + /** + * 低阈值 + */ + @TableField("val_low") + private Double valLow; + + /** + * 高阈值 + */ + @TableField("val_height") + private Double valHeight; + + /** + * 计量单位 + */ + @TableField("nuit") + private String nuit; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvAlertRecord.java b/src/main/java/com/wangbin/entity/SurvAlertRecord.java new file mode 100644 index 0000000..cb7fb8a --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvAlertRecord.java @@ -0,0 +1,168 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 预警记录表 + *

+ * + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvAlertRecord extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 预警内容 + */ + @TableField("ALERT_CONTENT") + private String alertContent; + + /** + * 预警所属单位 + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 预警数据类型;字典值,trans_data_type + */ + @TableField("ALERT_DTATA_TYPE") + private String alertDtataType; + + /** + * 触发预警数据ID + */ + @TableField("ALERT_DATA_ID") + private String alertDataId; + + /** + * 推送状态;0=未推送,1=已推送,2=推送失败 + */ + @TableField("PUSH_STATUS") + private String pushStatus; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 监测站编号 + */ + @TableField("STATION_CDOE") + private String stationCdoe; + + /** + * 部署编号(MN码) + */ + @TableField("DEPLOY_CODE") + private String deployCode; + + /** + * 部署ID + */ + @TableField("DEPLOY_ID") + private String deployId; + + /** + * 预警时间 + */ + @TableField("ALERT_TIME") + private Date alertTime; + + /** + * 监测项 + */ + @TableField("ITEM_NAME") + private String itemName; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 机构名称 + */ + @TableField("CORP_NAME") + private String corpName; + + @TableField("ORG_MESSAGE") + private String orgMessage; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvDeviceDeploy.java b/src/main/java/com/wangbin/entity/SurvDeviceDeploy.java new file mode 100644 index 0000000..d33a6e0 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvDeviceDeploy.java @@ -0,0 +1,177 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 设备部署表 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvDeviceDeploy extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 设备部署编号 + */ + @TableField("DEPLOY_CODE") + private String deployCode; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 运行状态;0=正常,1=停机 + */ + @TableField("RUN_STATUS") + private String runStatus; + + /** + * 通电情况;0=已通电,2=未通电 + */ + @TableField("POWER_STATUS") + private String powerStatus; + + /** + * 上次同步时间 + */ + @TableField("LASTSYNC_TIME") + private Date lastsyncTime; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 部署描述 + */ + @TableField("DEPLOY_DES") + private String deployDes; + + /** + * 设备数据流地址;摄像头类设备 + */ + @TableField("DEVICE_URL") + private String deviceUrl; + + /** + * 设备排序 + */ + @TableField("SORT_NO") + private Integer sortNo; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + /** + * 部署类型,surv=监测设备部署,camera=摄像头设备部署 + */ + @TableField("DEPLOY_TYPE") + private String deployType; + + /** + * 纬度 + */ + @TableField("DEVICE_LATITUDE") + private String deviceLatitude; + + /** + * 经度 + */ + @TableField("DEVICE_LONGITUDE") + private String deviceLongitude; + + /** + * 设备分组ID + */ + @TableField("GROUP_ID") + private String groupId; + + + /** + * 0-不报警 1-报警 + */ + @TableField("IZ_BAOJING") + private String izBaojing; + + @TableField("IP_ADDR") + private String ipAddr; + @TableField("PORT") + private String port; + @TableField("SEND_INFO") + private String sendInfo; + + + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataAir.java b/src/main/java/com/wangbin/entity/SurvHisdataAir.java new file mode 100644 index 0000000..2f8f113 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataAir.java @@ -0,0 +1,191 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 空气污染监测历史数据 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataAir extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 大气温度 + */ + @TableField("DATA_AIR_TEMP") + private String dataAirTemp; + + /** + * 大气湿度 + */ + @TableField("DATA_AIR_WET") + private String dataAirWet; + + /** + * 大气压力 + */ + @TableField("DATA_AIR_PRESS") + private String dataAirPress; + + /** + * 雨量 + */ + @TableField("DATA_RAIN_FALL") + private String dataRainFall; + + /** + * 风速 + */ + @TableField("DATA_WIND_SPEED") + private String dataWindSpeed; + + /** + * 风向 + */ + @TableField("DATA_WIND_DIRECTION") + private String dataWindDirection; + + /** + * 太阳全辐射 + */ + @TableField("DATA_SUN_FALLOUT") + private String dataSunFallout; + + + @TableField("DATA_SUN_TOTAL") + private String dataSunTotal;//辐射累计 + @TableField("DATA_RAIN_TOTAL") + private String dataRainTotal;//雨量累计 + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataLivestockwater.java b/src/main/java/com/wangbin/entity/SurvHisdataLivestockwater.java new file mode 100644 index 0000000..683fbda --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataLivestockwater.java @@ -0,0 +1,210 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 畜禽水污染监测历史数据 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataLivestockwater extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 总磷 + */ + @TableField("DATA_WATER_TP") + private String dataWaterTp; + @TableField("DATA_WATER_TP_SY") + private String dataWaterTpSy; + @TableField("DATA_WATER_TP_LD") + private String dataWaterTpLd; + + /** + * 总氮 + */ + @TableField("DATA_WATER_TN") + private String dataWaterTn; + @TableField("DATA_WATER_TN_SY") + private String dataWaterTnSy; + @TableField("DATA_WATER_TN_LD") + private String dataWaterTnLd; + + /** + * 硝态氮 + */ + @TableField("DATA_WATER_NO") + private String dataWaterNo; + + /** + * 氨氮 + */ + @TableField("DATA_WATER_NH") + private String dataWaterNh; + @TableField("DATA_WATER_NH_SY") + private String dataWaterNhSy; + @TableField("DATA_WATER_NH_LD") + private String dataWaterNhLd; + + /** + * 化学需氧量 + */ + @TableField("DATA_WATER_COD") + private String dataWaterCod; + @TableField("DATA_WATER_COD_SY") + private String dataWaterCodSy; + @TableField("DATA_WATER_COD_LD") + private String dataWaterCodLd; + + + + + @TableField("FLUID_LEVEL") + private String fluidLevel;//液位 + @TableField("FIRST_VALVE_STATUS") + private String firstValveStatus;//1#球阀状态 + @TableField("SECOND_VALVE_STATUS") + private String secondValveStatus;//2#球阀状态 + @TableField("CRASH_STOP_STATUS") + private String crashStopStatus;//急停状态 + @TableField("WATER_PUMP_STATUS") + private String waterPumpStatus;//水泵状态 + @TableField("MAIN_SIDE_STATUS") + private String mainSideStatus;//主副泵状态 + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataLivestockwaterError.java b/src/main/java/com/wangbin/entity/SurvHisdataLivestockwaterError.java new file mode 100644 index 0000000..8338075 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataLivestockwaterError.java @@ -0,0 +1,220 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataLivestockwaterError extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableField("ID") + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 总磷 + */ + @TableField("DATA_WATER_TP") + private String dataWaterTp; + + /** + * 总氮 + */ + @TableField("DATA_WATER_TN") + private String dataWaterTn; + + /** + * 硝态氮 + */ + @TableField("DATA_WATER_NO") + private String dataWaterNo; + + /** + * 氨氮 + */ + @TableField("DATA_WATER_NH") + private String dataWaterNh; + + /** + * 化学需氧量 + */ + @TableField("DATA_WATER_COD") + private String dataWaterCod; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + @TableField("DATA_WATER_TP_SY") + private String dataWaterTpSy; + + @TableField("DATA_WATER_TP_LD") + private String dataWaterTpLd; + + @TableField("DATA_WATER_TN_SY") + private String dataWaterTnSy; + + @TableField("DATA_WATER_TN_LD") + private String dataWaterTnLd; + + @TableField("DATA_WATER_NH_SY") + private String dataWaterNhSy; + + @TableField("DATA_WATER_NH_LD") + private String dataWaterNhLd; + + @TableField("DATA_WATER_COD_SY") + private String dataWaterCodSy; + + @TableField("DATA_WATER_COD_LD") + private String dataWaterCodLd; + + @TableField("FLUID_LEVEL") + private String fluidLevel; + + @TableField("FIRST_VALVE_STATUS") + private String firstValveStatus; + + @TableField("SECOND_VALVE_STATUS") + private String secondValveStatus; + + @TableField("CRASH_STOP_STATUS") + private String crashStopStatus; + + @TableField("WATER_PUMP_STATUS") + private String waterPumpStatus; + + @TableField("MAIN_SIDE_STATUS") + private String mainSideStatus; + + + @Override + protected Serializable pkVal() { + return null; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataOrientwater.java b/src/main/java/com/wangbin/entity/SurvHisdataOrientwater.java new file mode 100644 index 0000000..287e5de --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataOrientwater.java @@ -0,0 +1,204 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 面源水污染监测历史数据 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataOrientwater extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 总磷 + */ + @TableField("DATA_WATER_TP") + private String dataWaterTp; + + @TableField("DATA_WATER_TP_SY") + private String dataWaterTpSy; + @TableField("DATA_WATER_TP_LD") + private String dataWaterTpLd; + + /** + * 总氮 + */ + @TableField("DATA_WATER_TN") + private String dataWaterTn; + + @TableField("DATA_WATER_TN_SY") + private String dataWaterTnSy; + @TableField("DATA_WATER_TN_LD") + private String dataWaterTnLd; + + + @TableField("FLUID_LEVEL") + private String fluidLevel;//液位 + @TableField("FIRST_VALVE_STATUS") + private String firstValveStatus;//1#球阀状态 + @TableField("SECOND_VALVE_STATUS") + private String secondValveStatus;//2#球阀状态 + @TableField("CRASH_STOP_STATUS") + private String crashStopStatus;//急停状态 + @TableField("WATER_PUMP_STATUS") + private String waterPumpStatus;//水泵状态 + @TableField("MAIN_SIDE_STATUS") + private String mainSideStatus;//主副泵状态 + + + /** + * 氨氮 + */ + @TableField("DATA_WATER_NH") + private String dataWaterNh; + + /** + * 化学需氧量 + */ + @TableField("DATA_WATER_COD") + private String dataWaterCod; + + /** + * 硝态氮 + */ + @TableField("DATA_WATER_NO") + private String dataWaterNo; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataOrientwaterError.java b/src/main/java/com/wangbin/entity/SurvHisdataOrientwaterError.java new file mode 100644 index 0000000..fac4ab6 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataOrientwaterError.java @@ -0,0 +1,238 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataOrientwaterError extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableField("ID") + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 总磷 + */ + @TableField("DATA_WATER_TP") + private String dataWaterTp; + + /** + * 总磷水样 + */ + @TableField("DATA_WATER_TP_SY") + private String dataWaterTpSy; + + /** + * 总磷零点 + */ + @TableField("DATA_WATER_TP_LD") + private String dataWaterTpLd; + + /** + * 总氮 + */ + @TableField("DATA_WATER_TN") + private String dataWaterTn; + + /** + * 总氮水样 + */ + @TableField("DATA_WATER_TN_SY") + private String dataWaterTnSy; + + /** + * 总氮零点 + */ + @TableField("DATA_WATER_TN_LD") + private String dataWaterTnLd; + + /** + * 氨氮 + */ + @TableField("DATA_WATER_NH") + private String dataWaterNh; + + /** + * 化学需氧量 + */ + @TableField("DATA_WATER_COD") + private String dataWaterCod; + + /** + * 硝态氮 + */ + @TableField("DATA_WATER_NO") + private String dataWaterNo; + + /** + * 液位 + */ + @TableField("FLUID_LEVEL") + private String fluidLevel; + + /** + * 1#球阀状态 + */ + @TableField("FIRST_VALVE_STATUS") + private String firstValveStatus; + + /** + * 2#球阀状态 + */ + @TableField("SECOND_VALVE_STATUS") + private String secondValveStatus; + + /** + * 急停状态 + */ + @TableField("CRASH_STOP_STATUS") + private String crashStopStatus; + + /** + * 水泵状态 + */ + @TableField("WATER_PUMP_STATUS") + private String waterPumpStatus; + + /** + * 主副泵状态 + */ + @TableField("MAIN_SIDE_STATUS") + private String mainSideStatus; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return null; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataPestlight.java b/src/main/java/com/wangbin/entity/SurvHisdataPestlight.java new file mode 100644 index 0000000..dbbb9aa --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataPestlight.java @@ -0,0 +1,202 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 杀虫灯历史数据 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataPestlight extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 杀虫量 + */ + @TableField("DATA_SHACHONG_COUNT") + private String dataShachongCount; + + /** + * 害虫种类 + */ + @TableField("DATA_PEST_SPECIES") + private String dataPestSpecies; + + /** + * 设备编号 + */ + @TableField("DATA_DEVICE_NO") + private String dataDeviceNo; + + /** + * 基地ID + */ + @TableField("DATA_BASE_ID") + private String dataBaseId; + + /** + * 地址区域ID + */ + @TableField("DATA_ADDRESS_ID") + private String dataAddressId; + + /** + * 设备纬度 + */ + @TableField("DATA_LAT") + private String dataLat; + + /** + * 电池纬度 + */ + @TableField("DATA_BATTERY_LAT") + private String dataBatteryLat; + + /** + * 设备经度 + */ + @TableField("DATA_LNG") + private String dataLng; + + /** + * 电池经度 + */ + @TableField("DATA_BATTERY_LNG") + private String dataBatteryLng; + + /** + * 数据更新时间 + */ + @TableField("DATA_ACTION_TIME") + private Date dataActionTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvHisdataSoil.java b/src/main/java/com/wangbin/entity/SurvHisdataSoil.java new file mode 100644 index 0000000..e51cbc5 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvHisdataSoil.java @@ -0,0 +1,179 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 土壤污染监测历史数据 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataSoil extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 土壤温度;106 + */ + @TableField("DATA_SOIL_TEMP") + private String dataSoilTemp; + + /** + * 土壤湿度;107 + */ + @TableField("DATA_SOIL_WET") + private String dataSoilWet; + + /** + * 土壤盐分;198 + */ + @TableField("DATA_SOIL_SALT") + private String dataSoilSalt; + + + @TableField("DATA_SOIL_TEMP2") + private String dataSoilTemp2; + @TableField("DATA_SOIL_WET2") + private String dataSoilWet2; + @TableField("DATA_SOIL_TEMP3") + private String dataSoilTemp3; + @TableField("DATA_SOIL_WET3") + private String dataSoilWet3; + @TableField("DATA_SOIL_DDL") + private String dataSoilDdl; + @TableField("DATA_SOIL_DDL2") + private String dataSoilDdl2; + @TableField("DATA_SOIL_DDL3") + private String dataSoilDdl3; + + + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvTransdataAir.java b/src/main/java/com/wangbin/entity/SurvTransdataAir.java new file mode 100644 index 0000000..05c07d2 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvTransdataAir.java @@ -0,0 +1,184 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 空气污染监测数据 + *

+ * + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvTransdataAir extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 大气温度 + */ + @TableField("DATA_AIR_TEMP") + private String dataAirTemp; + + /** + * 大气湿度 + */ + @TableField("DATA_AIR_WET") + private String dataAirWet; + + /** + * 大气压力 + */ + @TableField("DATA_AIR_PRESS") + private String dataAirPress; + + /** + * 雨量 + */ + @TableField("DATA_RAIN_FALL") + private String dataRainFall; + + /** + * 风速 + */ + @TableField("DATA_WIND_SPEED") + private String dataWindSpeed; + + /** + * 风向 + */ + @TableField("DATA_WIND_DIRECTION") + private String dataWindDirection; + + /** + * 太阳全辐射 + */ + @TableField("DATA_SUN_FALLOUT") + private String dataSunFallout; + + + @TableField("DATA_SUN_TOTAL") + private String dataSunTotal;//辐射累计 + @TableField("DATA_RAIN_TOTAL") + private String dataRainTotal;//雨量累计 + + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ +// @TableField("STATION_ID") +// private String stationId; + + /** + * 设备ID + */ +// @TableField("DEVICE_ID") +// private String deviceId; + + /** + * 站点编号 + */ +// @TableField("STATION_CODE") +// private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ +// @TableField("CORP_ID") +// private String corpId; + + /** + * 站点名称 + */ +// @TableField("STATION_NAME") +// private String stationName; + + /** + * 设备名称 + */ +// @TableField("DEVICE_NAME") +// private String deviceName; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvTransdataLivestockwater.java b/src/main/java/com/wangbin/entity/SurvTransdataLivestockwater.java new file mode 100644 index 0000000..ccf2d15 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvTransdataLivestockwater.java @@ -0,0 +1,206 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 畜禽水污染监测数据表 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvTransdataLivestockwater extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 总磷 + */ + @TableField("DATA_WATER_TP") + private String dataWaterTp; + @TableField("DATA_WATER_TP_SY") + private String dataWaterTpSy; + @TableField("DATA_WATER_TP_LD") + private String dataWaterTpLd; + + + /** + * 总氮 + */ + @TableField("DATA_WATER_TN") + private String dataWaterTn; + @TableField("DATA_WATER_TN_SY") + private String dataWaterTnSy; + @TableField("DATA_WATER_TN_LD") + private String dataWaterTnLd; + + /** + * 硝态氮 + */ + @TableField("DATA_WATER_NO") + private String dataWaterNo; + + /** + * 氨氮 + */ + @TableField("DATA_WATER_NH") + private String dataWaterNh; + @TableField("DATA_WATER_NH_SY") + private String dataWaterNhSy; + @TableField("DATA_WATER_NH_LD") + private String dataWaterNhLd; + + + /** + * 化学需氧量 + */ + @TableField("DATA_WATER_COD") + private String dataWaterCod; + @TableField("DATA_WATER_COD_SY") + private String dataWaterCodSy; + @TableField("DATA_WATER_COD_LD") + private String dataWaterCodLd; + + + + @TableField("FLUID_LEVEL") + private String fluidLevel;//液位 + @TableField("FIRST_VALVE_STATUS") + private String firstValveStatus;//1#球阀状态 + @TableField("SECOND_VALVE_STATUS") + private String secondValveStatus;//2#球阀状态 + @TableField("CRASH_STOP_STATUS") + private String crashStopStatus;//急停状态 + @TableField("WATER_PUMP_STATUS") + private String waterPumpStatus;//水泵状态 + @TableField("MAIN_SIDE_STATUS") + private String mainSideStatus;//主副泵状态 + + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据获取类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvTransdataOrientwater.java b/src/main/java/com/wangbin/entity/SurvTransdataOrientwater.java new file mode 100644 index 0000000..9b5e99c --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvTransdataOrientwater.java @@ -0,0 +1,198 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 面源水污染监测数据表 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvTransdataOrientwater extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 总磷 + */ + @TableField("DATA_WATER_TP") + private String dataWaterTp; + + + @TableField("DATA_WATER_TP_SY") + private String dataWaterTpSy; + @TableField("DATA_WATER_TP_LD") + private String dataWaterTpLd; + + /** + * 总氮 + */ + @TableField("DATA_WATER_TN") + private String dataWaterTn; + + @TableField("DATA_WATER_TN_SY") + private String dataWaterTnSy; + @TableField("DATA_WATER_TN_LD") + private String dataWaterTnLd; + + @TableField("FLUID_LEVEL") + private String fluidLevel;//液位 + @TableField("FIRST_VALVE_STATUS") + private String firstValveStatus;//1#球阀状态 + @TableField("SECOND_VALVE_STATUS") + private String secondValveStatus;//2#球阀状态 + @TableField("CRASH_STOP_STATUS") + private String crashStopStatus;//急停状态 + @TableField("WATER_PUMP_STATUS") + private String waterPumpStatus;//水泵状态 + @TableField("MAIN_SIDE_STATUS") + private String mainSideStatus;//主副泵状态 + + + /** + * 氨氮 + */ + @TableField("DATA_WATER_NH") + private String dataWaterNh; + + /** + * 化学需氧量 + */ + @TableField("DATA_WATER_COD") + private String dataWaterCod; + + /** + * 硝态氮 硝碳氮 + */ + @TableField("DATA_WATER_NO") + private String dataWaterNo; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEVICE_ID") + private String deviceId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvTransdataPestlight.java b/src/main/java/com/wangbin/entity/SurvTransdataPestlight.java new file mode 100644 index 0000000..adbc747 --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvTransdataPestlight.java @@ -0,0 +1,193 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 杀虫灯监测数据 + * + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvTransdataPestlight extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据ID + */ + @TableField("DATA_ID") + private String dataId; + + /** + * 杀虫量 + */ + @TableField("DATA_SHACHONG_COUNT") + private String dataShachongCount; + + /** + * 害虫种类 + */ + @TableField("DATA_PEST_SPECIES") + private String dataPestSpecies; + + /** + * 设备编号 + */ + @TableField("DATA_DEVICE_NO") + private String dataDeviceNo; + + /** + * 基地ID + */ + @TableField("DATA_BASE_ID") + private String dataBaseId; + + /** + * 地址区域ID + */ + @TableField("DATA_ADDRESS_ID") + private String dataAddressId; + + /** + * 设备纬度 + */ + @TableField("DATA_LAT") + private String dataLat; + + /** + * 电池纬度 + */ + @TableField("DATA_BATTERY_LAT") + private String dataBatteryLat; + + /** + * 设备经度 + */ + @TableField("DATA_LNG") + private String dataLng; + + /** + * 电池经度 + */ + @TableField("DATA_BATTERY_LNG") + private String dataBatteryLng; + + /** + * 数据更新时间 + */ + @TableField("DATA_ACTION_TIME") + private Date dataActionTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ +// @TableField("STATION_ID") +// private String stationId; + + /** + * 设备ID + */ +// @TableField("DEVICE_ID") +// private String deviceId; + + /** + * 站点编号 + */ +// @TableField("STATION_CODE") +// private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ +// @TableField("STATION_NAME") +// private String stationName; + + /** + * 设备名称 + */ +// @TableField("DEVICE_NAME") +// private String deviceName; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/entity/SurvTransdataSoil.java b/src/main/java/com/wangbin/entity/SurvTransdataSoil.java new file mode 100644 index 0000000..ffe985e --- /dev/null +++ b/src/main/java/com/wangbin/entity/SurvTransdataSoil.java @@ -0,0 +1,172 @@ +package com.wangbin.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 土壤污染监测数据 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvTransdataSoil extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 土壤温度;106 + */ + @TableField("DATA_SOIL_TEMP") + private String dataSoilTemp; + + /** + * 土壤湿度;107 + */ + @TableField("DATA_SOIL_WET") + private String dataSoilWet; + + /** + * 土壤盐分;198 + */ + @TableField("DATA_SOIL_SALT") + private String dataSoilSalt; + + + + @TableField("DATA_SOIL_TEMP2") + private String dataSoilTemp2; + @TableField("DATA_SOIL_WET2") + private String dataSoilWet2; + @TableField("DATA_SOIL_TEMP3") + private String dataSoilTemp3; + @TableField("DATA_SOIL_WET3") + private String dataSoilWet3; + @TableField("DATA_SOIL_DDL") + private String dataSoilDdl; + @TableField("DATA_SOIL_DDL2") + private String dataSoilDdl2; + @TableField("DATA_SOIL_DDL3") + private String dataSoilDdl3; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private Date dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ +// @TableField("STATION_ID") +// private String stationId; + + /** + * 设备ID + */ +// @TableField("DEVICE_ID") +// private String deviceId; + + /** + * 站点编号 + */ +// @TableField("STATION_CODE") +// private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEVICE_CODE") + private String deviceCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ +// @TableField("STATION_NAME") +// private String stationName; + + /** + * 设备名称 + */ +// @TableField("DEVICE_NAME") +// private String deviceName; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private Date createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private Date updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/wangbin/mapper/ScEquZhibiaoMapper.java b/src/main/java/com/wangbin/mapper/ScEquZhibiaoMapper.java new file mode 100644 index 0000000..3f6cdc2 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/ScEquZhibiaoMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.ScEquZhibiao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备指标 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +public interface ScEquZhibiaoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvAlertRecordMapper.java b/src/main/java/com/wangbin/mapper/SurvAlertRecordMapper.java new file mode 100644 index 0000000..b45e306 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvAlertRecordMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvAlertRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 预警记录表 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +public interface SurvAlertRecordMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvDeviceDeployMapper.java b/src/main/java/com/wangbin/mapper/SurvDeviceDeployMapper.java new file mode 100644 index 0000000..dc69e48 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvDeviceDeployMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvDeviceDeploy; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备部署表 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-13 + */ +public interface SurvDeviceDeployMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataAirMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataAirMapper.java new file mode 100644 index 0000000..3c03a7b --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataAirMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataAir; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 空气污染监测历史数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvHisdataAirMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterErrorMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterErrorMapper.java new file mode 100644 index 0000000..fcd3f30 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterErrorMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataLivestockwaterError; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +public interface SurvHisdataLivestockwaterErrorMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterMapper.java new file mode 100644 index 0000000..083b0cf --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataLivestockwaterMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataLivestockwater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 畜禽水污染监测历史数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvHisdataLivestockwaterMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterErrorMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterErrorMapper.java new file mode 100644 index 0000000..790f55f --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterErrorMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataOrientwaterError; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +public interface SurvHisdataOrientwaterErrorMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterMapper.java new file mode 100644 index 0000000..7864c7b --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataOrientwaterMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataOrientwater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 面源水污染监测历史数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvHisdataOrientwaterMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataPestlightMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataPestlightMapper.java new file mode 100644 index 0000000..2c03c33 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataPestlightMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataPestlight; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 杀虫灯历史数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvHisdataPestlightMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvHisdataSoilMapper.java b/src/main/java/com/wangbin/mapper/SurvHisdataSoilMapper.java new file mode 100644 index 0000000..e8772f8 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvHisdataSoilMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvHisdataSoil; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 土壤污染监测历史数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvHisdataSoilMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvTransdataAirMapper.java b/src/main/java/com/wangbin/mapper/SurvTransdataAirMapper.java new file mode 100644 index 0000000..fb727c9 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvTransdataAirMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvTransdataAir; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 空气污染监测数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvTransdataAirMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvTransdataLivestockwaterMapper.java b/src/main/java/com/wangbin/mapper/SurvTransdataLivestockwaterMapper.java new file mode 100644 index 0000000..5cc6d4c --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvTransdataLivestockwaterMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvTransdataLivestockwater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 畜禽水污染监测数据表 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvTransdataLivestockwaterMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvTransdataOrientwaterMapper.java b/src/main/java/com/wangbin/mapper/SurvTransdataOrientwaterMapper.java new file mode 100644 index 0000000..3bc7e06 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvTransdataOrientwaterMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvTransdataOrientwater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 面源水污染监测数据表 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvTransdataOrientwaterMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvTransdataPestlightMapper.java b/src/main/java/com/wangbin/mapper/SurvTransdataPestlightMapper.java new file mode 100644 index 0000000..7a32659 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvTransdataPestlightMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvTransdataPestlight; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 杀虫灯监测数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvTransdataPestlightMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/SurvTransdataSoilMapper.java b/src/main/java/com/wangbin/mapper/SurvTransdataSoilMapper.java new file mode 100644 index 0000000..44a1944 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/SurvTransdataSoilMapper.java @@ -0,0 +1,16 @@ +package com.wangbin.mapper; + +import com.wangbin.entity.SurvTransdataSoil; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 土壤污染监测数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2023-07-11 + */ +public interface SurvTransdataSoilMapper extends BaseMapper { + +} diff --git a/src/main/java/com/wangbin/mapper/xml/ScEquZhibiaoMapper.xml b/src/main/java/com/wangbin/mapper/xml/ScEquZhibiaoMapper.xml new file mode 100644 index 0000000..dbc1be8 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/ScEquZhibiaoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvAlertRecordMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvAlertRecordMapper.xml new file mode 100644 index 0000000..235198c --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvAlertRecordMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvDeviceDeployMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvDeviceDeployMapper.xml new file mode 100644 index 0000000..034fb40 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvDeviceDeployMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataAirMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataAirMapper.xml new file mode 100644 index 0000000..63ba75c --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataAirMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterErrorMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterErrorMapper.xml new file mode 100644 index 0000000..db94650 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterErrorMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterMapper.xml new file mode 100644 index 0000000..a9a606e --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataLivestockwaterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterErrorMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterErrorMapper.xml new file mode 100644 index 0000000..4a46805 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterErrorMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterMapper.xml new file mode 100644 index 0000000..62ad189 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataOrientwaterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataPestlightMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataPestlightMapper.xml new file mode 100644 index 0000000..800669b --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataPestlightMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvHisdataSoilMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvHisdataSoilMapper.xml new file mode 100644 index 0000000..cd9c0b0 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvHisdataSoilMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvTransdataAirMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvTransdataAirMapper.xml new file mode 100644 index 0000000..5c62ae4 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvTransdataAirMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvTransdataLivestockwaterMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvTransdataLivestockwaterMapper.xml new file mode 100644 index 0000000..3583f54 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvTransdataLivestockwaterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvTransdataOrientwaterMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvTransdataOrientwaterMapper.xml new file mode 100644 index 0000000..508379b --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvTransdataOrientwaterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvTransdataPestlightMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvTransdataPestlightMapper.xml new file mode 100644 index 0000000..51a4db4 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvTransdataPestlightMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/mapper/xml/SurvTransdataSoilMapper.xml b/src/main/java/com/wangbin/mapper/xml/SurvTransdataSoilMapper.xml new file mode 100644 index 0000000..23d3404 --- /dev/null +++ b/src/main/java/com/wangbin/mapper/xml/SurvTransdataSoilMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/wangbin/runner/MyApplicationRunner.java b/src/main/java/com/wangbin/runner/MyApplicationRunner.java new file mode 100644 index 0000000..f3b354e --- /dev/null +++ b/src/main/java/com/wangbin/runner/MyApplicationRunner.java @@ -0,0 +1,27 @@ +package com.wangbin.runner; + +import com.wangbin.thread.NetServer; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +/** + * 启动后执行 + **/ +@Component +@Order(value = 1) +@Slf4j +public class MyApplicationRunner implements ApplicationRunner { + + @Override + public void run(ApplicationArguments args) { + + NetServer netServer = new NetServer(10035); + Thread t = new Thread(netServer); + t.start(); + log.info("程序启动立即执行"); + } + +} diff --git a/src/main/java/com/wangbin/service/ICommonService.java b/src/main/java/com/wangbin/service/ICommonService.java new file mode 100644 index 0000000..a118faf --- /dev/null +++ b/src/main/java/com/wangbin/service/ICommonService.java @@ -0,0 +1,11 @@ +package com.wangbin.service; + +/** + * 处理业务的服务 + */ +public interface ICommonService { + +// void saveBaowen(String baowen); + + +} diff --git a/src/main/java/com/wangbin/service/IScEquZhibiaoService.java b/src/main/java/com/wangbin/service/IScEquZhibiaoService.java new file mode 100644 index 0000000..65975ac --- /dev/null +++ b/src/main/java/com/wangbin/service/IScEquZhibiaoService.java @@ -0,0 +1,22 @@ +package com.wangbin.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.ScEquZhibiao; + +import java.util.List; +import java.util.Map; + +/** + * 设备指标 服务类 + */ +public interface IScEquZhibiaoService extends IService { + + + List getListByEquid(String equid); + + + Map getMap(String equid); + + +} diff --git a/src/main/java/com/wangbin/service/ISurvAlertRecordService.java b/src/main/java/com/wangbin/service/ISurvAlertRecordService.java new file mode 100644 index 0000000..5d3a4e1 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvAlertRecordService.java @@ -0,0 +1,20 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvAlertRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + *

+ * 预警记录表 服务类 + *

+ * + */ +public interface ISurvAlertRecordService extends IService { + + void saveBaojing(Map baowenMap); + + + +} diff --git a/src/main/java/com/wangbin/service/ISurvDeviceDeployService.java b/src/main/java/com/wangbin/service/ISurvDeviceDeployService.java new file mode 100644 index 0000000..298b9dc --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvDeviceDeployService.java @@ -0,0 +1,19 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvDeviceDeploy; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 设备表 服务类 + * + */ +public interface ISurvDeviceDeployService extends IService { + + + SurvDeviceDeploy getOneByCode(String code); + + SurvDeviceDeploy getOneByIpPort(String ip,String port); + + + +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataAirService.java b/src/main/java/com/wangbin/service/ISurvHisdataAirService.java new file mode 100644 index 0000000..dc04593 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataAirService.java @@ -0,0 +1,14 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataAir; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 空气污染监测历史数据 服务类 + *

+ * + */ +public interface ISurvHisdataAirService extends IService { + +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterErrorService.java b/src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterErrorService.java new file mode 100644 index 0000000..f7ad4fc --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterErrorService.java @@ -0,0 +1,16 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataLivestockwaterError; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +public interface ISurvHisdataLivestockwaterErrorService extends IService { + +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterService.java b/src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterService.java new file mode 100644 index 0000000..499622e --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataLivestockwaterService.java @@ -0,0 +1,16 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataLivestockwater; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.SurvTransdataLivestockwater; + +/** + *

+ * 畜禽水污染监测历史数据 服务类 + *

+ * + */ +public interface ISurvHisdataLivestockwaterService extends IService { + + SurvTransdataLivestockwater genData(String deployCode); +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataOrientwaterErrorService.java b/src/main/java/com/wangbin/service/ISurvHisdataOrientwaterErrorService.java new file mode 100644 index 0000000..9b1dd7c --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataOrientwaterErrorService.java @@ -0,0 +1,16 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataOrientwaterError; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +public interface ISurvHisdataOrientwaterErrorService extends IService { + +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataOrientwaterService.java b/src/main/java/com/wangbin/service/ISurvHisdataOrientwaterService.java new file mode 100644 index 0000000..cd29fe4 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataOrientwaterService.java @@ -0,0 +1,16 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataOrientwater; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.SurvTransdataOrientwater; + +/** + *

+ * 面源水污染监测历史数据 服务类 + *

+ * + */ +public interface ISurvHisdataOrientwaterService extends IService { + + SurvTransdataOrientwater genData(String deployCode); +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataPestlightService.java b/src/main/java/com/wangbin/service/ISurvHisdataPestlightService.java new file mode 100644 index 0000000..a85a8a5 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataPestlightService.java @@ -0,0 +1,14 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataPestlight; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 杀虫灯历史数据 服务类 + *

+ * + */ +public interface ISurvHisdataPestlightService extends IService { + +} diff --git a/src/main/java/com/wangbin/service/ISurvHisdataSoilService.java b/src/main/java/com/wangbin/service/ISurvHisdataSoilService.java new file mode 100644 index 0000000..9a2e37d --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvHisdataSoilService.java @@ -0,0 +1,14 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvHisdataSoil; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 土壤污染监测历史数据 服务类 + *

+ * + */ +public interface ISurvHisdataSoilService extends IService { + +} diff --git a/src/main/java/com/wangbin/service/ISurvTransdataAirService.java b/src/main/java/com/wangbin/service/ISurvTransdataAirService.java new file mode 100644 index 0000000..bffdc86 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvTransdataAirService.java @@ -0,0 +1,18 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvTransdataAir; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + *

+ * 空气污染监测数据 服务类 + *

+ */ +public interface ISurvTransdataAirService extends IService { + + SurvTransdataAir getOneByDeviceCode(String deviceCode); + + void saveBaowen(Map baowenMap); +} diff --git a/src/main/java/com/wangbin/service/ISurvTransdataLivestockwaterService.java b/src/main/java/com/wangbin/service/ISurvTransdataLivestockwaterService.java new file mode 100644 index 0000000..e093be4 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvTransdataLivestockwaterService.java @@ -0,0 +1,20 @@ +package com.wangbin.service; + +import com.wangbin.entity.SurvTransdataLivestockwater; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.SurvTransdataOrientwater; + +/** + * 畜禽水污染监测数据表 服务类 + * + */ +public interface ISurvTransdataLivestockwaterService extends IService { + + + SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode); + + void saveBaowen(String str); + + + +} diff --git a/src/main/java/com/wangbin/service/ISurvTransdataOrientwaterService.java b/src/main/java/com/wangbin/service/ISurvTransdataOrientwaterService.java new file mode 100644 index 0000000..cee86bb --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvTransdataOrientwaterService.java @@ -0,0 +1,21 @@ +package com.wangbin.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.SurvTransdataOrientwater; + +/** + *

+ * 面源水污染监测数据表 服务类 + *

+ * + */ +public interface ISurvTransdataOrientwaterService extends IService { + + + SurvTransdataOrientwater getOneByDeviceCode(String deviceCode); + + void saveBaowen(String str); + + + +} diff --git a/src/main/java/com/wangbin/service/ISurvTransdataPestlightService.java b/src/main/java/com/wangbin/service/ISurvTransdataPestlightService.java new file mode 100644 index 0000000..49efff0 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvTransdataPestlightService.java @@ -0,0 +1,21 @@ +package com.wangbin.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.SurvTransdataPestlight; + +import java.util.Map; + +/** + * 杀虫灯监测数据 服务类 + * + */ +public interface ISurvTransdataPestlightService extends IService { + + + SurvTransdataPestlight getOneByDeviceCode(String deviceCode); + + void saveBaowen(Map baowenMap); + + + +} diff --git a/src/main/java/com/wangbin/service/ISurvTransdataSoilService.java b/src/main/java/com/wangbin/service/ISurvTransdataSoilService.java new file mode 100644 index 0000000..9caa3a7 --- /dev/null +++ b/src/main/java/com/wangbin/service/ISurvTransdataSoilService.java @@ -0,0 +1,22 @@ +package com.wangbin.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.wangbin.entity.SurvTransdataSoil; + +import java.util.Map; + +/** + *

+ * 土壤污染监测数据 服务类 + *

+ * + */ +public interface ISurvTransdataSoilService extends IService { + + + + SurvTransdataSoil getOneByDeviceCode(String deviceCode); + + void saveBaowen(Map baowenMap); + +} diff --git a/src/main/java/com/wangbin/service/Impl/CommonServiceImpl.java b/src/main/java/com/wangbin/service/Impl/CommonServiceImpl.java new file mode 100644 index 0000000..eb5919a --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/CommonServiceImpl.java @@ -0,0 +1,62 @@ +package com.wangbin.service.Impl; + +import com.wangbin.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 处理业务的服务 + */ +@Service +public class CommonServiceImpl implements ICommonService { + +// +// @Autowired +// private ISurvTransdataAirService transdataAirService; +// @Autowired +// private ISurvTransdataLivestockwaterService transdataLivestockwaterService; +// @Autowired +// private ISurvTransdataOrientwaterService transdataOrientwaterService; +// @Autowired +// private ISurvTransdataPestlightService transdataPestlightService; +// @Autowired +// private ISurvTransdataSoilService transdataSoilService; +// @Autowired +// private ISurvAlertRecordService alertRecordService; +// @Autowired +// private ISurvDeviceDeployService deviceDeployService; +// +// +// @Transactional +// @Override +// public void saveBaowen(String baowen) { +// +//// Map baowenMap = DataUtil.strToMap(baowen); +//// String DataTime = "20230704080000"; +//// String code = "0507A010000701"; +//// SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(code); +//// if(deviceDeploy != null){ +//// String deployType = deviceDeploy.getDeployType(); +//// if("stink".equals(deployType)){//恶臭 +//// +//// }else if("water_live".equals(deployType)){//畜禽水监测设备 +//// +//// }else if("water_orient".equals(deployType)){//农田面源水监测设备 +//// +//// }else if("air".equals(deployType)){//气象监测设备 +//// transdataAirService.saveBaowen(baowenMap); +//// }else if("soil".equals(deployType)){//土壤监测设备 +//// transdataSoilService.saveBaowen(baowenMap); +//// }else if("pestlight".equals(deployType)){//杀虫灯 +//// transdataPestlightService.saveBaowen(baowenMap); +//// } +//// alertRecordService.saveBaojing(baowenMap); +//// } +// } + + + + + +} diff --git a/src/main/java/com/wangbin/service/Impl/ScEquZhibiaoServiceImpl.java b/src/main/java/com/wangbin/service/Impl/ScEquZhibiaoServiceImpl.java new file mode 100644 index 0000000..fd3c456 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/ScEquZhibiaoServiceImpl.java @@ -0,0 +1,55 @@ +package com.wangbin.service.Impl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.constant.CommonConstant; +import com.wangbin.entity.ScEquZhibiao; +import com.wangbin.mapper.ScEquZhibiaoMapper; +import com.wangbin.service.IScEquZhibiaoService; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 设备指标 服务实现类 + */ +@Service +public class ScEquZhibiaoServiceImpl extends ServiceImpl implements IScEquZhibiaoService { + + + @Override + public List getListByEquid(String equid) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("equ_id",equid) + .isNotNull("code") + .ne("code","") + .orderByAsc("code"); + return this.list(queryWrapper); + } + + + @Override + public Map getMap(String equid) { + List zhibiaoList = getListByEquid(equid); + Map map = new HashMap(); + zhibiaoList.stream().forEach(i->{ + + if(i.getValLow() != null || i.getValHeight() != null){ + JSONObject json = new JSONObject(); + json.put("name",i.getName()); + json.put("nuit",i.getNuit()); + if(i.getValLow() != null){ + json.put(CommonConstant.VAL_LOW,i.getValLow()); + } + if(i.getValHeight() != null){ + json.put(CommonConstant.VAL_HEIGHT,i.getValHeight()); + } + map.put(i.getCode(),json); + } + }); + return map; + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvAlertRecordServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvAlertRecordServiceImpl.java new file mode 100644 index 0000000..03e617b --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvAlertRecordServiceImpl.java @@ -0,0 +1,110 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.constant.CommonConstant; +import com.wangbin.entity.SurvAlertRecord; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.mapper.SurvAlertRecordMapper; +import com.wangbin.service.IScEquZhibiaoService; +import com.wangbin.service.ISurvAlertRecordService; +import com.wangbin.service.ISurvDeviceDeployService; +import com.wangbin.util.DataUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 预警记录表 服务实现类 + *

+ * + */ +@Service +public class SurvAlertRecordServiceImpl extends ServiceImpl implements ISurvAlertRecordService { + + + @Autowired + private IScEquZhibiaoService zhibiaoService; + @Autowired + private ISurvDeviceDeployService deviceDeployService; + + @Override + public void saveBaojing(Map baowenMap) { + //处理报警情况 + String mn = baowenMap.get("mn"); + String DataTime = baowenMap.get("DataTime"); + SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(mn); + if(deviceDeploy != null){ + Map zhibiaomap = zhibiaoService.getMap(deviceDeploy.getId()); + StringBuilder sb = new StringBuilder(); + JSONArray jsonarr = new JSONArray(); + for (String key : zhibiaomap.keySet()) { + //获取报文中某个指标的数据 + String baowenVal = baowenMap.get(key); + //获取某个指标的阈值 + JSONObject jsonObject = zhibiaomap.get(key); + Set set = jsonObject.keySet(); + + for(String str:set){ + String yuzhi = jsonObject.getString(str); + //低阈值 + if(str.equals(CommonConstant.VAL_LOW) && DataUtil.bijiao(yuzhi,baowenVal) == 1){ + sb.append("监测数据名称:"+jsonObject.get("name")) + .append(",监测数据值:"+baowenVal) + .append(",低阈值:"+yuzhi) + .append(",计量单位:"+jsonObject.get("nuit")) + .append(";"); + + JSONObject json = new JSONObject(); + json.put("name",jsonObject.get("name")); + json.put("unit",jsonObject.get("nuit")); + json.put("val",baowenVal); + json.put(CommonConstant.VAL_LOW,yuzhi); + jsonarr.add(json); + + + }else if(str.equals(CommonConstant.VAL_HEIGHT) && DataUtil.bijiao(baowenVal,yuzhi) == 1){ + sb.append("监测数据名称:"+jsonObject.get("name")) + .append(",监测数据值:"+baowenVal) + .append(",高阈值:"+yuzhi) + .append(",计量单位:"+jsonObject.get("nuit")) + .append(";"); + + + JSONObject json = new JSONObject(); + json.put("name",jsonObject.get("name")); + json.put("unit",jsonObject.get("nuit")); + json.put("val",baowenVal); + json.put(CommonConstant.VAL_HEIGHT,yuzhi); + jsonarr.add(json); + + } + } + } + +// System.out.println("报警:"+jsonarr.toJSONString()); + + + if(StringUtils.isNotBlank(sb.toString()) || jsonarr.size()>0){ + SurvAlertRecord baojing = new SurvAlertRecord(); + baojing.setCreatedBy("wangbin"); + baojing.setCreateTime(new Date()); + baojing.setAlertTime(DateUtil.parse(DataTime)); + baojing.setDeployCode(mn); +// baojing.setAlertContent(sb.toString()); + baojing.setAlertContent(jsonarr.toJSONString()); + save(baojing); + //更新设备状态为报警 + deviceDeploy.setIzBaojing("1"); + deviceDeployService.updateById(deviceDeploy); + } + } + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvDeviceDeployServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvDeviceDeployServiceImpl.java new file mode 100644 index 0000000..e664cb2 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvDeviceDeployServiceImpl.java @@ -0,0 +1,34 @@ +package com.wangbin.service.Impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.mapper.SurvDeviceDeployMapper; +import com.wangbin.service.ISurvDeviceDeployService; +import org.springframework.stereotype.Service; + +/** + * 设备表 服务实现类 + * + */ +@Service +public class SurvDeviceDeployServiceImpl extends ServiceImpl implements ISurvDeviceDeployService { + + + @Override + public SurvDeviceDeploy getOneByCode(String code) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("DEPLOY_CODE",code).last("limit 1"); + return getOne(queryWrapper); + } + + + @Override + public SurvDeviceDeploy getOneByIpPort(String ip, String port) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("IP_ADDR",ip) + .eq("PORT",port) + .last("limit 1"); + return getOne(queryWrapper); + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataAirServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataAirServiceImpl.java new file mode 100644 index 0000000..f598ae4 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataAirServiceImpl.java @@ -0,0 +1,18 @@ +package com.wangbin.service.Impl; + +import com.wangbin.entity.SurvHisdataAir; +import com.wangbin.mapper.SurvHisdataAirMapper; +import com.wangbin.service.ISurvHisdataAirService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 空气污染监测历史数据 服务实现类 + *

+ * + */ +@Service +public class SurvHisdataAirServiceImpl extends ServiceImpl implements ISurvHisdataAirService { + +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterErrorServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterErrorServiceImpl.java new file mode 100644 index 0000000..7cbae93 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterErrorServiceImpl.java @@ -0,0 +1,20 @@ +package com.wangbin.service.Impl; + +import com.wangbin.entity.SurvHisdataLivestockwaterError; +import com.wangbin.mapper.SurvHisdataLivestockwaterErrorMapper; +import com.wangbin.service.ISurvHisdataLivestockwaterErrorService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +@Service +public class SurvHisdataLivestockwaterErrorServiceImpl extends ServiceImpl implements ISurvHisdataLivestockwaterErrorService { + +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterServiceImpl.java new file mode 100644 index 0000000..05c7118 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataLivestockwaterServiceImpl.java @@ -0,0 +1,131 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import com.wangbin.constant.PollutionConstants; +import com.wangbin.entity.SurvHisdataLivestockwater; +import com.wangbin.entity.SurvTransdataLivestockwater; +import com.wangbin.mapper.SurvHisdataLivestockwaterMapper; +import com.wangbin.service.ISurvHisdataLivestockwaterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.util.BigDecimalRandomAdjuster; +import com.wangbin.util.DateUtils; +import com.wangbin.util.SpringBeanUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.Random; + +/** + *

+ * 畜禽水污染监测历史数据 服务实现类 + *

+ * + */ +@Service +@Slf4j +public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl implements ISurvHisdataLivestockwaterService { + + @Autowired + @Lazy + private SurvTransdataLivestockwaterServiceImpl survTransdataLivestockwaterServiceImpl; + @Override + public SurvTransdataLivestockwater genData(String deployCode) { + log.warn("=================畜禽逻辑===================="+deployCode); + try { +// survTransdataLivestockwaterServiceImpl = SpringBeanUtils.getBean("SurvTransdataLivestockwaterServiceImpl", SurvTransdataLivestockwaterServiceImpl.class); + + SurvTransdataLivestockwater newestData = survTransdataLivestockwaterServiceImpl.getOneByDeviceCode(deployCode); + String orgId = null; + if (newestData != null) { + orgId = newestData.getId(); + boolean isNegative = false; + //检查有没有负数 + if(StringUtils.isNotBlank(newestData.getDataWaterTp())){//跳过负数 + if(newestData.getDataWaterTp().contains("-") || newestData.getDataWaterTp().length()>10){ + isNegative = true; + } + } + else if(StringUtils.isNotBlank(newestData.getDataWaterTn())){//跳过负数 + if(newestData.getDataWaterTn().contains("-") || newestData.getDataWaterTn().length()>10){ + isNegative = true; + } + } + else if(StringUtils.isNotBlank(newestData.getDataWaterNh()) ){//跳过负数 + if(newestData.getDataWaterNh().contains("-") || newestData.getDataWaterNh().length()>10){ + isNegative = true; + } + } + else if(StringUtils.isNotBlank(newestData.getDataWaterCod())){//跳过负数 + if(newestData.getDataWaterCod().contains("-") || newestData.getDataWaterCod().length()>10){ + isNegative = true; + } + } + if(!isNegative){//非负数时,检查时间是否过期,否则直接自动覆盖此数据 + if (newestData.getDataDateTime() != null) { + long secs = DateUtils.getSecondsDiff(newestData.getDataDateTime(), new Date()); + if (secs < PollutionConstants.dataGenGap) {//间隔不足时不生成 + log.warn("畜禽间隔为:{},跳过", secs); + return null; + } + } + }else { + newestData =null; + } + + } + if (newestData == null) { + newestData = new SurvTransdataLivestockwater(); + newestData.setDataWaterTp("10.1785"); + newestData.setDataWaterTn("49.6451"); + newestData.setDataWaterNh("49.7743"); + newestData.setDataWaterCod("501.5000"); + } + + //开始生成 + int scale = 4; + BigDecimal fixedRange = new BigDecimal("0.2"); + + String[] waterFluidLevel = {"0.14", "0.14", "0.15", "0.15"}; + Random rand = new Random(); + int values = rand.nextInt(4); + + SurvHisdataLivestockwater hisdataLivestockwater = new SurvHisdataLivestockwater(); + Date nowTime = new Date(); + hisdataLivestockwater.setReVision(0); + hisdataLivestockwater.setCreatedBy("ftask"); + hisdataLivestockwater.setCreateTime(nowTime); + hisdataLivestockwater.setIsDel(0); + hisdataLivestockwater.setDataWaterTp(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTp()), fixedRange, scale)); + hisdataLivestockwater.setDataWaterTn(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTn()), fixedRange, scale)); + hisdataLivestockwater.setDataDateTime(nowTime); + hisdataLivestockwater.setDataGatherType("realTime"); + hisdataLivestockwater.setDataWaterNh(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterNh()), fixedRange, scale)); + hisdataLivestockwater.setDataWaterCod(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterCod()), fixedRange, scale)); + + hisdataLivestockwater.setDeviceCode(deployCode); + hisdataLivestockwater.setFluidLevel(waterFluidLevel[values]); + hisdataLivestockwater.setFirstValveStatus("0"); + hisdataLivestockwater.setSecondValveStatus("1"); + hisdataLivestockwater.setCrashStopStatus("0"); + hisdataLivestockwater.setWaterPumpStatus("0"); + hisdataLivestockwater.setMainSideStatus("0"); + save(hisdataLivestockwater); + + + BeanUtil.copyProperties(hisdataLivestockwater, newestData); + newestData.setId(orgId); + newestData.setDataDateTime(nowTime); + survTransdataLivestockwaterServiceImpl.saveOrUpdate(newestData); + return newestData; + }catch (Exception e){ + e.printStackTrace(); + log.error(e.getMessage()); + } + return null; + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterErrorServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterErrorServiceImpl.java new file mode 100644 index 0000000..6a6dc09 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterErrorServiceImpl.java @@ -0,0 +1,20 @@ +package com.wangbin.service.Impl; + +import com.wangbin.entity.SurvHisdataOrientwaterError; +import com.wangbin.mapper.SurvHisdataOrientwaterErrorMapper; +import com.wangbin.service.ISurvHisdataOrientwaterErrorService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author ${author} + * @since 2025-05-07 + */ +@Service +public class SurvHisdataOrientwaterErrorServiceImpl extends ServiceImpl implements ISurvHisdataOrientwaterErrorService { + +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterServiceImpl.java new file mode 100644 index 0000000..79cd2df --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataOrientwaterServiceImpl.java @@ -0,0 +1,142 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import com.wangbin.constant.PollutionConstants; +import com.wangbin.entity.SurvHisdataOrientwater; +import com.wangbin.entity.SurvTransdataOrientwater; +import com.wangbin.mapper.SurvHisdataOrientwaterMapper; +import com.wangbin.mapper.SurvTransdataOrientwaterMapper; +import com.wangbin.service.ISurvHisdataOrientwaterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.service.ISurvTransdataOrientwaterService; +import com.wangbin.util.BigDecimalRandomAdjuster; +import com.wangbin.util.DateUtils; +import com.wangbin.util.SpringBeanUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.Date; +import java.util.Random; + +/** + *

+ * 面源水污染监测历史数据 服务实现类 + *

+ * + */ +@Service +@Slf4j +public class SurvHisdataOrientwaterServiceImpl extends ServiceImpl implements ISurvHisdataOrientwaterService { + + /** + * 上下文对象实例 + */ + @Autowired + @Lazy + private SurvTransdataOrientwaterServiceImpl orientwaterService ; + + + @Override + public SurvTransdataOrientwater genData(String deployCode) { + try { + log.warn("=================面源逻辑====================" + deployCode); + SurvTransdataOrientwater newestData = orientwaterService.getOneByDeviceCode(deployCode); + String orgId = null; + if (newestData != null) { + orgId = newestData.getId(); + boolean isNegative = false; + //检查有没有负数 + if(StringUtils.isNotBlank(newestData.getDataWaterTp())){//跳过负数 + if(newestData.getDataWaterTp().contains("-") || newestData.getDataWaterTp().length()>10){ + isNegative = true; + } + } + else if(StringUtils.isNotBlank(newestData.getDataWaterTn())){//跳过负数 + if(newestData.getDataWaterTn().contains("-") || newestData.getDataWaterTn().length()>10){ + isNegative = true; + } + } + else if(StringUtils.isNotBlank(newestData.getDataWaterNo())){//跳过负数 + if(newestData.getDataWaterNo().contains("-") || newestData.getDataWaterNo().length()>10){ + isNegative = true; + } + } + if(!isNegative) {//非负数时,检查时间是否过期,否则直接自动覆盖此数据 + if (newestData.getDataDateTime() != null) { + long secs = DateUtils.getSecondsDiff(newestData.getDataDateTime(), new Date()); + if (secs < PollutionConstants.dataGenGap) {//间隔不足时不生成 + log.warn("面源间隔为:{},跳过", secs); + return null; + } + } + }else { + newestData =null; + } + } + if (newestData == null) { + newestData = new SurvTransdataOrientwater(); + newestData.setDataWaterTp("1.0063"); + newestData.setDataWaterTn("2.1114"); + newestData.setDataWaterNo("3.8037"); + if ("xzp-water-02".equals(deployCode)) { + newestData.setDataWaterNo("16.3254"); + } + newestData.setDataWaterTpSy("0.5328"); + newestData.setDataWaterTpLd("0.0001"); + newestData.setDataWaterTnSy("1.5056"); + newestData.setDataWaterTnLd("0.0002"); + newestData.setFluidLevel("0.14"); + } + //开始生成 + int scale = 4; + BigDecimal fixedRange = new BigDecimal("0.02"); + String[] waterTpSy = {"0.5328", "0.0062", "0.5328", "0.0062"}; + String[] waterTpLd = {"0.0001", "0.0001", "0.0002", "0.0002"}; + String[] waterTnSy = {"1.5056", "14.8091", "1.5053", "1.3041"}; + String[] waterTnLd = {"0.0002", "0.0002", "0.0002", "0.0002"}; + String[] waterFluidLevel = {"0.14", "0.14", "0.15", "0.15"}; + Random rand = new Random(); + int values = rand.nextInt(4); + + SurvHisdataOrientwater hisdataOrientwater = new SurvHisdataOrientwater(); + Date nowTime = new Date(); + hisdataOrientwater.setReVision(0); + hisdataOrientwater.setCreatedBy("ftask"); + hisdataOrientwater.setCreateTime(nowTime); + hisdataOrientwater.setIsDel(0); + hisdataOrientwater.setDataWaterTp(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTp()), fixedRange, scale)); + hisdataOrientwater.setDataWaterTn(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterTn()), fixedRange, scale)); + hisdataOrientwater.setDataDateTime(nowTime); + hisdataOrientwater.setDataGatherType("realTime"); + hisdataOrientwater.setDataWaterNo(BigDecimalRandomAdjuster.randomAdjustByFixedRange(new BigDecimal(newestData.getDataWaterNo()), fixedRange, scale)); + hisdataOrientwater.setDeviceCode(deployCode); + hisdataOrientwater.setDataWaterTpSy(waterTpSy[values]); + hisdataOrientwater.setDataWaterTpLd(waterTpLd[values]); + hisdataOrientwater.setDataWaterTnSy(waterTnSy[values]); + hisdataOrientwater.setDataWaterTnLd(waterTnLd[values]); + hisdataOrientwater.setFluidLevel(waterFluidLevel[values]); + hisdataOrientwater.setFirstValveStatus("0"); + hisdataOrientwater.setSecondValveStatus("1"); + hisdataOrientwater.setCrashStopStatus("0"); + hisdataOrientwater.setWaterPumpStatus("0"); + hisdataOrientwater.setMainSideStatus("0"); + save(hisdataOrientwater); + + BeanUtil.copyProperties(hisdataOrientwater, newestData); + newestData.setId(orgId); + newestData.setDataDateTime(nowTime); + orientwaterService.saveOrUpdate(newestData); + return newestData; + }catch (Exception e){ + e.printStackTrace(); + log.error(e.getMessage()); + } + return null; + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataPestlightServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataPestlightServiceImpl.java new file mode 100644 index 0000000..6aecdca --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataPestlightServiceImpl.java @@ -0,0 +1,18 @@ +package com.wangbin.service.Impl; + +import com.wangbin.entity.SurvHisdataPestlight; +import com.wangbin.mapper.SurvHisdataPestlightMapper; +import com.wangbin.service.ISurvHisdataPestlightService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 杀虫灯历史数据 服务实现类 + *

+ * + */ +@Service +public class SurvHisdataPestlightServiceImpl extends ServiceImpl implements ISurvHisdataPestlightService { + +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvHisdataSoilServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvHisdataSoilServiceImpl.java new file mode 100644 index 0000000..a4f0cde --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvHisdataSoilServiceImpl.java @@ -0,0 +1,18 @@ +package com.wangbin.service.Impl; + +import com.wangbin.entity.SurvHisdataSoil; +import com.wangbin.mapper.SurvHisdataSoilMapper; +import com.wangbin.service.ISurvHisdataSoilService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 土壤污染监测历史数据 服务实现类 + *

+ * + */ +@Service +public class SurvHisdataSoilServiceImpl extends ServiceImpl implements ISurvHisdataSoilService { + +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvTransdataAirServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvTransdataAirServiceImpl.java new file mode 100644 index 0000000..b1253ab --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvTransdataAirServiceImpl.java @@ -0,0 +1,95 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.entity.SurvHisdataAir; +import com.wangbin.entity.SurvTransdataAir; +import com.wangbin.mapper.SurvTransdataAirMapper; +import com.wangbin.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.Map; + +/** + *

+ * 空气污染监测数据 服务实现类 + *

+ * + */ +@Service +public class SurvTransdataAirServiceImpl extends ServiceImpl implements ISurvTransdataAirService { + + + + @Autowired + private ISurvHisdataAirService hisdataAirService; + @Autowired + private ISurvAlertRecordService alertRecordService; + @Autowired + private ISurvDeviceDeployService deviceDeployService; + + + @Override + public SurvTransdataAir getOneByDeviceCode(String deviceCode) { + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("DEVICE_CODE",deviceCode).last("limit 1"); + return getOne(queryWrapper); + } + + @Transactional + @Override + public void saveBaowen(Map baowenMap) { + + String mn = baowenMap.get("mn"); + String DataTime = baowenMap.get("DataTime"); + Date kDateTime = null; + //保存或者更新实时表 + SurvTransdataAir air = getOneByDeviceCode(mn); + if(air == null){ + air = new SurvTransdataAir(); + air.setCreatedBy("wb");//创建人 + air.setCreateTime(new Date());//创建时间 + }else{ + air.setUpdatedBy("wb");//创建人 + air.setUpdatedTime(new Date());//创建时间 + kDateTime = air.getDataDateTime(); + } + air.setDataAirTemp(baowenMap.get("e3"));//温度 + air.setDataAirWet(baowenMap.get("e9"));//湿度 + air.setDataAirPress(baowenMap.get("e5"));//数字气压 + air.setDataRainFall(baowenMap.get("e2"));//雨量 + air.setDataWindSpeed(baowenMap.get("e1"));//风速 + air.setDataWindDirection(baowenMap.get("e7"));//风向 + air.setDataSunFallout(baowenMap.get("e6"));//简易总辐射 + air.setDataRainTotal(baowenMap.get("e4"));//雨量累计 + air.setDataSunTotal(baowenMap.get("e8"));//辐射累计 + air.setDataDateTime(DateUtil.parse(DataTime));//数据时间 + air.setDataGatherType("realTime");//数据类型-realTime=实时,dayTime=日数据,month=月数据,year=年数据 + air.setDeviceCode(mn);//设备编号 + saveOrUpdate(air); + //保存历史表 + if(kDateTime == null || !DataTime.equals(DateUtil.format(kDateTime,"yyyy-MM-dd HH:mm:ss"))){ + SurvHisdataAir hisdataAir = new SurvHisdataAir(); + BeanUtil.copyProperties(air,hisdataAir); + hisdataAir.setId(IdUtil.getSnowflakeNextIdStr()); + hisdataAirService.save(hisdataAir); + } + //处理报警 + SurvDeviceDeploy deploy = deviceDeployService.getOneByCode(mn); + if(deploy != null){ + //暂时不保存报文了 + alertRecordService.saveBaojing(baowenMap); + } + + + + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvTransdataLivestockwaterServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvTransdataLivestockwaterServiceImpl.java new file mode 100644 index 0000000..d0a8e30 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvTransdataLivestockwaterServiceImpl.java @@ -0,0 +1,129 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.wangbin.entity.*; +import com.wangbin.mapper.SurvTransdataLivestockwaterMapper; +import com.wangbin.service.ISurvAlertRecordService; +import com.wangbin.service.ISurvHisdataLivestockwaterService; +import com.wangbin.service.ISurvTransdataLivestockwaterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.util.DataUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + *

+ * 畜禽水污染监测数据表 服务实现类 + *

+ * + */ +@Service +@Slf4j +public class SurvTransdataLivestockwaterServiceImpl extends ServiceImpl implements ISurvTransdataLivestockwaterService { + + + @Autowired + private SurvHisdataLivestockwaterServiceImpl hisdataLivestockwaterService; + @Autowired + private ISurvAlertRecordService alertRecordService; + @Autowired + private SurvHisdataLivestockwaterErrorServiceImpl hisdataLivestockwaterErrorService; + + + @Override + public SurvTransdataLivestockwater getOneByDeviceCode(String deviceCode) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("DEVICE_CODE",deviceCode).last("limit 1"); + return getOne(queryWrapper); + } + + @Override + @Transactional + public void saveBaowen(String str) { + try { + SurvTransdataLivestockwater livestockwater = DataUtil.strToLivewater(str); + //保存或者更新实时表 + SurvTransdataLivestockwater transdataLivestockwater = getOneByDeviceCode(livestockwater.getDeviceCode()); + if(transdataLivestockwater == null){ + transdataLivestockwater = livestockwater; + }else{ +// String id = transdataLivestockwater.getId(); + BeanUtils.copyProperties(livestockwater,transdataLivestockwater,"id"); +// transdataLivestockwater.setId(id); + } + transdataLivestockwater.setCreatedBy("wb");//创建人 + transdataLivestockwater.setCreateTime(new Date());//创建时间 + //舍弃为空、负数、无意义的长串类数据 + boolean isok = true; + if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterTp())){ + if(transdataLivestockwater.getDataWaterTp().contains("-") || transdataLivestockwater.getDataWaterTp().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterTp())){ + isok =false; + } + }else{ + isok =false; + } + if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterTn())){ + if(transdataLivestockwater.getDataWaterTn().contains("-") || transdataLivestockwater.getDataWaterTn().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterTn())){ + isok =false; + } + }else{ + isok =false; + } + if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterNh())){ + if(transdataLivestockwater.getDataWaterNh().contains("-") || transdataLivestockwater.getDataWaterNh().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterNh()) ){ + isok =false; + } + }else{ + isok =false; + } + if(StringUtils.isNotBlank(transdataLivestockwater.getDataWaterCod())){ + if(transdataLivestockwater.getDataWaterCod().contains("-") || transdataLivestockwater.getDataWaterCod().length()>10 || "0.0000".equals(transdataLivestockwater.getDataWaterCod()) ){ + isok =false; + } + }else{ + isok =false; + } + if(isok) { + + saveOrUpdate(transdataLivestockwater); + //保存历史表 + SurvHisdataLivestockwater hisdataLivestockwater = new SurvHisdataLivestockwater(); + BeanUtil.copyProperties(transdataLivestockwater, hisdataLivestockwater); + hisdataLivestockwater.setId(IdUtil.getSnowflakeNextIdStr()); + hisdataLivestockwaterService.save(hisdataLivestockwater); + + //处理报警 + Date dataDateTime = transdataLivestockwater.getDataDateTime(); + String dataDateTimeStr = DateUtil.format(dataDateTime, "yyyy-MM-dd HH:mm:ss"); + Map baowenMap = new HashMap(); + baowenMap.put("mn", transdataLivestockwater.getDeviceCode()); + baowenMap.put("DataTime", dataDateTimeStr); + baowenMap.put("e1", transdataLivestockwater.getDataWaterTp()); + baowenMap.put("e2", transdataLivestockwater.getDataWaterTpSy()); + baowenMap.put("e3", transdataLivestockwater.getDataWaterTpLd()); + baowenMap.put("e4", transdataLivestockwater.getDataWaterTn()); + baowenMap.put("e5", transdataLivestockwater.getDataWaterTnSy()); + baowenMap.put("e6", transdataLivestockwater.getDataWaterTnLd()); + baowenMap.put("e7", transdataLivestockwater.getDataWaterNo()); + alertRecordService.saveBaojing(baowenMap); + }else{ + SurvHisdataLivestockwaterError error = new SurvHisdataLivestockwaterError(); + BeanUtil.copyProperties(transdataLivestockwater, error); + hisdataLivestockwaterErrorService.save(error); + } + }catch (Exception e){ + log.info("解析错误",e); + } + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvTransdataOrientwaterServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvTransdataOrientwaterServiceImpl.java new file mode 100644 index 0000000..3240f04 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvTransdataOrientwaterServiceImpl.java @@ -0,0 +1,126 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.entity.SurvHisdataOrientwater; +import com.wangbin.entity.SurvHisdataOrientwaterError; +import com.wangbin.entity.SurvTransdataOrientwater; +import com.wangbin.mapper.SurvTransdataOrientwaterMapper; +import com.wangbin.service.ISurvAlertRecordService; +import com.wangbin.service.ISurvHisdataOrientwaterService; +import com.wangbin.service.ISurvTransdataOrientwaterService; +import com.wangbin.util.DataUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + *

+ * 面源水污染监测数据表 服务实现类 + *

+ * + */ +@Service +@Slf4j +public class SurvTransdataOrientwaterServiceImpl extends ServiceImpl implements ISurvTransdataOrientwaterService { + + + @Autowired + private SurvHisdataOrientwaterServiceImpl hisdataOrientwaterService; + @Autowired + private ISurvAlertRecordService alertRecordService; + @Autowired + private SurvHisdataOrientwaterErrorServiceImpl hisdataOrientwaterErrorService; + + @Override + public SurvTransdataOrientwater getOneByDeviceCode(String deviceCode) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("DEVICE_CODE",deviceCode).last("limit 1"); + return getOne(queryWrapper); + } + + @Override + @Transactional + public void saveBaowen(String str) { + + try { + SurvTransdataOrientwater orientwater = DataUtil.strToOrientwater(str); + //保存或者更新实时表 + SurvTransdataOrientwater transdataOrientwater = getOneByDeviceCode(orientwater.getDeviceCode()); + if(transdataOrientwater == null){ + transdataOrientwater = orientwater; + }else{ + String id = transdataOrientwater.getId(); + BeanUtils.copyProperties(orientwater,transdataOrientwater); + transdataOrientwater.setId(id); + } + transdataOrientwater.setCreatedBy("wb");//创建人 + transdataOrientwater.setCreateTime(new Date());//创建时间 + //舍弃为空、负数、无意义的长串类数据 + boolean isok = true; + if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterTp())){ + if(transdataOrientwater.getDataWaterTp().contains("-") || transdataOrientwater.getDataWaterTp().length()>10 || "0.0000".equals(transdataOrientwater.getDataWaterTp()) ){ + isok =false; + } + }else{ + isok =false; + } + if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterTn())){ + if(transdataOrientwater.getDataWaterTn().contains("-") || transdataOrientwater.getDataWaterTn().length()>10 || "0.0000".equals(transdataOrientwater.getDataWaterTn())){ + isok =false; + } + }else{ + isok =false; + } + if(StringUtils.isNotBlank(transdataOrientwater.getDataWaterNo())){ + if(transdataOrientwater.getDataWaterNo().contains("-") || transdataOrientwater.getDataWaterNo().length()>10 || "0.0000".equals(transdataOrientwater.getDataWaterNo())){ + isok =false; + } + }else{ + isok =false; + } + if(isok) { + saveOrUpdate(transdataOrientwater); + //保存历史表 + SurvHisdataOrientwater hisdataOrientwater = new SurvHisdataOrientwater(); + BeanUtil.copyProperties(transdataOrientwater, hisdataOrientwater); + hisdataOrientwater.setId(IdUtil.getSnowflakeNextIdStr()); + hisdataOrientwaterService.save(hisdataOrientwater); + + //处理报警 + Date dataDateTime = transdataOrientwater.getDataDateTime(); + String dataDateTimeStr = DateUtil.format(dataDateTime, "yyyy-MM-dd HH:mm:ss"); + Map baowenMap = new HashMap(); + baowenMap.put("mn", transdataOrientwater.getDeviceCode()); + baowenMap.put("DataTime", dataDateTimeStr); + baowenMap.put("e1", transdataOrientwater.getDataWaterTp()); + baowenMap.put("e2", transdataOrientwater.getDataWaterTpSy()); + baowenMap.put("e3", transdataOrientwater.getDataWaterTpLd()); + baowenMap.put("e4", transdataOrientwater.getDataWaterTn()); + baowenMap.put("e5", transdataOrientwater.getDataWaterTnSy()); + baowenMap.put("e6", transdataOrientwater.getDataWaterTnLd()); + baowenMap.put("e7", transdataOrientwater.getDataWaterNo()); + alertRecordService.saveBaojing(baowenMap); + }else{ + SurvHisdataOrientwaterError survHisdataOrientwaterError =new SurvHisdataOrientwaterError(); + BeanUtil.copyProperties(transdataOrientwater,survHisdataOrientwaterError); + survHisdataOrientwaterError.setTransDate(new Date()); + hisdataOrientwaterErrorService.save(survHisdataOrientwaterError); + } + }catch (Exception e){ + log.info("解析错误",e); + } + + + } +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvTransdataPestlightServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvTransdataPestlightServiceImpl.java new file mode 100644 index 0000000..aeffe65 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvTransdataPestlightServiceImpl.java @@ -0,0 +1,74 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.entity.SurvHisdataPestlight; +import com.wangbin.entity.SurvTransdataPestlight; +import com.wangbin.mapper.SurvTransdataPestlightMapper; +import com.wangbin.service.ISurvHisdataPestlightService; +import com.wangbin.service.ISurvTransdataPestlightService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.Map; + +/** + * 杀虫灯监测数据 服务实现类 + * + */ +@Service +public class SurvTransdataPestlightServiceImpl extends ServiceImpl implements ISurvTransdataPestlightService { + + + @Autowired + private ISurvHisdataPestlightService hisdataPestlightService; + + + @Override + public SurvTransdataPestlight getOneByDeviceCode(String deviceCode) { + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("DEVICE_CODE",deviceCode).last("limit 1"); + return getOne(queryWrapper); + } + + @Transactional + @Override + public void saveBaowen(Map baowenMap){ + + String mn = "123"; + String DataTime = "20230703160000"; + String format = "yyyyMMddHHmmss"; + //保存或者更新实时表 + SurvTransdataPestlight pestlight = getOneByDeviceCode(mn); + if(pestlight == null){ + pestlight = new SurvTransdataPestlight(); + pestlight.setCreatedBy("wb");//创建人 + pestlight.setCreateTime(new Date());//创建时间 + }else{ + pestlight.setUpdatedBy("wb");//创建人 + pestlight.setUpdatedTime(new Date());//创建时间 + } + + pestlight.setDataShachongCount("");//杀虫量 + pestlight.setDataPestSpecies("");//害虫种类 + + pestlight.setDataActionTime(DateUtil.parse(DataTime,format));//数据时间 + pestlight.setDataGatherType("realTime");//数据类型-realTime=实时,dayTime=日数据,month=月数据,year=年数据 + pestlight.setDeviceCode(mn);//设备编号 + saveOrUpdate(pestlight); + //保存历史表 + SurvHisdataPestlight hisdataPestlight = new SurvHisdataPestlight(); + BeanUtil.copyProperties(pestlight,hisdataPestlight); + hisdataPestlight.setId(IdUtil.getSnowflakeNextIdStr()); + hisdataPestlightService.save(hisdataPestlight); + + } + + +} diff --git a/src/main/java/com/wangbin/service/Impl/SurvTransdataSoilServiceImpl.java b/src/main/java/com/wangbin/service/Impl/SurvTransdataSoilServiceImpl.java new file mode 100644 index 0000000..3f34e83 --- /dev/null +++ b/src/main/java/com/wangbin/service/Impl/SurvTransdataSoilServiceImpl.java @@ -0,0 +1,97 @@ +package com.wangbin.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.entity.SurvHisdataSoil; +import com.wangbin.entity.SurvTransdataSoil; +import com.wangbin.mapper.SurvTransdataSoilMapper; +import com.wangbin.service.ISurvAlertRecordService; +import com.wangbin.service.ISurvDeviceDeployService; +import com.wangbin.service.ISurvHisdataSoilService; +import com.wangbin.service.ISurvTransdataSoilService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.Map; + +/** + * 土壤污染监测数据 服务实现类 + * + */ +@Service +public class SurvTransdataSoilServiceImpl extends ServiceImpl implements ISurvTransdataSoilService { + + + @Autowired + private ISurvHisdataSoilService hisdataSoilService; + @Autowired + private ISurvAlertRecordService alertRecordService; + @Autowired + private ISurvDeviceDeployService deviceDeployService; + + + @Override + public SurvTransdataSoil getOneByDeviceCode(String deviceCode) { + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("DEVICE_CODE",deviceCode).last("limit 1"); + return getOne(queryWrapper); + } + + /** + *辛普惠 土壤 + */ + @Transactional + @Override + public void saveBaowen(Map baowenMap) { + + String mn = baowenMap.get("mn"); + String DataTime = baowenMap.get("DataTime"); + //保存或者更新实时表 + SurvTransdataSoil soil = getOneByDeviceCode(mn); + Date kDateTime = null; + if(soil == null){ + soil = new SurvTransdataSoil(); + soil.setCreatedBy("wb");//创建人 + soil.setCreateTime(new Date());//创建时间 + }else{ + soil.setUpdatedBy("wb");//创建人 + soil.setUpdatedTime(new Date());//创建时间 + kDateTime = soil.getDataDateTime(); + } + + soil.setDataSoilTemp(baowenMap.get("e1"));//土壤温度 + soil.setDataSoilWet(baowenMap.get("e2"));//土壤湿度 + soil.setDataSoilDdl(baowenMap.get("e3"));//电导率1 + soil.setDataSoilTemp2(baowenMap.get("e4"));//土壤温度 + soil.setDataSoilWet2(baowenMap.get("e5"));//土壤湿度 + soil.setDataSoilDdl2(baowenMap.get("e6"));//电导率2 + soil.setDataSoilTemp3(baowenMap.get("e7"));//土壤温度 + soil.setDataSoilWet3(baowenMap.get("e8"));//土壤湿度 + soil.setDataSoilDdl3(baowenMap.get("e9"));//电导率3 + soil.setDataDateTime(DateUtil.parse(DataTime));//数据时间 + soil.setDataGatherType("realTime");//数据类型-realTime=实时,dayTime=日数据,month=月数据,year=年数据 + soil.setDeviceCode(mn);//设备编号 + saveOrUpdate(soil); + //保存历史表 + if(kDateTime == null || !DataTime.equals(DateUtil.format(kDateTime,"yyyy-MM-dd HH:mm:ss"))){ + SurvHisdataSoil hisdataSoil = new SurvHisdataSoil(); + BeanUtil.copyProperties(soil,hisdataSoil); + hisdataSoil.setId(IdUtil.getSnowflakeNextIdStr()); + hisdataSoilService.save(hisdataSoil); + } + + //处理报警 + SurvDeviceDeploy deploy = deviceDeployService.getOneByCode(mn); + if(deploy != null){ + //暂时不保存报文了 + alertRecordService.saveBaojing(baowenMap); + } + } +} diff --git a/src/main/java/com/wangbin/task/DataExamineTask.java b/src/main/java/com/wangbin/task/DataExamineTask.java new file mode 100644 index 0000000..cdf596a --- /dev/null +++ b/src/main/java/com/wangbin/task/DataExamineTask.java @@ -0,0 +1,78 @@ +package com.wangbin.task; + +import com.wangbin.constant.PollutionConstants; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.entity.SurvTransdataLivestockwater; +import com.wangbin.entity.SurvTransdataOrientwater; +import com.wangbin.service.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import com.xxl.job.core.handler.annotation.XxlJob; +/** + * 数据校验任务 + */ +//@Component +@Slf4j +@Component +public class DataExamineTask { + @Autowired + private ISurvDeviceDeployService deployService; + @Autowired + private ISurvHisdataOrientwaterService historyOrientwaterService; + @Autowired + private ISurvTransdataOrientwaterService orientWaterService; + @Autowired + private ISurvHisdataLivestockwaterService historyLiveWaterService; + @Autowired + private ISurvTransdataLivestockwaterService livestockWaterService; + + @XxlJob("DataExamineGather") + public void TaskHandler() throws Exception{ + try{ + log.warn("====================数据校验任务开始===================="); + + List deviceType = new ArrayList(); + deviceType.add(PollutionConstants.WATER_LIVE); + deviceType.add(PollutionConstants.WATER_ORIENT); + //获取所有设备 + List deployList = deployService + .lambdaQuery() + .in(SurvDeviceDeploy::getDeployType,deviceType) + .eq(SurvDeviceDeploy::getRunStatus,0) + .list(); + log.warn("=============查询到设备数量:{}==============",deployList.size()); + if(!deployList.isEmpty()){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (SurvDeviceDeploy deploy : deployList) { + log.warn("=================处理设备:{}====================",deploy.getDeployCode()); + if(deploy.getDeployType().equals(PollutionConstants.WATER_LIVE)){ + SurvTransdataLivestockwater survTransdataLivestockwater = historyLiveWaterService.genData(deploy.getDeployCode()); + if(survTransdataLivestockwater!=null){ + log.warn("----------设备号:{},生成成功,时间:{}-----------",deploy.getDeployCode(),sdf.format(survTransdataLivestockwater.getDataDateTime())); + }else{ + log.warn("----------设备号:{},跳过------------",deploy.getDeployCode()); + } + } else if (deploy.getDeployType().equals(PollutionConstants.WATER_ORIENT)) { + SurvTransdataOrientwater survTransdataOrientwater = historyOrientwaterService.genData(deploy.getDeployCode()); + if(survTransdataOrientwater!=null){ + log.warn("----------设备号:{},生成成功,时间:{}-----------",deploy.getDeployCode(),sdf.format(survTransdataOrientwater.getDataDateTime())); + }else{ + log.warn("----------设备号:{},跳过------------",deploy.getDeployCode()); + } + } + } + } + + } catch (Exception e) { + log.error(e.getMessage()); + e.printStackTrace(); + } finally { + log.warn("===================数据校验任务完成====================="); + } + } +} diff --git a/src/main/java/com/wangbin/task/MultithreadTask.java b/src/main/java/com/wangbin/task/MultithreadTask.java new file mode 100644 index 0000000..6c806a0 --- /dev/null +++ b/src/main/java/com/wangbin/task/MultithreadTask.java @@ -0,0 +1,68 @@ +package com.wangbin.task; + +import cn.hutool.http.HttpUtil; +import com.wangbin.service.ISurvTransdataAirService; +import com.wangbin.service.ISurvTransdataSoilService; +import com.wangbin.util.DataUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * 多线程 + */ +@Component +@EnableScheduling // 1.开启定时任务 +@EnableAsync // 2.开启多线程 +public class MultithreadTask { + + @Autowired + private ISurvTransdataSoilService survTransdataSoilService; + @Autowired + private ISurvTransdataAirService transdataAirService; + + + /** + * 辛普惠-土壤数据 + */ + @Async + @Scheduled(cron = "0 0/5 * * * ?") + public void task1(){ +// System.out.println("第一个定时任务开始 : " + LocalDateTime.now().toLocalTime() + "\r\n线程 : " + Thread.currentThread().getName()); + + String result1 = HttpUtil.get("http://47.105.215.208:8005/intfa/queryData/16095467"); + Map map = DataUtil.xphStrToMap(result1); + survTransdataSoilService.saveBaowen(map); + + String result2 = HttpUtil.get("http://47.105.215.208:8005/intfa/queryData/16095468"); + Map map2 = DataUtil.xphStrToMap(result2); + survTransdataSoilService.saveBaowen(map2); + } + + + /** + * 辛普惠-大气数据 + */ + @Async + @Scheduled(cron = "0 0/5 * * * ?") + public void task2() { +// System.out.println("第二个定时任务开始 : " + LocalDateTime.now().toLocalTime() + ",线程 : " + Thread.currentThread().getName()); + + String result = HttpUtil.get("http://47.105.215.208:8005/intfa/queryData/16095484"); + Map map = DataUtil.xphStrToMap(result); + transdataAirService.saveBaowen(map); + + String result2 = HttpUtil.get("http://47.105.215.208:8005/intfa/queryData/16095485"); + Map map2 = DataUtil.xphStrToMap(result2); + transdataAirService.saveBaowen(map2); + + + } + + +} diff --git a/src/main/java/com/wangbin/thread/Clent2Thread.java b/src/main/java/com/wangbin/thread/Clent2Thread.java new file mode 100644 index 0000000..d12c588 --- /dev/null +++ b/src/main/java/com/wangbin/thread/Clent2Thread.java @@ -0,0 +1,76 @@ +package com.wangbin.thread; + +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.service.ISurvDeviceDeployService; +import com.wangbin.util.SpringContextUtil; +import com.wangbin.util.TUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.OutputStream; +import java.net.Socket; + +/** + * 单独做控制 + **/ +@Slf4j +public class Clent2Thread implements Runnable { + + private Socket socket; + + public Clent2Thread(Socket s) { + this.socket = s; + } + + @Override + public void run() { + + try { + String hostAddress = socket.getInetAddress().getHostAddress();//ip:117.132.191.89 + String port = String.valueOf(socket.getPort());//port:8515 + log.error("ip2222:"+hostAddress+",port:"+port); + ISurvDeviceDeployService deviceDeployService = SpringContextUtil.getBean(ISurvDeviceDeployService.class); + + while(true){ + SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByIpPort(hostAddress,port); + log.error("deviceDeploy2222:"+deviceDeploy); + if(deviceDeploy != null && StringUtils.isNotBlank(deviceDeploy.getSendInfo())){ + OutputStream outputStream = socket.getOutputStream(); + byte[] bytes1 = TUtil.hexToByteArray(deviceDeploy.getSendInfo()); + outputStream.write(bytes1); + log.error("发送了消息:"+deviceDeploy.getSendInfo()); + deviceDeploy.setSendInfo(""); + deviceDeployService.updateById(deviceDeploy); + } + Thread.sleep(5*1000); + } + + } catch (Exception e) { + log.error("错误",e); + } finally { + + + + if(socket != null){ + try { + socket.close(); + } catch (Exception e) { + System.out.println(e.toString()); + } + } +// log.error("关闭资源"); + } + } + + + public static void main(String[] args) { + + + } + + + + + + +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/thread/ClentThread.java b/src/main/java/com/wangbin/thread/ClentThread.java new file mode 100644 index 0000000..d14fe50 --- /dev/null +++ b/src/main/java/com/wangbin/thread/ClentThread.java @@ -0,0 +1,126 @@ +package com.wangbin.thread; + +import com.wangbin.constant.CommonConstant; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.service.ISurvDeviceDeployService; +import com.wangbin.service.ISurvTransdataLivestockwaterService; +import com.wangbin.service.ISurvTransdataOrientwaterService; +import com.wangbin.util.DataUtil; +import com.wangbin.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.Socket; +import java.util.ArrayList; +import java.util.List; + +/** + **/ +@Slf4j +public class ClentThread implements Runnable { + + private Socket socket; + + public ClentThread(Socket s) { + this.socket = s; + } + + @Override + public void run() { + + ISurvTransdataOrientwaterService transdataOrientwaterService = SpringContextUtil.getBean(ISurvTransdataOrientwaterService.class); + ISurvTransdataLivestockwaterService transdataLivestockwaterService = SpringContextUtil.getBean(ISurvTransdataLivestockwaterService.class); + ISurvDeviceDeployService deviceDeployService = SpringContextUtil.getBean(ISurvDeviceDeployService.class); + InputStream in = null; + ByteArrayOutputStream baos = null; + String hostAddress = socket.getInetAddress().getHostAddress();//ip:117.132.191.89 + String port = String.valueOf(socket.getPort());//port:8515 + + try { + //接收客户端消息 + in = socket.getInputStream(); + //管道流 + baos = new ByteArrayOutputStream(); + byte[] buffer = new byte[2048]; + int len = -1; + while ((len = in.read(buffer)) != -1){//这块代码先清空,重新读取 + baos.reset(); + baos.write(buffer,0,len); + byte[] in2b = baos.toByteArray(); + String s = DataUtil.bytesToHexString(in2b); + s = s.replaceAll(" ",""); + log.error("报文:"+s); + + String substring = s.substring(2, 4); + List list = new ArrayList<>(); + list.add("01"); + list.add("02"); + list.add("03"); + list.add("04"); + + if(list.contains(substring)){ + + if("01".equals(substring) || "02".equals(substring)){ + transdataOrientwaterService.saveBaowen(s); + }else if("03".equals(substring) || "04".equals(substring)){ + transdataLivestockwaterService.saveBaowen(s); + } + String code = CommonConstant.XZP_WATER+s.substring(2,4); + log.error("code111:"+code); + SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByCode(code); + if(deviceDeploy != null && (!hostAddress.equals(deviceDeploy.getIpAddr()) || !port.equals(deviceDeploy.getPort()))){ + deviceDeploy.setIpAddr(hostAddress); + deviceDeploy.setPort(port); + deviceDeployService.updateById(deviceDeploy); + log.error("更新了111:"+deviceDeploy.getId()+","+deviceDeploy.getIpAddr()+",prot:"+deviceDeploy.getPort()); + } + } + + } + + } catch (Exception e) { + log.error("错误",e); + } finally { + + + if(baos != null){ + try { + baos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + if(in != null){ + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + if(socket != null){ + try { + socket.close(); + } catch (Exception e) { + System.out.println(e.toString()); + } + } + log.error("关闭资源"); + } + } + + + public static void main(String[] args) { + + + } + + + + + + +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/thread/NetServer.java b/src/main/java/com/wangbin/thread/NetServer.java new file mode 100644 index 0000000..14aa920 --- /dev/null +++ b/src/main/java/com/wangbin/thread/NetServer.java @@ -0,0 +1,76 @@ +package com.wangbin.thread; + +import lombok.extern.slf4j.Slf4j; + +import java.io.IOException; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.concurrent.*; + +/** + * 支持多线程 + **/ +@Slf4j +public class NetServer implements Runnable{ + + + /** + * 线程池 + */ + private static ExecutorService pool = new ThreadPoolExecutor(300, + 1500, 60, TimeUnit.SECONDS, + new ArrayBlockingQueue<>(2), + Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy()); + + private Integer port; + + public NetServer(Integer port) { + this.port = port; + } + + public void go(Integer port){ + log.info("启动socket服务==端口号:"+ port); + ServerSocket ss = null; + try { + ss = new ServerSocket(port); + // 循环接收客户端的连接 + while(true){ + /** + * ServetSocket的accept()方法,没有参数,返回一个Socket, + * 如果接收到客户端的一个Socket,则返回,否则一直处于等待状态,线程也被阻塞。 + * 客户端如果没有消息,服务端会进入阻塞等待。 + * accept方法是一个阻塞方法,在服务器端与客户端之间建立联系之前会一直等待阻塞。 + */ + Socket s = ss.accept();//一直等待来自客户端的请求. + log.error("连接了客户端:"+s); +// Thread t = new Thread(new ClentThread(s)); +// t.start(); + Runnable target = new ClentThread(s); + pool.execute(target); + Thread.sleep(3*1000); + Runnable target2 = new Clent2Thread(s); + pool.execute(target2); + + } + + } catch (IOException | InterruptedException e) { + e.printStackTrace(); + } finally { + //关闭ServerSocket + if(ss != null){ + try { + ss.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + } + + } + + @Override + public void run() { + go(port); + } +} diff --git a/src/main/java/com/wangbin/util/BigDecimalRandomAdjuster.java b/src/main/java/com/wangbin/util/BigDecimalRandomAdjuster.java new file mode 100644 index 0000000..f5ffbe0 --- /dev/null +++ b/src/main/java/com/wangbin/util/BigDecimalRandomAdjuster.java @@ -0,0 +1,128 @@ +package com.wangbin.util; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Random; + +/** + * BigDecimal 随机增减工具类 + */ +public class BigDecimalRandomAdjuster { + + private static final Random random = new Random(); + + /** + * 在给定范围内随机增减 BigDecimal 值 + * @param original 原始值 + * @param range 增减范围 (例如 0.1 表示 ±10%) + * @param scale 结果的小数位数 + * @return 随机增减后的值 + */ + public static BigDecimal randomAdjust(BigDecimal original, BigDecimal range, int scale) { + if (original == null || range == null) { + throw new IllegalArgumentException("Original value and range must not be null"); + } + if (range.compareTo(BigDecimal.ZERO) < 0) { + throw new IllegalArgumentException("Range must be positive"); + } + + // 生成 -1.0 到 1.0 之间的随机比例因子 + BigDecimal randomFactor = new BigDecimal(random.nextDouble() * 2 - 1); + + // 计算增减量 = 原始值 × 范围 × 随机因子 + BigDecimal adjustment = original.multiply(range).multiply(randomFactor); + + // 应用增减 + BigDecimal result = original.add(adjustment); + + // 设置小数位数和舍入模式 + return result.setScale(scale, RoundingMode.HALF_UP); + } + + /** + * 在给定百分比范围内随机增减 BigDecimal 值 + * @param original 原始值 + * @param percentRange 百分比范围 (例如 10 表示 ±10%) + * @param scale 结果的小数位数 + * @return 随机增减后的值 + */ + public static BigDecimal randomAdjustByPercent(BigDecimal original, int percentRange, int scale) { + if (percentRange < 0 || percentRange > 100) { + throw new IllegalArgumentException("Percent range must be between 0 and 100"); + } + BigDecimal range = new BigDecimal(percentRange).divide(new BigDecimal(100), 10, RoundingMode.HALF_UP); + return randomAdjust(original, range, scale); + } + + /** + * 在固定值范围内随机增减 BigDecimal 值 + * @param original 原始值 + * @param fixedRange 固定增减范围 (例如 5.0 表示 ±5.0) + * @param scale 结果的小数位数 + * @return 随机增减后的值 + */ + public static String randomAdjustByFixedRange(BigDecimal original, BigDecimal fixedRange, int scale) { + if (fixedRange.compareTo(BigDecimal.ZERO) < 0) { + throw new IllegalArgumentException("Fixed range must be positive"); + } + + // 生成 -1.0 到 1.0 之间的随机比例因子 + BigDecimal randomFactor = new BigDecimal(random.nextDouble() * 2 - 1); + + // 计算增减量 = 固定范围 × 随机因子 + BigDecimal adjustment = fixedRange.multiply(randomFactor); + + // 应用增减 + BigDecimal result = original.add(adjustment); + + // 设置小数位数和舍入模式 + return result.setScale(scale, RoundingMode.HALF_UP).stripTrailingZeros().toPlainString(); + } + + /** + * 在给定范围内随机增减 BigDecimal 值,确保结果不小于最小值 + * @param original 原始值 + * @param range 增减范围 + * @param scale 结果的小数位数 + * @param minValue 最小值 + * @return 随机增减后的值,不低于最小值 + */ + public static BigDecimal randomAdjustWithMin(BigDecimal original, BigDecimal range, int scale, BigDecimal minValue) { + BigDecimal result = randomAdjust(original, range, scale); + return result.compareTo(minValue) < 0 ? minValue : result; + } + + /** + * 在给定范围内随机增减 BigDecimal 值,确保结果不大于最大值 + * @param original 原始值 + * @param range 增减范围 + * @param scale 结果的小数位数 + * @param maxValue 最大值 + * @return 随机增减后的值,不超过最大值 + */ + public static BigDecimal randomAdjustWithMax(BigDecimal original, BigDecimal range, int scale, BigDecimal maxValue) { + BigDecimal result = randomAdjust(original, range, scale); + return result.compareTo(maxValue) > 0 ? maxValue : result; + } + + /** + * 在给定范围内随机增减 BigDecimal 值,确保结果在最小值和最大值之间 + * @param original 原始值 + * @param range 增减范围 + * @param scale 结果的小数位数 + * @param minValue 最小值 + * @param maxValue 最大值 + * @return 随机增减后的值,在最小值和最大值之间 + */ + public static BigDecimal randomAdjustWithinRange(BigDecimal original, BigDecimal range, int scale, + BigDecimal minValue, BigDecimal maxValue) { + BigDecimal result = randomAdjust(original, range, scale); + if (result.compareTo(minValue) < 0) { + return minValue; + } + if (result.compareTo(maxValue) > 0) { + return maxValue; + } + return result; + } +} diff --git a/src/main/java/com/wangbin/util/DataUtil.java b/src/main/java/com/wangbin/util/DataUtil.java new file mode 100644 index 0000000..8463419 --- /dev/null +++ b/src/main/java/com/wangbin/util/DataUtil.java @@ -0,0 +1,242 @@ +package com.wangbin.util; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.wangbin.constant.CommonConstant; +import com.wangbin.entity.SurvTransdataLivestockwater; +import com.wangbin.entity.SurvTransdataOrientwater; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * 解析工具类 + **/ +@Slf4j +public class DataUtil{ + + + /** + * 辛普惠 土壤和大气 + */ + public static Map xphStrToMap(String baowen){ + Map map = new HashMap(); + JSONObject jsonObject = JSON.parseObject(baowen); + String statusCode = jsonObject.getString("statusCode"); + if(statusCode.equals("200")){ + map.put("mn",jsonObject.getString("deviceId")); + JSONArray arr = jsonObject.getJSONArray("entity"); + for(int i =0;i strToMap(String baowen){ + Map map = new HashMap(); + return map; + } + + + /** + * 十六进制单精度浮点数,转BigDecimal,保留2为小数,截掉多余小数位 + */ + public static BigDecimal hexFloat2BigDecimal(String hex) { + + float value = Float.intBitsToFloat((int)Long.parseLong(hex, 16)); + BigDecimal bd = new BigDecimal(Float.toString(value)); + BigDecimal bigDecimal = bd.setScale(4, BigDecimal.ROUND_DOWN); + return bigDecimal; + } + + + /** + * 水质检测 解析报文 + * AA012AF1E3C7803FB37B723C6F12033A00000040F9A0E73ECA54C13CF521703E00000000000000000055 + * + */ + public static SurvTransdataOrientwater strToOrientwater(String str) { + + SurvTransdataOrientwater orientwater = new SurvTransdataOrientwater(); + orientwater.setDataDateTime(new Date()); + orientwater.setDataGatherType("realTime"); + orientwater.setDeviceCode(CommonConstant.XZP_WATER +str.substring(2,4));// + + if(str.length() >= 80){ + orientwater.setDataWaterTp(getVal(str.substring(8,16)));// + orientwater.setDataWaterTpSy(getVal(str.substring(16,24)));// + orientwater.setDataWaterTpLd(getVal(str.substring(24,32)));// + orientwater.setDataWaterTn(getVal(str.substring(32,40)));// + orientwater.setDataWaterTnSy(getVal(str.substring(40,48)));// + orientwater.setDataWaterTnLd(getVal(str.substring(48,56)));// + orientwater.setDataWaterNo(getVal(str.substring(56,64)));// + + orientwater.setFluidLevel(DataUtil.getYewei(str.substring(64,68)));//液位 + orientwater.setFirstValveStatus(str.substring(68,70));//1#球阀状态 + orientwater.setSecondValveStatus(str.substring(70,72));//2#球阀状态 + orientwater.setCrashStopStatus(str.substring(72,74));//急停状态 + orientwater.setWaterPumpStatus(str.substring(74,76));//水泵状态 + orientwater.setMainSideStatus(str.substring(76,78));//主副泵状态 + } + return orientwater; + } + + + /** + * 水质检测 解析报文 + * AA 03 3D F1 23 DB 22 41 6F 12 03 3A 17 B7 D1 39 95 94 46 42 71 AC AB 3F 17 B7 51 39 01 CD 47 42 17 B7 51 39 17 B7 51 39 00 C0 FA 43 CD CC CC 3E CD CC 4C 3E 17 B7 00 01 00 00 00 00 55 + * + */ + public static SurvTransdataLivestockwater strToLivewater(String str) { + + SurvTransdataLivestockwater livestockwater = new SurvTransdataLivestockwater(); + livestockwater.setDataDateTime(new Date()); + livestockwater.setDataGatherType("realTime"); + livestockwater.setDeviceCode(CommonConstant.XZP_WATER +str.substring(2,4));// + + if(str.length() >= 120){ + livestockwater.setDataWaterTp(getVal(str.substring(8,16)));// + livestockwater.setDataWaterTpSy(getVal(str.substring(16,24)));// + livestockwater.setDataWaterTpLd(getVal(str.substring(24,32)));// + livestockwater.setDataWaterTn(getVal(str.substring(32,40)));// + livestockwater.setDataWaterTnSy(getVal(str.substring(40,48)));// + livestockwater.setDataWaterTnLd(getVal(str.substring(48,56)));// + livestockwater.setDataWaterNh(getVal(str.substring(56,64)));// + livestockwater.setDataWaterNhSy(getVal(str.substring(64,72)));// + livestockwater.setDataWaterNhLd(getVal(str.substring(72,80)));// + livestockwater.setDataWaterCod(getVal(str.substring(80,88)));// + livestockwater.setDataWaterCodSy(getVal(str.substring(88,96)));// + livestockwater.setDataWaterCodLd(getVal(str.substring(96,104)));// + + livestockwater.setFluidLevel(DataUtil.getYewei(str.substring(104,108)));//液位 + livestockwater.setFirstValveStatus(str.substring(108,110));//1#球阀状态 + livestockwater.setSecondValveStatus(str.substring(110,112));//2#球阀状态 + livestockwater.setWaterPumpStatus(str.substring(112,114));//水泵状态 + livestockwater.setMainSideStatus(str.substring(114,116));//主副泵状态 + livestockwater.setCrashStopStatus(str.substring(116,118));//急停状态 + } + return livestockwater; + } + + + + /** + * + * + */ + public static String getVal(String str){ + + //高低位反转 + StringBuilder sb = new StringBuilder(); + sb.append(str.substring(6,8)) + .append(str.substring(4,6)) + .append(str.substring(2,4)) + .append(str.substring(0,2)); + + try { + BigDecimal bigDecimal = hexFloat2BigDecimal(sb.toString()); + return bigDecimal.toString(); + }catch (Exception e){ + System.out.println("错误的报文是:"+sb.toString()); + e.printStackTrace(); + return ""; + } + } + + + + /** + * 获取液位 + * str 0c00 + */ + public static String getYewei(String str){ + + //高低位反转 + StringBuilder sb = new StringBuilder(); + sb.append(str.substring(2,4)).append(str.substring(0,2)); + try { + int i = Integer.parseInt(sb.toString(), 16); + BigDecimal bigDecimal = new BigDecimal(i); + return bigDecimal.divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP).toString(); + }catch (Exception e){ + System.out.println("错误的报文是:"+sb.toString()); + e.printStackTrace(); + return ""; + } + } + + + + //接收2:将byte【】转为16进制 + public static String bytesToHexString(byte[] src) { + StringBuffer sb = new StringBuffer(""); + if (src == null || src.length <= 0) { + return null; + } + for (int i = 0; i < src.length; i++) { + int v = src[i] & 0xFF; + String hv = Integer.toHexString(v).toUpperCase(); + if (hv.length() < 2) { + sb.append(0); + } + sb.append(hv); + if (i != src.length - 1) { + sb.append(" "); + } + } + return sb.toString(); + } + + + + + + /** + * 2个数字比较 + * 0等于 + * -1 1<2 + * 1 3>2 + */ + public static int bijiao(String str1,String str2){ + + try { + if(StringUtils.isNotBlank(str1) && StringUtils.isNotBlank(str2)){ + BigDecimal bd1 = new BigDecimal(str1); + BigDecimal bd2 = new BigDecimal(str2); + int i = bd1.compareTo(bd2); + return i; + } + + }catch (Exception e){ + log.info("比较时发生错误",e); + } + return -1; + } + + + public static void main(String[] args) { + + String bb = " AA 01 2A F1 E3 C7 80 3F B3 7B 72 3C 6F 12 03 3A 00 00 00 40 F9 A0 E7 3E CA 54 C1 3C F5 21 70 3E 00 00 00 00 00 00 00 00 00 55 "; + String bbb = bb.replaceAll(" ",""); + System.out.println(bbb); + System.out.println(bbb.length()); + + + } + + + + + +} diff --git a/src/main/java/com/wangbin/util/DateUtils.java b/src/main/java/com/wangbin/util/DateUtils.java new file mode 100644 index 0000000..eea3743 --- /dev/null +++ b/src/main/java/com/wangbin/util/DateUtils.java @@ -0,0 +1,764 @@ +package com.wangbin.util; + +import org.springframework.util.StringUtils; + +import java.beans.PropertyEditorSupport; +import java.sql.Timestamp; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.concurrent.TimeUnit; + +/** + * 类描述:时间操作定义类 + * + * @Author: 张代浩 + * @Date:2012-12-8 12:15:03 + * @Version 1.0 + */ +public class DateUtils extends PropertyEditorSupport { + + public static ThreadLocal date_sdf = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM-dd"); + } + }; + public static ThreadLocal yyyyMMdd = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyyMMdd"); + } + }; + public static ThreadLocal date_sdf_wz = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy年MM月dd日"); + } + }; + public static ThreadLocal time_sdf = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM-dd HH:mm"); + } + }; + public static ThreadLocal yyyymmddhhmmss = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyyMMddHHmmss"); + } + }; + public static ThreadLocal short_time_sdf = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("HH:mm"); + } + }; + public static ThreadLocal datetimeFormat = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + } + }; + + /** + * 以毫秒表示的时间 + */ + private static final long DAY_IN_MILLIS = 24 * 3600 * 1000; + private static final long HOUR_IN_MILLIS = 3600 * 1000; + private static final long MINUTE_IN_MILLIS = 60 * 1000; + private static final long SECOND_IN_MILLIS = 1000; + + /** + * 指定模式的时间格式 + * @param pattern + * @return + */ + private static SimpleDateFormat getSdFormat(String pattern) { + return new SimpleDateFormat(pattern); + } + + /** + * 当前日历,这里用中国时间表示 + * + * @return 以当地时区表示的系统当前日历 + */ + public static Calendar getCalendar() { + return Calendar.getInstance(); + } + + /** + * 指定毫秒数表示的日历 + * + * @param millis 毫秒数 + * @return 指定毫秒数表示的日历 + */ + public static Calendar getCalendar(long millis) { + Calendar cal = Calendar.getInstance(); + // --------------------cal.setTimeInMillis(millis); + cal.setTime(new Date(millis)); + return cal; + } + + // //////////////////////////////////////////////////////////////////////////// + // getDate + // 各种方式获取的Date + // //////////////////////////////////////////////////////////////////////////// + + /** + * 当前日期 + * + * @return 系统当前时间 + */ + public static Date getDate() { + return new Date(); + } + + /** + * 指定毫秒数表示的日期 + * + * @param millis 毫秒数 + * @return 指定毫秒数表示的日期 + */ + public static Date getDate(long millis) { + return new Date(millis); + } + + /** + * 时间戳转换为字符串 + * + * @param time + * @return + */ + public static String timestamptoStr(Timestamp time) { + Date date = null; + if (null != time) { + date = new Date(time.getTime()); + } + return date2Str(date_sdf.get()); + } + + /** + * 字符串转换时间戳 + * + * @param str + * @return + */ + public static Timestamp str2Timestamp(String str) { + Date date = str2Date(str, date_sdf.get()); + return new Timestamp(date.getTime()); + } + + /** + * 字符串转换成日期 + * + * @param str + * @param sdf + * @return + */ + public static Date str2Date(String str, SimpleDateFormat sdf) { + if (null == str || "".equals(str)) { + return null; + } + Date date = null; + try { + date = sdf.parse(str); + return date; + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 日期转换为字符串 + * + * @param dateSdf 日期格式 + * @return 字符串 + */ + public static String date2Str(SimpleDateFormat dateSdf) { + synchronized (dateSdf) { + Date date = getDate(); + if (null == date) { + return null; + } + return dateSdf.format(date); + } + } + + /** + * 格式化时间 + * + * @param date + * @param format + * @return + */ + public static String dateformat(String date, String format) { + SimpleDateFormat sformat = new SimpleDateFormat(format); + Date nowDate = null; + try { + nowDate = sformat.parse(date); + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return sformat.format(nowDate); + } + + /** + * 日期转换为字符串 + * + * @param date 日期 + * @param dateSdf 日期格式 + * @return 字符串 + */ + public static String date2Str(Date date, SimpleDateFormat dateSdf) { + synchronized (dateSdf) { + if (null == date) { + return null; + } + return dateSdf.format(date); + } + } + + /** + * 日期转换为字符串 + * + * @param format 日期格式 + * @return 字符串 + */ + public static String getDate(String format) { + Date date = new Date(); + if (null == date) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat(format); + return sdf.format(date); + } + + /** + * 指定毫秒数的时间戳 + * + * @param millis 毫秒数 + * @return 指定毫秒数的时间戳 + */ + public static Timestamp getTimestamp(long millis) { + return new Timestamp(millis); + } + + /** + * 以字符形式表示的时间戳 + * + * @param time 毫秒数 + * @return 以字符形式表示的时间戳 + */ + public static Timestamp getTimestamp(String time) { + return new Timestamp(Long.parseLong(time)); + } + + /** + * 系统当前的时间戳 + * + * @return 系统当前的时间戳 + */ + public static Timestamp getTimestamp() { + return new Timestamp(System.currentTimeMillis()); + } + + /** + * 当前时间,格式 yyyy-MM-dd HH:mm:ss + * + * @return 当前时间的标准形式字符串 + */ + public static String now() { + return datetimeFormat.get().format(getCalendar().getTime()); + } + + /** + * 指定日期的时间戳 + * + * @param date 指定日期 + * @return 指定日期的时间戳 + */ + public static Timestamp getTimestamp(Date date) { + return new Timestamp(date.getTime()); + } + + /** + * 指定日历的时间戳 + * + * @param cal 指定日历 + * @return 指定日历的时间戳 + */ + public static Timestamp getCalendarTimestamp(Calendar cal) { + // ---------------------return new Timestamp(cal.getTimeInMillis()); + return new Timestamp(cal.getTime().getTime()); + } + + public static Timestamp gettimestamp() { + Date dt = new Date(); + DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowTime = df.format(dt); + Timestamp buydate = Timestamp.valueOf(nowTime); + return buydate; + } + + // //////////////////////////////////////////////////////////////////////////// + // getMillis + // 各种方式获取的Millis + // //////////////////////////////////////////////////////////////////////////// + + /** + * 系统时间的毫秒数 + * + * @return 系统时间的毫秒数 + */ + public static long getMillis() { + return System.currentTimeMillis(); + } + + /** + * 指定日历的毫秒数 + * + * @param cal 指定日历 + * @return 指定日历的毫秒数 + */ + public static long getMillis(Calendar cal) { + // --------------------return cal.getTimeInMillis(); + return cal.getTime().getTime(); + } + + /** + * 指定日期的毫秒数 + * + * @param date 指定日期 + * @return 指定日期的毫秒数 + */ + public static long getMillis(Date date) { + return date.getTime(); + } + + /** + * 指定时间戳的毫秒数 + * + * @param ts 指定时间戳 + * @return 指定时间戳的毫秒数 + */ + public static long getMillis(Timestamp ts) { + return ts.getTime(); + } + + // //////////////////////////////////////////////////////////////////////////// + // formatDate + // 将日期按照一定的格式转化为字符串 + // //////////////////////////////////////////////////////////////////////////// + + /** + * 默认方式表示的系统当前日期,具体格式:年-月-日 + * + * @return 默认日期按“年-月-日“格式显示 + */ + public static String formatDate() { + return date_sdf.get().format(getCalendar().getTime()); + } + + /** + * 默认方式表示的系统当前日期,具体格式:yyyy-MM-dd HH:mm:ss + * + * @return 默认日期按“yyyy-MM-dd HH:mm:ss“格式显示 + */ + public static String formatDateTime() { + return datetimeFormat.get().format(getCalendar().getTime()); + } + + /** + * 获取时间字符串 + */ + public static String getDataString(SimpleDateFormat formatstr) { + synchronized (formatstr) { + return formatstr.format(getCalendar().getTime()); + } + } + + /** + * 指定日期的默认显示,具体格式:年-月-日 + * + * @param cal 指定的日期 + * @return 指定日期按“年-月-日“格式显示 + */ + public static String formatDate(Calendar cal) { + return date_sdf.get().format(cal.getTime()); + } + + /** + * 指定日期的默认显示,具体格式:年-月-日 + * + * @param date 指定的日期 + * @return 指定日期按“年-月-日“格式显示 + */ + public static String formatDate(Date date) { + return date_sdf.get().format(date); + } + + /** + * 指定毫秒数表示日期的默认显示,具体格式:年-月-日 + * + * @param millis 指定的毫秒数 + * @return 指定毫秒数表示日期按“年-月-日“格式显示 + */ + public static String formatDate(long millis) { + return date_sdf.get().format(new Date(millis)); + } + + /** + * 默认日期按指定格式显示 + * + * @param pattern 指定的格式 + * @return 默认日期按指定格式显示 + */ + public static String formatDate(String pattern) { + return getSdFormat(pattern).format(getCalendar().getTime()); + } + + /** + * 指定日期按指定格式显示 + * + * @param cal 指定的日期 + * @param pattern 指定的格式 + * @return 指定日期按指定格式显示 + */ + public static String formatDate(Calendar cal, String pattern) { + return getSdFormat(pattern).format(cal.getTime()); + } + + /** + * 指定日期按指定格式显示 + * + * @param date 指定的日期 + * @param pattern 指定的格式 + * @return 指定日期按指定格式显示 + */ + public static String formatDate(Date date, String pattern) { + return getSdFormat(pattern).format(date); + } + + // //////////////////////////////////////////////////////////////////////////// + // formatTime + // 将日期按照一定的格式转化为字符串 + // //////////////////////////////////////////////////////////////////////////// + + /** + * 默认方式表示的系统当前日期,具体格式:年-月-日 时:分 + * + * @return 默认日期按“年-月-日 时:分“格式显示 + */ + public static String formatTime() { + return time_sdf.get().format(getCalendar().getTime()); + } + + /** + * 指定毫秒数表示日期的默认显示,具体格式:年-月-日 时:分 + * + * @param millis 指定的毫秒数 + * @return 指定毫秒数表示日期按“年-月-日 时:分“格式显示 + */ + public static String formatTime(long millis) { + return time_sdf.get().format(new Date(millis)); + } + + /** + * 指定日期的默认显示,具体格式:年-月-日 时:分 + * + * @param cal 指定的日期 + * @return 指定日期按“年-月-日 时:分“格式显示 + */ + public static String formatTime(Calendar cal) { + return time_sdf.get().format(cal.getTime()); + } + + /** + * 指定日期的默认显示,具体格式:年-月-日 时:分 + * + * @param date 指定的日期 + * @return 指定日期按“年-月-日 时:分“格式显示 + */ + public static String formatTime(Date date) { + return time_sdf.get().format(date); + } + + // //////////////////////////////////////////////////////////////////////////// + // formatShortTime + // 将日期按照一定的格式转化为字符串 + // //////////////////////////////////////////////////////////////////////////// + + /** + * 默认方式表示的系统当前日期,具体格式:时:分 + * + * @return 默认日期按“时:分“格式显示 + */ + public static String formatShortTime() { + return short_time_sdf.get().format(getCalendar().getTime()); + } + + /** + * 指定毫秒数表示日期的默认显示,具体格式:时:分 + * + * @param millis 指定的毫秒数 + * @return 指定毫秒数表示日期按“时:分“格式显示 + */ + public static String formatShortTime(long millis) { + return short_time_sdf.get().format(new Date(millis)); + } + + /** + * 指定日期的默认显示,具体格式:时:分 + * + * @param cal 指定的日期 + * @return 指定日期按“时:分“格式显示 + */ + public static String formatShortTime(Calendar cal) { + return short_time_sdf.get().format(cal.getTime()); + } + + /** + * 指定日期的默认显示,具体格式:时:分 + * + * @param date 指定的日期 + * @return 指定日期按“时:分“格式显示 + */ + public static String formatShortTime(Date date) { + return short_time_sdf.get().format(date); + } + + // //////////////////////////////////////////////////////////////////////////// + // parseDate + // parseCalendar + // parseTimestamp + // 将字符串按照一定的格式转化为日期或时间 + // //////////////////////////////////////////////////////////////////////////// + + /** + * 根据指定的格式将字符串转换成Date 如输入:2003-11-19 11:20:20将按照这个转成时间 + * + * @param src 将要转换的原始字符窜 + * @param pattern 转换的匹配格式 + * @return 如果转换成功则返回转换后的日期 + * @throws ParseException + */ + public static Date parseDate(String src, String pattern) throws ParseException { + return getSdFormat(pattern).parse(src); + + } + + /** + * 根据指定的格式将字符串转换成Date 如输入:2003-11-19 11:20:20将按照这个转成时间 + * + * @param src 将要转换的原始字符窜 + * @param pattern 转换的匹配格式 + * @return 如果转换成功则返回转换后的日期 + * @throws ParseException + */ + public static Calendar parseCalendar(String src, String pattern) throws ParseException { + + Date date = parseDate(src, pattern); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal; + } + + public static String formatAddDate(String src, String pattern, int amount) throws ParseException { + Calendar cal; + cal = parseCalendar(src, pattern); + cal.add(Calendar.DATE, amount); + return formatDate(cal); + } + + /** + * 根据指定的格式将字符串转换成Date 如输入:2003-11-19 11:20:20将按照这个转成时间 + * + * @param src 将要转换的原始字符窜 + * @param pattern 转换的匹配格式 + * @return 如果转换成功则返回转换后的时间戳 + * @throws ParseException + */ + public static Timestamp parseTimestamp(String src, String pattern) throws ParseException { + Date date = parseDate(src, pattern); + return new Timestamp(date.getTime()); + } + + // //////////////////////////////////////////////////////////////////////////// + // dateDiff + // 计算两个日期之间的差值 + // //////////////////////////////////////////////////////////////////////////// + + /** + * 计算两个时间之间的差值,根据标志的不同而不同 + * + * @param flag 计算标志,表示按照年/月/日/时/分/秒等计算 + * @param calSrc 减数 + * @param calDes 被减数 + * @return 两个日期之间的差值 + */ + public static int dateDiff(char flag, Calendar calSrc, Calendar calDes) { + + long millisDiff = getMillis(calSrc) - getMillis(calDes); + char year = 'y'; + char day = 'd'; + char hour = 'h'; + char minute = 'm'; + char second = 's'; + + if (flag == year) { + return (calSrc.get(Calendar.YEAR) - calDes.get(Calendar.YEAR)); + } + + if (flag == day) { + return (int) (millisDiff / DAY_IN_MILLIS); + } + + if (flag == hour) { + return (int) (millisDiff / HOUR_IN_MILLIS); + } + + if (flag == minute) { + return (int) (millisDiff / MINUTE_IN_MILLIS); + } + + if (flag == second) { + return (int) (millisDiff / SECOND_IN_MILLIS); + } + + return 0; + } + + public static Long getCurrentTimestamp() { + return Long.valueOf(DateUtils.yyyymmddhhmmss.get().format(new Date())); + } + + + + public static int getYear() { + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(getDate()); + return calendar.get(Calendar.YEAR); + } + + /** + * 将字符串转成时间 + * @param str + * @return + */ + public static Date parseDatetime(String str){ + try { + return datetimeFormat.get().parse(str); + }catch (Exception e){ + } + return null; + } + + /** + * 判断两个时间是否是同一天 + * + * @param date1 + * @param date2 + * @return + */ + public static boolean isSameDay(Date date1, Date date2) { + if (date1 == null || date2 == null) { + return false; + } + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(date1); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(date2); + boolean isSameYear = calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR); + boolean isSameMonth = isSameYear && calendar1.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH); + return isSameMonth && calendar1.get(Calendar.DAY_OF_MONTH) == calendar2.get(Calendar.DAY_OF_MONTH); + } + + /** + * 判断两个时间是否是同一周 + * + * @param date1 + * @param date2 + * @return + */ + public static boolean isSameWeek(Date date1, Date date2) { + if (date1 == null || date2 == null) { + return false; + } + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(date1); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(date2); + boolean isSameYear = calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR); + return isSameYear && calendar1.get(Calendar.WEEK_OF_YEAR) == calendar2.get(Calendar.WEEK_OF_YEAR); + } + + /** + * 判断两个时间是否是同一月 + * + * @param date1 + * @param date2 + * @return + */ + public static boolean isSameMonth(Date date1, Date date2) { + if (date1 == null || date2 == null) { + return false; + } + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(date1); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(date2); + boolean isSameYear = calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR); + return isSameYear && calendar1.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH); + } + + /** + * 判断两个时间是否是同一年 + * + * @param date1 + * @param date2 + * @return + */ + public static boolean isSameYear(Date date1, Date date2) { + if (date1 == null || date2 == null) { + return false; + } + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(date1); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(date2); + return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR); + } + + + /** + * 计算两个日期之间的时间差 + * @param startDate 开始日期 + * @param endDate 结束日期 + * @param timeUnit 时间单位 (TimeUnit.MILLISECONDS, TimeUnit.SECONDS, 等) + * @return 时间差(长整型) + */ + public static long getDateDiff(Date startDate, Date endDate, TimeUnit timeUnit) { + if (startDate == null || endDate == null) { + throw new IllegalArgumentException("Dates must not be null"); + } + + long diffInMillis = endDate.getTime() - startDate.getTime(); + return timeUnit.convert(diffInMillis, TimeUnit.MILLISECONDS); + } + + /** + * 计算两个日期之间的秒数差 + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return 秒数差 + */ + public static long getSecondsDiff(Date startDate, Date endDate) { + return getDateDiff(startDate, endDate, TimeUnit.SECONDS); + } +} \ No newline at end of file diff --git a/src/main/java/com/wangbin/util/SpringBeanUtils.java b/src/main/java/com/wangbin/util/SpringBeanUtils.java new file mode 100644 index 0000000..66e528b --- /dev/null +++ b/src/main/java/com/wangbin/util/SpringBeanUtils.java @@ -0,0 +1,47 @@ +package com.wangbin.util; + + + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + + +@Component +public class SpringBeanUtils implements ApplicationContextAware { + + private static ApplicationContext context; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + context = applicationContext; + } + + public static T getBean(Class requiredType) { + + if (context == null) { + throw new IllegalStateException("spring 环境没有启动!"); + } + return context.getBean(requiredType); + } + + public static T getBean(String beanName, Class requiredType) { + + if (context == null) { + throw new IllegalStateException("spring 环境没有启动!"); + } + return context.getBean(beanName, requiredType); + + } + + public static ApplicationContext getContext() { + + + if (context == null) { + throw new IllegalStateException("spring 环境没有启动!"); + } + return context; + } +} + diff --git a/src/main/java/com/wangbin/util/SpringContextUtil.java b/src/main/java/com/wangbin/util/SpringContextUtil.java new file mode 100644 index 0000000..8c5a41a --- /dev/null +++ b/src/main/java/com/wangbin/util/SpringContextUtil.java @@ -0,0 +1,50 @@ +package com.wangbin.util; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * @Author wangbin + * @Param spring工具类 + * @return + **/ +@Component +public class SpringContextUtil implements ApplicationContextAware { + + private static ApplicationContext applicationContext; + + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + SpringContextUtil.applicationContext = applicationContext; + } + + //获取applicationContext + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + + //通过name获取 Bean. + public static Object getBean(String name) { + return getApplicationContext().getBean(name); + } + + //通过class获取Bean. + public static T getBean(Class clazz) { + return getApplicationContext().getBean(clazz); + } + + //通过name,以及Clazz返回指定的Bean + public static T getBean(String name, Class clazz) { + return getApplicationContext().getBean(name, clazz); + } + + + + + + + +} diff --git a/src/main/java/com/wangbin/util/TUtil.java b/src/main/java/com/wangbin/util/TUtil.java new file mode 100644 index 0000000..8f20bd4 --- /dev/null +++ b/src/main/java/com/wangbin/util/TUtil.java @@ -0,0 +1,45 @@ +package com.wangbin.util; + +/** + * @createTime 2023年07月26日 20:54:00 + */ +public class TUtil { + + + /** + * hex字符串转byte数组 + * @param inHex 待转换的Hex字符串 + * @return 转换后的byte数组结果 + */ + public static byte[] hexToByteArray(String inHex) { + int hexlen = inHex.length(); + byte[] result; + if (hexlen % 2 == 1) { + // 奇数 + hexlen++; + result = new byte[(hexlen / 2)]; + inHex = "0" + inHex; + } else { + // 偶数 + result = new byte[(hexlen / 2)]; + } + int j = 0; + for (int i = 0; i < hexlen; i += 2) { + result[j] = hexToByte(inHex.substring(i, i + 2)); + j++; + } + return result; + } + + /** + * Hex字符串转byte + * @param inHex 待转换的Hex字符串 + * @return 转换后的byte + */ + public static byte hexToByte(String inHex) { + return (byte) Integer.parseInt(inHex, 16); + } + + + +} diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml new file mode 100644 index 0000000..98eae0a --- /dev/null +++ b/src/main/resources/application-local.yml @@ -0,0 +1,81 @@ +server: + port: 8888 + servlet: + session: + timeout: PT2H #就是2个小时,7200秒。 + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://8.130.9.244:13306/jeecg-boot?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + username: user_hj + password: user_hj + type: com.alibaba.druid.pool.DruidDataSource + filters: stat,wall,log4j + + thymeleaf: + cache: false + mode: LEGACYHTML5 #LEGACYHTML5 + prefix: classpath:/templates/ + suffix: .html + encoding: utf-8 + enabled: true + servlet: + content-type: text/html + + servlet: + multipart: + enabled: true + max-file-size: 50MB + max-request-size: 50MB + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + devtools: + restart: + enabled: true + mvc: + pathmatch: + matching-strategy: ant_path_matcher #解决springboot高版本和swagger的集成问题 + +# redis: +# port: 6379 +# host: 49.233.25.219 +# database: 10 +# password: zfs_123! +# jedis: +# pool: +# min-idle: 0 +# max-idle: 10 +# max-wait: -1 +# max-active: 20 +# timeout: 1000 + + +mybatis-plus: + mapper-locations: classpath*:/com/wangbin/mapper/xml/*Mapper.xml,classpath*:/com/wangbin/module/*/mapper/xml/*Mapper.xml + configuration: +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl + call-setters-on-nulls: true + +logging: + level: + com.wangbin.thread: error + springfox: error + +xxl: + job: + accessToken: lhzn.20241215 + admin: + addresses: http://192.168.0.4:10003/xxl-job-admin + executor: + appname: jngjTask + address: + ip: + port: 10004 + logpath: /logs/xxl-job/jobhandler + logretentiondays: 30 + + + diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..053aea7 --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,82 @@ +server: + port: 8888 + servlet: + session: + timeout: PT2H #就是2个小时,7200秒。 + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://172.23.82.152:13306/jeecg-boot?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + username: user_hj + password: user_hj + type: com.alibaba.druid.pool.DruidDataSource + filters: stat,wall,log4j + + thymeleaf: + cache: false + mode: LEGACYHTML5 #LEGACYHTML5 + prefix: classpath:/templates/ + suffix: .html + encoding: utf-8 + enabled: true + servlet: + content-type: text/html + + servlet: + multipart: + enabled: true + max-file-size: 50MB + max-request-size: 50MB + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + devtools: + restart: + enabled: true + mvc: + pathmatch: + matching-strategy: ant_path_matcher #解决springboot高版本和swagger的集成问题 + +# redis: +# port: 6379 +# host: 49.233.25.219 +# database: 10 +# password: zfs_123! +# jedis: +# pool: +# min-idle: 0 +# max-idle: 10 +# max-wait: -1 +# max-active: 20 +# timeout: 1000 + + +mybatis-plus: + mapper-locations: classpath*:/com/wangbin/mapper/xml/*Mapper.xml,classpath*:/com/wangbin/module/*/mapper/xml/*Mapper.xml + configuration: + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl + call-setters-on-nulls: true + +logging: + level: + com.wangbin.thread: error + springfox: error + +xxl: + job: + accessToken: lhzn.20250409 + admin: + addresses: http://172.23.82.152:10003/xxl-job-admin + executor: + appname: hjTask + address: + ip: + port: 10004 + logpath: /logs/xxl-job/jobhandler + logretentiondays: 30 + + + + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..7b9f9c7 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,5 @@ +spring: + profiles: + active: prod # + + diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..1db4b39 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,67 @@ + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n + + + + + + + ERROR + DENY + ACCEPT + + + + + ${LOG_HOME}/info/%d{yyyy-MM-dd}-%i-info.log + + 10MB + + 60 + + 1GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n + + + + + + + ERROR + ACCEPT + DENY + + + + + ${LOG_HOME}/error/%d{yyyy-MM-dd}-%i-error.log.zip + + 10MB + + 60 + + 1GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/wangbin/test/Test2.java b/src/test/java/com/wangbin/test/Test2.java new file mode 100644 index 0000000..ca1c836 --- /dev/null +++ b/src/test/java/com/wangbin/test/Test2.java @@ -0,0 +1,46 @@ +package com.wangbin.test; + +import com.wangbin.WangbinApplication; +import com.wangbin.entity.SurvDeviceDeploy; +import com.wangbin.service.ICommonService; +import com.wangbin.service.ISurvDeviceDeployService; +import com.wangbin.service.ISurvTransdataOrientwaterService; +import com.wangbin.service.ISurvTransdataSoilService; +import com.wangbin.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest(classes = {WangbinApplication.class}) +@Slf4j +public class Test2 { + + + @Autowired + private ICommonService commonService; + @Autowired + private ISurvTransdataSoilService survTransdataSoilService; + @Autowired + private ISurvTransdataOrientwaterService transdataOrientwaterService; + + @Test + public void Test2a() { + +// String result1 = HttpUtil.get("http://47.105.215.208:8005/intfa/queryData/16095467"); +// Map map = DataUtil.xphStrToMap(result1); +// survTransdataSoilService.saveBaowen(map); +// ip:110.179.80.65,port:51077 + + String hostAddress = "110.179.80.65";//ip:117.132.191.89 + String port = String.valueOf(51077);//port:8515 + System.out.println("ip:"+hostAddress+",port:"+port); + ISurvDeviceDeployService deviceDeployService = SpringContextUtil.getBean(ISurvDeviceDeployService.class); + SurvDeviceDeploy deviceDeploy = deviceDeployService.getOneByIpPort(hostAddress,port); + System.out.println(deviceDeploy); + } + +}