Commit 0d861f2d authored by shiyubin's avatar shiyubin 🌼

石家庄数据上传平台

parents
Pipeline #126 failed with stages
# Getting Started
### Reference Documentation
For further reference, please consider the following sections:
* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/maven-plugin/)
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="jdk" jdkName="1.8.0_201" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.postgresql:postgresql:42.2.11" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.4" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.3.1" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.5" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.1" level="project" />
</component>
</module>
\ No newline at end of file
This diff is collapsed.
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.gemho</groupId>
<artifactId>meizhou</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>meizhou</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.1</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
package com.gemho.meizhou;
import ch.qos.logback.core.util.TimeUtil;
import com.gemho.meizhou.Util.ThreadUtil;
import com.gemho.meizhou.service.UploadCloudServiceImp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import java.text.DecimalFormat;
@SpringBootApplication
public class SjzApplication {
private static final Logger logger = LoggerFactory.getLogger(SjzApplication.class);
public static void main(String[] args) {
ConfigurableApplicationContext cac = SpringApplication.run(SjzApplication.class, args);
UploadCloudServiceImp uploadCloudServiceImp = cac.getBean(UploadCloudServiceImp.class);
ThreadUtil t1 = new ThreadUtil(uploadCloudServiceImp, "ten");
// ThreadUtil t2 = new ThreadUtil(uploadCloudServiceImp, "hour");
t1.start();
// t2.start();
}
}
package com.gemho.meizhou.Util;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
private static final SimpleDateFormat sdfHour = new SimpleDateFormat(
"yyyy-MM-dd HH");
private static final SimpleDateFormat sdfDay = new SimpleDateFormat(
"yyyy-MM-dd");
/**
* 获取整点时间,去掉小时后�?
*
* @param date
* @return
* @throws ParseException
*/
public static Date splitToHour(Date date) {
try {
return sdfHour.parse(sdfHour.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 获取上几个小时的整点时间,要获取将来的就传入负�?
*
* @param date
* @param x
* @return
*/
public static Date splitToLastXHour(Date date, int x) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR, -x);// 减去x小时
Date a = cal.getTime();
return splitToHour(a);
}
/**
* 获取上个小时整点时间,并且去掉小时后�?
*
* @param date
* @return
* @throws ParseException
*/
public static Date splitToLastHour(Date date) {
return splitToLastXHour(date, 1);
}
/**
* 获取整天时间,去掉天后面
*
* @param date
* @return
* @throws ParseException
*/
public static Date splitToDay(Date date) {
try {
return sdfDay.parse(sdfDay.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 获取前几天的整天时间,要获取将来的就传入负�?
*
* @param date
* @param x
* @return
*/
public static Date splitToLastXDay(Date date, int x) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH, -x);// 减去x小时
Date a = cal.getTime();
return splitToDay(a);
}
/**
* 获取昨天整天时间,并且去掉天后面
*
* @param date
* @return
* @throws ParseException
*/
public static Date splitToLastDay(Date date) {
return splitToLastXDay(date, 1);
}
//判断当前小时是否与传过来的�?�?�� 应该用currenttime来判�?
public static boolean ChkDateTimeStrIsNowHour(String prejcTime,Date currentSystemTime)
{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String thisdate = df.format(currentSystemTime).substring(0, 10);//当前年月
String predate = prejcTime.substring(0, 10);//上一条年�?
int thishour = Integer.parseInt(df.format(currentSystemTime).substring(11, 13));//当前小时
int prehour = Integer.parseInt(prejcTime.substring(11, 13));//前一条小�?
//这里至判断小时是不对�?
if((thisdate.equals(predate))&&(prehour==thishour))
{
return true;
}
else
{
return false;
}
}
public static boolean ChkDateTimeStrIsNowHourDSS(String prejcTime,Date currentSystemTime)
{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String thisdate = df.format(currentSystemTime).substring(0, 10);//当前年月
String predate = prejcTime.substring(0, 10);//上一条年�?
int thishour = Integer.parseInt(df.format(currentSystemTime).substring(11, 13));//当前小时
int prehour = Integer.parseInt(prejcTime.substring(11, 13));//前一条小�?
int thisminutes = Integer.parseInt(df.format(currentSystemTime).substring(14, 16));//当前分钟
int preminutes = Integer.parseInt(prejcTime.substring(14, 16));//前一条分钟
//这里至判断小时是不对�?
if((thisdate.equals(predate))&&(prehour==thishour)&&(preminutes/30==thisminutes/30))
{
return true;
}
else
{
return false;
}
}
}
package com.gemho.meizhou.Util;
import com.gemho.meizhou.service.UploadCloudServiceImp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ThreadUtil extends Thread {
Logger logger = LoggerFactory.getLogger(ThreadUtil.class);;
private UploadCloudServiceImp uploadCloudServiceImp;
private String name;
public ThreadUtil() {}
public ThreadUtil(UploadCloudServiceImp uploadCloudServiceImp, String name) {
this.uploadCloudServiceImp = uploadCloudServiceImp;
this.name = name;
}
@Override
public void run() {
if ("ten".equals(name)) {
while(true) {
try{
uploadCloudServiceImp.other();
// 10分钟采集一次
logger.info("=================ten wait==================");
Thread.sleep((1000 * 60) * 10);
}catch(Exception e){
e.printStackTrace();
}
}
}else if ("hour".equals(name)) {
while(true) {
try{
uploadCloudServiceImp.hour();
// 10分钟采集一次
logger.info("=================one hour wait==================");
Thread.sleep((1000 * 60) * 60);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
package com.gemho.meizhou.Util;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeUtils {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static String timeValue(String time) {
if (time.length() > 0) {
time = time.substring(0, time.lastIndexOf("."));
return time.replace("-", "")
.replace(" ", "")
.replace(":","");
}else {
Date date = new Date();
return sdf.format(date)
.replace("-", "")
.replace(" ", "")
.replace(":", "");
}
}
}
package com.gemho.meizhou.controller;
import com.gemho.meizhou.service.UploadCloudServiceImp;
import org.springframework.beans.factory.annotation.Autowired;
public class RunMain extends Thread {
private String name;
private UploadCloudServiceImp uploadCloudServiceImp;
public RunMain(){}
public RunMain(String name, UploadCloudServiceImp uploadCloudServiceImp){
this.name = name;
this.uploadCloudServiceImp = uploadCloudServiceImp;
}
@Override
public void run() {
try {
while (true) {
uploadCloudServiceImp.other();
// 10分钟采集一次
Thread.sleep((1000 * 60) * 10);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.gemho.meizhou.dao;
import com.gemho.meizhou.model.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
import java.util.List;
@Mapper
public interface UploadCloudDao {
@Select("select * from tab_sensor where mark like #{name}")
List<TabSensor> findSensorDataByKind(String name);
@Select("select * from tab_sensor where name like '%'||#{name}||'%'")
List<TabSensor> findbmwySensorDataByKind(String name);
@Select("select * from tab_jiangyuliang where sensorname = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabJiangyuliang findJylData(String sensorname, Date start, Date end);
@Select("select * from tab_gantanweiyi where gantanid = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabGantanweiyi findGtData(String sensorname, Date start, Date end);
@Select("select * from tab_gantan1value where gantanid = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabGantanweiyi findGt1Data(String sensorname, Date start, Date end);
@Select("select * from tab_kushuiwei where sensorname = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabKushuiwei findKswData(String sensorname, Date start, Date end);
@Select("select * from tab_jinrunxian where sensorname = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabJinrunxian findJrxData(String sensorname, Date start, Date end);
@Select("select * from tab_batidibiaoweiyi where sensorname = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabBatidibiaoweiyi findBmwyData(String sensorname, Date start, Date end);
@Select("select * from tab_neibuchenjiang where sensorname = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabNeibuchenjiang findNbcjData(String sensorname, Date start, Date end);
@Select("select * from tab_shuipingweiyi where sensorname = #{sensorname} and jctime >=#{start} and jctime<#{end} order by id desc limit 1 offset 0 ")
TabShuipingweiyi findNbspData(String sensorname, Date start, Date end);
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.util.Date;
@Data
public class BmwyModel {
private String BTBMWYCGQBH;
private String BTBMWYCGQWZ;
private String BTBMWYCJSJ;
private double BTBMSPSZ;
private double BTBMSXSZ;
private double BTBMQCFXSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
@Data
public class BmwyhpModel {
private String KQDZHPTBMWYCGQBH;
private String KQDZHPTBMWYCGQWZ;
private String KQDZHPTBMWYCJSJ;
private double KQDZHPTBMSPWYSZ;
private double KQDZHPTBMSXWYSZ;
private double KQDZHPTBMQCFXSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.util.Date;
@Data
public class GtchangduModel {
private String GTCDCGQBH;
private String GTCDCGQWZ;
private String GTCDCJSJ;
private double GTCDSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.util.Date;
@Data
public class GtgaochengModel {
private String TDGCCGQBH ;
private String TDGCCGQWZ;
private String TDGCCJSJ;
private double TDGCSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.util.Date;
@Data
public class GtpoduModel {
private String GTPDCGQBH;
private String GTPDCGQWZ;
private String GTPDCJSJ;
private double GTPDSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.util.Date;
@Data
public class JrxModel {
private String JRXCGQBH;
private String JRXCGQWZ;
private String JRXCJSJ;
private double JRXMSSZ;
private double JRXKKGCSZ;
private double JRXKSSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
@Data
public class JylModel {
private String JSLCGQBH;
private String JYLCGQWZ;
private String JSLCJSJ;
private double JSLSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
@Data
public class KswModel {
private String KSWCGQBH;
private String KSWCGQWZ;
private String KSWCJSJ;
private double KSWSZ;
}
package com.gemho.meizhou.model;
import lombok.Data;
@Data
public class StatusModel {
private String CGQBH;
private String CJSJ;
private int STATUS;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabBatidibiaoweiyi implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String zkname;
private String sensorname;
private Timestamp jctime;
private Integer ifbj;
private Timestamp jcbjtime;
private Double lengtha;
private Double lenghtb;
private Double curx;
private Double cury;
private Double curz;
private Double disx;
private Double disy;
private Double disz;
private Integer ifview;
private Integer ifstart;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabGantanweiyi implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String gantanid;
private Timestamp jctime;
private String ifbj;
private Timestamp jcbjtime;
private String ifstart;
private String ifview;
private String gantan;
private String bagao;
private String podu;
private String gantanbianhualiang;
private String bagaobianhualang;
private String podubianhualiang;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabJiangyuliang implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String zkname;
private String sensorname;
private Timestamp jctime;
private String ifbj;
private Timestamp jcbjtime;
private Double value1;
private Double value2;
private Double value3;
private Integer ifstart;
private Integer ifview;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabJinrunxian implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String zkname;
private String sensorname;
private Timestamp jctime;
private String ifbj;
private Timestamp jcbjtime;
private Double value1;
private Double value2;
private Double value3;
private Double valuewendu;
private Integer ifstart;
private Integer ifview;
private Double value4;
private Double value5;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabKushuiwei implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String zkname;
private String sensorname;
private Timestamp jctime;
private String ifbj;
private Timestamp jcbjtime;
private Double value1;
private Double value2;
private Double value3;
private Integer ifstart;
private Integer ifview;
private Double valuewendu;
private Double value4;
private Double value5;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabNeibuchenjiang implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String zkname;
private String sensorname;
private Timestamp jctime;
private String ifbj;
private Timestamp jcbjtime;
private Double value1;
private Double value2;
private Double value3;
private Integer ifstart;
private Integer ifview;
private Double value4;
private Double value5;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
@Data
public class TabSensor implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String kind;
private String state;
private String mark;
private String name;
private Integer zkbh;
private Integer address1;
private String address2;
private Integer addressb;
private String bzuobiao;
private String czuobiao;
private Double angle;
private String alarmvalue;
private String values1;
private String notalarmvalue;
private String jiazhichushi;
private Integer programid;
private String jdwd;
private String imgurl;
}
package com.gemho.meizhou.model;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
public class TabShuipingweiyi implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String zkname;
private String sensorname;
private Timestamp jctime;
private String ifbj;
private Timestamp jcbjtime;
private Double value1;
private Double value2;
private Double value3;
private Integer ifstart;
private Integer ifview;
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.Util.DateUtil;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.*;
@Service
public class BmwyService {
private DecimalFormat dfFour = new DecimalFormat("0.0000");
@Autowired
private UploadCloudDao uploadCloudDao;
// 表面位移
public void bmwyUpload() {
Date date = new Date();
List<TabSensor> list = uploadCloudDao.findbmwySensorDataByKind("M0021G");
Map<String, Object> map = new LinkedHashMap<>();
List<BmwyModel> bmwylist = new ArrayList();
Map<String, Object> BmwystatusMap = new LinkedHashMap<>();
List<StatusModel> BmwyStatusList = new ArrayList<>();
for (TabSensor sensor : list) {
TabBatidibiaoweiyi BmwyData = uploadCloudDao.findBmwyData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
if (BmwyData != null) {
System.out.println("bmwy=====" + BmwyData.getDisx() + "========" + BmwyData.getDisy() + "========" + BmwyData.getDisz());
BmwyModel model = new BmwyModel();
model.setBTBMWYCGQBH(BmwyData.getSensorname());
model.setBTBMWYCGQWZ(sensor.getJdwd());
model.setBTBMWYCJSJ(TimeUtils.timeValue(""));
model.setBTBMSPSZ(Double.valueOf(dfFour.format(BmwyData.getDisx())));
model.setBTBMSXSZ(Double.valueOf(dfFour.format(BmwyData.getDisy())));
model.setBTBMQCFXSZ(Double.valueOf(dfFour.format(BmwyData.getDisz())));
bmwylist.add(model);
if ((BmwyData.getIfbj() == 0)) {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(1);
BmwyStatusList.add(statusModel);
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
BmwyStatusList.add(statusModel);
}
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
BmwyStatusList.add(statusModel);
}
}
map.put("datastreams", bmwylist);
System.out.println("表面位移json数据======" + JSONUtil.parseObj(map));
String result = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=002&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(map))
.execute().body();
System.out.println("表面位移result:" + result);
BmwystatusMap.put("datastreams", BmwyStatusList);
System.out.println("表面位移状态json数据======" + JSONUtil.parseObj(BmwystatusMap));
String result1 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=002&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(BmwystatusMap))
.execute().body();
System.out.println("表面位移状态result:" + result1);
}
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.Util.DateUtil;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.*;
@Service
public class BmwydizhihuapoService {
private DecimalFormat dfFour = new DecimalFormat("0.0000");
@Autowired
private UploadCloudDao uploadCloudDao;
// 表面位移
public void bmwyhpStatusUpload() {
Date date = new Date();
List<TabSensor> list = uploadCloudDao.findbmwySensorDataByKind("M0081M");
Map<String, Object> map = new LinkedHashMap<>();
List<BmwyhpModel> bmwylist = new ArrayList();
Map<String, Object> BmwystatusMap = new LinkedHashMap<>();
List<StatusModel> BmwyStatusList = new ArrayList<>();
for (TabSensor sensor : list) {
TabBatidibiaoweiyi BmwyData = uploadCloudDao.findBmwyData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
if (BmwyData != null) {
BmwyhpModel model = new BmwyhpModel();
model.setKQDZHPTBMWYCGQBH(BmwyData.getSensorname());
model.setKQDZHPTBMWYCGQWZ(sensor.getJdwd());
model.setKQDZHPTBMWYCJSJ(TimeUtils.timeValue(""));
model.setKQDZHPTBMSPWYSZ(Double.valueOf(dfFour.format(BmwyData.getDisx())));
model.setKQDZHPTBMSXWYSZ(Double.valueOf(dfFour.format(BmwyData.getDisy())));
model.setKQDZHPTBMQCFXSZ(Double.valueOf(dfFour.format(BmwyData.getDisz())));
bmwylist.add(model);
if ((BmwyData.getIfbj() == 0)) {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(1);
BmwyStatusList.add(statusModel);
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
BmwyStatusList.add(statusModel);
}
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
BmwyStatusList.add(statusModel);
}
}
BmwystatusMap.put("datastreams", BmwyStatusList);
System.out.println("表面位移状态hpjson数据======" + JSONUtil.parseObj(BmwystatusMap));
String result1 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=008&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(BmwystatusMap))
.execute().body();
System.out.println("表面位移状态hpresult:" + result1);
}
public void oneHourPushBmwyhpData(){
Date date = new Date();
List<TabSensor> list = uploadCloudDao.findbmwySensorDataByKind("M0081M");
Map<String, Object> map = new LinkedHashMap<>();
List<BmwyhpModel> bmwylist = new ArrayList();
for (TabSensor sensor : list) {
TabBatidibiaoweiyi BmwyData = uploadCloudDao.findBmwyData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
System.out.println("bmwyhp=====" + BmwyData.getDisx() + "========" + BmwyData.getDisy() + "========" + BmwyData.getDisz());
if (BmwyData != null) {
BmwyhpModel model = new BmwyhpModel();
model.setKQDZHPTBMWYCGQBH(BmwyData.getSensorname());
model.setKQDZHPTBMWYCGQWZ(sensor.getJdwd());
model.setKQDZHPTBMWYCJSJ(TimeUtils.timeValue(String.valueOf(BmwyData.getJctime())));
model.setKQDZHPTBMSPWYSZ(Double.valueOf(dfFour.format(BmwyData.getDisx())));
model.setKQDZHPTBMSXWYSZ(Double.valueOf(dfFour.format(BmwyData.getDisy())));
model.setKQDZHPTBMQCFXSZ(Double.valueOf(dfFour.format(BmwyData.getDisz())));
bmwylist.add(model);
}
}
map.put("datastreams", bmwylist);
System.out.println("表面位移hpjson数据======" + JSONUtil.parseObj(map));
String result = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=008&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(map))
.execute().body();
System.out.println("表面位移hpresult:" + result);
}
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.Util.DateUtil;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.*;
@Service
public class GtService {
private DecimalFormat dfTwo = new DecimalFormat("0.00");
@Autowired
private UploadCloudDao uploadCloudDao;
// 干滩数据推送
public void gantanUpload() {
Date date = new Date();
// 从sensor表中取出干滩
List<TabSensor> list = uploadCloudDao.findSensorDataByKind("干滩");
Map<String, Object> pdstatusmap = new LinkedHashMap<>();
List<StatusModel> pdstatuslist = new ArrayList();
Map<String, Object> cdstatusmap = new LinkedHashMap<>();
List<StatusModel> cdstatuslist = new ArrayList();
Map<String, Object> gcstatusmap = new LinkedHashMap<>();
List<StatusModel> gcstatuslist = new ArrayList();
for (TabSensor sensor : list) {
System.out.println(sensor.getMark() + "=======干滩编号");
TabGantanweiyi tabGantanweiyi = uploadCloudDao.findGtData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
if ("干滩".equals(sensor.getMark())) {
String[] str = sensor.getImgurl().split("-");
if (tabGantanweiyi != null) {
Map<String, Object> pdmap = new LinkedHashMap<>();
List<GtpoduModel> pdlist = new ArrayList();
GtpoduModel podu = new GtpoduModel();
podu.setGTPDCGQBH(str[1]);
podu.setGTPDCJSJ(TimeUtils.timeValue(""));
podu.setGTPDCGQWZ(sensor.getJdwd());
podu.setGTPDSZ(Double.valueOf(dfTwo.format(Double.valueOf(tabGantanweiyi.getPodu()))));
pdlist.add(podu);
pdmap.put("datastreams", pdlist);
Map<String, Object> cdmap = new LinkedHashMap<>();
List<GtchangduModel> cdlist = new ArrayList();
GtchangduModel changdu = new GtchangduModel();
changdu.setGTCDCGQBH(str[2]);
changdu.setGTCDCGQWZ(sensor.getJdwd());
changdu.setGTCDCJSJ(TimeUtils.timeValue(""));
changdu.setGTCDSZ(Double.valueOf(dfTwo.format(Double.valueOf(tabGantanweiyi.getGantan()))));
cdlist.add(changdu);
cdmap.put("datastreams", cdlist);
Map<String, Object> gcmap = new LinkedHashMap<>();
List<GtgaochengModel> gclist = new ArrayList();
GtgaochengModel gaocheng = new GtgaochengModel();
gaocheng.setTDGCCGQBH(str[0]);
gaocheng.setTDGCCGQWZ(sensor.getJdwd());
gaocheng.setTDGCCJSJ(TimeUtils.timeValue(""));
gaocheng.setTDGCSZ(Double.valueOf(dfTwo.format(Double.valueOf(tabGantanweiyi.getBagao()))));
gclist.add(gaocheng);
gcmap.put("datastreams", gclist);
System.out.println("干滩坡度======" + JSONUtil.parseObj(pdmap));
System.out.println("干滩长度======" + JSONUtil.parseObj(cdmap));
System.out.println("干滩高程======" + JSONUtil.parseObj(gcmap));
// 坡度
String result1 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=009&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(pdmap))
.execute().body();
System.out.println("干滩坡度result:" + result1);
// 长度
String result2 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=005&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(cdmap))
.execute().body();
System.out.println("干滩长度result:" + result2);
// 高程
String result3 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=004&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(gcmap))
.execute().body();
System.out.println("干滩高程result:" + result3);
if ("0".equals(tabGantanweiyi.getIfbj())) {
StatusModel model1 = new StatusModel();
model1.setCGQBH(str[1]);
model1.setCJSJ(TimeUtils.timeValue(""));
model1.setSTATUS(1);
StatusModel model2 = new StatusModel();
model2.setCGQBH(str[2]);
model2.setCJSJ(TimeUtils.timeValue(""));
model2.setSTATUS(1);
StatusModel model3 = new StatusModel();
model3.setCGQBH(str[0]);
model3.setCJSJ(TimeUtils.timeValue(""));
model3.setSTATUS(1);
pdstatuslist.add(model1);
cdstatuslist.add(model2);
gcstatuslist.add(model3);
}else {
StatusModel model1 = new StatusModel();
model1.setCGQBH(str[1]);
model1.setCJSJ(TimeUtils.timeValue(""));
model1.setSTATUS(2);
StatusModel model2 = new StatusModel();
model2.setCGQBH(str[2]);
model2.setCJSJ(TimeUtils.timeValue(""));
model2.setSTATUS(2);
StatusModel model3 = new StatusModel();
model3.setCGQBH(str[0]);
model3.setCJSJ(TimeUtils.timeValue(""));
model3.setSTATUS(2);
pdstatuslist.add(model1);
cdstatuslist.add(model2);
gcstatuslist.add(model3);
}
}else {
StatusModel model1 = new StatusModel();
model1.setCGQBH(str[1]);
model1.setCJSJ(TimeUtils.timeValue(""));
model1.setSTATUS(2);
StatusModel model2 = new StatusModel();
model2.setCGQBH(str[2]);
model2.setCJSJ(TimeUtils.timeValue(""));
model2.setSTATUS(2);
StatusModel model3 = new StatusModel();
model3.setCGQBH(str[0]);
model3.setCJSJ(TimeUtils.timeValue(""));
model3.setSTATUS(2);
pdstatuslist.add(model1);
cdstatuslist.add(model2);
gcstatuslist.add(model3);
}
}
pdstatusmap.put("datastreams", pdstatuslist);
cdstatusmap.put("datastreams", cdstatuslist);
gcstatusmap.put("datastreams", gcstatuslist);
System.out.println("干滩坡度状态json数据======" + JSONUtil.parseObj(pdstatusmap));
System.out.println("干滩长度状态json数据======" + JSONUtil.parseObj(cdstatusmap));
System.out.println("干滩高程状态json数据======" + JSONUtil.parseObj(gcstatusmap));
// 坡度
String result1 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=009&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(pdstatusmap))
.execute().body();
System.out.println("干滩坡度-status-result:" + result1);
// 长度
String result2 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=005&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(cdstatusmap))
.execute().body();
System.out.println("干滩长度-status-result:" + result2);
// 高程
String result3 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=004&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(gcstatusmap))
.execute().body();
System.out.println("干滩高程-status-result:" + result3);
}
}
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.Util.DateUtil;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.JrxModel;
import com.gemho.meizhou.model.StatusModel;
import com.gemho.meizhou.model.TabJinrunxian;
import com.gemho.meizhou.model.TabSensor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.*;
@Service
public class JrxService {
private DecimalFormat dfTwo = new DecimalFormat("0.00");
@Autowired
private UploadCloudDao uploadCloudDao;
// 浸润线
public void jinrunxianUpload() {
Date date = new Date();
List<TabSensor> list = uploadCloudDao.findSensorDataByKind("浸润线");
Map<String, Object> map = new LinkedHashMap<>();
List<JrxModel> jrxlist = new ArrayList();
Map<String, Object> statusMap = new LinkedHashMap<>();
List<StatusModel> jrxStatusList = new ArrayList<>();
for (TabSensor sensor : list) {
TabJinrunxian tabJinrunxian = uploadCloudDao.findJrxData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
if (tabJinrunxian != null) {
JrxModel model = new JrxModel();
model.setJRXCGQBH(tabJinrunxian.getSensorname());
model.setJRXCJSJ(TimeUtils.timeValue(""));
model.setJRXMSSZ(Double.valueOf(dfTwo.format(tabJinrunxian.getValue3())));
model.setJRXCGQWZ(sensor.getJdwd());
model.setJRXKKGCSZ(Double.valueOf(sensor.getAddress2().substring(sensor.getAddress2().indexOf("|") + 1)));
model.setJRXKSSZ(Double.valueOf(sensor.getJiazhichushi()));
jrxlist.add(model);
if ("0".equals(tabJinrunxian.getIfbj())) {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(1);
jrxStatusList.add(statusModel);
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
jrxStatusList.add(statusModel);
}
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
jrxStatusList.add(statusModel);
}
}
map.put("datastreams", jrxlist);
System.out.println("浸润线json数据======" + JSONUtil.parseObj(map));
String result = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=001&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.form("deviceType", "001")
.form("dataType", 1)
.body(JSONUtil.toJsonStr(map))
.execute().body();
System.out.println("浸润线result:" + result);
statusMap.put("datastreams", jrxStatusList);
System.out.println("浸润线状态json数据======" + JSONUtil.parseObj(statusMap));
String result1 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=001&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(statusMap))
.execute().body();
System.out.println("浸润线状态result:" + result1);
}
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.Util.DateUtil;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.JylModel;
import com.gemho.meizhou.model.StatusModel;
import com.gemho.meizhou.model.TabJiangyuliang;
import com.gemho.meizhou.model.TabSensor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class JylService {
@Autowired
private UploadCloudDao uploadCloudDao;
// 推送降雨量设备采集数据
public void jiangyuliang() {
// 判断时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 查询雨量计传感器
List<TabSensor> list = uploadCloudDao.findSensorDataByKind("雨量计");
Map<String, Object> statusmap = new LinkedHashMap<>();
List<StatusModel> statusList = new ArrayList<>();
// 查询雨量计的值
for (TabSensor sensor : list) {
// 根据传感器名称查询
TabJiangyuliang jyl = uploadCloudDao.findJylData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
if (jyl != null) {
Map<String, Object> map = new LinkedHashMap<>();
List<JylModel> jyllist = new ArrayList();
JylModel model = new JylModel();
model.setJSLCGQBH(jyl.getSensorname());
model.setJSLCJSJ(TimeUtils.timeValue(""));
model.setJSLSZ(jyl.getValue2());
jyllist.add(model);
map.put("datastreams", jyllist);
System.out.println("雨量计json数据======" + JSONUtil.parseObj(map));
String result = HttpRequest.post("")
.header("api-key", "94dd4579cbf74a56ad5a")
.form("deviceType", "007")
.form("dataType", 1)
.form("data", JSONUtil.parseObj(map))
.execute().body();
System.out.println("降雨量result:" + result);
if ("0".equals(jyl.getIfbj())) {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getMark());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(1);
statusList.add(statusModel);
} else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getMark());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
statusList.add(statusModel);
}
} else {
StatusModel model = new StatusModel();
model.setCGQBH(sensor.getMark());
model.setCJSJ(TimeUtils.timeValue(""));
model.setSTATUS(2);
statusList.add(model);
}
}
statusmap.put("datastreams", statusList);
String result = HttpRequest.post("http://a4vrhf.natappfree.cc/monitorData/ws/reportDeviceStatus")
.header("api-key", "94dd4579cbf74a56ad5a")
.form("deviceType", "007")
.form("dataType", 2)
.form("data", JSONUtil.parseObj(statusmap))
.execute().body();
System.out.println("降雨量-status-result:" + result);
}
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.Util.DateUtil;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.*;
@Service
public class KswService {
private DecimalFormat dfTwo = new DecimalFormat("0.00");
@Autowired
private UploadCloudDao uploadCloudDao;
// 库水位
public void kushuiweiUpload() {
Date date = new Date();
List<TabSensor> list = uploadCloudDao.findSensorDataByKind("库水位");
Map<String, Object> map = new LinkedHashMap<>();
List<KswModel> kswList = new ArrayList();
Map<String, Object> kswstatusMap = new LinkedHashMap<>();
List<StatusModel> kswStatusList = new ArrayList<>();
for (TabSensor sensor : list) {
TabKushuiwei kswData = uploadCloudDao.findKswData(sensor.getName(),
DateUtil.splitToDay(date),
DateUtil.splitToLastXDay(date, -1));
if (kswData != null) {
KswModel model = new KswModel();
model.setKSWCGQBH(kswData.getSensorname());
model.setKSWCJSJ(TimeUtils.timeValue(""));
model.setKSWCGQWZ(sensor.getJdwd());
model.setKSWSZ(Double.valueOf(dfTwo.format(kswData.getValue2())));
kswList.add(model);
if ("0".equals(kswData.getIfbj())) {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(1);
kswStatusList.add(statusModel);
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
kswStatusList.add(statusModel);
}
}else {
StatusModel statusModel = new StatusModel();
statusModel.setCGQBH(sensor.getName());
statusModel.setCJSJ(TimeUtils.timeValue(""));
statusModel.setSTATUS(2);
kswStatusList.add(statusModel);
}
}
map.put("datastreams", kswList);
System.out.println("库水位json数据======" + JSONUtil.parseObj(map));
String result = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=006&dataType=1")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(map))
.execute().body();
System.out.println("库水位result:" + result);
kswstatusMap.put("datastreams", kswStatusList);
System.out.println("库水位状态json数据======" + JSONUtil.parseObj(kswstatusMap));
String result1 = HttpRequest.post("http://111.61.77.35:8110/monitorData/ws/reportDeviceStatus?deviceType=006&dataType=2")
.header("api-key", "94dd4579cbf74a56ad5a")
.body(JSONUtil.toJsonStr(kswstatusMap))
.execute().body();
System.out.println("库水位状态result:" + result1);
}
}
package com.gemho.meizhou.service;
public class NbcjService {
}
package com.gemho.meizhou.service;
public class NbspService {
}
package com.gemho.meizhou.service;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.gemho.meizhou.SjzApplication;
import com.gemho.meizhou.Util.TimeUtils;
import com.gemho.meizhou.dao.UploadCloudDao;
import com.gemho.meizhou.model.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class UploadCloudServiceImp {
private static final Logger logger = LoggerFactory.getLogger(UploadCloudServiceImp.class);
private DecimalFormat dfFour = new DecimalFormat("0.0000");
private DecimalFormat dfTwo = new DecimalFormat("0.00");
@Autowired
private UploadCloudDao uploadCloudDao;
@Autowired
private BmwyService bmwyService;
@Autowired
private JrxService jrxService;
@Autowired
private GtService gtService;
@Autowired
private KswService kswService;
@Autowired
private BmwydizhihuapoService bmwydizhihuapoService;
// 推送其他设备采集数据
public void other() {
bmwyService.bmwyUpload();
jrxService.jinrunxianUpload();
gtService.gantanUpload();
kswService.kushuiweiUpload();
// bmwydizhihuapoService.bmwyhpStatusUpload();
}
public void hour() {
bmwydizhihuapoService.oneHourPushBmwyhpData();
}
// 内部位移
/* public void nbwyUpload() {
List<TabSensor> nbcjList = uploadCloudDao.findSensorDataByKind("坝体内部沉降");
List<TabSensor> nbspList = uploadCloudDao.findSensorDataByKind("坝体内部水平位移");
for (TabSensor sensor : nbcjList) {
// 判断时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TabNeibuchenjiang tabNeibuchenjiang = uploadCloudDao.findNbcjData(sensor.getName());
if (sensor.getName().length() == 2) {
if (tabNeibuchenjiang != null) {
String result = HttpRequest.post("")
.form("code", "4414018766204" + sensor.getName())
.form("measurementTime", sdf.format(date))
.form("valueX", "0")
.form("valueY", tabNeibuchenjiang.getValue2())
.execute().body();
System.out.println(sensor.getName() + ": " + result);
}
}
}
for (TabSensor sensor : nbspList) {
// 判断时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TabShuipingweiyi tabShuipingweiyi = uploadCloudDao.findNbspData(sensor.getName());
if (sensor.getName().length() == 2) {
if (tabShuipingweiyi != null) {
String result = HttpRequest.post("")
.form("code", "4414018766204" + sensor.getName())
.form("measurementTime", sdf.format(date))
.form("valueX", tabShuipingweiyi.getValue2())
.form("valueY", "0")
.execute().body();
System.out.println(sensor.getName() + ": " + result);
System.out.println("内部水平位移value2: " + tabShuipingweiyi.getValue2());
}
}
}
}*/
}
server:
port: 6790
spring:
datasource:
url: jdbc:postgresql://39.100.98.180:5432/MineTRS_huisheng
username: postgres
password: red___
driver-class-name: org.postgresql.Driver
com:
mqtt:
host: testname:8080
\ No newline at end of file
package com.gemho.meizhou;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SjzApplicationTests {
@Test
void contextLoads() {
}
}
server:
port: 6790
spring:
datasource:
url: jdbc:postgresql://39.100.98.180:5432/MineTRS_huisheng
username: postgres
password: red___
driver-class-name: org.postgresql.Driver
com:
mqtt:
host: testname:8080
\ No newline at end of file
File added
version=0.0.1-SNAPSHOT
groupId=com.gemho
artifactId=meizhou
com/gemho/meizhou/Util/DateUtil.class
com/gemho/meizhou/service/KswService.class
com/gemho/meizhou/model/JylModel.class
com/gemho/meizhou/model/TabGantanweiyi.class
com/gemho/meizhou/model/KswModel.class
com/gemho/meizhou/service/JylService.class
com/gemho/meizhou/controller/RunMain.class
com/gemho/meizhou/model/BmwyModel.class
com/gemho/meizhou/service/JrxService.class
com/gemho/meizhou/model/GtchangduModel.class
com/gemho/meizhou/model/TabJiangyuliang.class
com/gemho/meizhou/model/TabShuipingweiyi.class
com/gemho/meizhou/service/BmwyService.class
com/gemho/meizhou/dao/UploadCloudDao.class
com/gemho/meizhou/service/BmwydizhihuapoService.class
com/gemho/meizhou/model/TabBatidibiaoweiyi.class
com/gemho/meizhou/model/StatusModel.class
com/gemho/meizhou/model/TabSensor.class
com/gemho/meizhou/Util/TimeUtils.class
com/gemho/meizhou/service/GtService.class
com/gemho/meizhou/SjzApplication.class
com/gemho/meizhou/model/TabNeibuchenjiang.class
com/gemho/meizhou/service/NbcjService.class
com/gemho/meizhou/model/TabKushuiwei.class
com/gemho/meizhou/service/NbspService.class
com/gemho/meizhou/Util/ThreadUtil.class
com/gemho/meizhou/model/GtpoduModel.class
com/gemho/meizhou/model/JrxModel.class
com/gemho/meizhou/service/UploadCloudServiceImp.class
com/gemho/meizhou/model/GtgaochengModel.class
com/gemho/meizhou/model/TabJinrunxian.class
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabJinrunxian.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/SjzApplication.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabBatidibiaoweiyi.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabKushuiwei.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/JrxService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/Util/ThreadUtil.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/NbspService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/JrxModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/UploadCloudServiceImp.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/GtService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/NbcjService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabJiangyuliang.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/GtchangduModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabSensor.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/JylModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/dao/UploadCloudDao.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/KswModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/GtpoduModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/Util/TimeUtils.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/KswService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/StatusModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabShuipingweiyi.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/JylService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/BmwydizhihuapoService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/Util/DateUtil.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/controller/RunMain.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabNeibuchenjiang.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/service/BmwyService.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/BmwyhpModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/BmwyModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/GtgaochengModel.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/main/java/com/gemho/meizhou/model/TabGantanweiyi.java
/home/xiaoshi/gemhoProject/石家庄数据推送/src/test/java/com/gemho/meizhou/SjzApplicationTests.java
-------------------------------------------------------------------------------
Test set: com.gemho.meizhou.SjzApplicationTests
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.134 s - in com.gemho.meizhou.SjzApplicationTests
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment