From 9755b518d45ce9eebd5cb8c2f8518887ba7343b8 Mon Sep 17 00:00:00 2001
From: lijiazhuo <13787924+lijiazhuosky@user.noreply.gitee.com>
Date: Fri, 17 Oct 2025 10:34:17 +0800
Subject: [PATCH] first commit
---
.gitignore | 31 +
README.md | 20 +
data.xlsx | 0
mvnw | 322 ++++++++++
mvnw.cmd | 182 ++++++
pom.xml | 102 ++++
.../java/com/example/sso/SsoApplication.java | 15 +
.../java/com/example/sso/controller/Gps.java | 374 ++++++++++++
.../sso/controller/ShengJiDingWei.java | 268 +++++++++
.../example/sso/controller/ShiNeiDingWei.java | 268 +++++++++
src/main/java/com/example/sso/dao/FuZhi.java | 33 ++
src/main/java/com/example/sso/test/A.java | 265 +++++++++
src/main/java/com/example/sso/test/B.java | 47 ++
src/main/java/com/example/sso/test/C.java | 60 ++
src/main/java/com/example/sso/test/D.java | 27 +
src/main/java/com/example/sso/test/E.java | 31 +
.../java/com/example/sso/util/APIUtils.java | 559 ++++++++++++++++++
.../com/example/sso/util/DataBatchUtil.java | 42 ++
.../java/com/example/sso/util/HttpUtil.java | 216 +++++++
.../java/com/example/sso/util/MathUtil.java | 31 +
.../java/com/example/sso/util/StringUtil.java | 19 +
src/main/java/com/example/sso/util/Test.java | 115 ++++
.../java/com/example/sso/util/TimeUtil.java | 349 +++++++++++
.../java/com/example/sso/util/V5utils.java | 358 +++++++++++
.../java/com/example/sso/util/YunUtil.java | 243 ++++++++
src/main/resources/application.yaml | 3 +
.../com/example/sso/SsoApplicationTests.java | 27 +
27 files changed, 4007 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 data.xlsx
create mode 100644 mvnw
create mode 100644 mvnw.cmd
create mode 100644 pom.xml
create mode 100644 src/main/java/com/example/sso/SsoApplication.java
create mode 100644 src/main/java/com/example/sso/controller/Gps.java
create mode 100644 src/main/java/com/example/sso/controller/ShengJiDingWei.java
create mode 100644 src/main/java/com/example/sso/controller/ShiNeiDingWei.java
create mode 100644 src/main/java/com/example/sso/dao/FuZhi.java
create mode 100644 src/main/java/com/example/sso/test/A.java
create mode 100644 src/main/java/com/example/sso/test/B.java
create mode 100644 src/main/java/com/example/sso/test/C.java
create mode 100644 src/main/java/com/example/sso/test/D.java
create mode 100644 src/main/java/com/example/sso/test/E.java
create mode 100644 src/main/java/com/example/sso/util/APIUtils.java
create mode 100644 src/main/java/com/example/sso/util/DataBatchUtil.java
create mode 100644 src/main/java/com/example/sso/util/HttpUtil.java
create mode 100644 src/main/java/com/example/sso/util/MathUtil.java
create mode 100644 src/main/java/com/example/sso/util/StringUtil.java
create mode 100644 src/main/java/com/example/sso/util/Test.java
create mode 100644 src/main/java/com/example/sso/util/TimeUtil.java
create mode 100644 src/main/java/com/example/sso/util/V5utils.java
create mode 100644 src/main/java/com/example/sso/util/YunUtil.java
create mode 100644 src/main/resources/application.yaml
create mode 100644 src/test/java/com/example/sso/SsoApplicationTests.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a2a3040
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,31 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4d833f2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,20 @@
+项目概述:
+此项目为国旅gps影刀项目附属,把应到获取的数据传入纪元
+
+对接人:
+张曦 余梁鑫子 (如果需要=业务逻辑上的问题请联系张曦 余梁鑫子 )
+
+
+项目主要为推送:
+
+
+以下为相关接口:
+
+D:\taxi\TaxiGit\gps\src\main\java\com\example\sso\controller\ShiNeiDingWei.java
+此任务为省内数据传纪元
+D:\taxi\TaxiGit\gps\src\main\java\com\example\sso\controller\ShengJiDingWei.java
+此任务为省际任务穿纪元
+D:\taxi\TaxiGit\gps\src\main\java\com\example\sso\controller\Gps.java
+此任务为gps轨迹传纪元
+
+
diff --git a/data.xlsx b/data.xlsx
new file mode 100644
index 0000000..e69de29
diff --git a/mvnw b/mvnw
new file mode 100644
index 0000000..822f699
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,322 @@
+#!/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.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ]; then
+
+ if [ -f /etc/mavenrc ]; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ]; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false
+darwin=false
+mingw=false
+case "$(uname)" in
+CYGWIN*) cygwin=true ;;
+MINGW*) mingw=true ;;
+Darwin*)
+ darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="$(/usr/libexec/java_home)"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ]; then
+ if [ -r /etc/gentoo-release ]; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+if [ -z "$M2_HOME" ]; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+ done
+
+ saveddir=$(pwd)
+
+ M2_HOME=$(dirname "$PRG")/..
+
+ # make it fully qualified
+ M2_HOME=$(cd "$M2_HOME" && pwd)
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --unix "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="$( (
+ cd "$M2_HOME"
+ pwd
+ ))"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="$( (
+ cd "$JAVA_HOME"
+ pwd
+ ))"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then
+ if $darwin; then
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f \"$javaExecutable\")"
+ fi
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(which java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ]; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]; then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ]; do
+ if [ -d "$wdir"/.mvn ]; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(
+ cd "$wdir/.."
+ pwd
+ )
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' <"$1")"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(pwd)")
+if [ -z "$BASE_DIR" ]; then
+ exit 1
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in wrapperUrl)
+ jarUrl="$value"
+ break
+ ;;
+ esac
+ done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --path --windows "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 0000000..84d60ab
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,182 @@
+@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 Maven2 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 key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..3c86354
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,102 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.2.1.RELEASE
+
+
+ com.example
+ sso
+ 0.0.1-SNAPSHOT
+ jar
+ sso
+ Demo project for Spring Boot
+
+
+ 1.8
+
+
+
+
+ com.auth0
+ java-jwt
+ 3.8.1
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.13
+
+
+ org.apache.httpcomponents
+ httpmime
+ 4.5.8
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.45
+
+
+ org.apache.poi
+ poi-ooxml
+ 5.0.0
+
+
+ org.apache.poi
+ poi
+ 5.0.0
+
+
+ com.jcraft
+ jsch
+ 0.1.55
+
+
+ jcifs
+ jcifs
+ 1.3.17
+
+
+ com.hierynomus
+ smbj
+ 0.11.3
+
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/src/main/java/com/example/sso/SsoApplication.java b/src/main/java/com/example/sso/SsoApplication.java
new file mode 100644
index 0000000..5475eb1
--- /dev/null
+++ b/src/main/java/com/example/sso/SsoApplication.java
@@ -0,0 +1,15 @@
+package com.example.sso;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+
+public class SsoApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SsoApplication.class, args);
+ }
+
+}
diff --git a/src/main/java/com/example/sso/controller/Gps.java b/src/main/java/com/example/sso/controller/Gps.java
new file mode 100644
index 0000000..fb85409
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/Gps.java
@@ -0,0 +1,374 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.FuZhi;
+import com.example.sso.util.TimeUtil;
+import com.example.sso.util.V5utils;
+import org.apache.poi.ss.usermodel.*;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+@Component
+public class Gps {
+ @Scheduled(cron = "0 0 0,2-23 * * ?")
+ public void gps() throws IOException {
+ String riqi = TimeUtil.riqi();
+
+ // QuChong.qu();
+ //KIllJinCheng.kill();
+ DataFormatter formatter = new DataFormatter(); // 统一格式化工具
+
+ String desktopPath = System.getProperty("user.home") + "/Desktop/";
+
+ // 要移动的Excel文件名
+ String fileName =riqi + "gps数据.xlsx";
+ FuZhi.fuzhi(fileName);
+ String excelFilePath = desktopPath + fileName;
+
+
+ JSONArray jsonArray = new JSONArray();
+
+
+ FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
+
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ // 迭代行(从第二行开始,因为第一行通常是标题)
+ for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+
+ JSONObject jsonObject = new JSONObject();
+ // 读取每列数据
+ String chepaihaoma = row.getCell(0).getStringCellValue();
+ jsonObject.put("chepaihaoma", chepaihaoma);
+
+
+ String chepaiyanse = row.getCell(1).getStringCellValue();
+ jsonObject.put("chepaiyanse", chepaiyanse);
+
+ String suoshuqiye = row.getCell(2).getStringCellValue();
+ jsonObject.put("suoshuqiye", suoshuqiye);
+
+ String dangbanjiashiyuan = row.getCell(3).getStringCellValue();
+ jsonObject.put("dangbanjiashiyuan", dangbanjiashiyuan);
+
+
+// double simkahao = row.getCell(4).getNumericCellValue();
+// jsonObject.put("simkahao", simkahao);
+ Cell cell = row.getCell(4);
+ String simkahao = new DataFormatter().formatCellValue(cell);
+ jsonObject.put("simkahao", simkahao);
+
+
+// try {
+// String simkahao = row.getCell(4).getStringCellValue();
+// jsonObject.put("simkahao", Integer.parseInt(simkahao));
+// } catch (Exception e) {
+// System.out.println("异常");
+// jsonObject.put("simkahao", 0);
+// }
+
+
+ String iccid = row.getCell(5).getStringCellValue();
+ jsonObject.put("iccid", iccid);
+
+ String zhongduanhao = row.getCell(6).getStringCellValue();
+ jsonObject.put("zhongduanhao", zhongduanhao);
+
+ String zhongduanchangjia = row.getCell(7).getStringCellValue();
+ jsonObject.put("zhongduanchangjia", zhongduanchangjia);
+
+ String pingtaijieshoushijian = row.getCell(8).getStringCellValue();
+ jsonObject.put("pingtaijieshoushijian", pingtaijieshoushijian);
+
+ try {
+ String sudu = row.getCell(9).getStringCellValue();
+ jsonObject.put("sudu", Integer.parseInt(sudu));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("sudu", 0);
+ }
+
+ String sudulaiyuan = row.getCell(10).getStringCellValue();
+ jsonObject.put("sudulaiyuan", sudulaiyuan);
+
+ String fangxiang = row.getCell(11).getStringCellValue();
+ jsonObject.put("fangxiang", fangxiang);
+
+ String cheliangzhuangtai = row.getCell(12).getStringCellValue();
+ jsonObject.put("cheliangzhuangtai", cheliangzhuangtai);
+
+ String gaojingzhuangtai = row.getCell(13).getStringCellValue();
+ jsonObject.put("gaojingzhuangtai", gaojingzhuangtai);
+
+ try {
+ String licheng = row.getCell(14).getStringCellValue();
+ jsonObject.put("licheng", Integer.parseInt(licheng));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("licheng", 0);
+ }
+
+ try {
+ String xingshilicheng = row.getCell(15).getStringCellValue();
+ jsonObject.put("xingshilicheng", Integer.parseInt(xingshilicheng));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("xingshilicheng", 0);
+ }
+
+ String xianlumingcheng = row.getCell(16).getStringCellValue();
+ jsonObject.put("xianlumingcheng", xianlumingcheng);
+
+ try {
+ String shengyuyouhao = row.getCell(17).getStringCellValue();
+ jsonObject.put("shengyuyouhao", Integer.parseInt(shengyuyouhao));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("shengyuyouhao", 0);
+ }
+
+ String weizhimaoshu = row.getCell(18).getStringCellValue();
+ jsonObject.put("weizhimaoshu", weizhimaoshu);
+
+ try {
+ String shunshiyouhao = row.getCell(19).getStringCellValue();
+ jsonObject.put("shunshiyouhao", Integer.parseInt(shunshiyouhao));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("shunshiyouhao", 0);
+ }
+
+ try {
+ String leijiyouhao = row.getCell(20).getStringCellValue();
+ jsonObject.put("leijiyouhao", Integer.parseInt(leijiyouhao));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("leijiyouhao", 0);
+ }
+
+ try {
+ String gnssweixingshu = row.getCell(21).getStringCellValue();
+ jsonObject.put("gnssweixingshu", Integer.parseInt(gnssweixingshu));
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("gnssweixingshu", 0);
+ }
+
+
+ jsonArray.add(jsonObject);
+
+
+ }
+ }
+
+
+ workbook.close();
+
+
+ JSONArray datasall = new JSONArray();
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "667cc6dbaa923599ad735201");
+ jsonObject.put("entry_id", "681d6a7c5c9195bacf142994");
+ jsonObject.put("is_start_trigger", true);
+
+ if (jsonArray.size() > 0) {
+
+
+ for (Object o : jsonArray) {
+ JSONObject te = (JSONObject) o;
+ String chepaihaoma = te.getString("chepaihaoma");
+ String chepaiyanse = te.getString("chepaiyanse");
+ String suoshuqiye = te.getString("suoshuqiye");
+
+ String dangbanjiashiyuan = te.getString("dangbanjiashiyuan");
+
+ String simkahao = te.getString("simkahao");
+
+
+
+
+ String iccid = te.getString("iccid");
+ String zhongduanhao = te.getString("zhongduanhao");
+ String zhongduanchangjia = te.getString("zhongduanchangjia");
+ String pingtaijieshoushijian = te.getString("pingtaijieshoushijian");
+ Integer sudu = te.getInteger("sudu");
+ String sudulaiyuan = te.getString("sudulaiyuan");
+ String fangxiang = te.getString("fangxiang");
+ String cheliangzhuangtai = te.getString("cheliangzhuangtai");
+ String gaojingzhuangtai = te.getString("gaojingzhuangtai");
+ Integer licheng = te.getInteger("licheng");
+ Integer xingshilicheng = te.getInteger("xingshilicheng");
+ String xianlumingcheng = te.getString("xianlumingcheng");
+ Integer shengyuyouhao = te.getInteger("shengyuyouhao");
+ String weizhimaoshu = te.getString("weizhimaoshu");
+ Integer shunshiyouhao = te.getInteger("shunshiyouhao");
+ Integer leijiyouhao = te.getInteger("leijiyouhao");
+ Integer gnssweixingshu = te.getInteger("gnssweixingshu");
+
+
+
+ JSONObject data = new JSONObject();
+
+ JSONObject chepaihaoma1 = new JSONObject();
+ chepaihaoma1.put("value", chepaihaoma);
+ data.put("chepaihaoma", chepaihaoma1);
+
+ JSONObject chepaiyanse1 = new JSONObject();
+ chepaiyanse1.put("value", chepaiyanse);
+ data.put("chepaiyanse", chepaiyanse1);
+
+ JSONObject suoshuqiye1 = new JSONObject();
+ suoshuqiye1.put("value", suoshuqiye);
+ data.put("suoshuqiye", suoshuqiye1);
+
+ JSONObject dangbanjiashiyuan1 = new JSONObject();
+ dangbanjiashiyuan1.put("value", dangbanjiashiyuan);
+ data.put("dangbanjiashiyuan", dangbanjiashiyuan1);
+
+
+ JSONObject simkahao1 = new JSONObject();
+ simkahao1.put("value", simkahao);
+ data.put("simkahao", simkahao1);
+
+
+ JSONObject iccid1 = new JSONObject();
+ iccid1.put("value", iccid);
+ data.put("iccid", iccid1);
+
+ JSONObject zhongduanhao1 = new JSONObject();
+ zhongduanhao1.put("value", zhongduanhao);
+ data.put("zhongduanhao", zhongduanhao1);
+
+ JSONObject zhongduanchangjia1 = new JSONObject();
+ zhongduanchangjia1.put("value", zhongduanchangjia);
+ data.put("zhongduanchangjia", zhongduanchangjia1);
+
+ JSONObject pingtaijieshoushijian1 = new JSONObject();
+ pingtaijieshoushijian1.put("value", pingtaijieshoushijian);
+ data.put("pingtaijieshoushijian", pingtaijieshoushijian1);
+
+ JSONObject sudu1 = new JSONObject();
+ sudu1.put("value", sudu);
+ data.put("sudu", sudu1);
+
+ JSONObject sudulaiyuan1 = new JSONObject();
+ sudulaiyuan1.put("value", sudulaiyuan);
+ data.put("sudulaiyuan", sudulaiyuan1);
+
+ JSONObject fangxiang1 = new JSONObject();
+ fangxiang1.put("value", fangxiang);
+ data.put("fangxiang", fangxiang1);
+
+ JSONObject cheliangzhuangtai1 = new JSONObject();
+ cheliangzhuangtai1.put("value", cheliangzhuangtai);
+ data.put("cheliangzhuangtai", cheliangzhuangtai1);
+
+ JSONObject gaojingzhuangtai1 = new JSONObject();
+ gaojingzhuangtai1.put("value", gaojingzhuangtai);
+ data.put("gaojingzhuangtai", gaojingzhuangtai1);
+
+ JSONObject licheng1 = new JSONObject();
+ licheng1.put("value", licheng);
+ data.put("licheng", licheng1);
+
+ JSONObject xingshilicheng1 = new JSONObject();
+ xingshilicheng1.put("value", xingshilicheng);
+ data.put("xingshilicheng", xingshilicheng1);
+
+ JSONObject xianlumingcheng1 = new JSONObject();
+ xianlumingcheng1.put("value", xianlumingcheng);
+ data.put("xianlumingcheng", xianlumingcheng1);
+
+ JSONObject shengyuyouhao1 = new JSONObject();
+ shengyuyouhao1.put("value", shengyuyouhao);
+ data.put("shengyuyouhao", shengyuyouhao1);
+
+ JSONObject weizhimaoshu1 = new JSONObject();
+ weizhimaoshu1.put("value", weizhimaoshu);
+ data.put("weizhimaoshu", weizhimaoshu1);
+
+ JSONObject shunshiyouhao1 = new JSONObject();
+ shunshiyouhao1.put("value", shunshiyouhao);
+ data.put("shunshiyouhao", shunshiyouhao1);
+
+ JSONObject leijiyouhao1 = new JSONObject();
+ leijiyouhao1.put("value", leijiyouhao);
+ data.put("leijiyouhao", leijiyouhao1);
+
+ JSONObject gnssweixingshu1 = new JSONObject();
+ gnssweixingshu1.put("value", gnssweixingshu);
+ data.put("gnssweixingshu", gnssweixingshu1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ datasall.add(data);
+ if (datasall.size() == 100) {
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ V5utils.adds(jsonString);
+ datasall = new JSONArray();
+ }
+
+
+ }
+
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ // log.info("我是参数+++ " + jsonString);
+
+ V5utils.adds(jsonString);
+
+
+ }
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/ShengJiDingWei.java b/src/main/java/com/example/sso/controller/ShengJiDingWei.java
new file mode 100644
index 0000000..2759034
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/ShengJiDingWei.java
@@ -0,0 +1,268 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.FuZhi;
+import com.example.sso.util.TimeUtil;
+import com.example.sso.util.V5utils;
+import org.apache.poi.ss.usermodel.*;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+@Component
+public class ShengJiDingWei {
+ @Scheduled(cron = "0 0 10 * * ?")
+ public void shengji() throws IOException {
+ String riqi = TimeUtil.riqi();
+
+
+ DataFormatter formatter = new DataFormatter(); // 统一格式化工具
+
+ String desktopPath = System.getProperty("user.home") + "/Desktop/";
+
+ // 要移动的Excel文件名
+ String fileName = "省际定位报备名单" + riqi + ".xlsx";
+ FuZhi.fuzhi(fileName);
+ String excelFilePath = desktopPath + fileName;
+
+
+ JSONArray jsonArray = new JSONArray();
+
+
+ FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
+
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ // 迭代行(从第二行开始,因为第一行通常是标题)
+ for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+
+ JSONObject jsonObject = new JSONObject();
+
+ // 读取每列数据
+ Cell cell = row.getCell(0);
+ String dingdanhao = new DataFormatter().formatCellValue(cell);
+ jsonObject.put("dingdanhao", dingdanhao);
+
+
+
+
+ String dingdanleixing = row.getCell(1).getStringCellValue();
+ jsonObject.put("dingdanleixing", dingdanleixing);
+
+ String qiyemingcheng = row.getCell(2).getStringCellValue();
+ jsonObject.put("qiyemingcheng", qiyemingcheng);
+
+ String chepaihaoma = row.getCell(3).getStringCellValue();
+ jsonObject.put("chepaihaoma", chepaihaoma);
+
+
+
+
+ Cell cell1 = row.getCell(4);
+ String biaozhipaihao = new DataFormatter().formatCellValue(cell1);
+ jsonObject.put("biaozhipaihao", biaozhipaihao);
+
+ String Zhujiashiyuanxingming = row.getCell(5).getStringCellValue();
+ jsonObject.put("Zhujiashiyuanxingming", Zhujiashiyuanxingming);
+
+ Cell cell2 = row.getCell(6);
+ String Zhujiashiyuandianhua = new DataFormatter().formatCellValue(cell2);
+ jsonObject.put("Zhujiashiyuandianhua", Zhujiashiyuandianhua);
+
+
+ String dingdanzhuangtai = row.getCell(7).getStringCellValue();
+ jsonObject.put("dingdanzhuangtai", dingdanzhuangtai);
+
+ String cheliangdiaoduzhuangtai = row.getCell(8).getStringCellValue();
+ jsonObject.put("cheliangdiaoduzhuangtai", cheliangdiaoduzhuangtai);
+
+
+ String youxiaoqizi = row.getCell(9).getStringCellValue();
+ jsonObject.put("youxiaoqizi", youxiaoqizi);
+
+ String youxiaoqizhi = row.getCell(10).getStringCellValue();
+ jsonObject.put("youxiaoqizhi", youxiaoqizhi);
+
+ String chengcheqidian = row.getCell(11).getStringCellValue();
+ jsonObject.put("chengcheqidian", chengcheqidian);
+
+ String chengqidian = row.getCell(12).getStringCellValue();
+ jsonObject.put("chengqidian", chengqidian);
+
+
+
+
+ jsonArray.add(jsonObject);
+
+
+ }
+ }
+
+
+ workbook.close();
+
+
+ JSONArray datasall = new JSONArray();
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "667cc6dbaa923599ad735201");
+ jsonObject.put("entry_id", "681d6ad347f52adcb2b5d853");
+ jsonObject.put("is_start_trigger", true);
+
+ if (jsonArray.size() > 0) {
+
+
+ for (Object o : jsonArray) {
+ JSONObject te = (JSONObject) o;
+ String dingdanhao = te.getString("dingdanhao");
+ String dingdanleixing = te.getString("dingdanleixing");
+ String qiyemingcheng = te.getString("qiyemingcheng");
+
+ String chepaihaoma = te.getString("chepaihaoma");
+
+ String biaozhipaihao = te.getString("biaozhipaihao");
+
+
+
+
+ String Zhujiashiyuanxingming = te.getString("Zhujiashiyuanxingming");
+ String Zhujiashiyuandianhua = te.getString("Zhujiashiyuandianhua");
+ String dingdanzhuangtai = te.getString("dingdanzhuangtai");
+ String cheliangdiaoduzhuangtai = te.getString("cheliangdiaoduzhuangtai");
+ String youxiaoqizi = te.getString("youxiaoqizi");
+ String youxiaoqizhi = te.getString("youxiaoqizhi");
+ String chengcheqidian = te.getString("chengcheqidian");
+ String chengqidian = te.getString("chengqidian");
+
+
+
+
+ JSONObject data = new JSONObject();
+
+ JSONObject dingdanhao1 = new JSONObject();
+ dingdanhao1.put("value", dingdanhao);
+ data.put("dingdanhao", dingdanhao1);
+
+ JSONObject dingdanleixing1 = new JSONObject();
+ dingdanleixing1.put("value", dingdanleixing);
+ data.put("dingdanleixing", dingdanleixing1);
+
+ JSONObject qiyemingcheng1 = new JSONObject();
+ qiyemingcheng1.put("value", qiyemingcheng);
+ data.put("qiyemingcheng", qiyemingcheng1);
+
+ JSONObject chepaihaoma1 = new JSONObject();
+ chepaihaoma1.put("value", chepaihaoma);
+ data.put("chepaihaoma", chepaihaoma1);
+
+
+ JSONObject biaozhipaihao1 = new JSONObject();
+ biaozhipaihao1.put("value", biaozhipaihao);
+ data.put("biaozhipaihao", biaozhipaihao1);
+
+
+ JSONObject Zhujiashiyuanxingming1 = new JSONObject();
+ Zhujiashiyuanxingming1.put("value", Zhujiashiyuanxingming);
+ data.put("zhujiashiyuanxingming", Zhujiashiyuanxingming1);
+
+ JSONObject Zhujiashiyuandianhua1 = new JSONObject();
+ Zhujiashiyuandianhua1.put("value", Zhujiashiyuandianhua);
+ data.put("zhujiashiyuandianhua", Zhujiashiyuandianhua1);
+
+ JSONObject dingdanzhuangtai1 = new JSONObject();
+ dingdanzhuangtai1.put("value", dingdanzhuangtai);
+ data.put("dingdanzhuangtai", dingdanzhuangtai1);
+
+ JSONObject cheliangdiaoduzhuangtai1 = new JSONObject();
+ cheliangdiaoduzhuangtai1.put("value", cheliangdiaoduzhuangtai);
+ data.put("cheliangdiaoduzhuangtai", cheliangdiaoduzhuangtai1);
+
+ JSONObject youxiaoqizi1 = new JSONObject();
+ youxiaoqizi1.put("value", youxiaoqizi);
+ data.put("youxiaoqizi", youxiaoqizi1);
+
+ JSONObject youxiaoqizhi1 = new JSONObject();
+ youxiaoqizhi1.put("value", youxiaoqizhi);
+ data.put("youxiaoqizhi", youxiaoqizhi1);
+
+ JSONObject chengcheqidian1 = new JSONObject();
+ chengcheqidian1.put("value", chengcheqidian);
+ data.put("chengcheqidian", chengcheqidian1);
+
+ JSONObject chengqidian1 = new JSONObject();
+ chengqidian1.put("value", chengqidian);
+ data.put("chengqidian", chengqidian1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ datasall.add(data);
+ if (datasall.size() == 100) {
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ V5utils.adds(jsonString);
+ datasall = new JSONArray();
+ }
+
+
+ }
+
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ // log.info("我是参数+++ " + jsonString);
+
+ V5utils.adds(jsonString);
+
+
+ }
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/ShiNeiDingWei.java b/src/main/java/com/example/sso/controller/ShiNeiDingWei.java
new file mode 100644
index 0000000..83db298
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/ShiNeiDingWei.java
@@ -0,0 +1,268 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.FuZhi;
+import com.example.sso.util.TimeUtil;
+import com.example.sso.util.V5utils;
+import org.apache.poi.ss.usermodel.*;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+@Component
+public class ShiNeiDingWei {
+ @Scheduled(cron = "0 0 10 * * ?")
+ public void shinei() throws IOException {
+ String riqi = TimeUtil.riqi();
+
+
+ DataFormatter formatter = new DataFormatter(); // 统一格式化工具
+
+ String desktopPath = System.getProperty("user.home") + "/Desktop/";
+
+ // 要移动的Excel文件名
+ String fileName = "市内定位报备名单" + riqi + ".xlsx";
+ FuZhi.fuzhi(fileName);
+ String excelFilePath = desktopPath + fileName;
+
+
+ JSONArray jsonArray = new JSONArray();
+
+
+ FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
+
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ // 迭代行(从第二行开始,因为第一行通常是标题)
+ for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+
+ JSONObject jsonObject = new JSONObject();
+
+ // 读取每列数据
+ Cell cell = row.getCell(0);
+ String dingdanhao = new DataFormatter().formatCellValue(cell);
+ jsonObject.put("dingdanhao", dingdanhao);
+
+
+
+
+ String dingdanleixing = row.getCell(1).getStringCellValue();
+ jsonObject.put("dingdanleixing", dingdanleixing);
+
+ String qiyemingcheng = row.getCell(2).getStringCellValue();
+ jsonObject.put("qiyemingcheng", qiyemingcheng);
+
+ String chepaihaoma = row.getCell(3).getStringCellValue();
+ jsonObject.put("chepaihaoma", chepaihaoma);
+
+
+
+
+ Cell cell1 = row.getCell(4);
+ String biaozhipaihao = new DataFormatter().formatCellValue(cell1);
+ jsonObject.put("biaozhipaihao", biaozhipaihao);
+
+ String Zhujiashiyuanxingming = row.getCell(5).getStringCellValue();
+ jsonObject.put("Zhujiashiyuanxingming", Zhujiashiyuanxingming);
+
+ Cell cell2 = row.getCell(6);
+ String Zhujiashiyuandianhua = new DataFormatter().formatCellValue(cell2);
+ jsonObject.put("Zhujiashiyuandianhua", Zhujiashiyuandianhua);
+
+
+ String dingdanzhuangtai = row.getCell(7).getStringCellValue();
+ jsonObject.put("dingdanzhuangtai", dingdanzhuangtai);
+
+ String cheliangdiaoduzhuangtai = row.getCell(8).getStringCellValue();
+ jsonObject.put("cheliangdiaoduzhuangtai", cheliangdiaoduzhuangtai);
+
+
+ String youxiaoqizi = row.getCell(9).getStringCellValue();
+ jsonObject.put("youxiaoqizi", youxiaoqizi);
+
+ String youxiaoqizhi = row.getCell(10).getStringCellValue();
+ jsonObject.put("youxiaoqizhi", youxiaoqizhi);
+
+ String chengcheqidian = row.getCell(11).getStringCellValue();
+ jsonObject.put("chengcheqidian", chengcheqidian);
+
+ String chengqidian = row.getCell(12).getStringCellValue();
+ jsonObject.put("chengqidian", chengqidian);
+
+
+
+
+ jsonArray.add(jsonObject);
+
+
+ }
+ }
+
+
+ workbook.close();
+
+
+ JSONArray datasall = new JSONArray();
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "667cc6dbaa923599ad735201");
+ jsonObject.put("entry_id", "681d6b402e399b68fec003e2");
+ jsonObject.put("is_start_trigger", true);
+
+ if (jsonArray.size() > 0) {
+
+
+ for (Object o : jsonArray) {
+ JSONObject te = (JSONObject) o;
+ String dingdanhao = te.getString("dingdanhao");
+ String dingdanleixing = te.getString("dingdanleixing");
+ String qiyemingcheng = te.getString("qiyemingcheng");
+
+ String chepaihaoma = te.getString("chepaihaoma");
+
+ String biaozhipaihao = te.getString("biaozhipaihao");
+
+
+
+
+ String Zhujiashiyuanxingming = te.getString("Zhujiashiyuanxingming");
+ String Zhujiashiyuandianhua = te.getString("Zhujiashiyuandianhua");
+ String dingdanzhuangtai = te.getString("dingdanzhuangtai");
+ String cheliangdiaoduzhuangtai = te.getString("cheliangdiaoduzhuangtai");
+ String youxiaoqizi = te.getString("youxiaoqizi");
+ String youxiaoqizhi = te.getString("youxiaoqizhi");
+ String chengcheqidian = te.getString("chengcheqidian");
+ String chengqidian = te.getString("chengqidian");
+
+
+
+
+ JSONObject data = new JSONObject();
+
+ JSONObject dingdanhao1 = new JSONObject();
+ dingdanhao1.put("value", dingdanhao);
+ data.put("dingdanhao", dingdanhao1);
+
+ JSONObject dingdanleixing1 = new JSONObject();
+ dingdanleixing1.put("value", dingdanleixing);
+ data.put("dingdanleixing", dingdanleixing1);
+
+ JSONObject qiyemingcheng1 = new JSONObject();
+ qiyemingcheng1.put("value", qiyemingcheng);
+ data.put("qiyemingcheng", qiyemingcheng1);
+
+ JSONObject chepaihaoma1 = new JSONObject();
+ chepaihaoma1.put("value", chepaihaoma);
+ data.put("chepaihaoma", chepaihaoma1);
+
+
+ JSONObject biaozhipaihao1 = new JSONObject();
+ biaozhipaihao1.put("value", biaozhipaihao);
+ data.put("biaozhipaihao", biaozhipaihao1);
+
+
+ JSONObject Zhujiashiyuanxingming1 = new JSONObject();
+ Zhujiashiyuanxingming1.put("value", Zhujiashiyuanxingming);
+ data.put("zhujiashiyuanxingming", Zhujiashiyuanxingming1);
+
+ JSONObject Zhujiashiyuandianhua1 = new JSONObject();
+ Zhujiashiyuandianhua1.put("value", Zhujiashiyuandianhua);
+ data.put("zhujiashiyuandianhua", Zhujiashiyuandianhua1);
+
+ JSONObject dingdanzhuangtai1 = new JSONObject();
+ dingdanzhuangtai1.put("value", dingdanzhuangtai);
+ data.put("dingdanzhuangtai", dingdanzhuangtai1);
+
+ JSONObject cheliangdiaoduzhuangtai1 = new JSONObject();
+ cheliangdiaoduzhuangtai1.put("value", cheliangdiaoduzhuangtai);
+ data.put("cheliangdiaoduzhuangtai", cheliangdiaoduzhuangtai1);
+
+ JSONObject youxiaoqizi1 = new JSONObject();
+ youxiaoqizi1.put("value", youxiaoqizi);
+ data.put("youxiaoqizi", youxiaoqizi1);
+
+ JSONObject youxiaoqizhi1 = new JSONObject();
+ youxiaoqizhi1.put("value", youxiaoqizhi);
+ data.put("youxiaoqizhi", youxiaoqizhi1);
+
+ JSONObject chengcheqidian1 = new JSONObject();
+ chengcheqidian1.put("value", chengcheqidian);
+ data.put("chengcheqidian", chengcheqidian1);
+
+ JSONObject chengqidian1 = new JSONObject();
+ chengqidian1.put("value", chengqidian);
+ data.put("chengqidian", chengqidian1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ datasall.add(data);
+ if (datasall.size() == 100) {
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ V5utils.adds(jsonString);
+ datasall = new JSONArray();
+ }
+
+
+ }
+
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ // log.info("我是参数+++ " + jsonString);
+
+ V5utils.adds(jsonString);
+
+
+ }
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/FuZhi.java b/src/main/java/com/example/sso/dao/FuZhi.java
new file mode 100644
index 0000000..53f825d
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/FuZhi.java
@@ -0,0 +1,33 @@
+package com.example.sso.dao;
+
+import jcifs.smb.NtlmPasswordAuthentication;
+import jcifs.smb.SmbFile;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+
+public class FuZhi {
+ public static String fuzhi(String name) {
+ String sharedPath = "\\\\172.16.10.204\\YingDao_Data\\" + name;
+ String desktopPath = System.getenv("USERPROFILE") + "\\Desktop"; // Windows示例
+
+ try {
+ // 1. 读取
+ Path sourcePath = Paths.get(sharedPath);
+
+
+ // 2. 复制到桌面
+ Path targetPath = Paths.get(desktopPath, name);
+ Files.copy(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
+ System.out.println("文件修改并复制到桌面成功");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return "ok";
+ }
+
+
+}
diff --git a/src/main/java/com/example/sso/test/A.java b/src/main/java/com/example/sso/test/A.java
new file mode 100644
index 0000000..6737c8a
--- /dev/null
+++ b/src/main/java/com/example/sso/test/A.java
@@ -0,0 +1,265 @@
+package com.example.sso.test;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import com.example.sso.dao.FuZhi;
+import com.example.sso.util.TimeUtil;
+import com.example.sso.util.V5utils;
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+public class A {
+ public static void main(String[] args) throws IOException {
+ String riqi = TimeUtil.riqi();
+
+
+ DataFormatter formatter = new DataFormatter(); // 统一格式化工具
+
+ String desktopPath = System.getProperty("user.home") + "/Desktop/";
+
+ // 要移动的Excel文件名
+ String fileName = "市内定位报备名单" + riqi + ".xlsx";
+ FuZhi.fuzhi(fileName);
+ String excelFilePath = desktopPath + fileName;
+
+
+ JSONArray jsonArray = new JSONArray();
+
+
+ FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
+
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ // 迭代行(从第二行开始,因为第一行通常是标题)
+ for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+
+ JSONObject jsonObject = new JSONObject();
+
+ // 读取每列数据
+ Cell cell = row.getCell(0);
+ String dingdanhao = new DataFormatter().formatCellValue(cell);
+ jsonObject.put("dingdanhao", dingdanhao);
+
+
+
+
+ String dingdanleixing = row.getCell(1).getStringCellValue();
+ jsonObject.put("dingdanleixing", dingdanleixing);
+
+ String qiyemingcheng = row.getCell(2).getStringCellValue();
+ jsonObject.put("qiyemingcheng", qiyemingcheng);
+
+ String chepaihaoma = row.getCell(3).getStringCellValue();
+ jsonObject.put("chepaihaoma", chepaihaoma);
+
+
+
+
+ Cell cell1 = row.getCell(4);
+ String biaozhipaihao = new DataFormatter().formatCellValue(cell1);
+ jsonObject.put("biaozhipaihao", biaozhipaihao);
+
+ String Zhujiashiyuanxingming = row.getCell(5).getStringCellValue();
+ jsonObject.put("Zhujiashiyuanxingming", Zhujiashiyuanxingming);
+
+ Cell cell2 = row.getCell(6);
+ String Zhujiashiyuandianhua = new DataFormatter().formatCellValue(cell2);
+ jsonObject.put("Zhujiashiyuandianhua", Zhujiashiyuandianhua);
+
+
+ String dingdanzhuangtai = row.getCell(7).getStringCellValue();
+ jsonObject.put("dingdanzhuangtai", dingdanzhuangtai);
+
+ String cheliangdiaoduzhuangtai = row.getCell(8).getStringCellValue();
+ jsonObject.put("cheliangdiaoduzhuangtai", cheliangdiaoduzhuangtai);
+
+
+ String youxiaoqizi = row.getCell(9).getStringCellValue();
+ jsonObject.put("youxiaoqizi", youxiaoqizi);
+
+ String youxiaoqizhi = row.getCell(10).getStringCellValue();
+ jsonObject.put("youxiaoqizhi", youxiaoqizhi);
+
+ String chengcheqidian = row.getCell(11).getStringCellValue();
+ jsonObject.put("chengcheqidian", chengcheqidian);
+
+ String chengqidian = row.getCell(12).getStringCellValue();
+ jsonObject.put("chengqidian", chengqidian);
+
+
+
+
+ jsonArray.add(jsonObject);
+
+
+ }
+ }
+
+
+ workbook.close();
+
+
+ JSONArray datasall = new JSONArray();
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "667cc6dbaa923599ad735201");
+ jsonObject.put("entry_id", "681d6b402e399b68fec003e2");
+ jsonObject.put("is_start_trigger", true);
+
+ if (jsonArray.size() > 0) {
+
+
+ for (Object o : jsonArray) {
+ JSONObject te = (JSONObject) o;
+ String dingdanhao = te.getString("dingdanhao");
+ String dingdanleixing = te.getString("dingdanleixing");
+ String qiyemingcheng = te.getString("qiyemingcheng");
+
+ String chepaihaoma = te.getString("chepaihaoma");
+
+ String biaozhipaihao = te.getString("biaozhipaihao");
+
+
+
+
+ String Zhujiashiyuanxingming = te.getString("Zhujiashiyuanxingming");
+ String Zhujiashiyuandianhua = te.getString("Zhujiashiyuandianhua");
+ String dingdanzhuangtai = te.getString("dingdanzhuangtai");
+ String cheliangdiaoduzhuangtai = te.getString("cheliangdiaoduzhuangtai");
+ String youxiaoqizi = te.getString("youxiaoqizi");
+ String youxiaoqizhi = te.getString("youxiaoqizhi");
+ String chengcheqidian = te.getString("chengcheqidian");
+ String chengqidian = te.getString("chengqidian");
+
+
+
+
+ JSONObject data = new JSONObject();
+
+ JSONObject dingdanhao1 = new JSONObject();
+ dingdanhao1.put("value", dingdanhao);
+ data.put("dingdanhao", dingdanhao1);
+
+ JSONObject dingdanleixing1 = new JSONObject();
+ dingdanleixing1.put("value", dingdanleixing);
+ data.put("dingdanleixing", dingdanleixing1);
+
+ JSONObject qiyemingcheng1 = new JSONObject();
+ qiyemingcheng1.put("value", qiyemingcheng);
+ data.put("qiyemingcheng", qiyemingcheng1);
+
+ JSONObject chepaihaoma1 = new JSONObject();
+ chepaihaoma1.put("value", chepaihaoma);
+ data.put("chepaihaoma", chepaihaoma1);
+
+
+ JSONObject biaozhipaihao1 = new JSONObject();
+ biaozhipaihao1.put("value", biaozhipaihao);
+ data.put("biaozhipaihao", biaozhipaihao1);
+
+
+ JSONObject Zhujiashiyuanxingming1 = new JSONObject();
+ Zhujiashiyuanxingming1.put("value", Zhujiashiyuanxingming);
+ data.put("zhujiashiyuanxingming", Zhujiashiyuanxingming1);
+
+ JSONObject Zhujiashiyuandianhua1 = new JSONObject();
+ Zhujiashiyuandianhua1.put("value", Zhujiashiyuandianhua);
+ data.put("zhujiashiyuandianhua", Zhujiashiyuandianhua1);
+
+ JSONObject dingdanzhuangtai1 = new JSONObject();
+ dingdanzhuangtai1.put("value", dingdanzhuangtai);
+ data.put("dingdanzhuangtai", dingdanzhuangtai1);
+
+ JSONObject cheliangdiaoduzhuangtai1 = new JSONObject();
+ cheliangdiaoduzhuangtai1.put("value", cheliangdiaoduzhuangtai);
+ data.put("cheliangdiaoduzhuangtai", cheliangdiaoduzhuangtai1);
+
+ JSONObject youxiaoqizi1 = new JSONObject();
+ youxiaoqizi1.put("value", youxiaoqizi);
+ data.put("youxiaoqizi", youxiaoqizi1);
+
+ JSONObject youxiaoqizhi1 = new JSONObject();
+ youxiaoqizhi1.put("value", youxiaoqizhi);
+ data.put("youxiaoqizhi", youxiaoqizhi1);
+
+ JSONObject chengcheqidian1 = new JSONObject();
+ chengcheqidian1.put("value", chengcheqidian);
+ data.put("chengcheqidian", chengcheqidian1);
+
+ JSONObject chengqidian1 = new JSONObject();
+ chengqidian1.put("value", chengqidian);
+ data.put("chengqidian", chengqidian1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ datasall.add(data);
+ if (datasall.size() == 100) {
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ V5utils.adds(jsonString);
+ datasall = new JSONArray();
+ }
+
+
+ }
+
+ jsonObject.put("data_list", datasall);
+ String jsonString = jsonObject.toJSONString();
+ // log.info("我是参数+++ " + jsonString);
+
+ V5utils.adds(jsonString);
+
+
+ }
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/test/B.java b/src/main/java/com/example/sso/test/B.java
new file mode 100644
index 0000000..db04c4e
--- /dev/null
+++ b/src/main/java/com/example/sso/test/B.java
@@ -0,0 +1,47 @@
+//package com.example.sso.test;
+//
+//import com.alibaba.fastjson.JSONObject;
+//import com.example.sso.util.V5utils;
+//import com.hierynomus.smbj.SMBClient;
+//import com.hierynomus.smbj.auth.AuthenticationContext;
+//import com.hierynomus.smbj.connection.Connection;
+//import com.hierynomus.smbj.session.Session;
+//import com.hierynomus.smbj.share.DiskShare;
+//import com.hierynomus.smbj.share.FileIdBothDirectoryInformation; // ✅ 正确导入
+//
+//import jcifs.smb.SmbException;
+//import jcifs.smb.SmbFile;
+//import jcifs.smb.SmbFileInputStream;
+//
+//import java.io.IOException;
+//
+//public class B {
+// public static void main(String[] args) {
+// String serverIp = "172.16.10.204";
+// String shareName = "YingDao_Data";
+// String username = "yourUsername";
+// String password = "yourPassword";
+//
+// try (SMBClient smbClient = new SMBClient()) {
+// Connection connection = smbClient.connect(serverIp);
+//
+// // ✅ 使用标准认证方式
+// AuthenticationContext auth = new AuthenticationContext(username, password.toCharArray(), null);
+// Session session = connection.authenticate(auth);
+//
+// System.out.println("认证成功");
+//
+// DiskShare share = (DiskShare) session.connectShare(shareName);
+//
+// for (FileIdBothDirectoryInformation f : share.list()) {
+// System.out.println("文件名: " + f.getFileName());
+// }
+//
+// session.close();
+// connection.close();
+//
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// }
+//}
diff --git a/src/main/java/com/example/sso/test/C.java b/src/main/java/com/example/sso/test/C.java
new file mode 100644
index 0000000..41a7e6f
--- /dev/null
+++ b/src/main/java/com/example/sso/test/C.java
@@ -0,0 +1,60 @@
+package com.example.sso.test;
+
+
+import jcifs.smb.NtlmPasswordAuthentication;
+import jcifs.smb.SmbFile;
+import jcifs.smb.SmbFileOutputStream;
+
+public class C {
+ public static void main(String[] args) {
+ // 共享文件夹路径
+ String sharedPath = "smb://172.16.8.193/Shadowbot/";
+ // 用户名和密码(如果没有密码验证可以留空)
+ String username = "XS-20250406DEYE";
+ String password = "";
+
+ // 创建匿名认证对象
+// NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "", "");
+
+
+ // 创建认证对象
+ NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("", username, password);
+
+ try {
+ // 连接共享文件夹
+ SmbFile sharedFolder = new SmbFile(sharedPath, auth);
+ // 显式连接以测试认证是否成功
+ sharedFolder.connect();
+
+ // 列出文件夹内容
+ for (SmbFile file : sharedFolder.listFiles()) {
+ System.out.println(file.getName());
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
+
+// // 列出文件夹内容
+// for (SmbFile file : sharedFolder.listFiles()) {
+// System.out.println(file.getName());
+// }
+//
+//// // 修改文件内容(假设要修改test.txt文件)
+//// String filePath = sharedPath + "test.txt";
+//// SmbFile targetFile = new SmbFile(filePath, auth);
+////
+//// // 写入新内容(会覆盖原有内容)
+//// try (SmbFileOutputStream out = new SmbFileOutputStream(targetFile)) {
+//// String newContent = "这是修改后的内容";
+//// out.write(newContent.getBytes());
+//// System.out.println("文件修改成功");
+//// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+//}
diff --git a/src/main/java/com/example/sso/test/D.java b/src/main/java/com/example/sso/test/D.java
new file mode 100644
index 0000000..c3928d4
--- /dev/null
+++ b/src/main/java/com/example/sso/test/D.java
@@ -0,0 +1,27 @@
+package com.example.sso.test;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+public class D {
+ public static void main(String[] args) {
+ // 共享文件夹路径
+ String sharedPath = "\\\\172.16.10.204\\YingDao_Data\\2025-06-19gps数据.xlsx";
+
+ try {
+ // 读取文件内容
+ Path filePath = Paths.get(sharedPath);
+ byte[] content = Files.readAllBytes(filePath);
+ System.out.println("原文件内容: " + new String(content));
+
+ // 修改文件内容
+ String newContent = "这是修改后的内容";
+ Files.write(filePath, newContent.getBytes());
+ System.out.println("文件修改成功");
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/test/E.java b/src/main/java/com/example/sso/test/E.java
new file mode 100644
index 0000000..7cea0fe
--- /dev/null
+++ b/src/main/java/com/example/sso/test/E.java
@@ -0,0 +1,31 @@
+package com.example.sso.test;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+
+public class E {
+ public static void main(String[] args) {
+ // 桌面文件路径
+ String desktopFile = System.getProperty("user.home") + "/Desktop/市内定位报备名单2025-06-11.xlsx";
+
+ // 共享文件夹路径(需要先映射为网络驱动器或使用UNC路径)
+ String sharedFolder = "\\\\172.16.10.204\\YingDao_Data\\ddd .xlsx";
+
+ try {
+ // 使用Files.copy方法复制文件
+ Path source = Paths.get(desktopFile);
+ Path target = Paths.get(sharedFolder);
+
+ // 如果目标文件已存在则替换
+ Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
+
+ System.out.println("文件复制成功!");
+ } catch (IOException e) {
+ System.err.println("复制文件时出错: " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/util/APIUtils.java b/src/main/java/com/example/sso/util/APIUtils.java
new file mode 100644
index 0000000..c49130f
--- /dev/null
+++ b/src/main/java/com/example/sso/util/APIUtils.java
@@ -0,0 +1,559 @@
+package com.example.sso.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.codec.Charsets;
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.ssl.SSLContextBuilder;
+import org.apache.http.ssl.TrustStrategy;
+
+import javax.net.ssl.SSLContext;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.*;
+
+public class APIUtils {
+ public static final String WEBSITE = "https://www.jiyuankeshang.com";
+ private static boolean retryIfRateLimited = true;
+ private String urlGetWidgets;
+ private String urlGetFormData;
+ private String urlRetrieveData;
+ private String urlUpdateData;
+ private String urlCreateData;
+ private String urlDeleteData;
+ private String urlCreateUSer;
+ private String urlCreatePerson;
+ private String urlCreatePersonAll;
+ private String urlCreateDep;
+ private String urlCreateDepAll;
+ private String urlGetDepartment;
+ private String urlGetPeople;
+ private String urlDeletePeople;
+ private String urlDataBatchCreate;
+ private String urlGetWorkflow;
+
+ private static String apiKey;
+ private static int i=1;
+ /**
+ * @param appId - 应用id
+ * @param entryId - 表单id
+ * @param apiKey - apiKey
+ */
+ public APIUtils(String appId, String entryId, String apiKey) {
+ this.apiKey = apiKey;
+ this.initUrl(appId, entryId);
+ }
+ public Map createPerson (Map person) {
+ Map data = null;
+ try {
+ Map result = (Map) this.sendRequest("POST",urlCreatePerson, person);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return data;
+ }
+ public Map createDep (Map person) {
+ Map data = null;
+ try {
+ Map result = (Map) this.sendRequest("POST",urlCreatePerson, person);
+ data = (Map) result.get("department");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return data;
+ }
+
+ private void initUrl (String appId, String entryId) {
+ urlGetWidgets = WEBSITE + "/api/v1/app/" + appId + "/entry/" + entryId + "/widgets";
+ urlGetFormData = WEBSITE + "/api/v1/app/" + appId + "/entry/" + entryId + "/data";
+ urlRetrieveData = WEBSITE + "/api/v2/app/" + appId + "/entry/" + entryId + "/data_retrieve";
+ urlUpdateData = WEBSITE + "/api/v4/app/" + appId + "/entry/" + entryId + "/data_update";
+ urlCreateData = WEBSITE + "/api/v3/app/" + appId + "/entry/" + entryId + "/data_create";
+ urlDeleteData = WEBSITE + "/api/v1/app/" + appId + "/entry/" + entryId + "/data_delete";
+ urlCreatePerson=WEBSITE+"/api/v2/user/create";
+ urlCreateUSer = WEBSITE + "/api/v2/user/create";
+ urlCreateDep=WEBSITE+"/api/v2/department/create";
+ urlCreateDepAll=WEBSITE+"/api/v2/department/import";
+ urlCreatePersonAll=WEBSITE+"/api/v2/user/import";
+ urlGetDepartment=WEBSITE+"/api/v2/department/1/department_list";
+ urlGetPeople=WEBSITE + "/api/v2/department/1/member_list";
+ urlDeletePeople=WEBSITE+"/api/v2/user/batch_delete";
+ urlDataBatchCreate=WEBSITE+ "/api/v1/app/" + appId + "/entry/" + entryId + "/data_batch_create";
+ urlGetWorkflow=WEBSITE+"/api/v3/workflow/instance/get";
+ }
+
+ public static HttpClient getSSLHttpClient() throws Exception {
+ SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
+ //信任所有
+ public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ return true;
+ }
+ }).build();
+ SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);
+ return HttpClients.custom().setSSLSocketFactory(sslsf).build();
+ }
+ /**
+ * 获取部门成员信息
+ * @param - 创建数据内容
+ * @return 更新后的数据
+ */
+ public Map deletePeopleBatch(Map map) {
+ Map data = null;
+ try {
+ Map result = (Map) this.sendRequest("POST",urlDeletePeople, map);
+ return result;
+// data = (Map) result.get("department");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return data;
+ }
+ public Map urlGetWorkflow(String id) {
+ Map map=new HashMap<>();
+ map.put("instance_id",id);
+ Map data = null;
+ try {
+ Map result = (Map) this.sendRequest("POST",urlGetWorkflow,map);
+ System.out.println(result);
+ return result;
+// data = (Map) result.get("department");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return data;
+ }
+ /**
+ * 获取请求头信息
+ * @return
+ */
+ public static Header[] getHttpHeaders() {
+ List headerList = new ArrayList();
+ headerList.add(new BasicHeader("Authorization", "Bearer " + apiKey));
+ headerList.add(new BasicHeader("Content-Type", "application/json;charset=utf-8"));
+ return headerList.toArray(new Header[headerList.size()]);
+ }
+
+ /**
+ * 查询人员信息
+ * @param username - 创建数据内容
+ * @return 更新后的数据
+ */
+ public Map findPerson (String username) {
+ Map data = null;
+ try {
+ Map result = (Map) this.sendRequest("POST",WEBSITE + "/api/v2/user/"+username+"/user_retrieve", new HashMap<>());
+ data = (Map) result.get("data");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return data;
+ }
+ /**
+ * 发送HTTP请求
+ * @param method - HTTP动词 { GET|POST }
+ * @param url - 请求路径
+ * @param data - 请求的数据
+ * @throws Exception
+ */
+ public static Object sendRequest (String method, String url, Map data) throws Exception {
+ try {
+ HttpClient client = getSSLHttpClient();
+ Header[] headers = getHttpHeaders();
+ HttpRequestBase request;
+ method = method.toUpperCase();
+ if ("GET".equals(method)) {
+ // GET请求
+ URIBuilder uriBuilder = new URIBuilder(url);
+ if (data != null) {
+ // 添加请求参数
+ for(Map.Entry entry : data.entrySet()) {
+ uriBuilder.addParameter(entry.getKey(), (String) entry.getValue());
+ }
+ }
+ request = new HttpGet(uriBuilder.build());
+ } else if ("POST".equals(method)) {
+ // POST请求
+ request = new HttpPost(url);
+ ObjectMapper mapper = new ObjectMapper();
+ HttpEntity entity = new StringEntity(mapper.writeValueAsString(data), Charsets.UTF_8);
+ ((HttpPost) request).setEntity(entity);
+ } else {
+ throw new RuntimeException("不支持的HTTP动词");
+ }
+ // 设置请求头
+ request.setHeaders(headers);
+ // 发送请求并获取返回结果
+ HttpResponse response = client.execute(request);
+ int statusCode = response.getStatusLine().getStatusCode();
+ ObjectMapper mapper = new ObjectMapper();
+ Map result = (Map) mapper.readValue(response.getEntity().getContent(), Object.class);
+ if (statusCode >= 400) {
+ // 请求错误
+ if ((Integer) result.get("code") == 8303 && retryIfRateLimited) {
+ // 频率超限,1s后重试
+ Thread.sleep(1000);
+ return sendRequest(method, url, data);
+ } else {
+ return result;
+ }
+ } else {
+ // 处理返回结果
+ return result;
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ // 请求异常,等等重试
+ Thread.sleep(1000);
+ if (i>=5){
+ i=0;
+ return 555;
+ }else {
+ i=i+1;
+ return sendRequest(method, url, data);
+ }
+ }
+ }
+
+
+
+
+ /**
+ * 获取表单字段
+ * @return 表单字段
+ */
+ public List