Compare commits

...

46 Commits

Author SHA1 Message Date
huangfeng 6bab1e8f3f fix: 列表也把2查询出来 4 weeks ago
huangfeng 31f626cd67 feat: 查询1和2状态进行统计 4 weeks ago
huangfeng d1179bf563 feat: 删除方法扩展成可改变成维护状态 4 weeks ago
郭承 b66e7d0956 fix:撤销 3 months ago
郭承 569e6b471a fix:增加设备编号规则转换 3 months ago
huangfeng b4d7a88631 fix: 限制调用未完成不能再次调用 3 months ago
huangfeng 65842c1603 fix: 限制调用未完成不能再次调用 4 months ago
郭承 69d1ccab40 feat:图片轮询返回数据增加图片标记 8 months ago
huangfeng 09ef690186 fix: 修正tomcat下Multiple Endpoints 9 months ago
huangfeng 178b680dee build: 修正包名 9 months ago
郭承 2023d76f91 feat:图片轮巡增加管道id查询 9 months ago
郭承 09868ce503 feat:主动拍照增加定时任务推送通知 9 months ago
郭承 c30c5291bf Revert "feat:主动拍照增加定时任务推送通知"
This reverts commit 9e5f283984.
9 months ago
郭承 9e5f283984 feat:主动拍照增加定时任务推送通知 9 months ago
huangfeng 260d88a383 perf: 通知前端action好后续操作 9 months ago
huangfeng b22476dfad feat: 增加socket通知并调整数据结构 9 months ago
huangfeng 778a779510 fix: 补上缺少的 9 months ago
huangfeng 6d0d1e1277 feat: 增加socket通知并调整数据结构 9 months ago
huangfeng 91ddd6483c fix: 修正运行问题 9 months ago
huangfeng 068f16f603 feat: 增加websocket通知 9 months ago
huangfeng 997ea95114 build: 去掉不用的 9 months ago
liuguijing 391badf2aa 新疆微拍 1 year ago
liuguijing 27be46be4d 新增二级文件夹 1 year ago
liuguijing 421e81282f 新增二级文件夹 1 year ago
liuguijing 5ee190e5a4 修改划线功能请求慢的bug 1 year ago
liuguijing 7844f44ce1 湖南下发指令bug修改 1 year ago
liuguijing 2fa1b5df03 收藏夹修改 1 year ago
liuguijing abcabde513 新增protocol返回 1 year ago
liuguijing 192cb6fad4 补图功能 1 year ago
liuguijing 237446039d 删除图片和收藏夹 1 year ago
liuguijing 60fb1bf5d7 图片id 2 years ago
liuguijing 771a61629e 收藏夹功能 2 years ago
liuguijing a534352e01 收藏夹功能 2 years ago
liuguijing 86b3317c26 收藏夹功能 2 years ago
liuguijing 53720f250f 湖南 新增图片告警 2 years ago
liuguijing 7ddd07d908 系统升级 2 years ago
liuguijing d7820a3ec1 修改全局参数和告警参数 2 years ago
liuguijing 09c8cad166 新增装置图片和心跳统计
修改主动拍照的逻辑
2 years ago
liuguijing 05c1f4e40b 新增装置统计 2 years ago
liuguijing 4a586fc9de 首页装置统计 告警统计 2 years ago
liuguijing 8a1a9b6432 修复视频缩略图不显示的bug
修改主动拍照流程
2 years ago
liuguijing d31e24ecce 实时查询首页照片 2 years ago
liuguijing 481e8af7c5 首页查询接口新增在线装置和装置总数字段 2 years ago
liuguijing d0908dfd28 杆塔新增地址
时间表修改
线路增加模糊查询
杆塔增加模糊查询
2 years ago
liuguijing 94f87fc159 拍照时间表顺序修改 2 years ago
liuguijing 829a9833c4 拍照时间表修改 2 years ago

Binary file not shown.

@ -1,18 +0,0 @@
# 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.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar

316
mvnw vendored

@ -1,316 +0,0 @@
#!/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 /usr/local/etc/mavenrc ] ; then
. /usr/local/etc/mavenrc
fi
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="`\\unset -f command; \\command -v 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/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.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" || rm -f "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$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 \
$MAVEN_DEBUG_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" \
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

188
mvnw.cmd vendored

@ -1,188 +0,0 @@
@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 "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\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/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
FOR /F "usebackq 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%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.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 "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\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%
cmd /C exit /B %ERROR_CODE%

@ -32,6 +32,7 @@
<commons.fileupload.version>1.4</commons.fileupload.version>
<jwt.version>0.9.0</jwt.version>
<mybatisplus.version>3.2.0</mybatisplus.version>
<easyexcel.version>3.2.1</easyexcel.version>
</properties>
<dependencyManagement>
@ -115,7 +116,12 @@
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<!-- 阿里excel表格工具-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel.version}</version>
</dependency>
<!--一个开源工具类 一个Java基础工具类对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装组成各种Util工具类-->
<dependency>
@ -140,12 +146,12 @@
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.servlet</groupId>-->
<!-- <artifactId>javax.servlet-api</artifactId>-->
<!-- <version>4.0.1</version>-->
<!-- <scope>provided</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>javax.servlet</groupId>-->
<!-- <artifactId>javax.servlet-api</artifactId>-->
<!-- <version>4.0.1</version>-->
<!-- <scope>provided</scope>-->
<!-- </dependency>-->
<dependency>

@ -0,0 +1,18 @@
CREATE TABLE `terminal_main_favors` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
CREATE TABLE `terminal_favors` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
`main_id` int DEFAULT NULL COMMENT '一级文件夹id',
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

Binary file not shown.

@ -1,18 +0,0 @@
# 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.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar

@ -37,7 +37,7 @@
</exclusion>
</exclusions>
<scope>test</scope>
<version>2.5.6</version>
<version>${spring-boot-dependencies.version}</version>
</dependency>
<dependency>
@ -88,15 +88,9 @@
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 打包时排除src/main/resources下的所有以.properties .yml .xml为后缀的配置文件-->
<!-- <excludes>-->
<!-- <exclude>**/*.properties</exclude>-->
<!-- <exclude>**/*.yml</exclude>-->
<!-- <exclude>**/*.xml</exclude>-->
<!-- </excludes>-->
</resource>
</resources>
<finalName>xymanager-admin</finalName>
<finalName>xymanager</finalName>
</build>
</project>

@ -7,25 +7,23 @@ import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.model.DyLineTreeListModel;
import com.shxy.xymanager_common.model.DyListModel;
import com.shxy.xymanager_common.vo.PageVo;
import com.shxy.xymanager_common.vo.TerminalIdVo;
import com.shxy.xymanager_common.vo.TestVo;
import com.shxy.xymanager_common.model.TerminalPhotosModel;
import com.shxy.xymanager_common.util.xinyin.HeaderUtil;
import com.shxy.xymanager_common.vo.LastTowerVo;
import com.shxy.xymanager_service.service.DyLevelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(value = "电压等级接口", tags = "电压等级接口描述")
@RestController
@ -39,8 +37,8 @@ public class DyLevelController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getdyTreeList")
@Log(title = "获取电压等级树状列表接口", type = "查询")
public ResponseReult<DyLineTreeListModel> getdyTreeList() {
ServiceBody<DyLineTreeListModel> serviceBody = dyLevelService.getdyTreeList();
public ResponseReult<DyLineTreeListModel> getdyTreeList(@Param("type") Integer type) {
ServiceBody<DyLineTreeListModel> serviceBody = dyLevelService.getdyTreeList(type);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
@ -61,16 +59,20 @@ public class DyLevelController extends BaseController {
}
}
@ApiOperation(value = "测试测试", notes = "测试测试", httpMethod = "POST")
@ApiOperation(value = "根据电压或者线路获取所有杆塔和最新照片", notes = "根据电压或者线路获取所有杆塔和最新照片", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/gettest")
@Log(title = "测试测试", type = "查询")
public ResponseReult<String> gettest(@RequestBody List<TestVo> vo) {
ServiceBody<String> serviceBody = dyLevelService.gettest(vo);
@RequestMapping("/getTowerAndPhotoList")
@Log(title = "根据电压或者线路获取所有杆塔和最新照片", type = "查询")
public ResponseReult<TerminalPhotosModel> getLastTowerList(@RequestHeader HttpHeaders headers, @RequestBody LastTowerVo vo) {
String requestIp = HeaderUtil.getRequestIp(headers);
ServiceBody<TerminalPhotosModel> serviceBody = dyLevelService.getLastTowerList(requestIp,vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -5,6 +5,7 @@ import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.model.GlobalParamsModel;
import com.shxy.xymanager_service.service.GloablParamsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -29,8 +30,8 @@ public class GloableParamsController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getMarkEnableStatus")
@Log(title = "查询图片绘制开关状态", type = "查询")
public ResponseReult<Integer> getMarkEnableStatus() {
ServiceBody<Integer> serviceBody = gloableParamsService.getMarkEnableStatus();
public ResponseReult<GlobalParamsModel> getMarkEnableStatus() {
ServiceBody<GlobalParamsModel> serviceBody = gloableParamsService.getMarkEnableStatus();
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
@ -42,7 +43,7 @@ public class GloableParamsController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateMarkEnableStatus")
@Log(title = "修改图片绘制开关状态", type = "修改")
public ResponseReult<String> updateMarkEnableStatus(@RequestParam("status") Integer status) {
public ResponseReult<String> updateMarkEnableStatus(@RequestParam("status") Integer status) {
ServiceBody<String> serviceBody = gloableParamsService.updateMarkEnableStatus(status);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
@ -51,5 +52,17 @@ public class GloableParamsController extends BaseController {
}
}
@ApiOperation(value = "修改告警展示的通道接口", notes = "修改告警展示的通道接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateAlarmChannel")
@Log(title = "修改告警展示的通道接口", type = "修改")
public ResponseReult<String> updateAlarmChannel(@RequestParam("channel") Integer status) {
ServiceBody<String> serviceBody = gloableParamsService.updateAlarmChannel(status);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -34,7 +34,7 @@ public class LineController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getLineList")
@Log(title = "获取线路列表", type = "查询")
public ResponseReult<LineListModel> getLineList(@RequestBody @Validated PageVo vo) {
public ResponseReult<LineListModel> getLineList(@RequestBody @Validated SelectVo vo) {
ServiceBody<LineListModel> serviceBody = lineService.getLineList(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());

@ -7,7 +7,7 @@ import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.model.*;
import com.shxy.xymanager_common.util.HeaderUtil;
import com.shxy.xymanager_common.util.xinyin.HeaderUtil;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.OpenService;
import com.shxy.xymanager_service.service.TerminalPhotoService;

@ -0,0 +1,87 @@
package com.shxy.xymanager_admin.controller;
import cn.hutool.json.JSONObject;
import com.shxy.xymanager_common.annotation.Log;
import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.model.OpenTerminalsModel;
import com.shxy.xymanager_common.model.TerminalPhotoListForOpenModel;
import com.shxy.xymanager_common.model.TerminalStatisticsModel;
import com.shxy.xymanager_common.util.xinyin.HeaderUtil;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.OpenService;
import com.shxy.xymanager_service.service.TerminalPhotoService;
import com.shxy.xymanager_service.service.TerminalService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(value = "新疆平台接口", tags = "新疆平台相关")
@RestController
@Slf4j
public class OpenXJController extends BaseController {
@Autowired
TerminalPhotoService terminalPhotoService;
@Autowired
TerminalService terminalService;
@Autowired
OpenService openService;
@ApiOperation(value = "新疆设备列表接口", notes = "新疆设备列表接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getXJDeviceList")
@Log(title = "设备列表接口", type = "查询")
public ResponseReult<List<OpenTerminalsModel>> getDeviceListForXJ() {
ServiceBody<List<OpenTerminalsModel>> serviceBody = openService.getDeviceListForXJ();
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "新疆图片查询", notes = "新疆图片查询", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getXJPhotoList")
@Log(title = "对外图片查询", type = "查询")
public ResponseReult<TerminalPhotoListForOpenModel> getXJPhotoList(@RequestHeader HttpHeaders headers, @RequestBody @Validated OpenTerminalAndTimeVo vo) {
String requestIp = HeaderUtil.getAddress();
ServiceBody<TerminalPhotoListForOpenModel> serviceBody = terminalPhotoService.getPhotoListForOpen(requestIp, vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "新疆远程拍照(短视频)控制", notes = "新疆远程拍照(短视频)控制接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 1, message = "设备参数缺少"), @ApiResponse(code = 2, message = "设备不存在")})
@RequestMapping("/ctrlXJCmaDeviceCapture")
@Log(title = "远程拍照(短视频)控制", type = "查询")
public ResponseReult<String> ctrlCmaDeviceCapture(@RequestBody @Validated OpenXJDeviceCaptureVo vo) {
ServiceBody<String> serviceBody = openService.ctrlXJCmaDeviceCapture(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -5,6 +5,7 @@ import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.entity.RequestResults;
import com.shxy.xymanager_common.model.*;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.TermSetService;
@ -54,4 +55,6 @@ public class TermSetController extends BaseController {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -6,7 +6,7 @@ import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.model.*;
import com.shxy.xymanager_common.util.HeaderUtil;
import com.shxy.xymanager_common.util.xinyin.HeaderUtil;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.TerminalAlarmService;
import io.swagger.annotations.Api;
@ -72,7 +72,6 @@ public class TerminalAlarmController extends BaseController {
}
}
@ApiOperation(value = "修改告警分类列表", notes = "修改告警分类列表", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateAlarmTypeList")
@ -86,4 +85,30 @@ public class TerminalAlarmController extends BaseController {
}
}
@ApiOperation(value = "七天报警统计", notes = "七天报警统计接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getWeekAlarmStatistics")
@Log(title = "七天报警统计", type = "查询")
public ResponseReult<TerminalWeekAlarmStatisticsModel> getWeekAlarmStatistics(@Validated WeekAlarmVo vo) {
ServiceBody<TerminalWeekAlarmStatisticsModel> serviceBody = terminalAlarmService.getWeekAlarmStatistics(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "当日报警统计", notes = "当日报警统计", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTodayAlarmStatistics")
@Log(title = "当日报警统计", type = "查询")
public ResponseReult<TerminalTodayAlarmStatisticsModel> getTodayAlarmStatistics(@Validated WeekAlarmVo vo) {
ServiceBody<TerminalTodayAlarmStatisticsModel> serviceBody = terminalAlarmService.getTodayAlarmStatistics(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -5,8 +5,13 @@ import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.entity.TerminalFavors;
import com.shxy.xymanager_common.entity.TerminalMainFavors;
import com.shxy.xymanager_common.excelbean.TerminalAndLastPicListExcelModel;
import com.shxy.xymanager_common.excelbean.TerminalListExcelModel;
import com.shxy.xymanager_common.model.*;
import com.shxy.xymanager_common.util.HeaderUtil;
import com.shxy.xymanager_common.util.EasyExcelUtil;
import com.shxy.xymanager_common.util.xinyin.HeaderUtil;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.TerminalService;
import io.swagger.annotations.Api;
@ -14,11 +19,16 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@Api(value = "设备接口", tags = "设备接口相关")
@RestController
@ -41,6 +51,15 @@ public class TerminalController extends BaseController {
}
}
@ApiOperation(value = "导出设备列表Excel", notes = "导出设备列表Excel", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTerminalListExcel")
@Log(title = "获取设备列表", type = "查询")
public void getTerminalListExcel(HttpServletResponse response) throws IOException {
ServiceBody<List<TerminalListExcelModel>> serviceBody = terminalService.getTerminalListExcel(null);
EasyExcelUtil.createExcel(response, "设备表", serviceBody.getData(), TerminalListExcelModel.class);
}
@ApiOperation(value = "获取绘制图标", notes = "绘制坐标保存接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getCoordinate")
@ -224,4 +243,127 @@ public class TerminalController extends BaseController {
}
}
@ApiOperation(value = "装置统计", notes = "装置统计", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTermStatistics")
@Log(title = "装置统计", type = "查询")
public ResponseReult<TerminalStatisticsModel> getTermStatistics() {
ServiceBody<TerminalStatisticsModel> serviceBody = terminalService.getTermStatistics();
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "获取在线设备列表", notes = "获取在线设备列表接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getOnlineTerminalList")
@Log(title = "获取设备列表", type = "查询")
public ResponseReult<List<TerminalAndLastPicListExcelModel>> getOnlineTerminalList(@Param("type") Integer type) {
ServiceBody<List<TerminalAndLastPicListExcelModel>> serviceBody = terminalService.getOnlineTerminalList(type);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "导出设备在线和心跳时间和照片时间列表Excel", notes = "导出设备在线和心跳时间和照片时间列表Excel", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getOnlineTerminalListExcel")
@Log(title = "导出设备在线和心跳时间和照片时间列表Excel", type = "查询")
public void getOnlineTerminalListExcel(HttpServletResponse response, @Param("type") Integer type) throws IOException {
ServiceBody<List<TerminalAndLastPicListExcelModel>> serviceBody = terminalService.getOnlineTerminalList(type);
EasyExcelUtil.createExcel(response, "设备在线表", serviceBody.getData(), TerminalAndLastPicListExcelModel.class);
}
@ApiOperation(value = "新增设备进收藏夹接口", notes = "新增设备进收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/addFavorList")
@Log(title = "新增设备进收藏夹接口", type = "新增")
public ResponseReult<String> addFavorList(@RequestBody FavorVo vo) {
ServiceBody<String> serviceBody = terminalService.addFavorList(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "获取一级收藏夹接口", notes = "获取收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/listMainFavor")
@Log(title = "获取收藏夹接口", type = "查询")
public ResponseReult<List<TerminalMainFavors>> getMainFavorList() {
List<TerminalMainFavors> serviceBody = terminalService.getMainFavorList();
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "新增一级收藏夹接口", notes = "新增收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/addMainFavor")
@Log(title = "新增收藏夹接口", type = "新增")
public ResponseReult<String> addMainFavor(@RequestBody TerminalMainFavors vo) {
String serviceBody = terminalService.addMainFavor(vo);
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "修改一级收藏夹接口", notes = "修改收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateMainFavor")
@Log(title = "修改收藏夹接口", type = "修改")
public ResponseReult<String> updateMainFavor(@RequestBody TerminalMainFavors vo) {
String serviceBody = terminalService.updateMainFavor(vo);
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "删除一级收藏夹接口", notes = "删除收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/deleteMainFavor")
@Log(title = "删除收藏夹接口", type = "删除")
public ResponseReult<String> deleteMainFavor(@RequestBody TerminalMainFavors vo) {
String serviceBody = terminalService.deleteMainFavor(vo);
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "获取收藏夹接口", notes = "获取收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/listFavor")
@Log(title = "获取收藏夹接口", type = "查询")
public ResponseReult<List<TerminalFavors>> getFavorList(@Param("mainid") Integer id) {
List<TerminalFavors> serviceBody = terminalService.getFavorList(id);
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "新增收藏夹接口", notes = "新增收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/addFavor")
@Log(title = "新增收藏夹接口", type = "新增")
public ResponseReult<String> addFavor(@RequestBody TerminalFavors vo) {
String serviceBody = terminalService.addFavor(vo);
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "修改收藏夹接口", notes = "修改收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/updateFavor")
@Log(title = "修改收藏夹接口", type = "修改")
public ResponseReult<String> updateFavor(@RequestBody TerminalFavors vo) {
String serviceBody = terminalService.updateFavor(vo);
return ResponseReult.success(serviceBody);
}
@ApiOperation(value = "删除收藏夹接口", notes = "删除收藏夹接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/deleteFavor")
@Log(title = "删除收藏夹接口", type = "删除")
public ResponseReult<String> deleteFavor(@RequestBody TerminalFavors vo) {
String serviceBody = terminalService.deleteFavor(vo);
return ResponseReult.success(serviceBody);
}
}

@ -5,8 +5,9 @@ import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.exception.ApiException;
import com.shxy.xymanager_common.model.*;
import com.shxy.xymanager_common.util.HeaderUtil;
import com.shxy.xymanager_common.util.xinyin.HeaderUtil;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.TerminalPhotoService;
import io.swagger.annotations.Api;
@ -17,12 +18,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.HashMap;
@Api(value = "图片接口", tags = "图片接口相关")
@ -49,10 +47,10 @@ public class TerminalPhotoController extends BaseController {
@ApiOperation(value = "主动拍照", notes = "主动拍照接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getLatestPhoto")
@RequestMapping("/takePic")
@Log(title = "主动拍照", type = "查询")
public ResponseReult<Date> getLatestPhoto(@RequestBody @Validated TerminalPhotoVo vo) {
ServiceBody<Date> serviceBody = terminalPhotoService.getLatestPhoto(vo);
public ResponseReult<TakePIcModel> takePic(@RequestBody @Validated TerminalPhotoVo vo) {
ServiceBody<TakePIcModel> serviceBody = terminalPhotoService.takePic(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
@ -60,6 +58,51 @@ public class TerminalPhotoController extends BaseController {
}
}
HashMap<Integer, String> workingMap = new HashMap<>();
@ApiOperation(value = "主动拍照下发状态查询", notes = "主动拍照下发状态查询接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTakePicStatus")
@Log(title = "主动拍照下发状态查询", type = "查询")
public ResponseReult<TakePIcStatusModel> getTakePicStatus(@Validated ReturnedPhotoVo vo) {
try{
if (workingMap.containsKey(vo.getRequestid())){
throw new ApiException("相同请求正在处理中, 请刷新页面更新");
}
workingMap.put(vo.getRequestid(), "1");
ServiceBody<TakePIcStatusModel> serviceBody = terminalPhotoService.getTakePicStatus(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
finally {
workingMap.remove(vo.getRequestid());
}
}
@ApiOperation(value = "主动拍照下照片状态查询", notes = "主动拍照下照片状态查询接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTakePicPhotoStatus")
@Log(title = "主动拍照下照片状态查询", type = "查询")
public ResponseReult<Boolean> getTakePicPhotoStatus( @Validated ReturnedPhotoVo vo) {
try {
if (workingMap.containsKey(vo.getRequestid())) {
throw new ApiException("相同请求正在处理中, 请刷新页面更新");
}
workingMap.put(vo.getRequestid(), "1");
ServiceBody<Boolean> serviceBody = terminalPhotoService.getTakePicPhotoStatus(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
} finally {
workingMap.remove(vo.getRequestid());
}
}
@ApiOperation(value = "拍照时间表查询触发", notes = "拍照时间表查询触发", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/selectPhotoTimeGet")
@ -73,19 +116,6 @@ public class TerminalPhotoController extends BaseController {
}
}
@ApiOperation(value = "拍照时间表查询", notes = "拍照时间表查询", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/selectPhotoTime")
@Log(title = "拍照时间表查询", type = "查询")
public ResponseReult<TerminalScheduleRuleTimeListModel> selectPhotoTime(@RequestBody @Validated TerminalReqPhotoTimeVo vo) {
ServiceBody<TerminalScheduleRuleTimeListModel> serviceBody = terminalPhotoService.selectPhotoTime(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "图片查询", notes = "图片查询接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getPhotoList")
@ -100,18 +130,6 @@ public class TerminalPhotoController extends BaseController {
}
}
@ApiOperation(value = "最新图片查询", notes = "图片查询接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getReturnedPhoto")
@Log(title = "最新图片查询", type = "查询")
public ResponseReult<Boolean> getReturnedPhoto(@RequestBody @Validated ReturnedPhotoVo vo) {
ServiceBody<Boolean> serviceBody = terminalPhotoService.getReturnedPhoto(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "图片轮询", notes = "图片轮询接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@ -166,7 +184,6 @@ public class TerminalPhotoController extends BaseController {
}
}
@ApiOperation(value = "历史图片", notes = "历史图片接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getHistoryList")
@ -181,4 +198,17 @@ public class TerminalPhotoController extends BaseController {
}
}
@ApiOperation(value = "删除图片", notes = "删除图片接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/deletePicList")
@Log(title = "删除图片", type = "删除")
public ResponseReult<String> deletePicList(@RequestBody @Validated DeletePicVo vo) {
ServiceBody<String> serviceBody = terminalPhotoService.deletePicList(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
}

@ -1,57 +1,36 @@
package com.shxy.xymanager_admin.controller;
import com.shxy.xymanager_common.annotation.Log;
import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.base.ResponseReult;
import com.shxy.xymanager_framework.socket.WebSocketServer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api(value = "测试接口", tags = "测试接口tags")
@Controller
@RestController
@Api(tags = {"测试接口"})
@RequestMapping("test")
@Slf4j
public class TestController {
public class TestController extends BaseController {
@ApiOperation(value = "测试", notes = "测试notes", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/user/login")
@Log(title = "测试", type = "查询")
public String gettest() {
log.info("有一个沙雕点了链接");
return "/api/index2";
}
@Resource
WebSocketServer webSocketServer;
@GetMapping("/user/logins")
@Log(title = "测试", type = "查询")
public String hhtest() {
log.info("有一个沙雕点了链接");
return "/api/index2.html";
@GetMapping("sendMsg")
@ApiOperation("发送消息")
public void sendMsg(String msg) {
webSocketServer.sendNotice(null, msg);
}
// @ApiOperation(value = "登录", notes = "登录", httpMethod = "POST")
//// @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
// @RequestMapping("/login")
// @Log(title = "登录", type = "查询")
// public String login(String username, String password) {
// //获取主题对象
// Subject subject = SecurityUtils.getSubject();
// try {
// subject.login(new UsernamePasswordToken(username,password));
// System.out.println("登录成功!!!");
// return "登录成功";
// } catch (UnknownAccountException e) {
// e.printStackTrace();
// System.out.println("用户错误!!!");
// } catch (IncorrectCredentialsException e) {
// System.out.println("密码错误!!!");
// }
// return "登录失败";
// }
@GetMapping("test")
@ApiOperation("test")
public ResponseReult<String> test() {
return ResponseReult.success("OK");
}
}

@ -8,10 +8,7 @@ import com.shxy.xymanager_common.bean.ServiceStatus;
import com.shxy.xymanager_common.dto.TowerDto;
import com.shxy.xymanager_common.model.AllTowerListModel;
import com.shxy.xymanager_common.model.TowerListModel;
import com.shxy.xymanager_common.vo.PageVo;
import com.shxy.xymanager_common.vo.TowerIdVo;
import com.shxy.xymanager_common.vo.TowersVo;
import com.shxy.xymanager_common.vo.UpdateTowerVo;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_service.service.TowerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -51,7 +48,7 @@ public class TowerController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTowerList")
@Log(title = "获取杆塔列表", type = "查询")
public ResponseReult<TowerListModel> getTowerList(@RequestBody @Validated PageVo vo) {
public ResponseReult<TowerListModel> getTowerList(@RequestBody @Validated SelectVo vo) {
ServiceBody<TowerListModel> serviceBody = towerService.getTowerList(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
@ -113,4 +110,5 @@ public class TowerController extends BaseController {
}
}

@ -2,7 +2,7 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/xymp?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://192.168.1.190:3306/hunan_0905?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
@ -119,7 +119,7 @@ xymanager:
# 开发环境配置
server:
# 服务器的HTTP端口默认为8080
port: 8093
port: 8094
servlet:
# 应用的访问路径
context-path: /api

@ -1,30 +1,11 @@
package com.shxy.xymanager_admin;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.shxy.xymanager_common.config.CustomRsaProperties;
import com.shxy.xymanager_common.dto.*;
import com.shxy.xymanager_common.entity.Lines;
import com.shxy.xymanager_common.entity.RequestResults;
import com.shxy.xymanager_common.entity.TerminalImgAlarmParams;
import com.shxy.xymanager_common.entity.Terminals;
import com.shxy.xymanager_common.enums.CommonStatus;
import com.shxy.xymanager_common.util.*;
import com.shxy.xymanager_dao.dao.*;
import com.shxy.xymanager_service.service.CacheService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@SpringBootTest
class XymanagerAdminApplicationTests {
@ -313,11 +294,19 @@ class XymanagerAdminApplicationTests {
// Lines line = cacheService.getLine(108);
// System.out.println(line);
ArrayList<String> list = new ArrayList<>();
list.add("dfsaf");
list.add("ewrqer");
list.add("wfsakfd");
System.out.println(list.toArray());
// ArrayList<String> list = new ArrayList<>();
// list.add("dfsaf");
// list.add("ewrqer");
// list.add("wfsakfd");
// System.out.println(list.toArray());
// Date date = MyDateUtils.date(1689846097752l);
//
// DateTime dateTime1 = MyDateUtils.offsetDay(date, -1);
// DateTime dateTime2 = MyDateUtils.offsetDay(date, -2);
// DateTime dateTime3 = MyDateUtils.offsetDay(date, -3);
// DateTime dateTime4 = MyDateUtils.offsetDay(date, -4);
// System.out.println(dateTime1.toString());
}

@ -51,11 +51,11 @@
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>eu.bitwalker</groupId>-->
<!-- <artifactId>UserAgentUtils</artifactId>-->
<!-- <version>1.21</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>eu.bitwalker</groupId>-->
<!-- <artifactId>UserAgentUtils</artifactId>-->
<!-- <version>1.21</version>-->
<!-- </dependency>-->
<!--指定swagger-models版本解决报错-->
<dependency>
@ -74,6 +74,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!--用于解决tomcat中log4j2-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
</dependency>
<!-- 阿里JSON解析器 -->
@ -95,7 +100,6 @@
</dependency>
<!-- 文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
@ -123,18 +127,23 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- &lt;!&ndash;shiro&ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>org.apache.shiro</groupId>-->
<!-- <artifactId>shiro-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
<!-- &lt;!&ndash;shiro&ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>org.apache.shiro</groupId>-->
<!-- <artifactId>shiro-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-security</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-security</artifactId>-->
<!-- </dependency>-->
</dependencies>

@ -9,36 +9,36 @@ import java.util.concurrent.atomic.AtomicInteger;
/**
*
*
* @author xzg
*
* @author jingjing
*/
@Component
public class Constants
{
public class Constants {
@Value("${cma.server}")
public String cmServer;
@Value("${cma.port}")
public int cmaPort;
public int cmaPort;
private static String server;
public static String server;
private static int port;
public static int port;
public static String CMD = "";
public static String newCMD = "";
@PostConstruct
private void init(){
private void init() {
server = cmServer;
port = cmaPort;
CMD = "/usr/local/bin/xympadmn --server="+server+" --port="+port+" --act=";
CMD = "/usr/local/bin/xympadmn --server=" + server + " --port=" + port + " --udp=1"+ " --act=";
// CMD = "C:\\Users\\shxy\\Desktop\\xymp\\xympadmn --server=" + server + " --port=" + port + " --udp=1"+ " --act=";
newCMD = "/usr/local/bin/xympadmn --server=" + server + " --port=" + port;
}
/**
* UTF-8
*/
@ -182,8 +182,8 @@ public class Constants
/**
*
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework.jndi" };
public static final String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework.jndi"};
/**
*
@ -193,7 +193,7 @@ public class Constants
/**
* JNIID
*/
public static AtomicInteger REQUEST_ID = new AtomicInteger((int) (System.currentTimeMillis()/1000 - 1672502400)); // Based On 2023-01-01 00:00:00
public static AtomicInteger REQUEST_ID = new AtomicInteger((int) (System.currentTimeMillis() / 1000 - 1672502400)); // Based On 2023-01-01 00:00:00
}

@ -4,7 +4,7 @@ import lombok.Data;
@Data
public class DyLineAndTowertDto {
public class DyLineAndTowertDto {
private Integer dyId;

@ -0,0 +1,21 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
@Data
public class GroupAlarmType implements Serializable {
private BigInteger num;
private Integer label;
private String name;
private String enname;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,16 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.List;
@Data
public class LastPicTimeDto implements Serializable {
private BigInteger photoTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,94 @@
package com.shxy.xymanager_common.dto;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import com.shxy.xymanager_common.enums.CommonStatus;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_common.util.xinyin.TerminalUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
@Data
@ApiModel(value = "对外设备列表", description = "对外设备列表")
public class OpenTerminalsAndStatusDto implements Serializable {
@ApiModelProperty(value = "id", example = "123456")
private Integer id;
@ApiModelProperty(value = "装置编号", example = "123456")
private String cmdid;
@ApiModelProperty(value = "装置原始编号", example = "123456")
private Short orgId;
@ApiModelProperty(value = "装置名称", example = "123456")
private String equipName;
@ApiModelProperty(value = "装置显示名称", example = "123456")
private String displayName;
private String model;
@ApiModelProperty(value = "装置出厂版本", example = "123456")
private String essentialInfoVersion;
private Integer hasPan;
@ApiModelProperty(value = "装置生产厂家", example = "123456")
private String bsManufacturer;
@ApiModelProperty(value = "装置生产日期", example = "123456")
private Date bsProductionDate;
@ApiModelProperty(value = "装置出厂编号", example = "123456")
private String bsIdentifier;
@ApiModelProperty(value = "纬度", example = "123456")
private Double latitude;
@ApiModelProperty(value = "经度", example = "123456")
private Double longitude;
private Integer status;
@ApiModelProperty(value = "规约编号", example = "123456")
private Integer protocol;
private Short signalStrength4g;
private BigInteger bootTime;
private float batteryCapacity;
private float batteryVoltage;
private BigInteger lastHeartbeat;
@ApiModelProperty(value = "在线状态", example = "0--掉线1--在线")
private Integer onlinestatus;
public Integer getOnlinestatus() {
if (lastHeartbeat == null) {
return CommonStatus.DELETE.value();
}
long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue());
DateTime date = MyDateUtils.date(time);
long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE);
if (between > TerminalUtils.hearttime) {
return CommonStatus.DELETE.value();
} else {
return CommonStatus.EFFECTIVE.value();
}
}
private String sim;
private Date workingDate;
private Integer netType;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,59 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
@Data
public class TerminalImgAlarmsAndPhotoDto implements Serializable {
private BigInteger id;
private Integer termId;
private Integer channelId;
private Integer presetId;
private BigInteger photoOrgId;
private BigInteger alarmTime;
private Integer label;
private String name;
private String enname;
private Float prob;
private Float x;
private Float y;
private Float width;
private Float height;
private Integer isread;
private Integer mediaType;
private Integer photowidth;
private Integer photoheight;
private Integer fileSize;
private BigInteger photoTime;
private BigInteger recvTime;
private String path;
private String thumb;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,25 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
@Data
public class TerminalsAndPositionDto implements Serializable {
private Integer id;
private Integer towerId;
private String cmdId;
private Double latitude;
private Double longitude;
private Integer radius;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,42 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
@Data
public class TerminalsAndStatusAndLastPicDto implements Serializable {
private Integer id;
private Integer towerId;
private String cmdId;
private String displayName;
private Integer status;
private Integer signalStrength4g;
private BigInteger bootTime;
private float batteryCapacity;
private float batteryVoltage;
private BigInteger lastHeartbeat;
private Double latitude;
private Double longitude;
private Integer radius;
private List<LastPicTimeDto> list;
private static final long serialVersionUID = 1L;
}

@ -1,6 +1,7 @@
package com.shxy.xymanager_common.dto;
import lombok.Data;
import org.omg.CORBA.INTERNAL;
import java.io.Serializable;
import java.math.BigInteger;
@ -27,7 +28,7 @@ public class TerminalsAndStatusDto implements Serializable {
private String essentialInfoVersion;
private Byte hasPan;
private Integer hasPan;
private String bsManufacturer;
@ -41,6 +42,8 @@ public class TerminalsAndStatusDto implements Serializable {
private Integer status;
private Integer protocol;
private Short signalStrength4g;
private BigInteger bootTime;
@ -51,6 +54,10 @@ public class TerminalsAndStatusDto implements Serializable {
private BigInteger lastHeartbeat;
private String sim;
private Date workingDate;
private Integer netType;
private static final long serialVersionUID = 1L;
}

@ -16,6 +16,8 @@ public class TerminalsWithHeart implements Serializable {
private String name;
private String address;
private String cmdid;
private Short orgId;
@ -28,7 +30,7 @@ public class TerminalsWithHeart implements Serializable {
private String essentialInfoVersion;
private Byte hasPan;
private Integer hasPan;
private String bsManufacturer;
@ -46,6 +48,11 @@ public class TerminalsWithHeart implements Serializable {
private BigInteger lastheartbeat;
private Integer protocol;
private Integer isfavor;
private static final long serialVersionUID = 1L;
}

@ -14,6 +14,8 @@ public class TowerDto implements Serializable {
private String lineName;
private String address;
private Integer order;
private Integer status;

@ -0,0 +1,17 @@
package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class Protocols implements Serializable {
private Integer id;
private String name;
private String version;
private static final long serialVersionUID = 1L;
}

@ -3,6 +3,7 @@ package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
@Data
public class RequestResults implements Serializable {
@ -22,9 +23,9 @@ public class RequestResults implements Serializable {
private Integer scheduleStatus;
private Long requestTime;
private BigInteger requestTime;
private Long createTime;
private BigInteger createTime;
private String data;

@ -0,0 +1,23 @@
package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class TerminalFavors implements Serializable {
private Integer id;
private String name;
private Date createTime;
private Date updateTime;
private Integer mainId;
private String mainname;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,511 @@
package com.shxy.xymanager_common.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TerminalFavorsExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TerminalFavorsExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andMainIdIsNull() {
addCriterion("main_id is null");
return (Criteria) this;
}
public Criteria andMainIdIsNotNull() {
addCriterion("main_id is not null");
return (Criteria) this;
}
public Criteria andMainIdEqualTo(Integer value) {
addCriterion("main_id =", value, "mainId");
return (Criteria) this;
}
public Criteria andMainIdNotEqualTo(Integer value) {
addCriterion("main_id <>", value, "mainId");
return (Criteria) this;
}
public Criteria andMainIdGreaterThan(Integer value) {
addCriterion("main_id >", value, "mainId");
return (Criteria) this;
}
public Criteria andMainIdGreaterThanOrEqualTo(Integer value) {
addCriterion("main_id >=", value, "mainId");
return (Criteria) this;
}
public Criteria andMainIdLessThan(Integer value) {
addCriterion("main_id <", value, "mainId");
return (Criteria) this;
}
public Criteria andMainIdLessThanOrEqualTo(Integer value) {
addCriterion("main_id <=", value, "mainId");
return (Criteria) this;
}
public Criteria andMainIdIn(List<Integer> values) {
addCriterion("main_id in", values, "mainId");
return (Criteria) this;
}
public Criteria andMainIdNotIn(List<Integer> values) {
addCriterion("main_id not in", values, "mainId");
return (Criteria) this;
}
public Criteria andMainIdBetween(Integer value1, Integer value2) {
addCriterion("main_id between", value1, value2, "mainId");
return (Criteria) this;
}
public Criteria andMainIdNotBetween(Integer value1, Integer value2) {
addCriterion("main_id not between", value1, value2, "mainId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,17 @@
package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class TerminalFavs implements Serializable {
private Integer termId;
private Date createTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,20 @@
package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class TerminalMainFavors implements Serializable {
private Integer id;
private String name;
private Date createTime;
private Date updateTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,451 @@
package com.shxy.xymanager_common.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TerminalMainFavorsExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TerminalMainFavorsExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -1,16 +1,14 @@
package com.shxy.xymanager_common.entity;
import com.shxy.xymanager_common.dto.TermChannelCoordinateDto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
@Data
public class TerminalPhoto implements Serializable {
private Long id;
private BigInteger id;
private Integer termId;

@ -0,0 +1,23 @@
package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class TerminalPhotoMarkPaths implements Serializable {
private Integer id;
private Integer markId;
private Float x1;
private Float y1;
private Float x2;
private Float y2;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,560 @@
package com.shxy.xymanager_common.entity;
import java.util.ArrayList;
import java.util.List;
public class TerminalPhotoMarkPathsExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TerminalPhotoMarkPathsExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andMarkIdIsNull() {
addCriterion("mark_id is null");
return (Criteria) this;
}
public Criteria andMarkIdIsNotNull() {
addCriterion("mark_id is not null");
return (Criteria) this;
}
public Criteria andMarkIdEqualTo(Integer value) {
addCriterion("mark_id =", value, "markId");
return (Criteria) this;
}
public Criteria andMarkIdNotEqualTo(Integer value) {
addCriterion("mark_id <>", value, "markId");
return (Criteria) this;
}
public Criteria andMarkIdGreaterThan(Integer value) {
addCriterion("mark_id >", value, "markId");
return (Criteria) this;
}
public Criteria andMarkIdGreaterThanOrEqualTo(Integer value) {
addCriterion("mark_id >=", value, "markId");
return (Criteria) this;
}
public Criteria andMarkIdLessThan(Integer value) {
addCriterion("mark_id <", value, "markId");
return (Criteria) this;
}
public Criteria andMarkIdLessThanOrEqualTo(Integer value) {
addCriterion("mark_id <=", value, "markId");
return (Criteria) this;
}
public Criteria andMarkIdIn(List<Integer> values) {
addCriterion("mark_id in", values, "markId");
return (Criteria) this;
}
public Criteria andMarkIdNotIn(List<Integer> values) {
addCriterion("mark_id not in", values, "markId");
return (Criteria) this;
}
public Criteria andMarkIdBetween(Integer value1, Integer value2) {
addCriterion("mark_id between", value1, value2, "markId");
return (Criteria) this;
}
public Criteria andMarkIdNotBetween(Integer value1, Integer value2) {
addCriterion("mark_id not between", value1, value2, "markId");
return (Criteria) this;
}
public Criteria andX1IsNull() {
addCriterion("x1 is null");
return (Criteria) this;
}
public Criteria andX1IsNotNull() {
addCriterion("x1 is not null");
return (Criteria) this;
}
public Criteria andX1EqualTo(Float value) {
addCriterion("x1 =", value, "x1");
return (Criteria) this;
}
public Criteria andX1NotEqualTo(Float value) {
addCriterion("x1 <>", value, "x1");
return (Criteria) this;
}
public Criteria andX1GreaterThan(Float value) {
addCriterion("x1 >", value, "x1");
return (Criteria) this;
}
public Criteria andX1GreaterThanOrEqualTo(Float value) {
addCriterion("x1 >=", value, "x1");
return (Criteria) this;
}
public Criteria andX1LessThan(Float value) {
addCriterion("x1 <", value, "x1");
return (Criteria) this;
}
public Criteria andX1LessThanOrEqualTo(Float value) {
addCriterion("x1 <=", value, "x1");
return (Criteria) this;
}
public Criteria andX1In(List<Float> values) {
addCriterion("x1 in", values, "x1");
return (Criteria) this;
}
public Criteria andX1NotIn(List<Float> values) {
addCriterion("x1 not in", values, "x1");
return (Criteria) this;
}
public Criteria andX1Between(Float value1, Float value2) {
addCriterion("x1 between", value1, value2, "x1");
return (Criteria) this;
}
public Criteria andX1NotBetween(Float value1, Float value2) {
addCriterion("x1 not between", value1, value2, "x1");
return (Criteria) this;
}
public Criteria andY1IsNull() {
addCriterion("y1 is null");
return (Criteria) this;
}
public Criteria andY1IsNotNull() {
addCriterion("y1 is not null");
return (Criteria) this;
}
public Criteria andY1EqualTo(Float value) {
addCriterion("y1 =", value, "y1");
return (Criteria) this;
}
public Criteria andY1NotEqualTo(Float value) {
addCriterion("y1 <>", value, "y1");
return (Criteria) this;
}
public Criteria andY1GreaterThan(Float value) {
addCriterion("y1 >", value, "y1");
return (Criteria) this;
}
public Criteria andY1GreaterThanOrEqualTo(Float value) {
addCriterion("y1 >=", value, "y1");
return (Criteria) this;
}
public Criteria andY1LessThan(Float value) {
addCriterion("y1 <", value, "y1");
return (Criteria) this;
}
public Criteria andY1LessThanOrEqualTo(Float value) {
addCriterion("y1 <=", value, "y1");
return (Criteria) this;
}
public Criteria andY1In(List<Float> values) {
addCriterion("y1 in", values, "y1");
return (Criteria) this;
}
public Criteria andY1NotIn(List<Float> values) {
addCriterion("y1 not in", values, "y1");
return (Criteria) this;
}
public Criteria andY1Between(Float value1, Float value2) {
addCriterion("y1 between", value1, value2, "y1");
return (Criteria) this;
}
public Criteria andY1NotBetween(Float value1, Float value2) {
addCriterion("y1 not between", value1, value2, "y1");
return (Criteria) this;
}
public Criteria andX2IsNull() {
addCriterion("x2 is null");
return (Criteria) this;
}
public Criteria andX2IsNotNull() {
addCriterion("x2 is not null");
return (Criteria) this;
}
public Criteria andX2EqualTo(Float value) {
addCriterion("x2 =", value, "x2");
return (Criteria) this;
}
public Criteria andX2NotEqualTo(Float value) {
addCriterion("x2 <>", value, "x2");
return (Criteria) this;
}
public Criteria andX2GreaterThan(Float value) {
addCriterion("x2 >", value, "x2");
return (Criteria) this;
}
public Criteria andX2GreaterThanOrEqualTo(Float value) {
addCriterion("x2 >=", value, "x2");
return (Criteria) this;
}
public Criteria andX2LessThan(Float value) {
addCriterion("x2 <", value, "x2");
return (Criteria) this;
}
public Criteria andX2LessThanOrEqualTo(Float value) {
addCriterion("x2 <=", value, "x2");
return (Criteria) this;
}
public Criteria andX2In(List<Float> values) {
addCriterion("x2 in", values, "x2");
return (Criteria) this;
}
public Criteria andX2NotIn(List<Float> values) {
addCriterion("x2 not in", values, "x2");
return (Criteria) this;
}
public Criteria andX2Between(Float value1, Float value2) {
addCriterion("x2 between", value1, value2, "x2");
return (Criteria) this;
}
public Criteria andX2NotBetween(Float value1, Float value2) {
addCriterion("x2 not between", value1, value2, "x2");
return (Criteria) this;
}
public Criteria andY2IsNull() {
addCriterion("y2 is null");
return (Criteria) this;
}
public Criteria andY2IsNotNull() {
addCriterion("y2 is not null");
return (Criteria) this;
}
public Criteria andY2EqualTo(Float value) {
addCriterion("y2 =", value, "y2");
return (Criteria) this;
}
public Criteria andY2NotEqualTo(Float value) {
addCriterion("y2 <>", value, "y2");
return (Criteria) this;
}
public Criteria andY2GreaterThan(Float value) {
addCriterion("y2 >", value, "y2");
return (Criteria) this;
}
public Criteria andY2GreaterThanOrEqualTo(Float value) {
addCriterion("y2 >=", value, "y2");
return (Criteria) this;
}
public Criteria andY2LessThan(Float value) {
addCriterion("y2 <", value, "y2");
return (Criteria) this;
}
public Criteria andY2LessThanOrEqualTo(Float value) {
addCriterion("y2 <=", value, "y2");
return (Criteria) this;
}
public Criteria andY2In(List<Float> values) {
addCriterion("y2 in", values, "y2");
return (Criteria) this;
}
public Criteria andY2NotIn(List<Float> values) {
addCriterion("y2 not in", values, "y2");
return (Criteria) this;
}
public Criteria andY2Between(Float value1, Float value2) {
addCriterion("y2 between", value1, value2, "y2");
return (Criteria) this;
}
public Criteria andY2NotBetween(Float value1, Float value2) {
addCriterion("y2 not between", value1, value2, "y2");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,30 @@
package com.shxy.xymanager_common.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class TerminalPhotoMarks implements Serializable {
private Integer id;
private Integer termId;
private Integer channelId;
private Integer width;
private Integer height;
private String color;
private Integer boderWidth;
private Date createTime;
private Date updateTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,751 @@
package com.shxy.xymanager_common.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TerminalPhotoMarksExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TerminalPhotoMarksExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andTermIdIsNull() {
addCriterion("term_id is null");
return (Criteria) this;
}
public Criteria andTermIdIsNotNull() {
addCriterion("term_id is not null");
return (Criteria) this;
}
public Criteria andTermIdEqualTo(Integer value) {
addCriterion("term_id =", value, "termId");
return (Criteria) this;
}
public Criteria andTermIdNotEqualTo(Integer value) {
addCriterion("term_id <>", value, "termId");
return (Criteria) this;
}
public Criteria andTermIdGreaterThan(Integer value) {
addCriterion("term_id >", value, "termId");
return (Criteria) this;
}
public Criteria andTermIdGreaterThanOrEqualTo(Integer value) {
addCriterion("term_id >=", value, "termId");
return (Criteria) this;
}
public Criteria andTermIdLessThan(Integer value) {
addCriterion("term_id <", value, "termId");
return (Criteria) this;
}
public Criteria andTermIdLessThanOrEqualTo(Integer value) {
addCriterion("term_id <=", value, "termId");
return (Criteria) this;
}
public Criteria andTermIdIn(List<Integer> values) {
addCriterion("term_id in", values, "termId");
return (Criteria) this;
}
public Criteria andTermIdNotIn(List<Integer> values) {
addCriterion("term_id not in", values, "termId");
return (Criteria) this;
}
public Criteria andTermIdBetween(Integer value1, Integer value2) {
addCriterion("term_id between", value1, value2, "termId");
return (Criteria) this;
}
public Criteria andTermIdNotBetween(Integer value1, Integer value2) {
addCriterion("term_id not between", value1, value2, "termId");
return (Criteria) this;
}
public Criteria andChannelIdIsNull() {
addCriterion("channel_id is null");
return (Criteria) this;
}
public Criteria andChannelIdIsNotNull() {
addCriterion("channel_id is not null");
return (Criteria) this;
}
public Criteria andChannelIdEqualTo(Integer value) {
addCriterion("channel_id =", value, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdNotEqualTo(Integer value) {
addCriterion("channel_id <>", value, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdGreaterThan(Integer value) {
addCriterion("channel_id >", value, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdGreaterThanOrEqualTo(Integer value) {
addCriterion("channel_id >=", value, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdLessThan(Integer value) {
addCriterion("channel_id <", value, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdLessThanOrEqualTo(Integer value) {
addCriterion("channel_id <=", value, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdIn(List<Integer> values) {
addCriterion("channel_id in", values, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdNotIn(List<Integer> values) {
addCriterion("channel_id not in", values, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdBetween(Integer value1, Integer value2) {
addCriterion("channel_id between", value1, value2, "channelId");
return (Criteria) this;
}
public Criteria andChannelIdNotBetween(Integer value1, Integer value2) {
addCriterion("channel_id not between", value1, value2, "channelId");
return (Criteria) this;
}
public Criteria andWidthIsNull() {
addCriterion("width is null");
return (Criteria) this;
}
public Criteria andWidthIsNotNull() {
addCriterion("width is not null");
return (Criteria) this;
}
public Criteria andWidthEqualTo(Integer value) {
addCriterion("width =", value, "width");
return (Criteria) this;
}
public Criteria andWidthNotEqualTo(Integer value) {
addCriterion("width <>", value, "width");
return (Criteria) this;
}
public Criteria andWidthGreaterThan(Integer value) {
addCriterion("width >", value, "width");
return (Criteria) this;
}
public Criteria andWidthGreaterThanOrEqualTo(Integer value) {
addCriterion("width >=", value, "width");
return (Criteria) this;
}
public Criteria andWidthLessThan(Integer value) {
addCriterion("width <", value, "width");
return (Criteria) this;
}
public Criteria andWidthLessThanOrEqualTo(Integer value) {
addCriterion("width <=", value, "width");
return (Criteria) this;
}
public Criteria andWidthIn(List<Integer> values) {
addCriterion("width in", values, "width");
return (Criteria) this;
}
public Criteria andWidthNotIn(List<Integer> values) {
addCriterion("width not in", values, "width");
return (Criteria) this;
}
public Criteria andWidthBetween(Integer value1, Integer value2) {
addCriterion("width between", value1, value2, "width");
return (Criteria) this;
}
public Criteria andWidthNotBetween(Integer value1, Integer value2) {
addCriterion("width not between", value1, value2, "width");
return (Criteria) this;
}
public Criteria andHeightIsNull() {
addCriterion("height is null");
return (Criteria) this;
}
public Criteria andHeightIsNotNull() {
addCriterion("height is not null");
return (Criteria) this;
}
public Criteria andHeightEqualTo(Integer value) {
addCriterion("height =", value, "height");
return (Criteria) this;
}
public Criteria andHeightNotEqualTo(Integer value) {
addCriterion("height <>", value, "height");
return (Criteria) this;
}
public Criteria andHeightGreaterThan(Integer value) {
addCriterion("height >", value, "height");
return (Criteria) this;
}
public Criteria andHeightGreaterThanOrEqualTo(Integer value) {
addCriterion("height >=", value, "height");
return (Criteria) this;
}
public Criteria andHeightLessThan(Integer value) {
addCriterion("height <", value, "height");
return (Criteria) this;
}
public Criteria andHeightLessThanOrEqualTo(Integer value) {
addCriterion("height <=", value, "height");
return (Criteria) this;
}
public Criteria andHeightIn(List<Integer> values) {
addCriterion("height in", values, "height");
return (Criteria) this;
}
public Criteria andHeightNotIn(List<Integer> values) {
addCriterion("height not in", values, "height");
return (Criteria) this;
}
public Criteria andHeightBetween(Integer value1, Integer value2) {
addCriterion("height between", value1, value2, "height");
return (Criteria) this;
}
public Criteria andHeightNotBetween(Integer value1, Integer value2) {
addCriterion("height not between", value1, value2, "height");
return (Criteria) this;
}
public Criteria andColorIsNull() {
addCriterion("color is null");
return (Criteria) this;
}
public Criteria andColorIsNotNull() {
addCriterion("color is not null");
return (Criteria) this;
}
public Criteria andColorEqualTo(String value) {
addCriterion("color =", value, "color");
return (Criteria) this;
}
public Criteria andColorNotEqualTo(String value) {
addCriterion("color <>", value, "color");
return (Criteria) this;
}
public Criteria andColorGreaterThan(String value) {
addCriterion("color >", value, "color");
return (Criteria) this;
}
public Criteria andColorGreaterThanOrEqualTo(String value) {
addCriterion("color >=", value, "color");
return (Criteria) this;
}
public Criteria andColorLessThan(String value) {
addCriterion("color <", value, "color");
return (Criteria) this;
}
public Criteria andColorLessThanOrEqualTo(String value) {
addCriterion("color <=", value, "color");
return (Criteria) this;
}
public Criteria andColorLike(String value) {
addCriterion("color like", value, "color");
return (Criteria) this;
}
public Criteria andColorNotLike(String value) {
addCriterion("color not like", value, "color");
return (Criteria) this;
}
public Criteria andColorIn(List<String> values) {
addCriterion("color in", values, "color");
return (Criteria) this;
}
public Criteria andColorNotIn(List<String> values) {
addCriterion("color not in", values, "color");
return (Criteria) this;
}
public Criteria andColorBetween(String value1, String value2) {
addCriterion("color between", value1, value2, "color");
return (Criteria) this;
}
public Criteria andColorNotBetween(String value1, String value2) {
addCriterion("color not between", value1, value2, "color");
return (Criteria) this;
}
public Criteria andBoderWidthIsNull() {
addCriterion("boder_width is null");
return (Criteria) this;
}
public Criteria andBoderWidthIsNotNull() {
addCriterion("boder_width is not null");
return (Criteria) this;
}
public Criteria andBoderWidthEqualTo(Integer value) {
addCriterion("boder_width =", value, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthNotEqualTo(Integer value) {
addCriterion("boder_width <>", value, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthGreaterThan(Integer value) {
addCriterion("boder_width >", value, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthGreaterThanOrEqualTo(Integer value) {
addCriterion("boder_width >=", value, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthLessThan(Integer value) {
addCriterion("boder_width <", value, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthLessThanOrEqualTo(Integer value) {
addCriterion("boder_width <=", value, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthIn(List<Integer> values) {
addCriterion("boder_width in", values, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthNotIn(List<Integer> values) {
addCriterion("boder_width not in", values, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthBetween(Integer value1, Integer value2) {
addCriterion("boder_width between", value1, value2, "boderWidth");
return (Criteria) this;
}
public Criteria andBoderWidthNotBetween(Integer value1, Integer value2) {
addCriterion("boder_width not between", value1, value2, "boderWidth");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -10,7 +10,7 @@ public class TerminalPositions implements Serializable {
private Byte coordinateType;
private Short radius;
private Integer radius;
private Double latitude;

@ -17,7 +17,7 @@ public class TerminalScheduleDetails implements Serializable {
private Integer minute;
private Integer span;
private Integer preset;
private Date createTime;

@ -21,6 +21,12 @@ public class TerminalSchedulesTemp implements Serializable {
private Integer offset;
private Integer hour;
private Integer minute;
private Integer preset;
private Date createTime;
private Date updateTime;

@ -26,12 +26,16 @@ public class Terminals implements Serializable {
private String essentialInfoVersion;
private Byte hasPan;
private Integer hasPan;
private String bsManufacturer;
private String sim;
private Date bsProductionDate;
private Date workingDate;
private String bsIdentifier;
private Double latitude;
@ -46,6 +50,10 @@ public class Terminals implements Serializable {
private Integer onlinestatus;
private Integer netType;
private Integer protocol;
/*展示名字 等价与displayname 用于方便*/
private String name;

@ -13,8 +13,8 @@ public class Towers implements Serializable {
private Integer lineId;
private Integer order;
private Integer status;
private String address;
private Date createTime;
private Date updateTime;
}

@ -8,7 +8,7 @@ package com.shxy.xymanager_common.enums;
* @author
*/
public enum GloableParamsType {
ImgMark("img_mark");
ImgMark("img_mark"),ALarmChannel("alarm_channel");
private String name;

@ -0,0 +1,29 @@
package com.shxy.xymanager_common.enums;
/**
*
* "0---未知 1---成功 2---失败"
*
* @author
*/
public enum TakePicStatus {
UNKONW("UNKONW", 0), SUCCESS("SUCCESS", 1), FAIL("FAIL", 2);
private String name;
private Integer value;
TakePicStatus(String name, Integer value) {
this.name = name;
this.value = value;
}
@Override
public String toString() {
return this.value + "_" + this.name;
}
public Integer value() {
return this.value;
}
}

@ -0,0 +1,63 @@
package com.shxy.xymanager_common.excelbean;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
*
*/
@Data
@ApiModel(value = "设备信息和最新心跳和最后一张图片上传时间列表excel", description = "设备信息和最新心跳和最后一张图片上传时间列表excel")
public class TerminalAndLastPicListExcelModel implements Serializable {
@ColumnWidth(20)
@ExcelProperty("线路名称")
@ApiModelProperty(value = "线路名称", example = "123456")
private String lineName;
@ColumnWidth(20)
@ExcelProperty("杆塔名称")
@ApiModelProperty(value = "杆塔名称", example = "123456")
private String towerName;
@ColumnWidth(20)
@ExcelProperty("设备编号")
@ApiModelProperty(value = "设备编号", example = "123456")
private String cmdId;
@ColumnWidth(20)
@ExcelProperty("是否在线")
@ApiModelProperty(value = "是否在线", example = "21321")
private String isonline;
@ColumnWidth(20)
@ExcelProperty("最新心跳时间")
@ApiModelProperty(value = "最新心跳时间", example = "213")
private String hearttime;
@ColumnWidth(20)
@ExcelProperty("最新照片上传时间")
@ApiModelProperty(value = "最新照片上传时间", example = "123456")
private String pictime;
@ColumnWidth(20)
@ExcelProperty("纬度")
@ApiModelProperty(value = "纬度", example = "21321")
private Double latitude;
@ColumnWidth(20)
@ExcelProperty("经度")
@ApiModelProperty(value = "经度", example = "213")
private Double longitude;
@ColumnWidth(20)
@ExcelProperty("半径")
@ApiModelProperty(value = "经度", example = "123456")
private Integer radius;
}

@ -0,0 +1,53 @@
package com.shxy.xymanager_common.excelbean;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@ApiModel(value = "设备列表excel", description = "设备列表excel")
public class TerminalListExcelModel implements Serializable {
@ColumnWidth(20)
@ExcelProperty("线路名称")
@ApiModelProperty(value = "线路名称", example = "123456")
private String lineName;
@ColumnWidth(20)
@ExcelProperty("杆塔名称")
@ApiModelProperty(value = "杆塔名称", example = "123456")
private String towerName;
@ColumnWidth(20)
@ExcelProperty("设备编号")
@ApiModelProperty(value = "设备编号", example = "123456")
private String cmdId;
@ColumnWidth(20)
@ExcelProperty("纬度")
@ApiModelProperty(value = "纬度", example = "21321")
private Double latitude;
@ColumnWidth(20)
@ExcelProperty("经度")
@ApiModelProperty(value = "经度", example = "213")
private Double longitude;
@ColumnWidth(20)
@ExcelProperty("半径")
@ApiModelProperty(value = "经度", example = "123456")
private Integer radius;
}

@ -13,14 +13,26 @@ import java.util.List;
@Data
@ApiModel(value = "获取电压线路树状图列表", description = "获取电压线路树状图列表信息")
public class DyLineTreeListModel implements Serializable {
@ApiModelProperty(value = "装置总数", example = "123")
private Integer totalNum;
@ApiModelProperty(value = "装置在线总数", example = "152")
private Integer onlineNum;
@ApiModelProperty(value = "电压列表", example = "[]")
private List<DyListBean> list;
@Data
public static class DyListBean {
@ApiModelProperty(value = "电压编号", example = "123456")
private Integer id;
@ApiModelProperty(value = "电压类型", example = "1---收藏夹 2--电压")
private Integer type;
@ApiModelProperty(value = "电压名称", example = "AAAA")
private String name;
@ -29,6 +41,7 @@ public class DyLineTreeListModel implements Serializable {
@ApiModelProperty(value = "线路列表", example = "[]")
private List<LineBean> list;
}
@Data
@ -66,6 +79,12 @@ public class DyLineTreeListModel implements Serializable {
@ApiModelProperty(value = "杆塔显示名", example = "名称名称")
private String name;
@ApiModelProperty(value = "杆塔地址", example = "名称名称")
private String address;
@ApiModelProperty(value = "规约", example = "规约")
private Integer protocol;
@ApiModelProperty(value = "装置显示名", example = "名称名称")
private String displayname;
@ -75,6 +94,9 @@ public class DyLineTreeListModel implements Serializable {
@ApiModelProperty(value = "在线状态", example = "0--掉线1--在线")
private Integer onlinestatus;
@ApiModelProperty(value = "是否收藏", example = "0--未收藏 1--已收藏")
private Integer isfavor;
}
}

@ -0,0 +1,23 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
*
*/
@Data
@ApiModel(value = "全局参数对象", description = "全局参数对象")
public class GlobalParamsModel implements Serializable {
@ApiModelProperty(value = "图像标志", example = "123456")
private Integer imgMark;
@ApiModelProperty(value = "告警通道", example = "123456")
private Integer alarmChannel;
}

@ -0,0 +1,10 @@
package com.shxy.xymanager_common.model;
import lombok.Data;
@Data
public class MessageModel {
int type;
String content;
String action;
}

@ -0,0 +1,84 @@
package com.shxy.xymanager_common.model;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import com.shxy.xymanager_common.enums.CommonStatus;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_common.util.xinyin.TerminalUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
@Data
@ApiModel(value = "对外设备列表", description = "对外设备列表")
public class OpenTerminalsModel implements Serializable {
@ApiModelProperty(value = "id", example = "123456")
private Integer id;
@ApiModelProperty(value = "装置编号", example = "123456")
private String cmdid;
@ApiModelProperty(value = "线路编号", example = "123456")
private Integer lineid;
@ApiModelProperty(value = "线路名称", example = "123456")
private String linename;
@ApiModelProperty(value = "杆塔编号", example = "123456")
private Integer towerid;
@ApiModelProperty(value = "杆塔名称", example = "123456")
private String towername;
@ApiModelProperty(value = "装置显示名称", example = "123456")
private String displayName;
@ApiModelProperty(value = "装置出厂版本", example = "123456")
private String essentialInfoVersion;
@ApiModelProperty(value = "装置生产厂家", example = "123456")
private String bsManufacturer;
@ApiModelProperty(value = "装置生产日期", example = "123456")
private Date bsProductionDate;
@ApiModelProperty(value = "装置出厂编号", example = "123456")
private String bsIdentifier;
@ApiModelProperty(value = "纬度", example = "123456")
private Double latitude;
@ApiModelProperty(value = "经度", example = "123456")
private Double longitude;
@ApiModelProperty(value = "规约编号", example = "123456")
private Integer protocol;
@ApiModelProperty(value = "最后一次心跳时间", example = "123456")
private BigInteger lastHeartbeat;
@ApiModelProperty(value = "在线状态", example = "0--掉线1--在线")
private Integer onlinestatus;
public Integer getOnlinestatus() {
if (lastHeartbeat == null) {
return CommonStatus.DELETE.value();
}
long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue());
DateTime date = MyDateUtils.date(time);
long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE);
if (between > TerminalUtils.hearttime) {
return CommonStatus.DELETE.value();
} else {
return CommonStatus.EFFECTIVE.value();
}
}
private static final long serialVersionUID = 1L;
}

@ -16,35 +16,35 @@ import java.util.List;
@ApiModel(value = "获取绘制信息", description = "获取绘制信息")
public class PhotoMarkModel implements Serializable {
@ApiModelProperty(value = "通道编号", example = "213")
private Integer termId;
@ApiModelProperty(value = "通道编号", example = "213")
private Integer termId;
@ApiModelProperty(value = "绘制ID", example = "213")
private Integer markId;
@ApiModelProperty(value = "绘制ID", example = "213")
private Integer markId;
@NotNull(message = "通道编号")
@ApiModelProperty(value = "通道编号", example = "213")
private Integer channelId;
@NotNull(message = "通道编号")
@ApiModelProperty(value = "通道编号", example = "213")
private Integer channelId;
@ApiModelProperty(value = "参考图片宽", example = "213")
private Integer width;
@ApiModelProperty(value = "参考图片宽", example = "213")
private Integer width;
@ApiModelProperty(value = "参考图片高", example = "213")
private Integer height;
@ApiModelProperty(value = "参考图片高", example = "213")
private Integer height;
@ApiModelProperty(value = "线条颜色", example = "213")
private String color;
@ApiModelProperty(value = "线条颜色", example = "213")
private String color;
@ApiModelProperty(value = "线条宽度", example = "213")
private Short boderWidth;
@ApiModelProperty(value = "线条宽度", example = "213")
private Integer boderWidth;
@ApiModelProperty(value = "图片地址", example = "213")
private String path;
@ApiModelProperty(value = "图片地址", example = "213")
private String path;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<TermChannelCoordinateDto> list;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<TermChannelCoordinateDto> list;
@ApiModelProperty(value = "", example = "0--关 1---开启")
private Integer markEnable;
@ApiModelProperty(value = "", example = "0--关 1---开启")
private Integer markEnable;
}

@ -0,0 +1,24 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@ApiModel(value = "主动拍照的返回对象", description = "主动拍照的返回对象")
public class TakePIcModel implements Serializable {
@ApiModelProperty(value = "请求编号", example = "123456")
private Integer requestId;
@ApiModelProperty(value = "拍照时间", example = "AAAA")
private Date taketime;
}

@ -0,0 +1,23 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
*/
@Data
@ApiModel(value = "主动拍照下发指令的返回对象", description = "主动拍照下发指令的返回对象")
public class TakePIcStatusModel implements Serializable {
@ApiModelProperty(value = "指令状态", example = "123456")
private Integer cmaStatus;
@ApiModelProperty(value = "照片状态", example = "AAAA")
private Boolean picStatus;
}

@ -0,0 +1,28 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
@Data
@AllArgsConstructor
@ApiModel(value = "记录拍照装置通道信息", description = "记录拍照装置通道信息描述")
public class TermChannelModel implements Serializable {
@ApiModelProperty(value = "装置id", example = "123456")
private Integer termId;
@ApiModelProperty(value = "通道id", example = "123456")
private Integer channelId;
@ApiModelProperty(value = "拍照时间", example = "123456")
private Long photoTime;
@ApiModelProperty(value = "当前时间", example = "123456")
private Long currentTime;
}

@ -17,6 +17,19 @@ public class TerminalChannelMapperListModel implements Serializable {
@ApiModelProperty(value = "gps开关", example = "0--关闭 1--开启")
private Integer gpsstatus;
@ApiModelProperty(value = "电压编号", example = "123")
private Integer dyId;
@ApiModelProperty(value = "线路编号", example = "123")
private Integer lineId;
@ApiModelProperty(value = "杆塔编号", example = "123")
private Integer towerId;
@ApiModelProperty(value = "装置编号", example = "123456")
private Integer termId;
@ApiModelProperty(value = "通道关联表和通道列表对象", example = "[]")
private List<ChannelBean> list;

@ -15,6 +15,16 @@ public class TerminalImgAlarmParamsModel implements Serializable {
@ApiModelProperty(value = "告警类型列表", example = "[]")
private List<AlarmParamBean> list;
@ApiModelProperty(value = "通道列表", example = "[]")
private List<ChannelBean> channellist;
@Data
public static class ChannelBean {
@ApiModelProperty(value = "通道编号", example = "123456")
private Integer id;
@ApiModelProperty(value = "通道名称", example = "123456")
private String name;
}
@Data
public static class AlarmParamBean {
@ApiModelProperty(value = "编号", example = "123456")

@ -32,12 +32,21 @@ public class TerminalListModel implements Serializable {
@ApiModelProperty(value = "设备编号", example = "123456")
private Integer id;
@ApiModelProperty(value = "电压编号", example = "123456")
private Integer dyId;
@ApiModelProperty(value = "电压名称", example = "123456")
private String dyName;
@ApiModelProperty(value = "线路编号", example = "123456")
private Integer lineId;
@ApiModelProperty(value = "线路名称", example = "123456")
private String lineName;
@ApiModelProperty(value = "线路公司名称", example = "123456")
private String lineBsManufacturer;
@ApiModelProperty(value = "杆塔编号", example = "123456")
private Integer towerId;
@ -63,7 +72,7 @@ public class TerminalListModel implements Serializable {
private String essentialInfoVersion;
@ApiModelProperty(value = "是否带云台", example = " 0 不带云台 1带云台")
private Byte hasPan;
private Integer hasPan;
@ApiModelProperty(value = "生产厂家", example = "生产厂家")
private String bsManufacturer;
@ -74,6 +83,12 @@ public class TerminalListModel implements Serializable {
@ApiModelProperty(value = "出厂编号", example = "123456")
private String bsIdentifier;
@ApiModelProperty(value = "地址", example = "地址")
private String address;
@ApiModelProperty(value = "杆塔排序", example = "1")
private Integer order;
@ApiModelProperty(value = "纬度", example = "21321")
private Double latitude;
@ -101,6 +116,12 @@ public class TerminalListModel implements Serializable {
@ApiModelProperty(value = "是否删除", example = "0--删除1--未删除")
private Integer status;
@ApiModelProperty(value = "规约编号", example = "21223")
private Integer protocol;
@ApiModelProperty(value = "规约名称", example = "21223")
private String protocolName;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<ChannelBeans> list;

@ -13,7 +13,7 @@ import java.util.List;
*
*/
@Data
@ApiModel(value = "图片列表", description = "图片列表对象信息")
@ApiModel(value = "新疆对外图片列表", description = "新疆对外图片列表对象信息")
public class TerminalPhotoListForOpenModel implements Serializable {
@ApiModelProperty(value = "总记录数", example = "120")
@ -32,6 +32,7 @@ public class TerminalPhotoListForOpenModel implements Serializable {
private List<PhotoBean> list;
@Data
@ApiModel(value = "对外照片对象")
public static class PhotoBean {
@ApiModelProperty(value = "装置编号", example = "123456")

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
@ -29,7 +30,7 @@ public class TerminalPhotoListModel implements Serializable {
public static class PhotoBean {
@ApiModelProperty(value = "图片id", example = "12321")
private Long id;
private BigInteger id;
@ApiModelProperty(value = "装置编号", example = "123456")
private Integer termId;
@ -74,5 +75,43 @@ public class TerminalPhotoListModel implements Serializable {
private Integer mediaType;
@ApiModelProperty(value = "是否有告警", example = "0---无告警 1---有告警")
private Integer isAlarm;
@ApiModelProperty(value = "告警列表", example = "123456")
private List<AlarmItemBean> alarmlist;
}
@Data
public static class AlarmItemBean {
@ApiModelProperty(value = "告警名称", example = "123456")
private String name;
@ApiModelProperty(value = "告警中文", example = "123456")
private String enname;
@ApiModelProperty(value = "可信度", example = "123456")
private Float prob;
@ApiModelProperty(value = " 识别框横坐标", example = "123456")
private Float x;
@ApiModelProperty(value = " 识别框纵坐标", example = "123456")
private Float y;
@ApiModelProperty(value = "识别框宽度", example = "123456")
private Float width;
@ApiModelProperty(value = "识别框高度", example = "123456")
private Float height;
@ApiModelProperty(value = "图片宽度", example = "123456")
private Integer photoWidth;
@ApiModelProperty(value = "图片高度", example = "123456")
private Integer photoHeight;
}
}

@ -31,6 +31,9 @@ public class TerminalPhotoSelectListModel implements Serializable {
@Data
public static class PhotoBean {
@ApiModelProperty(value = "照片id", example = "123456")
private BigInteger picid;
@ApiModelProperty(value = "装置编号", example = "123456")
private Integer termid;
@ -73,5 +76,46 @@ public class TerminalPhotoSelectListModel implements Serializable {
@ApiModelProperty(value = "照片路径", example = "123456")
private String path;
@ApiModelProperty(value = "视频缩略图", example = "123456")
private String thumb;
@ApiModelProperty(value = "是否有告警", example = "0---无告警 1---有告警")
private Integer isAlarm;
@ApiModelProperty(value = "告警列表", example = "123456")
private List<TerminalPhotoListModel.AlarmItemBean> alarmlist;
}
@Data
public static class AlarmItemBean {
@ApiModelProperty(value = "告警名称", example = "123456")
private String name;
@ApiModelProperty(value = "告警中文", example = "123456")
private String enname;
@ApiModelProperty(value = "可信度", example = "123456")
private Float prob;
@ApiModelProperty(value = " 识别框横坐标", example = "123456")
private Float x;
@ApiModelProperty(value = " 识别框纵坐标", example = "123456")
private Float y;
@ApiModelProperty(value = "识别框宽度", example = "123456")
private Float width;
@ApiModelProperty(value = "识别框高度", example = "123456")
private Float height;
@ApiModelProperty(value = "图片宽度", example = "123456")
private Integer photoWidth;
@ApiModelProperty(value = "图片高度", example = "123456")
private Integer photoHeight;
}
}

@ -1,11 +1,13 @@
package com.shxy.xymanager_common.model;
import com.shxy.xymanager_common.dto.TermChannelCoordinateDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -53,6 +55,12 @@ public class TerminalPhotosModel implements Serializable {
@ApiModelProperty(value = "别名", example = "123456")
private String alias;
@ApiModelProperty(value = "杆塔名称", example = "123456")
private String towername;
@ApiModelProperty(value = "杆塔地址", example = "123456")
private String address;
@ApiModelProperty(value = "预置位编号", example = "123456")
private Integer presetId;
@ -70,5 +78,50 @@ public class TerminalPhotosModel implements Serializable {
@ApiModelProperty(value = "照片路径", example = "123456")
private String path;
@ApiModelProperty(value = "视频缩略图", example = "123456")
private String thumb;
@ApiModelProperty(value = "是否有告警", example = "0---无告警 1---有告警")
private Integer isAlarm;
@ApiModelProperty(value = "告警列表", example = "123456")
private List<TerminalPhotoListModel.AlarmItemBean> alarmlist;
@ApiModelProperty(value = "通道编号和名称", example = "213")
private List<TermChannelCoordinateDto> list;
}
@Data
public static class AlarmItemBean {
@ApiModelProperty(value = "告警名称", example = "123456")
private String name;
@ApiModelProperty(value = "告警中文", example = "123456")
private String enname;
@ApiModelProperty(value = "可信度", example = "123456")
private Float prob;
@ApiModelProperty(value = " 识别框横坐标", example = "123456")
private Float x;
@ApiModelProperty(value = " 识别框纵坐标", example = "123456")
private Float y;
@ApiModelProperty(value = "识别框宽度", example = "123456")
private Float width;
@ApiModelProperty(value = "识别框高度", example = "123456")
private Float height;
@ApiModelProperty(value = "图片宽度", example = "123456")
private Integer photoWidth;
@ApiModelProperty(value = "图片高度", example = "123456")
private Integer photoHeight;
}
}

@ -35,13 +35,13 @@ public class TerminalScheduleRuleModel implements Serializable {
@ApiModelProperty(value = "任务规则编号", example = "123456")
private Integer scheduleId;
@ApiModelProperty(value = "间隔", example = "213")
private Integer span;
@ApiModelProperty(value = "", example = "213")
private Integer hour;
@ApiModelProperty(value = "开始时间", example = "2022-06-08")
private Time startTime;
@ApiModelProperty(value = "", example = "2022-06-08")
private Integer minute;
@ApiModelProperty(value = "结束时间", example = "2022-06-08")
private Time endTime;
@ApiModelProperty(value = "预置位", example = "2022-06-08")
private Integer preset;
}
}

@ -16,13 +16,24 @@ import java.util.List;
public class TerminalScheduleRuleTimeListModel implements Serializable {
@ApiModelProperty(value = "任务名称", example = "123456")
private List<String> list;
private List<ScheduleRuleBean> list;
@ApiModelProperty(value = "是否最新", example = "123456")
private Boolean isNew = false;
@ApiModelProperty(value = "偏移量", example = "123456")
private Integer offset ;
private Integer offset;
@Data
public static class ScheduleRuleBean {
@ApiModelProperty(value = "时", example = "213")
private Integer hour;
@ApiModelProperty(value = "分", example = "2022-06-08")
private Integer minute;
@ApiModelProperty(value = "预置位", example = "2022-06-08")
private Integer preset;
}
}

@ -0,0 +1,32 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
/**
*
*/
@Data
@ApiModel(value = "设备统计表", description = "设备统计表返回")
public class TerminalStatisticsModel implements Serializable {
@ApiModelProperty(value = "装置总数", example = "123456")
private Integer totalNum;
@ApiModelProperty(value = "装置在线数量", example = "123456")
private Integer onlineNum;
@ApiModelProperty(value = "装置不在线数量", example = "123456")
private Integer offlineNum;
@ApiModelProperty(value = "装置在线数量百分比", example = "12345678")
private double onlinePercent;
@ApiModelProperty(value = "装置不在线数量百分比", example = "12345678")
private double offlinePercent;
}

@ -0,0 +1,34 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@ApiModel(value = "设备当日分类告警统计", description = "设备当日分类告警统计返回")
public class TerminalTodayAlarmStatisticsModel implements Serializable {
@ApiModelProperty(value = "告警列表", example = "123456")
private List<TodayAlarmItem> list;
@Data
public static class TodayAlarmItem {
@ApiModelProperty(value = "告警类型名称", example = "123456")
private String enname;
@ApiModelProperty(value = "告警数量", example = "AAAA")
private BigInteger num;
@ApiModelProperty(value = "告警类型", example = "123456")
private Integer label;
}
}

@ -0,0 +1,31 @@
package com.shxy.xymanager_common.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
/**
* 7
*/
@Data
@ApiModel(value = "设备7天告警统计", description = "设备7天告警统计返回")
public class TerminalWeekAlarmStatisticsModel implements Serializable {
@ApiModelProperty(value = "告警列表", example = "123456")
private List<AlarmItem> list;
@Data
public static class AlarmItem {
@ApiModelProperty(value = "日期", example = "123456")
private Date date;
@ApiModelProperty(value = "告警数量", example = "AAAA")
private BigInteger num;
}
}

@ -35,6 +35,9 @@ public class TowerListModel implements Serializable {
@ApiModelProperty(value = "杆塔名称", example = "AAAA")
private String name;
@ApiModelProperty(value = "杆塔地址", example = "AAAA")
private String address;
@ApiModelProperty(value = "线路编号", example = "123456")
private Integer lineId;

@ -1,6 +1,14 @@
package com.shxy.xymanager_common.util;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.shxy.xymanager_common.constant.Constants;
import com.shxy.xymanager_common.dto.ScheduleDetailsDto;
import com.shxy.xymanager_common.exception.Asserts;
import com.shxy.xymanager_common.vo.ScheduleRuleVo;
import java.util.ArrayList;
import java.util.List;
/**
* Cma
@ -9,14 +17,217 @@ public class CmaUtil {
/**
*
*
* @param cmdid
* @param channel
* @param type
* @return
*/
public static String takePic(String cmdid, Integer channel, Integer type) {
String cmd = Constants.CMD + "capture --cmdid=" + cmdid + " --channel=" + channel + " --preset=255 --type=" + type;
public static String takePic(String cmdid, Integer channel, Integer preset, Integer type, Integer requestId) {
String cmd = Constants.CMD + "capture --cmdid=" + cmdid + " --channel=" + channel + " --preset=" + preset + " --type=" + type + " --clientid=10" + " --reqid=" + requestId;
return cmd;
}
/**
*
*
* @param cmdid
* @param ctrl
* @return
*/
public static String alarmMark(String cmdid, Integer ctrl) {
String cmd = Constants.CMD + "voice --cmdid=" + cmdid + " --ctrl=" + ctrl;
return cmd;
}
/**
* GPS
*
* @param cmdid
* @param status
* @return
*/
public static String setTermGPS(String cmdid, Integer status) {
String cmd = Constants.CMD + "gpsctrl --flag=1 --cmdid=" + cmdid + " --ctrl=" + status;
return cmd;
}
/**
* GPS
*
* @param cmdid
* @return
*/
public static String getReturnedGPS(String cmdid) {
String cmd = Constants.CMD + "gpsinfo --flag=0 --cmdid=" + cmdid + " --clientid=10";
return cmd;
}
/**
*
*
* @param cmdid
* @return
*/
public static String getPhotoQueryParam(String cmdid, Integer requestId, Integer channelid) {
String cmd = Constants.CMD + "imgparams --cmdid=" + cmdid + " --clientid=10 --reqid=" + requestId + " --flag=0 --rf=7 --channel=" + channelid;
return cmd;
}
/**
*
*
* @param cmdid
* @return
*/
public static String addOrUpdatePhotoParams(String cmdid, Integer color, Integer resolution, Integer luminance, Integer contrast, Integer saturation, Integer channel) {
String cmd = Constants.CMD + "imgparams --flag=1 --cmdid=" + cmdid + " --rf=7 --color=" + color + " --resolution=" + resolution
+ " --luminance=" + luminance + " -contrast=" + contrast + " --saturation=" + saturation + " --channel=" + channel;
return cmd;
}
/**
*
*
* @param cmdid
* @return
*/
public static String selectPhotoTimeGet(String cmdid, Integer requestId, Integer channel) {
String cmd = Constants.CMD + "schedule --cmdid=" + cmdid + " --reqid=" + requestId + " --clientid=10 --flag=0 --rf=7 --channel=" + channel;
return cmd;
}
/**
*
*
* @return
*/
public static String relateSchelduleRule(List<ScheduleRuleVo> dtoList, String cmdid, Integer requestId, Integer channel, String timestr) {
String cmd = Constants.CMD + "schedule --group=" + dtoList.size() + " --flag=1 --clientid=10 --cmdid="
+ cmdid + " --reqid=" + requestId + " --channel=" + channel + " " +
timestr;
return cmd;
}
/**
* CMA
*
* @return
*/
public static String cmaSchelduleDetials(String cmdid, Integer requestId, Integer channel) {
String cmd = Constants.CMD + "schedule --cmdid=" + cmdid + " --reqid=" + requestId + " --clientid=10 --flag=0 --channel=" + channel;
return cmd;
}
/**
* CMA
*
* @return
*/
public static String resetTerminal(String cmdid) {
String cmd = Constants.CMD + "reset --cmdid=" + cmdid + " --mode=0";
return cmd;
}
/**
*
*
* @return
*/
public static String getTerminalStatus(String cmdid) {
String cmd = Constants.CMD + "runningstatus --flag=0 --cmdid=" + cmdid;
return cmd;
}
/**
*
*
* @return
*/
public static String updateTerminalId(String cmdid, String newcmdid) {
String cmd = Constants.CMD + "termid --flag=1 --cmdid=" + cmdid + " --newcmdid=" + newcmdid;
return cmd;
}
/**
*
*
* @return
*/
public static String terminalIdGet(String cmdid, Integer requestId) {
String cmd = Constants.CMD + "termid --clientid=10 --flag=0 --cmdid=" + cmdid + " --reqid=" + requestId;
return cmd;
}
/**
*
*
* @return
*/
public static String updateVideoParam(String cmdid, Integer channel, Integer videoformat, Integer videotime, Integer preset) {
String cmd = Constants.CMD + "videoparams --flag=1 --cmdid=" + cmdid + " --channel=" + channel + " --format=" +
videoformat + " --time=" + videotime + " --preset=" + preset;
return cmd;
}
/**
*
*
* @return
*/
public static String videoParamGet(String cmdid, Integer requestId, Integer channel) {
String cmd = Constants.CMD + "videoparams --clientid=10 --flag=0 --cmdid=" + cmdid + " --reqid=" + requestId + " --channel=" + channel;
return cmd;
}
/**
*
*
* @param cmdid
* @param requestId
* @return
*/
public static String getSystemConfig(String cmdid, Integer requestId) {
String cmd = Constants.CMD + "sampling --clientid=10 --flag=0 --cmdid=" + cmdid + " --reqid=" + requestId;
return cmd;
}
/**
*
*
* @param cmdid
* @param heartbeat
* @return
*/
public static String updateSystemConfig(String cmdid, Integer heartbeat) {
String cmd = Constants.CMD + "sampling --flag =1 --cmdid=" + cmdid + " --heartbeat=" + heartbeat;
return cmd;
}
/**
*
*
* @param cmdid
* @param requestId
* @return
*/
public static String upperComputerGet(String cmdid, Integer requestId) {
String cmd = Constants.CMD + "cma --clientid=10 --flag=0 --cmdid=" + cmdid + " --reqid=" + requestId;
return cmd;
}
/**
*
*
* @param cmdid
* @param requestId
* @return
*/
public static String cameractrl(String cmdid, Integer channel, Integer requestId, Integer ctrl) {
String cmd = Constants.CMD + "cameractrl --clientid=10 --preset=0 --cmdid=" + cmdid + " --channel=" + channel + " --ctrl=" + ctrl + " --reqid=" + requestId;
return cmd;
}
}

@ -0,0 +1,220 @@
package com.shxy.xymanager_common.util;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder;
import com.alibaba.excel.write.handler.RowWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
public class EasyExcelUtil implements RowWriteHandler {
private int mergeRowIndex;//从哪一行开始合并
private int[] mergeColumnIndex;//excel合并的列
private int[] signNum;//合并的唯一标识
private int total;//总行数
private int lastRow;
private int firstCol;
private int lastCol;
private int firstRow;
private int mergeCount = 1;
private EasyExcelUtil(){}
private EasyExcelUtil(int mergeRowIndex, int[] mergeColumnIndex, int[] signNum, int total) {
this.mergeRowIndex = mergeRowIndex;
this.mergeColumnIndex = mergeColumnIndex;
this.signNum = signNum;
this.total = total;
}
/**
* excel
* @param response
* @param fileName
* @param exportList
* @param clazz bean class
* @param <T>
* @throws IOException
*/
public static <T> void createExcel(HttpServletResponse response, String fileName, List<T> exportList,
Class<T> clazz)
throws IOException {
createExcel(response,fileName,exportList,clazz,null);
}
/**
* excel
* @param response
* @param fileName
* @param exportList
* @param clazz bean class
* @param cellMerge
* @param <T>
* @throws IOException
*/
public static <T> void createExcel(HttpServletResponse response, String fileName, List<T> exportList,
Class<T> clazz, CellMerge cellMerge)
throws IOException {
// 设置下载信息
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xlsx");
//定义ExcelWriterSheetBuilder
ExcelWriterSheetBuilder excelWriterSheetBuilder = EasyExcel
.write(response.getOutputStream(), clazz)
.sheet(fileName);
//合并单元格
if (cellMerge != null) {
// 从那一行开始合并
int mergeRowIndex = 1;
EasyExcelUtil
excelMergeRowByRowStrategy = new EasyExcelUtil(mergeRowIndex, cellMerge.getMergeColumIndex(),
cellMerge.getMergeRuleColumIndex(), exportList.size());
excelWriterSheetBuilder.registerWriteHandler(excelMergeRowByRowStrategy);
}
//设置头样式
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
//设置内容格式
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
HorizontalCellStyleStrategy horizontalCellStyleStrategy =
new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
//设计内容居中
contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//设置内容自动换行
contentWriteCellStyle.setWrapped(true);
excelWriterSheetBuilder.registerWriteHandler(horizontalCellStyleStrategy);
//调用doWrite方法
excelWriterSheetBuilder.doWrite(exportList);
}
@Override
public void beforeRowCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Integer integer, Integer integer1, Boolean aBoolean) {
}
@Override
public void afterRowCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Integer integer, Boolean aBoolean) {
}
@Override
public void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row,
Integer relativeRowIndex, Boolean isHead) {
//当前行
int curRowIndex = row.getRowNum();
//每一行的最大列数
short lastCellNum = row.getLastCellNum();
if (curRowIndex == 1) {
//赋初值 第一行
firstRow = curRowIndex;
}
//开始合并位置
if (curRowIndex > mergeRowIndex && !row.getCell(0).getStringCellValue().equals("")) {
for (int i = 0; i < lastCellNum; i++) {
if (i == mergeColumnIndex[i]) {
//当前行号 当前行对象 合并的标识位
mergeWithPrevAnyRow(writeSheetHolder.getSheet(), curRowIndex, row, signNum);
break;//已经进入到合并单元格操作里面了,执行一次就行
}
}
}
}
public void mergeWithPrevAnyRow(Sheet sheet, int curRowIndex, Row row, int[] signNum) {
Row preRow = row.getSheet().getRow(curRowIndex - 1);
List<String> rowDataList = new ArrayList<>();
List<String> preDataList = new ArrayList<>();
for (int i : signNum) {
Object currentData =
row.getCell(i).getCellTypeEnum() == CellType.STRING ? row.getCell(i).getStringCellValue() :
row.getCell(i).getNumericCellValue();
Object preData =
preRow.getCell(i).getCellTypeEnum() == CellType.STRING ? preRow.getCell(i).getStringCellValue() :
preRow.getCell(i).getNumericCellValue();
rowDataList.add(String.valueOf(currentData));
preDataList.add(String.valueOf(preData));
}
String rowDataStr = String.join(",", rowDataList);
String preDataStr = String.join(",", preDataList);
//判断是否合并单元格
boolean curEqualsPre = rowDataStr.equals(preDataStr);
//判断前一个和后一个相同 并且 标识位相同
if (curEqualsPre) {
lastRow = curRowIndex;
mergeCount++;
}
//excel过程中合并
if (!curEqualsPre && mergeCount > 1) {
mergeSheet(firstRow, lastRow, mergeColumnIndex, sheet);
mergeCount = 1;
}
//excel结尾处合并
if (mergeCount > 1 && total == curRowIndex) {
mergeSheet(firstRow, lastRow, mergeColumnIndex, sheet);
mergeCount = 1;
}
if (!curEqualsPre) {
firstRow = curRowIndex;
}
}
private void mergeSheet(int firstRow, int lastRow, int[] mergeColumnIndex, Sheet sheet) {
for (int colNum : mergeColumnIndex) {
firstCol = colNum;
lastCol = colNum;
CellRangeAddress cellRangeAddress = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
sheet.addMergedRegion(cellRangeAddress);
}
}
/**
*
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CellMerge {
private int[] mergeColumIndex;
private int[] mergeRuleColumIndex;
}
/**
*
* @param mergeColumIndex
* @param mergeRuleColumIndex
* @return
*/
public static CellMerge setCellMerge(int[] mergeColumIndex,int[] mergeRuleColumIndex){
EasyExcelUtil excelUtil = new EasyExcelUtil();
CellMerge cellMerge = excelUtil.new CellMerge();
cellMerge.setMergeColumIndex(mergeColumIndex);
cellMerge.setMergeRuleColumIndex(mergeRuleColumIndex);
return cellMerge;
}
}

@ -0,0 +1,85 @@
package com.shxy.xymanager_common.util;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;
import java.io.File;
import java.io.IOException;
import java.util.Map;
public class JSONProcessor {
public Map<String, Object> fromJSON2Map(String json) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
@SuppressWarnings("unchecked")
Map<String, Object> productMap = mapper.readValue(json, Map.class);
return productMap;
}
public Map<String, Object> fromJSON2Map(Object obj) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
@SuppressWarnings("unchecked")
Map<String, Object> productMap = mapper.convertValue(obj, Map.class);
return productMap;
}
public String buildJSONFromJSONObject(Object obj) {
String jsonInString = null;
ObjectMapper mapper = new ObjectMapper();
try {
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
mapper.setSerializationInclusion(Include.NON_NULL);
jsonInString = mapper.writeValueAsString(obj);
} catch (Exception e) {
// LOG.error("JSON transform failed. ", e);
}
return jsonInString;
}
public String buildJSONFromJSONObject(Object obj, boolean prettyPrinter) {
String jsonInString = null;
ObjectMapper mapper = new ObjectMapper();
try {
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
mapper.setSerializationInclusion(Include.NON_NULL);
if (prettyPrinter) {
jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
} else {
jsonInString = mapper.writeValueAsString(obj);
}
} catch (Exception e) {
// LOG.error("JSON transform failed. ", e);
}
return jsonInString;
}
public <T> T buildJSONObjectFromJSON(String json, Class<T> clazz) throws Exception {
ObjectMapper mapper = new ObjectMapper();
try {
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper.readValue(json, clazz);
} catch (UnrecognizedPropertyException e) {
throw new Exception(e.getPropertyName(), e);
}
}
public <T> T buildJSONObjectFromJSON(File file, Class<T> clazz) throws Exception {
ObjectMapper mapper = new ObjectMapper();
try {
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper.readValue(file, clazz);
} catch (UnrecognizedPropertyException e) {
throw new Exception(e.getPropertyName(), e);
} catch (Exception e) {
throw new Exception("JSON Object transform failed. ", e);
}
}
}

@ -0,0 +1,47 @@
/**
* @author roger - Sep 9, 2016
* @version 2.0
* file name: JSONProcessor.java
* package name: com.roam2free.rest.util
*/
package com.shxy.xymanager_common.util;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.SerializationFeature;
import java.io.File;
import java.io.IOException;
import java.util.Map;
public class JSONUtil {
private static JSONProcessor jSONProcessor = new JSONProcessor();
public static String object2Json(Object obj) {
return jSONProcessor.buildJSONFromJSONObject(obj);
}
public static String object2Json(Object obj, boolean prettyPrinter) {
return jSONProcessor.buildJSONFromJSONObject(obj, prettyPrinter);
}
public static <T> T json2Object(String json, Class<T> clazz) throws Exception {
return jSONProcessor.buildJSONObjectFromJSON(json, clazz);
}
public static <T> T file2Object(File file, Class<T> clazz) throws Exception {
return jSONProcessor.buildJSONObjectFromJSON(file, clazz);
}
public static Map<String, Object> object2Map(Object obj) {
try {
return jSONProcessor.fromJSON2Map(obj);
} catch (IOException e) {
return null;
}
}
}

@ -1,6 +1,5 @@
package com.shxy.xymanager_common.util;
import ch.qos.logback.core.util.TimeUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;

@ -1,52 +0,0 @@
package com.shxy.xymanager_common.util;
import lombok.extern.slf4j.Slf4j;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.UUID;
/**
*
*
* @author cy
*/
@Slf4j
public class ProcessExecUtils
{
/**
*
*
*/
public static Integer exec(String cmd) {
String line = "";
StringBuffer sb = new StringBuffer();
String result = "";
Integer sendToCode = -1;
try {
Process ps = Runtime.getRuntime().exec(cmd);
log.info("传入cmd信息:{}",cmd);
BufferedReader reader = new BufferedReader(new InputStreamReader(ps.getInputStream()));
sendToCode = ps.waitFor();
log.info("进程返回结果:{}",sendToCode);
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
result = sb.toString();
if(StringUtils.isNotBlank(result)){
log.info("查询最新结果:{}",result);
}
} catch (IOException e) {
log.error("IOException",e);
} catch (InterruptedException e) {
log.error("InterruptedException",e);
}
return sendToCode;
}
}

@ -1,243 +0,0 @@
package com.shxy.xymanager_common.util;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.shxy.xymanager_common.dto.PhotoTimeResultDto;
import com.shxy.xymanager_common.dto.ScheduleDetailsDto;
import com.shxy.xymanager_common.entity.ScheduleDetails;
import com.shxy.xymanager_common.model.TerminalScheduleRuleModel;
import com.shxy.xymanager_common.model.TerminalScheduleRuleTimeListModel;
import com.shxy.xymanager_common.vo.ScheduleRuleVo;
import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
import java.math.BigDecimal;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
/**
*
* jingjing
*/
public class ScheduleListUtils {
/**
*
*
* @param beans
* @param scheduleid
* @return
*/
public static ArrayList<ScheduleDetails> getScheduleDetailsses(List<ScheduleRuleVo> beans, Integer scheduleid) {
ArrayList<ScheduleDetails> list = new ArrayList<>();
for (ScheduleRuleVo item : beans) {
ScheduleDetails startrule = new ScheduleDetails();
startrule.setScheduleId(scheduleid);
Time startTime = item.getStartTime();
startrule.setHour(MyDateUtils.hour(startTime, true));
startrule.setMinute(MyDateUtils.minute(startTime));
startrule.setPreset(255);
list.add(startrule);
ScheduleDetails endrule = new ScheduleDetails();
endrule.setScheduleId(scheduleid);
Time endTime = item.getEndTime();
endrule.setHour(MyDateUtils.hour(endTime, true));
endrule.setMinute(MyDateUtils.minute(endTime));
endrule.setPreset(255);
list.add(endrule);
Integer span = item.getSpan();
ScheduleDetails spanrule = new ScheduleDetails();
spanrule.setScheduleId(scheduleid);
spanrule.setHour(XyNumberUtils.delivery(span, 60));
spanrule.setMinute(XyNumberUtils.remainder(span, 60));
spanrule.setPreset(255);
list.add(spanrule);
}
return list;
}
/**
* CMA
*
* @param dtoList
* @param offset
* @return
*/
public static String relateTime(List<ScheduleDetailsDto> dtoList, int offset) {
StringBuffer timestr = new StringBuffer();
short perset = dtoList.get(0).getPreset().shortValue();
int index = 0;
String startstring = "";
String endstring = "";
String spanstring = "";
for (int i = 0; i < dtoList.size(); i++) {
short startHour = 0;
short startMin = 0;
short endHour = 0;
short endMin = 0;
short spanHour = 0;
short spanMin = 0;
if (XyNumberUtils.remainder(i, 3) == 0) {
index = i + 2;
Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset);
if (add.intValue() >= 60) {
Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1);
if (add1.intValue() >= 24) {
startHour = Integer.valueOf(24).shortValue();
startMin = Integer.valueOf(0).shortValue();
} else {
startHour = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1).shortValue();
startMin = XyNumberUtils.sub(add, 60).shortValue();
}
} else {
startHour = dtoList.get(i).getHour().shortValue();
startMin = add.shortValue();
}
startstring = " --hour" + index + "=" + startHour + " --min" + index + "=" + startMin + " --preset" + index + "=" + perset;
} else if (XyNumberUtils.remainder(i, 3) == 1) {
index = i + 2;
Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset);
if (add.intValue() >= 60) {
Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1);
if (add1.intValue() >= 24) {
endHour = Integer.valueOf(24).shortValue();
endMin = Integer.valueOf(0).shortValue();
} else {
endHour = add1.shortValue();
endMin = XyNumberUtils.sub(add, 60).shortValue();
}
} else {
endHour = dtoList.get(i).getHour().shortValue();
endMin = add.shortValue();
}
endstring = " --hour" + index + "=" + endHour + " --min" + index + "=" + endMin + " --preset" + index + "=" + perset;
} else if (XyNumberUtils.remainder(i, 3) == 2) {
index = i - 1;
spanHour = dtoList.get(i).getHour().shortValue();
spanMin = dtoList.get(i).getMinute().shortValue();
spanstring = " --hour" + index + "=" + spanHour + " --min" + index + "=" + spanMin + " --preset" + index + "=" + perset;
if (StrUtil.isNotEmpty(spanstring) && StrUtil.isNotEmpty(startstring) && StrUtil.isNotEmpty(endstring)) {
timestr.append(spanstring).append(startstring).append(endstring);
}
}
}
return timestr.toString();
}
// /**
// * 将数据库标准转为前端的时间列表
// *
// * @param details
// * @return
// */
// public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleRuleBeans(List<ScheduleDetailsDto> details) {
// ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
// for (int i = 0; i < details.size(); i++) {
// TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
// if (XyNumberUtils.remainder(i, 3) == 0) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setStartTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 1) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setEndTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 2) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Number mul = XyNumberUtils.mul((Number) hour, 60);
// Number add = XyNumberUtils.add(mul, minute);
// scheduleDetailsBean.setSpan(add.intValue());
// }
// detailsBeans.add(scheduleDetailsBean);
// }
// return detailsBeans;
// }
/**
*
*
* @param details
* @return
*/
public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleDetailsBeans(List<ScheduleDetailsDto> details) {
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
for (int i = 0; i < details.size(); i++) {
ScheduleDetailsDto dto = details.get(i);
if (XyNumberUtils.remainder(i, 3) == 0) {
scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Time time = MyDateUtils.HHMMToTime(hour, minute);
scheduleDetailsBean.setId(dto.getId());
scheduleDetailsBean.setScheduleId(dto.getScheduleId());
scheduleDetailsBean.setStartTime(time);
} else if (XyNumberUtils.remainder(i, 3) == 1) {
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Time time = MyDateUtils.HHMMToTime(hour, minute);
scheduleDetailsBean.setEndTime(time);
} else if (XyNumberUtils.remainder(i, 3) == 2) {
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Number mul = XyNumberUtils.mul((Number) hour, 60);
Number add = XyNumberUtils.add(mul, minute);
scheduleDetailsBean.setSpan(add.intValue());
detailsBeans.add(scheduleDetailsBean);
}
}
return detailsBeans;
}
/*
*
* */
public static List<String> getResultDetails(List<PhotoTimeResultDto> resultDtoList) {
List<String> resultList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(resultDtoList)) {
DateTime starttime = null;
Integer span = null;
DateTime endtime;
for (int j = 0; j < resultDtoList.size(); j++) {
if (XyNumberUtils.remainder(j, 3) == 0) {//时间间隔
Integer hour = resultDtoList.get(j).getHour();
Integer minute = resultDtoList.get(j).getMinute();
Number mul = XyNumberUtils.mul((Number) hour, 60);
Number add = XyNumberUtils.add(mul, minute);
span = add.intValue();
} else if (XyNumberUtils.remainder(j, 3) == 1) {//开始时间
Integer hour = resultDtoList.get(j).getHour();
Integer minute = resultDtoList.get(j).getMinute();
starttime = MyDateUtils.HHMMToDate(hour, minute);
} else if (XyNumberUtils.remainder(j, 3) == 2) {//结束时间
Integer hour = resultDtoList.get(j).getHour();
Integer minute = resultDtoList.get(j).getMinute();
endtime = MyDateUtils.HHMMToDate(hour, minute);
if (starttime != null && endtime != null && span != null) {
List<DateTime> dateTimes = MyDateUtils.rangeToList(starttime, endtime, DateField.MINUTE, span);
for (DateTime data : dateTimes) {
String dateTime = DateUtil.formatTime(data);
resultList.add(dateTime);
}
}
}
}
}
return resultList;
}
}

@ -1,94 +0,0 @@
package com.shxy.xymanager_common.util;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.math.BigInteger;
/**
*
*
* @author cy
*/
@Slf4j
@Component
public class TerminalUtils {
private static Integer hearttime;
private static String photoaddress;
private static String videoaddress;
@Value("${heart.time}")
public void setHearttime(Integer time) {
TerminalUtils.hearttime = time;
}
@Value("${photo.address}")
public void setPhotoaddress(String photoaddress) {
TerminalUtils.photoaddress = photoaddress;
}
@Value("${video.address}")
public void setVideoaddress(String videoaddress) {
TerminalUtils.videoaddress = videoaddress;
}
/**
* 线
*
* @param lastHeartbeat
*/
public static boolean judgeTerminalStatus(BigInteger lastHeartbeat) {
if (lastHeartbeat == null) {
return false;
}
long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue());
DateTime date = MyDateUtils.date(time);
long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE);
if (between > hearttime) {
return false;
} else {
return true;
}
}
/**
*
*/
public static String getPhotoPath(Integer mediaType, String requestIp, String path) {
if (mediaType != null) {
if (mediaType.intValue() == 0) {
return requestIp + photoaddress + path;
} else if (mediaType == 1) {
return requestIp + videoaddress + path;
} else {
return "";
}
} else {
return "";
}
}
/**
*
*/
public static String getThumbPhotoPath(Integer mediaType, String requestIp, String path) {
if (mediaType.intValue() == 0) {
if (StringUtils.isNotBlank(path)) {
return requestIp + videoaddress + path;
} else {
return "";
}
} else {
return "";
}
}
}

@ -1,4 +1,4 @@
package com.shxy.xymanager_common.util;
package com.shxy.xymanager_common.util.xinyin;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
@ -52,4 +52,8 @@ public class HeaderUtil {
}
return requestip;
}
public static String getAddress() {
return address;
}
}

@ -0,0 +1,83 @@
package com.shxy.xymanager_common.util.xinyin;
import com.shxy.xymanager_common.constant.Constants;
import com.shxy.xymanager_common.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
import java.util.UUID;
/**
*
*
* @author cy
*/
@Slf4j
public class ProcessExecUtils {
/**
*
*
*/
public static Integer exec(String cmd) {
String line = "";
StringBuffer sb = new StringBuffer();
String result = "";
Integer sendToCode = -1;
try {
Process ps = Runtime.getRuntime().exec(cmd);
log.info("传入cmd信息:{}",cmd);
BufferedReader reader = new BufferedReader(new InputStreamReader(ps.getInputStream()));
sendToCode = ps.waitFor();
log.info("进程返回结果:{}",sendToCode);
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
result = sb.toString();
if(StringUtils.isNotBlank(result)){
log.info("查询最新结果:{}",result);
}
} catch (IOException e) {
log.error("IOException",e);
} catch (InterruptedException e) {
log.error("InterruptedException",e);
}
return sendToCode;
}
/**
*
*/
public static Integer execArray(List<String> cmd) {
String[] strings = new String[cmd.size()];
String[] cmdstring = cmd.toArray(strings);
String line = "";
StringBuffer sb = new StringBuffer();
String result = "";
Integer sendToCode = -1;
try {
Process ps = Runtime.getRuntime().exec(cmdstring);
log.info("传入cmd信息:{}", cmd.toString());
BufferedReader reader = new BufferedReader(new InputStreamReader(ps.getInputStream()));
sendToCode = ps.waitFor();
log.info("进程返回结果:{}", sendToCode);
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
result = sb.toString();
if (StringUtils.isNotBlank(result)) {
log.info("查询最新结果:{}", result);
}
} catch (IOException e) {
log.error("IOException", e);
} catch (InterruptedException e) {
log.error("InterruptedException", e);
}
return sendToCode;
}
}

@ -0,0 +1,283 @@
package com.shxy.xymanager_common.util.xinyin;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.shxy.xymanager_common.dto.PhotoTimeResultDto;
import com.shxy.xymanager_common.dto.ScheduleDetailsDto;
import com.shxy.xymanager_common.entity.ScheduleDetails;
import com.shxy.xymanager_common.model.TerminalScheduleRuleModel;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_common.util.XyNumberUtils;
import com.shxy.xymanager_common.vo.ScheduleRuleVo;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
/**
*
* jingjing
*/
public class ScheduleListUtils {
/**
*
*
* @param beans
* @param scheduleid
* @return
*/
public static ArrayList<ScheduleDetails> getScheduleDetailsses(List<ScheduleRuleVo> beans, Integer scheduleid) {
ArrayList<ScheduleDetails> list = new ArrayList<>();
for (ScheduleRuleVo item : beans) {
// Integer span = item.getSpan();
// ScheduleDetails spanrule = new ScheduleDetails();
// spanrule.setScheduleId(scheduleid);
// spanrule.setHour(XyNumberUtils.delivery(span, 60));
// spanrule.setMinute(XyNumberUtils.remainder(span, 60));
// spanrule.setPreset(255);
// list.add(spanrule);
//
// ScheduleDetails startrule = new ScheduleDetails();
// startrule.setScheduleId(scheduleid);
// Time startTime = item.getStartTime();
// startrule.setHour(MyDateUtils.hour(startTime, true));
// startrule.setMinute(MyDateUtils.minute(startTime));
// startrule.setPreset(255);
// list.add(startrule);
//
// ScheduleDetails endrule = new ScheduleDetails();
// endrule.setScheduleId(scheduleid);
// Time endTime = item.getEndTime();
// endrule.setHour(MyDateUtils.hour(endTime, true));
// endrule.setMinute(MyDateUtils.minute(endTime));
// endrule.setPreset(255);
// list.add(endrule);
ScheduleDetails rule = new ScheduleDetails();
Integer hour = item.getHour();
Integer minute = item.getMinute();
Integer preset = item.getPreset();
rule.setScheduleId(scheduleid);
rule.setHour(hour);
rule.setMinute(minute);
rule.setPreset(preset);
list.add(rule);
}
return list;
}
/**
* CMA
*
* @param dtoList
* @return
*/
public static String relateTime(List<ScheduleRuleVo> dtoList) {
StringBuffer timestr = new StringBuffer();
if (CollectionUtil.isNotEmpty(dtoList)) {
short perset = dtoList.get(0).getPreset().shortValue();
int index = 0;
String spanstring = "";
for (int i = 0; i < dtoList.size(); i++) {
index = i + 1;
short spanHour = dtoList.get(i).getHour().shortValue();
short spanMin = dtoList.get(i).getMinute().shortValue();
spanstring = " --hour" + index + "=" + spanHour + " --min" + index + "=" + spanMin + " --preset" + index + "=" + perset;
timestr.append(spanstring);
}
}
return timestr.toString();
}
// public static String relateTime(List<ScheduleDetailsDto> dtoList, int offset) {
// StringBuffer timestr = new StringBuffer();
// short perset = dtoList.get(0).getPreset().shortValue();
// int index = 0;
// String startstring = "";
// String endstring = "";
// String spanstring = "";
// for (int i = 0; i < dtoList.size(); i++) {
// short startHour = 0;
// short startMin = 0;
// short endHour = 0;
// short endMin = 0;
// short spanHour = 0;
// short spanMin = 0;
// if (XyNumberUtils.remainder(i, 3) == 0) {
// index = i + 1;
// spanHour = dtoList.get(i).getHour().shortValue();
// spanMin = dtoList.get(i).getMinute().shortValue();
// spanstring = " --hour" + index + "=" + spanHour + " --min" + index + "=" + spanMin + " --preset" + index + "=" + perset;
// } else if (XyNumberUtils.remainder(i, 3) == 1) {
// index = i + 1;
// Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset);
// if (add.intValue() >= 60) {
// Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1);
// if (add1.intValue() >= 24) {
// startHour = Integer.valueOf(24).shortValue();
// startMin = Integer.valueOf(0).shortValue();
// } else {
// startHour = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1).shortValue();
// startMin = XyNumberUtils.sub(add, 60).shortValue();
// }
// } else {
// startHour = dtoList.get(i).getHour().shortValue();
// startMin = add.shortValue();
// }
// startstring = " --hour" + index + "=" + startHour + " --min" + index + "=" + startMin + " --preset" + index + "=" + perset;
// } else if (XyNumberUtils.remainder(i, 3) == 2) {
// index = i + 1;
// Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset);
// if (add.intValue() >= 60) {
// Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1);
// if (add1.intValue() >= 24) {
// endHour = Integer.valueOf(24).shortValue();
// endMin = Integer.valueOf(0).shortValue();
// } else {
// endHour = add1.shortValue();
// endMin = XyNumberUtils.sub(add, 60).shortValue();
// }
// } else {
// endHour = dtoList.get(i).getHour().shortValue();
// endMin = add.shortValue();
// }
// endstring = " --hour" + index + "=" + endHour + " --min" + index + "=" + endMin + " --preset" + index + "=" + perset;
// if (StrUtil.isNotEmpty(spanstring) && StrUtil.isNotEmpty(startstring) && StrUtil.isNotEmpty(endstring)) {
// timestr.append(spanstring).append(startstring).append(endstring);
// }
// }
// }
// return timestr.toString();
// }
// /**
// * 将数据库标准转为前端的时间列表
// *
// * @param details
// * @return
// */
// public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleRuleBeans(List<ScheduleDetailsDto> details) {
// ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
// for (int i = 0; i < details.size(); i++) {
// TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
// if (XyNumberUtils.remainder(i, 3) == 0) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setStartTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 1) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setEndTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 2) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Number mul = XyNumberUtils.mul((Number) hour, 60);
// Number add = XyNumberUtils.add(mul, minute);
// scheduleDetailsBean.setSpan(add.intValue());
// }
// detailsBeans.add(scheduleDetailsBean);
// }
// return detailsBeans;
// }
/**
*
*
* @param details
* @return
*/
public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleDetailsBeans(List<ScheduleDetailsDto> details) {
// ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
// TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
// for (int i = 0; i < details.size(); i++) {
// ScheduleDetailsDto dto = details.get(i);
// if (XyNumberUtils.remainder(i, 3) == 0) {
// scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
// Integer hour = dto.getHour();
// Integer minute = dto.getMinute();
// Number mul = XyNumberUtils.mul((Number) hour, 60);
// Number add = XyNumberUtils.add(mul, minute);
// scheduleDetailsBean.setId(dto.getId());
// scheduleDetailsBean.setScheduleId(dto.getScheduleId());
// scheduleDetailsBean.setSpan(add.intValue());
// } else if (XyNumberUtils.remainder(i, 3) == 1) {
// Integer hour = dto
// .getHour();
// Integer minute = dto.getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setStartTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 2) {
// Integer hour = dto.getHour();
// Integer minute = dto.getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setEndTime(time);
// detailsBeans.add(scheduleDetailsBean);
// }
// }
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
for (int i = 0; i < details.size(); i++) {
ScheduleDetailsDto dto = details.get(i);
TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Integer preset = dto.getPreset();
scheduleDetailsBean.setId(dto.getId());
scheduleDetailsBean.setScheduleId(dto.getScheduleId());
scheduleDetailsBean.setHour(hour);
scheduleDetailsBean.setMinute(minute);
scheduleDetailsBean.setPreset(preset);
detailsBeans.add(scheduleDetailsBean);
}
return detailsBeans;
}
/*
*
* */
public static List<String> getResultDetails(List<PhotoTimeResultDto> resultDtoList) {
List<String> resultList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(resultDtoList)) {
DateTime starttime = null;
Integer span = null;
DateTime endtime;
for (int j = 0; j < resultDtoList.size(); j++) {
if (XyNumberUtils.remainder(j, 3) == 0) {//时间间隔
Integer hour = resultDtoList.get(j).getHour();
Integer minute = resultDtoList.get(j).getMinute();
Number mul = XyNumberUtils.mul((Number) hour, 60);
Number add = XyNumberUtils.add(mul, minute);
span = add.intValue();
} else if (XyNumberUtils.remainder(j, 3) == 1) {//开始时间
Integer hour = resultDtoList.get(j).getHour();
Integer minute = resultDtoList.get(j).getMinute();
starttime = MyDateUtils.HHMMToDate(hour, minute);
} else if (XyNumberUtils.remainder(j, 3) == 2) {//结束时间
Integer hour = resultDtoList.get(j).getHour();
Integer minute = resultDtoList.get(j).getMinute();
endtime = MyDateUtils.HHMMToDate(hour, minute);
if (starttime != null && endtime != null && span != null) {
List<DateTime> dateTimes = MyDateUtils.rangeToList(starttime, endtime, DateField.MINUTE, span);
for (DateTime data : dateTimes) {
String dateTime = DateUtil.formatTime(data);
resultList.add(dateTime);
}
}
}
}
}
return resultList;
}
}

@ -0,0 +1,472 @@
package com.shxy.xymanager_common.util.xinyin;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import com.shxy.xymanager_common.dto.LineAndDyNameDto;
import com.shxy.xymanager_common.dto.TerminalImgAlarmsDto;
import com.shxy.xymanager_common.dto.TowerDto;
import com.shxy.xymanager_common.entity.TerminalChannelMapper;
import com.shxy.xymanager_common.entity.TerminalChannels;
import com.shxy.xymanager_common.entity.TerminalPhoto;
import com.shxy.xymanager_common.entity.Terminals;
import com.shxy.xymanager_common.enums.CommonStatus;
import com.shxy.xymanager_common.model.TerminalPhotoListModel;
import com.shxy.xymanager_common.model.TerminalPhotoSelectListModel;
import com.shxy.xymanager_common.model.TerminalPhotosModel;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_common.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
*
* @author jingjing
*/
@Slf4j
@Component
public class TerminalUtils {
public static Integer hearttime;
public static String photoaddress;
public static String videoaddress;
@Value("${heart.time}")
public void setHearttime(Integer time) {
TerminalUtils.hearttime = time;
}
@Value("${photo.address}")
public void setPhotoaddress(String photoaddress) {
TerminalUtils.photoaddress = photoaddress;
}
@Value("${video.address}")
public void setVideoaddress(String videoaddress) {
TerminalUtils.videoaddress = videoaddress;
}
/**
* 线
*
* @param lastHeartbeat
*/
public static boolean judgeTerminalStatus(BigInteger lastHeartbeat) {
if (lastHeartbeat == null) {
return false;
}
long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue());
DateTime date = MyDateUtils.date(time);
long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE);
if (between > hearttime) {
return false;
} else {
return true;
}
}
/**
*
*/
public static BigInteger generateOnlineTime() {
DateTime offset = MyDateUtils.offset(new Date(), DateField.MINUTE, -hearttime);
long l = MyDateUtils.TimeMillSecond2Second(offset);
BigInteger bigInteger = BigInteger.valueOf(l);
return bigInteger;
}
/**
*
*/
public static String getPhotoPath(Integer mediaType, String requestIp, String path) {
if (mediaType != null) {
if (mediaType.intValue() == 0) {
return requestIp + photoaddress + path;
} else if (mediaType == 1) {
return requestIp + videoaddress + path;
} else {
return "";
}
} else {
return "";
}
}
/**
*
*/
public static String getThumbPhotoPath(Integer mediaType, String requestIp, String path) {
if (mediaType.intValue() == 1) {
if (StringUtils.isNotBlank(path)) {
return requestIp + videoaddress + path;
} else {
return "";
}
} else {
return "";
}
}
/**
*
*
* @param requestIp
* @param list
* @param lineMap
* @param termchannelMapMap
* @param terminalMap
* @param termchannelMap
* @param towerMap
* @param photoList
* @return
*/
public static List<TerminalPhotosModel.PhotosBean> setPhotoList(String requestIp, List<TerminalChannelMapper> list, Map<Integer, LineAndDyNameDto> lineMap, Map<String, TerminalChannelMapper> termchannelMapMap, Map<Integer, Terminals> terminalMap, Map<Integer, TerminalChannels> termchannelMap, Map<Integer, TowerDto> towerMap, List<TerminalPhoto> photoList,List<TerminalImgAlarmsDto> imgarlarmsList) {
List<TerminalPhotosModel.PhotosBean> beans = new ArrayList<>();
for (TerminalChannelMapper item : list) {
TerminalPhotosModel.PhotosBean photosBean = new TerminalPhotosModel.PhotosBean();
Integer termid = item.getTermId();
Integer channelid = item.getChannelId();
BigInteger photoId = item.getPhotoId();
Integer lineid = null;
photosBean.setTermid(termid);
Terminals terminals = terminalMap.get(termid);
if (terminals != null) {
lineid = terminals.getLineid();
photosBean.setLineid(lineid);
photosBean.setDisplayname(terminals.getDisplayName());
photosBean.setCmdid(terminals.getCmdid());
Integer towerid = terminals.getTowerid();
TowerDto towerDto = towerMap.get(towerid);
if (towerDto != null) {
photosBean.setTowername(towerDto.getName());
photosBean.setAddress(towerDto.getAddress());
}
}
photosBean.setChannelid(channelid);
photosBean.setChannnelname(termchannelMap.get(channelid).getChannelName());
if (termchannelMapMap != null) {
TerminalChannelMapper terminalChannelMapper = termchannelMapMap.get(termid + "#" + channelid);
if (terminalChannelMapper != null) {
photosBean.setAlias(terminalChannelMapper.getAlias());
} else {
photosBean.setAlias("");
}
} else {
photosBean.setAlias("");
}
if (lineid != null) {
LineAndDyNameDto lineAndDyNameDto = lineMap.get(lineid);
if (lineAndDyNameDto != null) {
photosBean.setLinename(lineAndDyNameDto.getName());
} else {
photosBean.setLinename("");
}
}
for (int y = 0; y < photoList.size(); y++) {
TerminalPhoto terminalPhoto = photoList.get(y);
if (BeanUtil.isNotEmpty(terminalPhoto)) {
if (terminalPhoto.getId() != null && photoId != null) {
if (terminalPhoto.getId().longValue() == photoId.longValue()) {
Integer mediatype = terminalPhoto.getMediaType();
if (mediatype != null && (mediatype.intValue() == 0 || mediatype.intValue() == 1)) {
photosBean.setPath(terminalPhoto.getPath());
long recvtime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getRecvTime().longValue());
photosBean.setRecvTime(MyDateUtils.date(recvtime));
long phototime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getPhotoTime().longValue());
photosBean.setPhotoTime(MyDateUtils.date(phototime));
photosBean.setMediatype(mediatype);
String thumbPhotoPath = TerminalUtils.getThumbPhotoPath(mediatype, requestIp, terminalPhoto.getThumb());
if (StringUtils.isNotBlank(thumbPhotoPath)) {
photosBean.setThumb(thumbPhotoPath);
}
String photoPath = TerminalUtils.getPhotoPath(mediatype, requestIp, terminalPhoto.getPath());
photosBean.setPath(photoPath);
photosBean.setOrginalid(terminalPhoto.getOrginalId());
photosBean.setPresetId(terminalPhoto.getPresetId());
}
ArrayList<TerminalPhotoListModel.AlarmItemBean> photoalarmlist = new ArrayList<>();
if (imgarlarmsList != null && imgarlarmsList.size() > 0) {
Integer termId1 = terminalPhoto.getTermId();
BigInteger orginalid = terminalPhoto.getOrginalId();
for (TerminalImgAlarmsDto dto : imgarlarmsList) {
BigInteger photoOrgId = dto.getPhotoOrgId();
Integer termId = dto.getTermId();
if (photoOrgId!= null && orginalid!=null && termId1!=null && termId!=null){
if(photoOrgId.intValue() == orginalid.intValue() && termId1.intValue() == termId.intValue()) {
TerminalPhotoListModel.AlarmItemBean alarmItemBean = new TerminalPhotoListModel.AlarmItemBean();
alarmItemBean.setEnname(dto.getEnname());
alarmItemBean.setName(dto.getName());
alarmItemBean.setHeight(dto.getHeight());
alarmItemBean.setWidth(dto.getWidth());
alarmItemBean.setProb(dto.getProb());
alarmItemBean.setX(dto.getX());
alarmItemBean.setY(dto.getY());
alarmItemBean.setPhotoWidth(terminalPhoto.getWidth());
alarmItemBean.setPhotoHeight(terminalPhoto.getHeight());
photoalarmlist.add(alarmItemBean);
}
}
}
if (photoalarmlist == null || photoalarmlist.size() == 0) {
photosBean.setIsAlarm(CommonStatus.DELETE.value());
} else {
photosBean.setIsAlarm(CommonStatus.EFFECTIVE.value());
}
photosBean.setAlarmlist(photoalarmlist);
} else {
photosBean.setIsAlarm(CommonStatus.DELETE.value());
photosBean.setAlarmlist(photoalarmlist);
}
break;
}
}
}
}
beans.add(photosBean);
}
return beans;
}
/**
* ()
*
* @param requestIp
* @param list
* @param lineMap
* @param termchannelMapMap
* @param terminalMap
* @param termchannelMap
* @param towerMap
* @param photoList
* @return
*/
public static List<TerminalPhotosModel.PhotosBean> setTowerPhotoList(String requestIp, List<TerminalChannelMapper> list, Map<Integer, LineAndDyNameDto> lineMap, Map<String, TerminalChannelMapper> termchannelMapMap, Map<Integer, Terminals> terminalMap, Map<Integer, TerminalChannels> termchannelMap, Map<Integer, TowerDto> towerMap, List<TerminalPhoto> photoList, List<TerminalImgAlarmsDto> imgarlarmsList) {
List<TerminalPhotosModel.PhotosBean> beans = new ArrayList<>();
for (TerminalChannelMapper item : list) {
TerminalPhotosModel.PhotosBean photosBean = new TerminalPhotosModel.PhotosBean();
Integer termid = item.getTermId();
Integer channelid = item.getChannelId();
BigInteger photoId = item.getPhotoId();
Integer lineid = null;
photosBean.setTermid(termid);
Terminals terminals = terminalMap.get(termid);
if (terminals != null) {
lineid = terminals.getLineid();
photosBean.setLineid(lineid);
photosBean.setDisplayname(terminals.getDisplayName());
photosBean.setCmdid(terminals.getCmdid());
Integer towerid = terminals.getTowerid();
TowerDto towerDto = towerMap.get(towerid);
if (towerDto != null) {
photosBean.setTowername(towerDto.getName());
photosBean.setAddress(towerDto.getAddress());
}
}
photosBean.setChannelid(channelid);
if (termchannelMap != null) {
TerminalChannels terminalChannels = termchannelMap.get(channelid);
if (terminalChannels != null) {
photosBean.setChannnelname(terminalChannels.getChannelName());
}
}
if (termchannelMapMap != null) {
TerminalChannelMapper terminalChannelMapper = termchannelMapMap.get(termid + "#" + channelid);
if (terminalChannelMapper != null) {
photosBean.setAlias(terminalChannelMapper.getAlias());
} else {
photosBean.setAlias("");
}
} else {
photosBean.setAlias("");
}
if (lineid != null) {
LineAndDyNameDto lineAndDyNameDto = lineMap.get(lineid);
if (lineAndDyNameDto != null) {
photosBean.setLinename(lineAndDyNameDto.getName());
} else {
photosBean.setLinename("");
}
}
if (photoId == null) {
photosBean.setPath(null);
} else {
for (int y = 0; y < photoList.size(); y++) {
TerminalPhoto terminalPhoto = photoList.get(y);
if (BeanUtil.isNotEmpty(terminalPhoto)) {
if (terminalPhoto.getId() != null) {
if (terminalPhoto.getId().longValue() == photoId.longValue()) {
Integer mediatype = terminalPhoto.getMediaType();
if (mediatype != null && (mediatype.intValue() == 0 || mediatype.intValue() == 1)) {
photosBean.setPath(terminalPhoto.getPath());
long recvtime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getRecvTime().longValue());
photosBean.setRecvTime(MyDateUtils.date(recvtime));
long phototime = MyDateUtils.TimeSecond2MillSecond(terminalPhoto.getPhotoTime().longValue());
photosBean.setPhotoTime(MyDateUtils.date(phototime));
photosBean.setMediatype(mediatype);
String thumbPhotoPath = TerminalUtils.getThumbPhotoPath(mediatype, requestIp, terminalPhoto.getThumb());
if (StringUtils.isNotBlank(thumbPhotoPath)) {
photosBean.setThumb(thumbPhotoPath);
}
String photoPath = TerminalUtils.getPhotoPath(mediatype, requestIp, terminalPhoto.getPath());
photosBean.setPath(photoPath);
photosBean.setOrginalid(terminalPhoto.getOrginalId());
photosBean.setPresetId(terminalPhoto.getPresetId());
ArrayList<TerminalPhotoListModel.AlarmItemBean> photoalarmlist = new ArrayList<>();
if (imgarlarmsList != null && imgarlarmsList.size() > 0) {
Integer termId1 = terminalPhoto.getTermId();
BigInteger orginalid = terminalPhoto.getOrginalId();
for (TerminalImgAlarmsDto dto : imgarlarmsList) {
BigInteger photoOrgId = dto.getPhotoOrgId();
Integer termId = dto.getTermId();
if (photoOrgId!= null && orginalid!=null && termId1!=null && termId!=null){
if(photoOrgId.intValue() == orginalid.intValue() && termId1.intValue() == termId.intValue()) {
TerminalPhotoListModel.AlarmItemBean alarmItemBean = new TerminalPhotoListModel.AlarmItemBean();
alarmItemBean.setEnname(dto.getEnname());
alarmItemBean.setName(dto.getName());
alarmItemBean.setHeight(dto.getHeight());
alarmItemBean.setWidth(dto.getWidth());
alarmItemBean.setProb(dto.getProb());
alarmItemBean.setX(dto.getX());
alarmItemBean.setY(dto.getY());
alarmItemBean.setPhotoWidth(terminalPhoto.getWidth());
alarmItemBean.setPhotoHeight(terminalPhoto.getHeight());
photoalarmlist.add(alarmItemBean);
}
}
}
if (photoalarmlist == null || photoalarmlist.size() == 0) {
photosBean.setIsAlarm(CommonStatus.DELETE.value());
} else {
photosBean.setIsAlarm(CommonStatus.EFFECTIVE.value());
}
photosBean.setAlarmlist(photoalarmlist);
} else {
photosBean.setIsAlarm(CommonStatus.DELETE.value());
photosBean.setAlarmlist(photoalarmlist);
}
}
break;
}
}
}
}
}
beans.add(photosBean);
}
return beans;
}
public static List<TerminalPhotoSelectListModel.PhotoBean> examPhotoBean(String requestIp, List<TerminalPhoto> list, Map<Integer, Terminals> terminalMap, Map<Integer, LineAndDyNameDto> lineMap, Map<Integer, TowerDto> towerMap, Map<Integer, TerminalChannels> termchannelMap, Map<String, TerminalChannelMapper> termchannelMapMap, List<TerminalImgAlarmsDto> imgarlarmsList) {
List<TerminalPhotoSelectListModel.PhotoBean> beans = new ArrayList<>();
for (TerminalPhoto item : list) {
TerminalPhotoSelectListModel.PhotoBean photoBean = new TerminalPhotoSelectListModel.PhotoBean();
photoBean.setTermid(item.getTermId());
Terminals terminals = terminalMap.get(item.getTermId());
if (!BeanUtil.isEmpty(terminals)) {
Integer mediaType = item.getMediaType();
if (mediaType != null && (mediaType.intValue() == 0 || mediaType.intValue() == 1)) {
photoBean.setDisplayname(terminals.getDisplayName());
Integer towerid = terminals.getTowerid();
if (towerMap != null) {
TowerDto towerDto = towerMap.get(towerid);
Integer lineId = towerDto.getLineId();
photoBean.setLineid(lineId);
if (lineMap != null) {
LineAndDyNameDto lineAndDyNameDto = lineMap.get(lineId);
if (lineAndDyNameDto != null) {
photoBean.setLinename(lineAndDyNameDto.getName());
}
}
}
Integer channelId = item.getChannelId();
BigInteger picid = item.getId();
photoBean.setPicid(picid);
photoBean.setChannelid(channelId);
photoBean.setCmdid(terminals.getCmdid());
if (termchannelMap != null) {
TerminalChannels terminalChannels = termchannelMap.get(channelId);
if (terminalChannels != null) {
photoBean.setChannnelname(terminalChannels.getChannelName());
}
}
if (termchannelMapMap != null) {
TerminalChannelMapper terminalChannelMapper = termchannelMapMap.get(item.getTermId() + "#" + channelId);
if (terminalChannelMapper != null) {
photoBean.setAlias(terminalChannelMapper.getAlias());
}
}
photoBean.setMediaType(item.getMediaType());
photoBean.setOrginalid(item.getOrginalId());
String photoPath = TerminalUtils.getPhotoPath(mediaType, requestIp, item.getPath());
photoBean.setPath(photoPath);
String thumbPhotoPath = TerminalUtils.getThumbPhotoPath(item.getMediaType(), requestIp, item.getThumb());
if (StringUtils.isNotBlank(thumbPhotoPath)) {
photoBean.setThumb(thumbPhotoPath);
}
photoBean.setPresetId(item.getPresetId());
long phototime = MyDateUtils.TimeSecond2MillSecond(item.getPhotoTime().longValue());
photoBean.setPhotoTime(MyDateUtils.date(phototime));
long rectime = MyDateUtils.TimeSecond2MillSecond(item.getRecvTime().longValue());
photoBean.setRecvTime(MyDateUtils.date(rectime));
ArrayList<TerminalPhotoListModel.AlarmItemBean> photoalarmlist = new ArrayList<>();
if (imgarlarmsList != null && imgarlarmsList.size() > 0) {
Integer termId1 = item.getTermId();
BigInteger orginalid = item.getOrginalId();
for (TerminalImgAlarmsDto dto : imgarlarmsList) {
BigInteger photoOrgId = dto.getPhotoOrgId();
Integer termId = dto.getTermId();
if (photoOrgId!= null && orginalid!=null && termId1!=null && termId!=null) {
if (photoOrgId.intValue() == orginalid.intValue() && termId1.intValue() == termId.intValue()) {
TerminalPhotoListModel.AlarmItemBean alarmItemBean = new TerminalPhotoListModel.AlarmItemBean();
alarmItemBean.setEnname(dto.getEnname());
alarmItemBean.setName(dto.getName());
alarmItemBean.setHeight(dto.getHeight());
alarmItemBean.setWidth(dto.getWidth());
alarmItemBean.setProb(dto.getProb());
alarmItemBean.setX(dto.getX());
alarmItemBean.setY(dto.getY());
alarmItemBean.setPhotoWidth(item.getWidth());
alarmItemBean.setPhotoHeight(item.getHeight());
photoalarmlist.add(alarmItemBean);
}
}
}
if (photoalarmlist == null || photoalarmlist.size() == 0) {
photoBean.setIsAlarm(CommonStatus.DELETE.value());
} else {
photoBean.setIsAlarm(CommonStatus.EFFECTIVE.value());
}
photoBean.setAlarmlist(photoalarmlist);
} else {
photoBean.setIsAlarm(CommonStatus.DELETE.value());
photoBean.setAlarmlist(photoalarmlist);
}
beans.add(photoBean);
}
}
}
return beans;
}
}

@ -0,0 +1,20 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ApiModel(value = "删除图片对象", description = "删除图片对象描述")
public class DeletePicVo {
@NotEmpty(message = "不能传入空值")
@ApiModelProperty(value = "删除图片对象数组", required = true, example = "A0001")
private List<Integer> list;
}

@ -0,0 +1,24 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ApiModel(value = "收藏对象", description = "收藏对象描述")
public class FavorVo {
@ApiModelProperty(value = "是否收藏", example = "0--删除收藏 1--收藏")
private Integer id;
@ApiModelProperty(value = "是否收藏", example = "0--删除收藏 1--收藏")
private Integer termid;
}

@ -0,0 +1,27 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
@Data
@ApiModel(value = "最新杆塔请求", description = "最新杆塔请求")
public class LastTowerVo {
@ApiModelProperty(value = "编号", example = "电压编号 线路编号")
private Integer id;
@NotNull(message = "查询类型不能缺少")
@ApiModelProperty(value = "查询类型", example = "1--电压 2--线路 ")
private Integer type;
@Min(value = 1, message = "分页位置最小从1开始")
@ApiModelProperty(value = "分页位置从1开始", required = true, example = "1")
private int pageindex;
@Min(value = 1, message = "分页大小最小为1")
@ApiModelProperty(value = "分页大小", required = true, example = "1")
private int pagesize;
}

@ -0,0 +1,17 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "新疆抓拍参数", description = "新疆抓拍参数描述")
public class OpenXJDeviceCaptureVo {
@ApiModelProperty(value = "装置编号", example = "123455")
private String cmdId;
@ApiModelProperty(value = "操作", example = "1--拍照 2--拍视频")
private Integer operateType;
}

@ -9,6 +9,11 @@ import javax.validation.constraints.Min;
@Data
@ApiModel(value = "分页对象", description = "分页对象描述")
public class PageVo {
@ApiModelProperty(value = "通道id", example = "12345")
private Integer channelId;
@Min(value = 1, message = "分页位置最小从1开始")
@ApiModelProperty(value = "分页位置从1开始", required = true, example = "1")
private int pageindex;

@ -31,10 +31,15 @@ public class RelateTerminalListRuleIdVo {
@NotNull(message = "通道编号列表不能缺少")
@ApiModelProperty(value = "通道编号列表", example = "123455")
private List<Integer> channelidlist;
private Integer channelid;
@ApiModelProperty(value = "偏移量", example = "123455")
private Integer offset;
@NotNull(message = "不能传入空值")
@ApiModelProperty(value = "任务规则对象数组", required = true, example = "A0001")
private List<ScheduleRuleVo> list;
}
}

@ -15,5 +15,5 @@ public class ReturnedPhotoParamsGetVo {
@ApiModelProperty(value = "通道ID", required = true, example = "A0001")
private Short channelId;
private Integer channelId;
}

@ -1,21 +1,24 @@
package com.shxy.xymanager_common.vo;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigInteger;
@Data
@ApiModel(value = "返回图片查询", description = "返回图片查询")
public class ReturnedPhotoVo {
@NotNull(message = "查询编号不能缺少")
@ApiModelProperty(value = "查询编号", example = "123455")
private Integer requestid;
@NotNull(message = "不能传入空值")
@ApiModelProperty(value = "装置id", required = true, example = "A0001")
private Integer termId;
@ApiModelProperty(value = "手动拍照时间", required = true, example = "A0001")
private DateTime photoTime;
private BigInteger photoTime;
}

@ -13,17 +13,17 @@ import java.util.List;
@ApiModel(value = "任务规则对象详情", description = "任务规则对象详情描述")
public class ScheduleRuleVo {
@ApiModelProperty(value = "开始", example = "单位")
@NotBlank(message = "开始不能缺少")
private Time startTime;
@ApiModelProperty(value = "时", example = "单位")
@NotBlank(message = "时不能缺少")
private Integer hour;
@ApiModelProperty(value = "结束时间", example = "型号型号")
@NotBlank(message = "结束时间不能缺少")
private Time endTime;
@ApiModelProperty(value = "", example = "型号型号")
@NotBlank(message = "不能缺少")
private Integer minute;
@ApiModelProperty(value = "时间间隔", example = "型号型号")
@NotBlank(message = "时间间隔不能缺少")
private Integer span;
@ApiModelProperty(value = "预置位", example = "型号型号")
@NotBlank(message = "预置位不能缺少")
private Integer preset;
}

@ -0,0 +1,25 @@
package com.shxy.xymanager_common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.Min;
@Data
@Validated
@ApiModel(value = "杆塔和线路模糊查询对象", description = "杆塔和线路模糊查询对象")
public class SelectVo {
@ApiModelProperty(value = "搜索内容", example = "搜索内容字段")
private String search;
@Min(value = 1, message = "分页位置最小从1开始")
@ApiModelProperty(value = "分页位置从1开始", required = true, example = "1")
private int pageindex;
@Min(value = 1, message = "分页大小最小为1")
@ApiModelProperty(value = "分页大小", required = true, example = "1")
private int pagesize;
}

@ -17,7 +17,7 @@ public class SystemConfigVo {
@NotNull(message = "装置ID")
@ApiModelProperty(value = "装置ID", example = "123455")
private Integer cmdId;
private String cmdId;
@NotNull(message = "参数值")
@ApiModelProperty(value = "参数值", example = "123455")

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save