Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
monitor-reprotdata-frogovernment
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
monitor-reprotdata-frogovernment
Commits
5079db1d
Commit
5079db1d
authored
Aug 12, 2021
by
耿迪迪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
上报市局监控
parents
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
1392 additions
and
0 deletions
+1392
-0
.gitignore
.gitignore
+33
-0
MavenWrapperDownloader.java
.mvn/wrapper/MavenWrapperDownloader.java
+117
-0
maven-wrapper.jar
.mvn/wrapper/maven-wrapper.jar
+0
-0
maven-wrapper.properties
.mvn/wrapper/maven-wrapper.properties
+2
-0
mvnw
mvnw
+310
-0
mvnw.cmd
mvnw.cmd
+182
-0
pom.xml
pom.xml
+87
-0
MonitorReprotdataFrogovernmentApplication.java
...government/MonitorReprotdataFrogovernmentApplication.java
+16
-0
JingyeDetectorInfoDao.java
...torreprotdatafrogovernment/dao/JingyeDetectorInfoDao.java
+15
-0
YingdeDetectorInfoDao.java
...torreprotdatafrogovernment/dao/YingdeDetectorInfoDao.java
+14
-0
ZhengyuanDetectorInfoDao.java
...reprotdatafrogovernment/dao/ZhengyuanDetectorInfoDao.java
+14
-0
DetectorInfo.java
...g/monitorreprotdatafrogovernment/entity/DetectorInfo.java
+31
-0
SendSmsParam.java
...ng/monitorreprotdatafrogovernment/model/SendSmsParam.java
+18
-0
Result.java
.../zehong/monitorreprotdatafrogovernment/result/Result.java
+45
-0
ResultEnum.java
...ong/monitorreprotdatafrogovernment/result/ResultEnum.java
+34
-0
SaticScheduleTask.java
...onitorreprotdatafrogovernment/task/SaticScheduleTask.java
+69
-0
SendSmsTask.java
...hong/monitorreprotdatafrogovernment/task/SendSmsTask.java
+151
-0
HttpUtil.java
...zehong/monitorreprotdatafrogovernment/utils/HttpUtil.java
+125
-0
application.yml
src/main/resources/application.yml
+48
-0
JingyeDetectorInfoMapper.xml
src/main/resources/mapper/JingyeDetectorInfoMapper.xml
+23
-0
YingdeDetectorInfoMapper.xml
src/main/resources/mapper/YingdeDetectorInfoMapper.xml
+23
-0
ZhengyuanDetectorInfoMapper.xml
src/main/resources/mapper/ZhengyuanDetectorInfoMapper.xml
+23
-0
MonitorReprotdataFrogovernmentApplicationTests.java
...nment/MonitorReprotdataFrogovernmentApplicationTests.java
+12
-0
No files found.
.gitignore
0 → 100644
View file @
5079db1d
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
.mvn/wrapper/MavenWrapperDownloader.java
0 → 100644
View file @
5079db1d
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
java.net.*
;
import
java.io.*
;
import
java.nio.channels.*
;
import
java.util.Properties
;
public
class
MavenWrapperDownloader
{
private
static
final
String
WRAPPER_VERSION
=
"0.5.6"
;
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private
static
final
String
DEFAULT_DOWNLOAD_URL
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+
WRAPPER_VERSION
+
"/maven-wrapper-"
+
WRAPPER_VERSION
+
".jar"
;
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private
static
final
String
MAVEN_WRAPPER_PROPERTIES_PATH
=
".mvn/wrapper/maven-wrapper.properties"
;
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private
static
final
String
MAVEN_WRAPPER_JAR_PATH
=
".mvn/wrapper/maven-wrapper.jar"
;
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private
static
final
String
PROPERTY_NAME_WRAPPER_URL
=
"wrapperUrl"
;
public
static
void
main
(
String
args
[])
{
System
.
out
.
println
(
"- Downloader started"
);
File
baseDirectory
=
new
File
(
args
[
0
]);
System
.
out
.
println
(
"- Using base directory: "
+
baseDirectory
.
getAbsolutePath
());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File
mavenWrapperPropertyFile
=
new
File
(
baseDirectory
,
MAVEN_WRAPPER_PROPERTIES_PATH
);
String
url
=
DEFAULT_DOWNLOAD_URL
;
if
(
mavenWrapperPropertyFile
.
exists
())
{
FileInputStream
mavenWrapperPropertyFileInputStream
=
null
;
try
{
mavenWrapperPropertyFileInputStream
=
new
FileInputStream
(
mavenWrapperPropertyFile
);
Properties
mavenWrapperProperties
=
new
Properties
();
mavenWrapperProperties
.
load
(
mavenWrapperPropertyFileInputStream
);
url
=
mavenWrapperProperties
.
getProperty
(
PROPERTY_NAME_WRAPPER_URL
,
url
);
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"- ERROR loading '"
+
MAVEN_WRAPPER_PROPERTIES_PATH
+
"'"
);
}
finally
{
try
{
if
(
mavenWrapperPropertyFileInputStream
!=
null
)
{
mavenWrapperPropertyFileInputStream
.
close
();
}
}
catch
(
IOException
e
)
{
// Ignore ...
}
}
}
System
.
out
.
println
(
"- Downloading from: "
+
url
);
File
outputFile
=
new
File
(
baseDirectory
.
getAbsolutePath
(),
MAVEN_WRAPPER_JAR_PATH
);
if
(!
outputFile
.
getParentFile
().
exists
())
{
if
(!
outputFile
.
getParentFile
().
mkdirs
())
{
System
.
out
.
println
(
"- ERROR creating output directory '"
+
outputFile
.
getParentFile
().
getAbsolutePath
()
+
"'"
);
}
}
System
.
out
.
println
(
"- Downloading to: "
+
outputFile
.
getAbsolutePath
());
try
{
downloadFileFromURL
(
url
,
outputFile
);
System
.
out
.
println
(
"Done"
);
System
.
exit
(
0
);
}
catch
(
Throwable
e
)
{
System
.
out
.
println
(
"- Error downloading"
);
e
.
printStackTrace
();
System
.
exit
(
1
);
}
}
private
static
void
downloadFileFromURL
(
String
urlString
,
File
destination
)
throws
Exception
{
if
(
System
.
getenv
(
"MVNW_USERNAME"
)
!=
null
&&
System
.
getenv
(
"MVNW_PASSWORD"
)
!=
null
)
{
String
username
=
System
.
getenv
(
"MVNW_USERNAME"
);
char
[]
password
=
System
.
getenv
(
"MVNW_PASSWORD"
).
toCharArray
();
Authenticator
.
setDefault
(
new
Authenticator
()
{
@Override
protected
PasswordAuthentication
getPasswordAuthentication
()
{
return
new
PasswordAuthentication
(
username
,
password
);
}
});
}
URL
website
=
new
URL
(
urlString
);
ReadableByteChannel
rbc
;
rbc
=
Channels
.
newChannel
(
website
.
openStream
());
FileOutputStream
fos
=
new
FileOutputStream
(
destination
);
fos
.
getChannel
().
transferFrom
(
rbc
,
0
,
Long
.
MAX_VALUE
);
fos
.
close
();
rbc
.
close
();
}
}
.mvn/wrapper/maven-wrapper.jar
0 → 100644
View file @
5079db1d
File added
.mvn/wrapper/maven-wrapper.properties
0 → 100644
View file @
5079db1d
distributionUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
wrapperUrl
=
https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
mvnw
0 → 100644
View file @
5079db1d
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if
[
-z
"
$MAVEN_SKIP_RC
"
]
;
then
if
[
-f
/etc/mavenrc
]
;
then
.
/etc/mavenrc
fi
if
[
-f
"
$HOME
/.mavenrc"
]
;
then
.
"
$HOME
/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin
=
false
;
darwin
=
false
;
mingw
=
false
case
"
`
uname
`
"
in
CYGWIN
*
)
cygwin
=
true
;;
MINGW
*
)
mingw
=
true
;;
Darwin
*
)
darwin
=
true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-x
"/usr/libexec/java_home"
]
;
then
export
JAVA_HOME
=
"
`
/usr/libexec/java_home
`
"
else
export
JAVA_HOME
=
"/Library/Java/Home"
fi
fi
;;
esac
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-r
/etc/gentoo-release
]
;
then
JAVA_HOME
=
`
java-config
--jre-home
`
fi
fi
if
[
-z
"
$M2_HOME
"
]
;
then
## resolve links - $0 may be a link to maven's home
PRG
=
"
$0
"
# need this for relative symlinks
while
[
-h
"
$PRG
"
]
;
do
ls
=
`
ls
-ld
"
$PRG
"
`
link
=
`
expr
"
$ls
"
:
'.*-> \(.*\)$'
`
if
expr
"
$link
"
:
'/.*'
>
/dev/null
;
then
PRG
=
"
$link
"
else
PRG
=
"
`
dirname
"
$PRG
"
`
/
$link
"
fi
done
saveddir
=
`
pwd
`
M2_HOME
=
`
dirname
"
$PRG
"
`
/..
# make it fully qualified
M2_HOME
=
`
cd
"
$M2_HOME
"
&&
pwd
`
cd
"
$saveddir
"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if
$cygwin
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
`
cygpath
--unix
"
$M2_HOME
"
`
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
`
cygpath
--unix
"
$JAVA_HOME
"
`
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
`
cygpath
--path
--unix
"
$CLASSPATH
"
`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if
$mingw
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
"
`
(
cd
"
$M2_HOME
"
;
pwd
)
`
"
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
"
`
(
cd
"
$JAVA_HOME
"
;
pwd
)
`
"
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
javaExecutable
=
"
`
which javac
`
"
if
[
-n
"
$javaExecutable
"
]
&&
!
[
"
`
expr
\"
$javaExecutable
\"
:
'\([^ ]*\)'
`
"
=
"no"
]
;
then
# readlink(1) is not available as standard on Solaris 10.
readLink
=
`
which
readlink
`
if
[
!
`
expr
"
$readLink
"
:
'\([^ ]*\)'
`
=
"no"
]
;
then
if
$darwin
;
then
javaHome
=
"
`
dirname
\"
$javaExecutable
\"
`
"
javaExecutable
=
"
`
cd
\"
$javaHome
\"
&&
pwd
-P
`
/javac"
else
javaExecutable
=
"
`
readlink
-f
\"
$javaExecutable
\"
`
"
fi
javaHome
=
"
`
dirname
\"
$javaExecutable
\"
`
"
javaHome
=
`
expr
"
$javaHome
"
:
'\(.*\)/bin'
`
JAVA_HOME
=
"
$javaHome
"
export
JAVA_HOME
fi
fi
fi
if
[
-z
"
$JAVACMD
"
]
;
then
if
[
-n
"
$JAVA_HOME
"
]
;
then
if
[
-x
"
$JAVA_HOME
/jre/sh/java"
]
;
then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD
=
"
$JAVA_HOME
/jre/sh/java"
else
JAVACMD
=
"
$JAVA_HOME
/bin/java"
fi
else
JAVACMD
=
"
`
which java
`
"
fi
fi
if
[
!
-x
"
$JAVACMD
"
]
;
then
echo
"Error: JAVA_HOME is not defined correctly."
>
&2
echo
" We cannot execute
$JAVACMD
"
>
&2
exit
1
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
echo
"Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER
=
org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir
()
{
if
[
-z
"
$1
"
]
then
echo
"Path not specified to find_maven_basedir"
return
1
fi
basedir
=
"
$1
"
wdir
=
"
$1
"
while
[
"
$wdir
"
!=
'/'
]
;
do
if
[
-d
"
$wdir
"
/.mvn
]
;
then
basedir
=
$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if
[
-d
"
${
wdir
}
"
]
;
then
wdir
=
`
cd
"
$wdir
/.."
;
pwd
`
fi
# end of workaround
done
echo
"
${
basedir
}
"
}
# concatenates all lines of a file
concat_lines
()
{
if
[
-f
"
$1
"
]
;
then
echo
"
$(
tr
-s
'\n'
' '
<
"
$1
"
)
"
fi
}
BASE_DIR
=
`
find_maven_basedir
"
$(
pwd
)
"
`
if
[
-z
"
$BASE_DIR
"
]
;
then
exit
1
;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if
[
-r
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.jar"
]
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if
[
-n
"
$MVNW_REPOURL
"
]
;
then
jarUrl
=
"
$MVNW_REPOURL
/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
else
jarUrl
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
fi
while
IFS
=
"="
read
key value
;
do
case
"
$key
"
in
(
wrapperUrl
)
jarUrl
=
"
$value
"
;
break
;;
esac
done
<
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.properties"
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Downloading from:
$jarUrl
"
fi
wrapperJarPath
=
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.jar"
if
$cygwin
;
then
wrapperJarPath
=
`
cygpath
--path
--windows
"
$wrapperJarPath
"
`
fi
if
command
-v
wget
>
/dev/null
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found wget ... using wget"
fi
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
wget
"
$jarUrl
"
-O
"
$wrapperJarPath
"
else
wget
--http-user
=
$MVNW_USERNAME
--http-password
=
$MVNW_PASSWORD
"
$jarUrl
"
-O
"
$wrapperJarPath
"
fi
elif
command
-v
curl
>
/dev/null
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found curl ... using curl"
fi
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
curl
-o
"
$wrapperJarPath
"
"
$jarUrl
"
-f
else
curl
--user
$MVNW_USERNAME
:
$MVNW_PASSWORD
-o
"
$wrapperJarPath
"
"
$jarUrl
"
-f
fi
else
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Falling back to using Java to download"
fi
javaClass
=
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if
$cygwin
;
then
javaClass
=
`
cygpath
--path
--windows
"
$javaClass
"
`
fi
if
[
-e
"
$javaClass
"
]
;
then
if
[
!
-e
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.class"
]
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
" - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
(
"
$JAVA_HOME
/bin/javac"
"
$javaClass
"
)
fi
if
[
-e
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.class"
]
;
then
# Running the downloader
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
" - Running MavenWrapperDownloader.java ..."
fi
(
"
$JAVA_HOME
/bin/java"
-cp
.mvn/wrapper MavenWrapperDownloader
"
$MAVEN_PROJECTBASEDIR
"
)
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export
MAVEN_PROJECTBASEDIR
=
${
MAVEN_BASEDIR
:-
"
$BASE_DIR
"
}
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
$MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS
=
"
$(
concat_lines
"
$MAVEN_PROJECTBASEDIR
/.mvn/jvm.config"
)
$MAVEN_OPTS
"
# For Cygwin, switch paths to Windows format before running java
if
$cygwin
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
`
cygpath
--path
--windows
"
$M2_HOME
"
`
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
`
cygpath
--path
--windows
"
$JAVA_HOME
"
`
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
`
cygpath
--path
--windows
"
$CLASSPATH
"
`
[
-n
"
$MAVEN_PROJECTBASEDIR
"
]
&&
MAVEN_PROJECTBASEDIR
=
`
cygpath
--path
--windows
"
$MAVEN_PROJECTBASEDIR
"
`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS
=
"
$MAVEN_CONFIG
$@
"
export
MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER
=
org.apache.maven.wrapper.MavenWrapperMain
exec
"
$JAVACMD
"
\
$MAVEN_OPTS
\
-classpath
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.jar"
\
"-Dmaven.home=
${
M2_HOME
}
"
"-Dmaven.multiModuleProjectDirectory=
${
MAVEN_PROJECTBASEDIR
}
"
\
${
WRAPPER_LAUNCHER
}
$MAVEN_CONFIG
"
$@
"
mvnw.cmd
0 → 100644
View file @
5079db1d
@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%
pom.xml
0 → 100644
View file @
5079db1d
<?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.5.3
</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>
com.zehong
</groupId>
<artifactId>
monitor-reprotdata-frogovernment
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<name>
monitor-reprotdata-frogovernment
</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-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<version>
2.5.6
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
<version>
1.1.20
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
<version>
4.5.2
</version>
</dependency>
<!--json转换-->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.58
</version>
</dependency>
<!--commons-lang-->
<dependency>
<groupId>
commons-lang
</groupId>
<artifactId>
commons-lang
</artifactId>
<version>
2.6
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
src/main/java/com/zehong/monitorreprotdatafrogovernment/MonitorReprotdataFrogovernmentApplication.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
;
import
com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
(
exclude
=
DruidDataSourceAutoConfigure
.
class
)
@MapperScan
(
"com.zehong.monitorreprotdatafrogovernment.dao"
)
public
class
MonitorReprotdataFrogovernmentApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
MonitorReprotdataFrogovernmentApplication
.
class
,
args
);
}
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/dao/JingyeDetectorInfoDao.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
dao
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo
;
@DS
(
"db1"
)
public
interface
JingyeDetectorInfoDao
{
/**
* 获取最新上报数据
* @return DetectorInfo 上报数据实体
*/
DetectorInfo
getRecentSendData
();
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/dao/YingdeDetectorInfoDao.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
dao
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo
;
@DS
(
"db2"
)
public
interface
YingdeDetectorInfoDao
{
/**
* 获取最新上报数据
* @return DetectorInfo 上报数据实体
*/
DetectorInfo
getRecentSendData
();
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/dao/ZhengyuanDetectorInfoDao.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
dao
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo
;
@DS
(
"db3"
)
public
interface
ZhengyuanDetectorInfoDao
{
/**
* 获取最新上报数据
* @return DetectorInfo 上报数据实体
*/
DetectorInfo
getRecentSendData
();
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/entity/DetectorInfo.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
entity
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
DetectorInfo
{
private
Integer
id
;
private
String
code
;
private
Date
time
;
private
String
value
;
private
String
type
;
private
String
flag
;
private
String
alarmSend
;
private
String
realtimeSend
;
private
String
guid
;
private
Date
updateTime
;
}
\ No newline at end of file
src/main/java/com/zehong/monitorreprotdatafrogovernment/model/SendSmsParam.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
model
;
import
lombok.Data
;
@Data
public
class
SendSmsParam
{
/** 发送短信秘钥 **/
private
String
secretKey
;
/** 发送短信号码 **/
private
String
phoneNumberJson
;
/** 发送短信签名 **/
private
String
signNameJson
;
/** 发送短信模板编码 **/
private
String
templateCode
;
/** 发送短信内容 **/
private
String
templateParamJson
;
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/result/Result.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
result
;
import
java.io.Serializable
;
public
class
Result
implements
Serializable
{
private
String
code
;
private
String
msg
;
private
Object
data
;
public
Result
(
String
code
,
String
msg
,
Object
data
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
this
.
data
=
data
;
}
public
Result
(
String
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
Result
(
ResultEnum
resultEnum
){
this
.
code
=
resultEnum
.
getCode
();
this
.
msg
=
resultEnum
.
getMsg
();
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/result/ResultEnum.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
result
;
public
enum
ResultEnum
{
/**
* 请求成功
*/
SUCCESS
(
"0"
,
"接口请求成功!"
),
BUSSINESS_FAIL
(
"1"
,
"业务异常!"
),
FAIL
(
"2"
,
"接口请求失败!"
),
SYSTEM_EXCEPTION
(
"3"
,
"系统异常!"
)
,
NOT_IN_IPWHITE
(
"4"
,
"当前IP不在白名单中,请联系管理员"
),
SECRETKRY_ERROR
(
"5"
,
"secretKey不存在或秘钥不正确!"
)
,
VALIDATA_ERROR
(
"6"
,
""
);
private
String
code
;
private
String
msg
;
ResultEnum
(
String
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/task/SaticScheduleTask.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
task
;
import
com.zehong.monitorreprotdatafrogovernment.dao.JingyeDetectorInfoDao
;
import
com.zehong.monitorreprotdatafrogovernment.dao.YingdeDetectorInfoDao
;
import
com.zehong.monitorreprotdatafrogovernment.dao.ZhengyuanDetectorInfoDao
;
import
com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
javax.annotation.Resource
;
import
java.util.Date
;
@Configuration
@EnableScheduling
@PropertySource
(
value
=
"classpath:application.yml"
)
public
class
SaticScheduleTask
{
@Resource
private
JingyeDetectorInfoDao
jingyeDetectorInfoDao
;
@Resource
private
YingdeDetectorInfoDao
yingdeDetectorInfoDao
;
@Resource
private
ZhengyuanDetectorInfoDao
zhengyuanDetectorInfoDao
;
@Autowired
private
SendSmsTask
dynamicTask
;
@Value
(
"${sendSmsCron}"
)
private
String
sendSmsCron
;
@Scheduled
(
cron
=
"${cron}"
)
private
void
configureTasks
()
{
DetectorInfo
jingye
=
jingyeDetectorInfoDao
.
getRecentSendData
();
compareReportDate
(
jingye
.
getUpdateTime
(),
"jingye"
);
DetectorInfo
yingde
=
yingdeDetectorInfoDao
.
getRecentSendData
();
compareReportDate
(
yingde
.
getUpdateTime
(),
"yingde"
);
DetectorInfo
zhengyuan
=
zhengyuanDetectorInfoDao
.
getRecentSendData
();
compareReportDate
(
zhengyuan
.
getUpdateTime
(),
"zhengyuan"
);
}
/**
* 比较上报时间 超过五分钟为发送数据发送短信预警
* @param reportDate 上报时间
* @param company 公司
*/
private
void
compareReportDate
(
Date
reportDate
,
String
company
){
long
period
=
System
.
currentTimeMillis
()
-
reportDate
.
getTime
();
//超过五分钟未发送数据发送短信报警
if
(
5
<
period
/(
60
*
1000
)){
//如未及时处理没半小时发送一次短信
if
(!
dynamicTask
.
isExist
(
company
)){
//发送短信
dynamicTask
.
sendSms
(
company
);
//启动定时半小时后重新发送
dynamicTask
.
add
(
company
,
sendSmsCron
);
}
return
;
}
if
(
dynamicTask
.
isExist
(
company
)){
dynamicTask
.
stop
(
company
);
}
}
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/task/SendSmsTask.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
task
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zehong.monitorreprotdatafrogovernment.model.SendSmsParam
;
import
com.zehong.monitorreprotdatafrogovernment.result.Result
;
import
com.zehong.monitorreprotdatafrogovernment.result.ResultEnum
;
import
com.zehong.monitorreprotdatafrogovernment.utils.HttpUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
;
import
org.springframework.scheduling.support.CronTrigger
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.ScheduledFuture
;
@Component
public
class
SendSmsTask
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SendSmsTask
.
class
);
private
Map
<
String
,
ScheduledFuture
<?>>
taskMap
=
new
HashMap
<>();
@Value
(
"${secretKey}"
)
private
String
secretKey
;
@Value
(
"${phoneNums}"
)
private
String
[]
phoneNums
;
@Value
(
"${signName}"
)
private
String
signName
;
@Value
(
"${templateCode}"
)
private
String
templateCode
;
@Value
(
"${sendSmsUrl}"
)
private
String
sendSmsUrl
;
@Autowired
private
ThreadPoolTaskScheduler
threadPoolTaskScheduler
;
public
boolean
add
(
String
name
,
String
cron
)
{
if
(
null
!=
taskMap
.
get
(
name
))
{
return
false
;
}
ScheduledFuture
<?>
schedule
=
threadPoolTaskScheduler
.
schedule
(
new
TaskRunnable
(
name
),
new
CronTrigger
(
cron
));
taskMap
.
put
(
name
,
schedule
);
return
true
;
}
public
boolean
stop
(
String
name
)
{
if
(
null
==
taskMap
.
get
(
name
))
{
return
false
;
}
ScheduledFuture
<?>
scheduledFuture
=
taskMap
.
get
(
name
);
scheduledFuture
.
cancel
(
true
);
taskMap
.
remove
(
name
);
return
true
;
}
public
boolean
isExist
(
String
task
){
return
taskMap
.
containsKey
(
task
);
}
private
class
TaskRunnable
implements
Runnable
{
private
String
name
;
public
TaskRunnable
(
String
name
)
{
this
.
name
=
name
;
}
@Override
public
void
run
()
{
sendSms
(
name
);
}
}
public
void
sendSms
(
String
company
){
String
param
=
JSONObject
.
toJSONString
(
assemableParam
(
company
));
try
{
logger
.
info
(
"发送短信参数为:"
+
param
);
Result
result
=
HttpUtil
.
doPost
(
sendSmsUrl
,
param
);
if
(
ResultEnum
.
FAIL
.
getCode
().
equals
(
result
.
getCode
())
||
!
"0"
.
equals
(
JSONObject
.
parseObject
(
result
.
getMsg
()).
get
(
"code"
))){
throw
new
Exception
(
result
.
getMsg
());
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"发送短信失败:"
+
e
);
logger
.
error
(
"发送短信失败参数为:"
+
param
);
}
}
/**
* 获取公司名称
* @param company 公司标志
* @return String
*/
private
String
getCompanyName
(
String
company
){
switch
(
company
){
case
"jingye"
:
company
=
"敬业"
;
break
;
case
"yingde"
:
company
=
"盈得"
;
break
;
case
"zhengyuan"
:
company
=
"正元"
;
break
;
default
:
company
=
""
;
}
return
company
;
}
/**
* 拼装请求参数
* @param company 公司
* @return SendSmsParam
*/
private
SendSmsParam
assemableParam
(
String
company
){
SendSmsParam
sendSmsParam
=
new
SendSmsParam
();
sendSmsParam
.
setSecretKey
(
secretKey
);
StringBuilder
phoneNumberJson
=
new
StringBuilder
(
"["
);
StringBuilder
signNameJson
=
new
StringBuilder
(
"["
);
StringBuilder
templateParamJson
=
new
StringBuilder
(
"["
);
for
(
String
phone
:
phoneNums
){
phoneNumberJson
.
append
(
"\""
);
phoneNumberJson
.
append
(
phone
);
phoneNumberJson
.
append
(
"\","
);
signNameJson
.
append
(
"\""
);
signNameJson
.
append
(
signName
);
signNameJson
.
append
(
"\","
);
templateParamJson
.
append
(
"{\"company\":\""
);
templateParamJson
.
append
(
getCompanyName
(
company
));
templateParamJson
.
append
(
"\"},"
);
}
//群发号码
phoneNumberJson
.
deleteCharAt
(
phoneNumberJson
.
length
()
-
1
);
phoneNumberJson
.
append
(
"]"
);
//群发签名
signNameJson
.
deleteCharAt
(
signNameJson
.
length
()
-
1
);
signNameJson
.
append
(
"]"
);
//群发内容
templateParamJson
.
deleteCharAt
(
templateParamJson
.
length
()
-
1
);
templateParamJson
.
append
(
"]"
);
sendSmsParam
.
setPhoneNumberJson
(
phoneNumberJson
.
toString
());
sendSmsParam
.
setSignNameJson
(
signNameJson
.
toString
());
sendSmsParam
.
setTemplateCode
(
templateCode
);
sendSmsParam
.
setTemplateParamJson
(
templateParamJson
.
toString
());
return
sendSmsParam
;
}
}
src/main/java/com/zehong/monitorreprotdatafrogovernment/utils/HttpUtil.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
.
utils
;
import
com.zehong.monitorreprotdatafrogovernment.result.Result
;
import
com.zehong.monitorreprotdatafrogovernment.result.ResultEnum
;
import
org.apache.http.*
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.message.BasicNameValuePair
;
import
org.apache.http.protocol.HTTP
;
import
org.apache.http.util.EntityUtils
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
public
class
HttpUtil
{
/**
* get请求
* @return
*/
public
static
Result
doGet
(
String
url
)
throws
IOException
{
HttpClient
client
=
new
DefaultHttpClient
();
//发送get请求
HttpGet
request
=
new
HttpGet
(
url
);
HttpResponse
response
=
client
.
execute
(
request
);
/**请求发送成功,并得到响应**/
if
(
response
.
getStatusLine
().
getStatusCode
()
==
HttpStatus
.
SC_OK
)
{
/**读取服务器返回过来的json字符串数据**/
String
strResult
=
EntityUtils
.
toString
(
response
.
getEntity
());
return
new
Result
(
ResultEnum
.
SUCCESS
.
getCode
(),
strResult
);
}
return
new
Result
(
ResultEnum
.
FAIL
.
getCode
(),
EntityUtils
.
toString
(
response
.
getEntity
()));
}
/**
* post请求(用于key-value格式的参数)
* @param url
* @param params
* @return
*/
public
static
Result
doPost
(
String
url
,
Map
params
)
throws
IOException
,
URISyntaxException
{
// 定义HttpClient
HttpClient
client
=
new
DefaultHttpClient
();
// 实例化HTTP方法
HttpPost
request
=
new
HttpPost
();
request
.
setURI
(
new
URI
(
url
));
//设置参数
List
<
NameValuePair
>
nvps
=
new
ArrayList
<>();
for
(
Iterator
iter
=
params
.
keySet
().
iterator
();
iter
.
hasNext
();)
{
String
name
=
(
String
)
iter
.
next
();
String
value
=
String
.
valueOf
(
params
.
get
(
name
));
nvps
.
add
(
new
BasicNameValuePair
(
name
,
value
));
}
request
.
setEntity
(
new
UrlEncodedFormEntity
(
nvps
,
HTTP
.
UTF_8
));
HttpResponse
response
=
client
.
execute
(
request
);
int
code
=
response
.
getStatusLine
().
getStatusCode
();
BufferedReader
in
=
new
BufferedReader
(
new
InputStreamReader
(
response
.
getEntity
()
.
getContent
(),
"utf-8"
));
StringBuffer
sb
=
new
StringBuffer
(
""
);
String
line
=
""
;
String
NL
=
System
.
getProperty
(
"line.separator"
);
while
((
line
=
in
.
readLine
())
!=
null
)
{
sb
.
append
(
line
+
NL
);
}
in
.
close
();
//请求成功
if
(
code
==
200
){
return
new
Result
(
ResultEnum
.
SUCCESS
.
getCode
(),
sb
.
toString
());
}
return
new
Result
(
ResultEnum
.
FAIL
.
getCode
(),
sb
.
toString
());
}
/**
* post请求(用于请求json格式的参数)
* @param url
* @param params
* @return
*/
public
static
Result
doPost
(
String
url
,
String
params
)
throws
Exception
{
CloseableHttpClient
httpclient
=
HttpClients
.
createDefault
();
// 创建httpPost
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setHeader
(
"Accept"
,
"application/json"
);
httpPost
.
setHeader
(
"Content-Type"
,
"application/json"
);
String
charSet
=
"UTF-8"
;
StringEntity
entity
=
new
StringEntity
(
params
,
charSet
);
httpPost
.
setEntity
(
entity
);
CloseableHttpResponse
response
=
null
;
try
{
response
=
httpclient
.
execute
(
httpPost
);
StatusLine
status
=
response
.
getStatusLine
();
int
state
=
status
.
getStatusCode
();
HttpEntity
responseEntity
=
response
.
getEntity
();
String
jsonString
=
EntityUtils
.
toString
(
responseEntity
);
if
(
state
==
HttpStatus
.
SC_OK
)
{
return
new
Result
(
ResultEnum
.
SUCCESS
.
getCode
(),
jsonString
);
}
return
new
Result
(
ResultEnum
.
FAIL
.
getCode
(),
jsonString
);
}
finally
{
if
(
response
!=
null
)
{
response
.
close
();
}
httpclient
.
close
();
}
}
}
src/main/resources/application.yml
0 → 100644
View file @
5079db1d
server
:
port
:
8802
spring
:
datasource
:
dynamic
:
primary
:
db1
# 配置默认数据库
datasource
:
db1
:
# 数据源1配置 敬业数据库
url
:
jdbc:mysql://92.168.1.232:3306/jingye?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
username
:
windows
password
:
mysql@zehong.com
driver-class-name
:
com.mysql.cj.jdbc.Driver
db2
:
# 数据源2配置 盈得数据库
url
:
jdbc:mysql://localhost:3306/yingde?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
username
:
root
password
:
mysql@zehong.com
driver-class-name
:
com.mysql.cj.jdbc.Driver
db3
:
# 数据源3配置 正元数据库
url
:
jdbc:mysql://localhost:3306/zhengyuan?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
username
:
root
password
:
mysql@zehong.com
driver-class-name
:
com.mysql.cj.jdbc.Driver
durid
:
initial-size
:
1
max-active
:
20
min-idle
:
1
max-wait
:
60000
autoconfigure
:
exclude
:
com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
# 去除druid配置
mybatis
:
type-aliases-package
:
com.zehong.monitorreprotdatafrogovernment.entity
mapper-locations
:
classpath*:mapper/**/*Mapper.xml
#定时检测时间
cron
:
0/5 * * * * ?
#定时发送短信时间
sendSmsCron
:
0 0/30 * * * ?
sendSmsUrl
:
http://192.168.2.23:8801/sms/sendBatchSms
#通知号码
secretKey
:
f225e66813e6d6a663daf919c1935dcb
phoneNums
:
13930125936,13315145077
signName
:
泽宏云
templateCode
:
SMS_221736528
src/main/resources/mapper/JingyeDetectorInfoMapper.xml
0 → 100644
View file @
5079db1d
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.zehong.monitorreprotdatafrogovernment.dao.JingyeDetectorInfoDao"
>
<select
id=
"getRecentSendData"
resultType=
"com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo"
>
SELECT
id,
code,
time,
value,
type,
flag,
alarm_send,
realtime_send,
guid,
update_time
FROM
detector_info
WHERE realtime_send = '1'
ORDER BY update_time DESC
LIMIT 1
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/YingdeDetectorInfoMapper.xml
0 → 100644
View file @
5079db1d
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.zehong.monitorreprotdatafrogovernment.dao.YingdeDetectorInfoDao"
>
<select
id=
"getRecentSendData"
resultType=
"com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo"
>
SELECT
id,
code,
time,
value,
type,
flag,
alarm_send,
realtime_send,
guid,
update_time
FROM
detector_info
WHERE realtime_send = '1'
ORDER BY update_time DESC
LIMIT 1
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/ZhengyuanDetectorInfoMapper.xml
0 → 100644
View file @
5079db1d
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.zehong.monitorreprotdatafrogovernment.dao.ZhengyuanDetectorInfoDao"
>
<select
id=
"getRecentSendData"
resultType=
"com.zehong.monitorreprotdatafrogovernment.entity.DetectorInfo"
>
SELECT
id,
code,
time,
value,
type,
flag,
alarm_send,
realtime_send,
guid,
update_time
FROM
detector_info
WHERE realtime_send = '1'
ORDER BY update_time DESC
LIMIT 1
</select>
</mapper>
\ No newline at end of file
src/test/java/com/zehong/monitorreprotdatafrogovernment/MonitorReprotdataFrogovernmentApplicationTests.java
0 → 100644
View file @
5079db1d
package
com
.
zehong
.
monitorreprotdatafrogovernment
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
@SpringBootTest
class
MonitorReprotdataFrogovernmentApplicationTests
{
@Test
void
contextLoads
()
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment