commit dd31496577351ab2e37ccf9de2eff9700eedff6a
Author: lijiazhuo <13787924+lijiazhuosky@user.noreply.gitee.com>
Date: Thu Sep 25 09:52:41 2025 +0800
first commit
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..503ff4f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,14 @@
+项目概述:
+此项目简道云表单批量删除
+对接人:
+无
+
+
+项目主要为定时:
+
+
+以下为相关定时:
+D:\taxi\TaxiGit\pachongdelete\src\main\java\com\example\sso\controller\DeleteData.java
+D:\taxi\TaxiGit\pachongdelete\src\main\java\com\example\sso\controller\DeleteData.java
+
+
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..c5854cb
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,91 @@
+
+
+ 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
+
+
+
+
+
+
+
+
+ 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..6b7596b
--- /dev/null
+++ b/src/main/java/com/example/sso/SsoApplication.java
@@ -0,0 +1,18 @@
+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;
+
+@SpringBootApplication
+@EnableScheduling
+@EnableAsync
+
+public class SsoApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SsoApplication.class, args);
+ }
+
+}
diff --git a/src/main/java/com/example/sso/config/SSOConfig.java b/src/main/java/com/example/sso/config/SSOConfig.java
new file mode 100644
index 0000000..010fcd0
--- /dev/null
+++ b/src/main/java/com/example/sso/config/SSOConfig.java
@@ -0,0 +1,24 @@
+package com.example.sso.config;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.validation.annotation.Validated;
+
+import javax.validation.constraints.NotBlank;
+
+@Configuration
+@ConfigurationProperties(prefix = "sso")
+@NoArgsConstructor
+@AllArgsConstructor
+@Validated
+@Getter
+@Setter
+public class SSOConfig {
+ @NotBlank private String iss;
+ @NotBlank private String acs;
+ @NotBlank private String secret;
+}
diff --git a/src/main/java/com/example/sso/controller/CleanEcecl.java b/src/main/java/com/example/sso/controller/CleanEcecl.java
new file mode 100644
index 0000000..546cc71
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/CleanEcecl.java
@@ -0,0 +1,66 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.AddEcecl;
+import com.example.sso.dao.CleExecl;
+import org.apache.poi.EncryptedDocumentException;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.*;
+
+public class CleanEcecl {
+ public static void main(String[] args) throws IOException {
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\data.xlsx";
+
+ JSONArray jsonArray = new JSONArray();
+
+
+ FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
+
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ // 迭代行(从第二行开始,因为第一行通常是标题)
+ for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+
+ JSONObject jsonObject = new JSONObject();
+ // 读取每列数据
+
+
+ String type = row.getCell(2).getStringCellValue();
+ jsonObject.put("type", type);
+
+ jsonArray.add(jsonObject);
+
+
+ }
+ }
+
+
+ workbook.close();
+ String type = "";
+ for (Object o : jsonArray){
+ JSONObject TE = (JSONObject) o;
+ type = TE.getString("type");
+
+ }
+
+ if (type.equals("是")){
+ CleExecl.Del();
+ AddEcecl.Add();
+
+ }
+ }
+
+
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/example/sso/controller/CleanWork.java b/src/main/java/com/example/sso/controller/CleanWork.java
new file mode 100644
index 0000000..f2c6682
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/CleanWork.java
@@ -0,0 +1,26 @@
+package com.example.sso.controller;
+
+import java.io.File;
+
+public class CleanWork {
+ public static void main(String[] args) {
+ String folderPath = "C:\\Users\\李嘉卓\\Desktop\\新建文件夹"; // 指定要清空的文件夹路径
+ clearFolder(new File(folderPath));
+ System.out.println("文件夹已成功清空。");
+ }
+
+ public static void clearFolder(File folder) {
+ if (folder.exists()) {
+ File[] files = folder.listFiles();
+ if (files != null) {
+ for (File f : files) {
+ if (f.isDirectory()) {
+ clearFolder(f); // 递归清空子文件夹
+ } else {
+ f.delete(); // 删除文件
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/DeleteData.java b/src/main/java/com/example/sso/controller/DeleteData.java
new file mode 100644
index 0000000..235b68b
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/DeleteData.java
@@ -0,0 +1,185 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.UpData;
+import com.example.sso.util.V5utils;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+@Component
+public class DeleteData {
+ @Scheduled(cron = "0 0 4 2 * *")
+ public void main() {
+ Boolean b = true;
+ String ID = "";
+
+
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject.put("limit",10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+ JSONArray jsonArray = new JSONArray();
+
+ jsonArray.add("sjyxx");
+
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","sjyxx");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("失效");
+ jsonObject1.put("value",value);
+
+
+
+ cond.add(jsonObject1);
+
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+ int size = jsonArray1.size();
+ if (size < 10000) {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+ JSONObject jsonObject11 = new JSONObject();
+ jsonObject11.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject11.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject11.put("data_id",id);
+ String jsonString1 = jsonObject11.toJSONString();
+ V5utils.delete(jsonString1);
+
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+ JSONObject jsonObject11 = new JSONObject();
+ jsonObject11.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject11.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject11.put("data_id",id);
+ String jsonString1 = jsonObject11.toJSONString();
+ V5utils.delete(jsonString1);
+
+ ID = id;
+
+
+ }
+
+
+
+ }
+ }
+
+
+
+
+ }
+
+
+ @Scheduled(cron = "0 0 4 16 * *")
+ public void main1() {
+ Boolean b = true;
+ String ID = "";
+
+ JSONArray jsonArrayEND = new JSONArray();
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject.put("limit",10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+ JSONArray jsonArray = new JSONArray();
+
+ jsonArray.add("sjyxx");
+
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","sjyxx");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("失效");
+ jsonObject1.put("value",value);
+
+
+
+ cond.add(jsonObject1);
+
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+ int size = jsonArray1.size();
+ if (size < 10000) {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+ JSONObject jsonObject11 = new JSONObject();
+ jsonObject11.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject11.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject11.put("data_id",id);
+ String jsonString1 = jsonObject11.toJSONString();
+ V5utils.delete(jsonString1);
+
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+
+ String id = test.getString("_id");
+ JSONObject jsonObject11 = new JSONObject();
+ jsonObject11.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject11.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject11.put("data_id",id);
+ String jsonString1 = jsonObject11.toJSONString();
+ V5utils.delete(jsonString1);
+ ID = id;
+
+
+ }
+
+
+
+ }
+ }
+
+
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/EndEndShi.java b/src/main/java/com/example/sso/controller/EndEndShi.java
new file mode 100644
index 0000000..911358c
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/EndEndShi.java
@@ -0,0 +1,42 @@
+package com.example.sso.controller;
+
+import org.apache.poi.EncryptedDocumentException;
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class EndEndShi {
+ public static void main(String[] args) {
+ String filePath = "C:\\Users\\123\\Desktop\\华建.xlsx"; // Excel文件路径
+
+ try {
+ FileInputStream inputStream = new FileInputStream(new File(filePath));
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个sheet页
+
+ int lastRowNum = sheet.getLastRowNum(); // 获取最后一行的行号
+ Row lastRow = sheet.getRow(lastRowNum); // 获取最后一行
+
+ int newRowNum = lastRowNum + 1; // 新行号为最后一行行号加1
+ Row newRow = sheet.createRow(newRowNum); // 创建新行
+
+ Cell firstCell = newRow.createCell(0); // 在新行的第一列创建单元格
+ firstCell.setCellValue("结束"); // 设置单元格的值
+
+ inputStream.close(); // 关闭输入流
+
+ FileOutputStream outputStream = new FileOutputStream(filePath);
+ workbook.write(outputStream); // 写入修改后的内容到文件
+ workbook.close(); // 关闭工作簿
+ outputStream.close(); // 关闭输出流
+
+ System.out.println("Data inserted successfully.");
+
+ } catch (IOException | EncryptedDocumentException ex) {
+ ex.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/NowDta.java b/src/main/java/com/example/sso/controller/NowDta.java
new file mode 100644
index 0000000..b7ab714
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/NowDta.java
@@ -0,0 +1,81 @@
+package com.example.sso.controller;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.Now;
+import com.example.sso.dao.Query;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+public class NowDta {
+ public static void main(String[] args) {
+ JSONArray jsonArray = Query.car();
+
+
+ // 将JSONArray数据追加到现有的Excel文件
+ appendToExcel(jsonArray, "C:\\Users\\李嘉卓\\Desktop\\data.xlsx", "Sheet1");
+
+ for (Object o : jsonArray){
+ JSONObject te = (JSONObject) o;
+ String id = te.getString("_id");
+ String id1 = Now.id(id);
+ System.out.println(id1);
+
+ }
+
+ }
+
+ public static void appendToExcel(JSONArray jsonArray, String excelFilePath, String sheetName) {
+ Workbook workbook = null;
+ try (FileInputStream fileIn = new FileInputStream(excelFilePath)) {
+ // 读取现有的工作簿
+ workbook = new XSSFWorkbook(fileIn);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ if (workbook == null) {
+ System.out.println("无法读取现有的Excel文件");
+ return;
+ }
+
+ // 获取或创建工作表
+ Sheet sheet = workbook.getSheet(sheetName);
+ if (sheet == null) {
+ sheet = workbook.createSheet(sheetName);
+ // 创建标题行
+ Row headerRow = sheet.createRow(0);
+ headerRow.createCell(0).setCellValue("jsd");
+ headerRow.createCell(1).setCellValue("dsfs");
+ headerRow.createCell(2).setCellValue("asfda");
+ }
+
+ // 获取最后一行的行号
+ int lastRowNum = sheet.getLastRowNum();
+
+ // 写入数据行
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Row row = sheet.createRow(lastRowNum + 1 + i);
+ row.createCell(0).setCellValue(jsonObject.getString("is"));
+ row.createCell(1).setCellValue(jsonObject.getString("jg"));
+ row.createCell(2).setCellValue(jsonObject.getString("hphm"));
+ }
+
+ // 自动调整列宽
+ for (int i = 0; i < 3; i++) {
+ sheet.autoSizeColumn(i);
+ }
+
+ // 将工作簿写回文件
+ try (FileOutputStream fileOut = new FileOutputStream(excelFilePath)) {
+ workbook.write(fileOut);
+ System.out.println("Excel文件已成功更新: " + excelFilePath);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/QueryCar.java b/src/main/java/com/example/sso/controller/QueryCar.java
new file mode 100644
index 0000000..6faf55f
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/QueryCar.java
@@ -0,0 +1,71 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.Query;
+import com.fasterxml.jackson.databind.exc.InvalidFormatException;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.*;
+
+
+public class QueryCar {
+ public static void main(String[] args) {
+ JSONArray jsonArrays = Query.car();
+ String jsonString = jsonArrays.toJSONString();
+ JSONArray jsonArray = JSONArray.parseArray(jsonString);
+ // Excel file path
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\data.xlsx";
+
+ // Check if the file exists, create new if not
+ Workbook workbook;
+ Sheet sheet;
+ if (!new File(excelFilePath).exists()) {
+ workbook = new XSSFWorkbook();
+ sheet = workbook.createSheet("JSON Data");
+ // Create header row
+ Row headerRow = sheet.createRow(0);
+ String[] headers = {"jg", "hphm", "is"};
+ for (int i = 0; i < headers.length; i++) {
+ Cell cell = headerRow.createCell(i);
+ cell.setCellValue(headers[i]);
+ }
+ } else {
+ try (FileInputStream inputStream = new FileInputStream(new File(excelFilePath))) {
+ workbook = WorkbookFactory.create(inputStream);
+ sheet = workbook.getSheetAt(0); // Assuming data is written to the first sheet
+ } catch (IOException e) {
+ e.printStackTrace();
+ return;
+ }
+ }
+
+ // Get the last row number
+ int rowCount = sheet.getLastRowNum();
+
+ // Write JSON data to Excel
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Row row = sheet.createRow(rowCount + 1 + i);
+ row.createCell(0).setCellValue(jsonObject.getString("js"));
+ row.createCell(1).setCellValue(jsonObject.getString("hphm"));
+ row.createCell(2).setCellValue(jsonObject.getString("is"));
+ }
+
+ // Write the workbook to the same file
+ try (FileOutputStream fileOut = new FileOutputStream(excelFilePath)) {
+ workbook.write(fileOut);
+ System.out.println("Data has been appended to Excel file successfully!");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ // Close the workbook
+ try {
+ workbook.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/ReaderController.java b/src/main/java/com/example/sso/controller/ReaderController.java
new file mode 100644
index 0000000..8741740
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/ReaderController.java
@@ -0,0 +1,261 @@
+package com.example.sso.controller;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.*;
+import com.example.sso.util.TimeUtil;
+import com.example.sso.util.V5utils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.*;
+import org.hibernate.validator.internal.util.logging.Log;
+
+import javax.jws.soap.SOAPBinding;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Date;
+import java.util.UUID;
+
+@Slf4j
+public class ReaderController {
+ public static void main(String[] args) throws Exception {
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\银建.xlsx";
+
+ JSONArray jsonArray = new JSONArray();
+
+
+ FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
+
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ // 迭代行(从第二行开始,因为第一行通常是标题)
+ for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+
+ JSONObject jsonObject = new JSONObject();
+ // 读取每列数据
+ String type = row.getCell(0).getStringCellValue();
+ jsonObject.put("type", type);
+
+ try {
+ String chepai = row.getCell(1).getStringCellValue();
+ jsonObject.put("chepai", chepai);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("chepai", "结束");
+ }
+
+ try {
+ String DATA = row.getCell(2).getStringCellValue();
+ jsonObject.put("DATA", DATA);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("DATA", "2024-04-22 04:06");
+ }
+
+
+ try {
+ String place = row.getCell(3).getStringCellValue();
+ jsonObject.put("place", place);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("place", "结束");
+ }
+ try {
+ String cause = row.getCell(4).getStringCellValue();
+ jsonObject.put("cause", cause);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("cause", "结束");
+ }
+ try {
+ String dispose = row.getCell(5).getStringCellValue();
+ jsonObject.put("dispose", dispose);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("dispose", "结束");
+ }
+ try {
+ String contributions = row.getCell(6).getStringCellValue();
+ jsonObject.put("contributions", contributions);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("contributions", "结束");
+ }
+
+ try {
+ Integer amount = (int) row.getCell(7).getNumericCellValue();
+ jsonObject.put("amount", amount);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("amount", 0);
+
+ }
+ try {
+ Integer score = (int) row.getCell(8).getNumericCellValue();
+ jsonObject.put("score", score);
+ } catch (Exception e) {
+ System.out.println("异常");
+ jsonObject.put("score", 0);
+ }
+
+ jsonArray.add(jsonObject);
+
+
+ }
+ }
+
+
+ workbook.close();
+ String nowmonth = TimeUtil.nowmonth();
+ int i = 1;
+ for (Object o : jsonArray) {
+ JSONObject te = (JSONObject) o;
+ String type = te.getString("type");
+ String chepai = te.getString("chepai");
+ String DATAs = te.getString("DATA");
+
+ String DATA = TimeUtil.fronteight(DATAs);
+ String place = te.getString("place");
+ String cause = te.getString("cause");
+ String dispose = te.getString("dispose");
+ String contributions = te.getString("contributions");
+ Integer amount = te.getInteger("amount");
+
+
+ Integer score = te.getInteger("score");
+
+
+
+ CaiId.main2(chepai, DATAs,place,cause);
+
+ // 新增数据至简道云
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "666973a2507c72e064cc585d");
+ String transaction_id = UUID.randomUUID().toString();
+ jsonObject.put("transaction_id", transaction_id);
+ String token = Down.token(transaction_id);
+
+
+ JSONObject data = new JSONObject();
+
+ JSONObject _widget_1718186914052 = new JSONObject();
+ _widget_1718186914052.put("value", type);
+ data.put("_widget_1718186914052", _widget_1718186914052);
+
+ JSONObject hphm = new JSONObject();
+ hphm.put("value", chepai);
+ data.put("hphm", hphm);
+
+ JSONObject _widget_1718186914054 = new JSONObject();
+ _widget_1718186914054.put("value", DATA);
+ data.put("_widget_1718186914054", _widget_1718186914054);
+
+ JSONObject wfsj = new JSONObject();
+ wfsj.put("value", DATAs);
+ data.put("wfsj", wfsj);
+
+
+
+
+
+
+
+ JSONObject _widget_1718186914055 = new JSONObject();
+ _widget_1718186914055.put("value", place);
+ data.put("_widget_1718186914055", _widget_1718186914055);
+
+ JSONObject wfxw = new JSONObject();
+ wfxw.put("value", cause);
+ data.put("wfxw", wfxw);
+
+ JSONObject _widget_1718186914057 = new JSONObject();
+ _widget_1718186914057.put("value", dispose);
+ data.put("_widget_1718186914057", _widget_1718186914057);
+
+ JSONObject _widget_1718186914058 = new JSONObject();
+ _widget_1718186914058.put("value", contributions);
+ data.put("_widget_1718186914058", _widget_1718186914058);
+
+ JSONObject _widget_1718188736103 = new JSONObject();
+ _widget_1718188736103.put("value", nowmonth);
+ data.put("_widget_1718188736103", _widget_1718188736103);
+
+ JSONObject sjyxx = new JSONObject();
+ sjyxx.put("value", "有效");
+ data.put("sjyxx", sjyxx);
+
+ JSONObject _widget_1719543222530 = new JSONObject();
+ _widget_1719543222530.put("value", amount);
+ data.put("_widget_1719543222530", _widget_1719543222530);
+
+ JSONObject _widget_1719543222531 = new JSONObject();
+ _widget_1719543222531.put("value", score);
+ data.put("_widget_1719543222531", _widget_1719543222531);
+
+ JSONObject ztfz = new JSONObject();
+ ztfz.put("value", "进行中");
+ data.put("ztfz", ztfz);
+
+
+ JSONObject jg = new JSONObject();
+ jg.put("value", "银建");
+ data.put("jg", jg);
+
+ String s1 = String.valueOf(i);
+ String s = "北京银建实业股份有限公司"+s1;
+ String keys = "";
+ try {
+ keys = V5utils.keys(s,token);
+ } catch (Exception e) {
+ System.out.println("找不到此文件");
+ keys = "";
+ }
+
+ JSONObject wfzp = new JSONObject();
+
+ JSONArray jsonArray1 = new JSONArray();
+ jsonArray1.add(keys);
+ wfzp.put("value", jsonArray1);
+ data.put("wfzp", wfzp);
+
+ jsonObject.put("data", data);
+ String jsonString = jsonObject.toJSONString();
+ log.info("kkkkkk "+ jsonString);
+ V5utils.add(jsonString);
+
+ i += 1;
+
+
+
+ if (type.equals("结束")
+ ) {
+ EndUpdata.main2();
+
+ End.end();
+
+
+ }
+
+
+
+
+ }
+
+ DeleteEnd.del();
+
+
+
+
+
+
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/SelectCar.java b/src/main/java/com/example/sso/controller/SelectCar.java
new file mode 100644
index 0000000..193ba34
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/SelectCar.java
@@ -0,0 +1,88 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+public class SelectCar {
+ public static JSONArray car() {
+ Boolean b = true;
+ String ID = "";
+ JSONArray jsonArray12 = new JSONArray();
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "5673d2535dee5e584224e3e9");
+ jsonObject.put("limit", 10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+ JSONArray fields = new JSONArray();
+ fields.add("dw");
+ fields.add("vcn");
+ fields.add("dqzht");
+
+ JSONObject jsonObject11 = new JSONObject();
+ jsonObject11.put("rel", "and");
+ JSONArray cond = new JSONArray();
+
+ JSONObject jsonObject2 = new JSONObject();
+ jsonObject2.put("field", "dw");
+ jsonObject2.put("method", "eq");
+ JSONArray VA = new JSONArray();
+ VA.add("华建");
+ jsonObject2.put("value", VA);
+
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field", "dqzht");
+ jsonObject3.put("method", "ne");
+ JSONArray VA1 = new JSONArray();
+ VA1.add("待更");
+ jsonObject3.put("value", VA1);
+
+ cond.add(jsonObject2);
+ cond.add(jsonObject3);
+ jsonObject11.put("cond", cond);
+ jsonObject.put("filter", jsonObject11);
+ jsonObject.put("fields", fields);
+
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject1 = JSON.parseObject(list);
+ System.out.println(jsonObject1);
+ JSONArray jsonArray = jsonObject1.getJSONArray("data");
+ int size = jsonArray.size();
+ if (size < 10000) {
+ for (Object o : jsonArray) {
+ JSONObject test = (JSONObject) o;
+
+ jsonArray12.add(test);
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+
+ ID = id;
+ jsonArray12.add(test);
+
+ }
+ jsonObject.put("data_id", ID);
+
+
+ }
+ }
+
+ return jsonArray12;
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/controller/WriteExecl.java b/src/main/java/com/example/sso/controller/WriteExecl.java
new file mode 100644
index 0000000..cc5034b
--- /dev/null
+++ b/src/main/java/com/example/sso/controller/WriteExecl.java
@@ -0,0 +1,74 @@
+package com.example.sso.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.Query;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class WriteExecl {
+ public static void main(String[] args) {
+ JSONArray jsonArrays = SelectCar.car();
+ String jsonString = jsonArrays.toJSONString();
+ JSONArray jsonArray = JSONArray.parseArray(jsonString);
+ // Excel file path
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\data.xlsx";
+
+ // Check if the file exists, create new if not
+ Workbook workbook;
+ Sheet sheet;
+ if (!new File(excelFilePath).exists()) {
+ workbook = new XSSFWorkbook();
+ sheet = workbook.createSheet("Sheet1");
+ // Create header row
+ Row headerRow = sheet.createRow(0);
+ String[] headers = {"dw", "vcn", "is"};
+ for (int i = 0; i < headers.length; i++) {
+ Cell cell = headerRow.createCell(i);
+ cell.setCellValue(headers[i]);
+ }
+ } else {
+ try (FileInputStream inputStream = new FileInputStream(new File(excelFilePath))) {
+ workbook = WorkbookFactory.create(inputStream);
+ sheet = workbook.getSheetAt(0); // Assuming data is written to the first sheet
+ } catch (IOException e) {
+ e.printStackTrace();
+ return;
+ }
+ }
+
+ // Get the last row number
+ int rowCount = sheet.getFirstRowNum();
+
+ // Write JSON data to Excel
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Row row = sheet.createRow(rowCount + 1 + i);
+ row.createCell(0).setCellValue(jsonObject.getString("dw"));
+ String vcn = jsonObject.getString("vcn");
+ String replace = vcn.replace("京", "");
+ row.createCell(1).setCellValue(replace);
+ row.createCell(2).setCellValue("否");
+ }
+
+ // Write the workbook to the same file
+ try (FileOutputStream fileOut = new FileOutputStream(excelFilePath)) {
+ workbook.write(fileOut);
+ System.out.println("Data has been appended to Excel file successfully!");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ // Close the workbook
+ try {
+ workbook.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/AddEcecl.java b/src/main/java/com/example/sso/dao/AddEcecl.java
new file mode 100644
index 0000000..70a78c2
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/AddEcecl.java
@@ -0,0 +1,38 @@
+package com.example.sso.dao;
+
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class AddEcecl {
+ public static String Add() {
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\data.xlsx";
+ try {
+ // 创建一个空的 Workbook 对象
+ Workbook workbook = new XSSFWorkbook(); // 使用 XSSFWorkbook() 创建 .xlsx 格式的 Excel
+
+ // 创建一个新的工作表
+ Sheet sheet = workbook.createSheet("Sheet1");
+
+
+
+ // 保存更新后的 Excel 文件
+ try (FileOutputStream fos = new FileOutputStream(excelFilePath)) {
+ workbook.write(fos);
+ }
+
+ System.out.println("已在指定路径创建新的 Excel 文件:" + excelFilePath);
+
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ return "新建完成";
+ }
+
+
+
+
+}
diff --git a/src/main/java/com/example/sso/dao/CaiId.java b/src/main/java/com/example/sso/dao/CaiId.java
new file mode 100644
index 0000000..4d537ab
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/CaiId.java
@@ -0,0 +1,80 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import com.example.sso.util.V5utils;
+
+public class CaiId {
+ public static String main2(String chepai,String DATAs, String place, String cause) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject.put("limit",10000);
+
+ JSONArray jsonArray = new JSONArray();
+ jsonArray.add("hphm");
+ jsonArray.add("sjyxx");
+ jsonArray.add("wfsj");
+ jsonArray.add("_widget_1718186914055");
+ jsonArray.add("_widget_1718186914056");
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","hphm");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add(chepai);
+ jsonObject1.put("value",value);
+
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field","wfsj");
+ jsonObject3.put("method","eq");
+ JSONArray value1 = new JSONArray();
+ value1.add(DATAs);
+ jsonObject3.put("value",value1);
+
+
+ JSONObject jsonObject4 = new JSONObject();
+ jsonObject4.put("field","_widget_1718186914056");
+ jsonObject4.put("method","eq");
+ JSONArray value5 = new JSONArray();
+ value5.add(cause);
+ jsonObject4.put("value",value5);
+
+
+ JSONObject jsonObject5 = new JSONObject();
+ jsonObject5.put("field","_widget_1718186914055");
+ jsonObject5.put("method","eq");
+ JSONArray jsonArray2 = new JSONArray();
+ jsonArray2.add(place);
+ jsonObject5.put("value",jsonArray2);
+
+
+
+ cond.add(jsonObject1);
+ cond.add(jsonObject3);
+ cond.add(jsonObject5);
+ cond.add(jsonObject4);
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+ for (Object o : jsonArray1 ){
+ JSONObject TE = (JSONObject) o;
+ String id = TE.getString("_id");
+ String s = UpData.main2(id);
+ System.out.println(s);
+ }
+ return "完成";
+
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/CleExecl.java b/src/main/java/com/example/sso/dao/CleExecl.java
new file mode 100644
index 0000000..cc0df0e
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/CleExecl.java
@@ -0,0 +1,28 @@
+package com.example.sso.dao;
+
+import java.io.File;
+
+public class CleExecl {
+ public static String Del() {
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\data.xlsx";
+
+ try {
+ File file = new File(excelFilePath);
+
+ if (file.exists()) {
+ if (file.delete()) {
+ System.out.println("已成功删除 Excel 文件: " + excelFilePath);
+ } else {
+ System.out.println("删除 Excel 文件失败.");
+ }
+ } else {
+ System.out.println("Excel 文件不存在.");
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "删除完成";
+ }
+
+}
diff --git a/src/main/java/com/example/sso/dao/DeleteEnd.java b/src/main/java/com/example/sso/dao/DeleteEnd.java
new file mode 100644
index 0000000..a93fcfc
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/DeleteEnd.java
@@ -0,0 +1,87 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class DeleteEnd {
+ public static void del() {
+ Boolean b = true;
+ String ID = "";
+
+ JSONArray jsonArrayEND = new JSONArray();
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject.put("limit",10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+ JSONArray jsonArray = new JSONArray();
+
+ jsonArray.add("hphm");
+
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","hphm");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("结束");
+ jsonObject1.put("value",value);
+
+
+
+ cond.add(jsonObject1);
+
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+ int size = jsonArray1.size();
+ if (size < 10000) {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ jsonArrayEND.add(test);
+
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+
+ ID = id;
+ jsonArrayEND.add(test);
+
+ }
+ jsonObject.put("data_id", ID);
+
+
+ }
+ }
+
+
+
+ for (Object o : jsonArrayEND ){
+ JSONObject TE = (JSONObject) o;
+ String id = TE.getString("_id");
+
+ String s = UpData.main1(id);
+ System.out.println(s);
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/sso/dao/Down.java b/src/main/java/com/example/sso/dao/Down.java
new file mode 100644
index 0000000..66aeb8a
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/Down.java
@@ -0,0 +1,25 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class Down {
+ public static String token(String transactionid) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "666973a2507c72e064cc585d");
+ jsonObject.put("transaction_id", transactionid);
+ String jsonString = jsonObject.toJSONString();
+ String down = V5utils.down(jsonString);
+ JSONObject jsonObject1 = JSON.parseObject(down);
+ JSONArray jsonArray = jsonObject1.getJSONArray("token_and_url_list");
+ String tokens = "";
+ for (Object o :jsonArray ){
+ JSONObject TE = (JSONObject) o;
+ tokens = TE.getString("token");
+ }
+ return tokens;
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/End.java b/src/main/java/com/example/sso/dao/End.java
new file mode 100644
index 0000000..a30d90f
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/End.java
@@ -0,0 +1,94 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class End {
+ public static String end() {
+
+ Boolean b = true;
+ String ID = "";
+
+ JSONArray jsonArrayEND = new JSONArray();
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject.put("limit",10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+ JSONArray jsonArray = new JSONArray();
+
+ jsonArray.add("sjyxx");
+ jsonArray.add("ztfz");
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","sjyxx");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("有效");
+ jsonObject1.put("value",value);
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field","ztfz");
+ jsonObject3.put("method","eq");
+ JSONArray value3 = new JSONArray();
+ value3.add("进行中");
+ jsonObject3.put("value",value3);
+
+ cond.add(jsonObject1);
+ cond.add(jsonObject3);
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+ int size = jsonArray1.size();
+ if (size < 10000) {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ jsonArrayEND.add(test);
+
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+
+ ID = id;
+ jsonArrayEND.add(test);
+
+ }
+ jsonObject.put("data_id", ID);
+
+
+ }
+ }
+
+
+
+ for (Object o : jsonArrayEND ){
+ JSONObject TE = (JSONObject) o;
+ String id = TE.getString("_id");
+
+ String s = EndUpdata.main1(id);
+ System.out.println(s);
+ }
+
+ return "ok";
+ }
+
+}
diff --git a/src/main/java/com/example/sso/dao/EndUpdata.java b/src/main/java/com/example/sso/dao/EndUpdata.java
new file mode 100644
index 0000000..7bfab93
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/EndUpdata.java
@@ -0,0 +1,149 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class EndUpdata {
+
+ //辅助状态修改结束
+ public static String main1(String id) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ jsonObject.put("data_id",id);
+ JSONObject data = new JSONObject();
+
+
+
+
+ JSONObject ztfz = new JSONObject();
+ ztfz.put("value","结束");
+ data.put("ztfz",ztfz);
+
+
+
+ jsonObject.put("data",data);
+ String jsonString = jsonObject.toJSONString();
+ String updata = V5utils.updata(jsonString);
+ return updata;
+ }
+
+
+ //修改无效
+ public static String main2() {
+ Boolean b = true;
+ String ID = "";
+ JSONArray jsonArrayEND = new JSONArray();
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "666973a2507c72e064cc585d");
+ jsonObject.put("limit", 10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+
+ JSONArray jsonArray = new JSONArray();
+ jsonArray.add("sjyxx");
+ jsonArray.add("ztfz");
+ jsonArray.add("jg");
+
+
+ jsonObject.put("fields", jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel", "and");
+ JSONArray cond = new JSONArray();
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field", "sjyxx");
+ jsonObject1.put("method", "eq");
+ JSONArray value = new JSONArray();
+ value.add("有效");
+ jsonObject1.put("value", value);
+
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field", "ztfz");
+ jsonObject3.put("method", "eq");
+ JSONArray value1 = new JSONArray();
+ value1.add("结束");
+ jsonObject3.put("value", value1);
+
+ JSONObject jsonObject4 = new JSONObject();
+ jsonObject4.put("field", "jg");
+ jsonObject4.put("method", "eq");
+ JSONArray value4 = new JSONArray();
+ value4.add("金建");
+ jsonObject4.put("value", value4);
+
+
+ cond.add(jsonObject1);
+ cond.add(jsonObject4);
+ cond.add(jsonObject3);
+ filter.put("cond", cond);
+ jsonObject.put("filter", filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+
+ int size = jsonArray1.size();
+ if (size < 10000) {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ jsonArrayEND.add(test);
+
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray1) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+
+ ID = id;
+ jsonArrayEND.add(test);
+
+ }
+ jsonObject.put("data_id", ID);
+
+
+ }
+ }
+
+
+ for (Object o : jsonArrayEND){
+ JSONObject TE = (JSONObject) o;
+ String id1 = TE.getString("_id");
+
+ JSONObject object = new JSONObject();
+ object.put("app_id","628eeaace7f28c00089a60cc");
+ object.put("entry_id","666973a2507c72e064cc585d");
+ object.put("data_id",id1);
+ JSONObject data = new JSONObject();
+
+
+
+
+ JSONObject sjyxx = new JSONObject();
+ sjyxx.put("value","失效");
+ data.put("sjyxx",sjyxx);
+
+ object.put("data",data);
+ String objectJSONString = object.toJSONString();
+ V5utils.updata(objectJSONString);
+
+ }
+
+ return "修改无效";
+
+
+ }
+
+
+
+
+}
diff --git a/src/main/java/com/example/sso/dao/GetNumber.java b/src/main/java/com/example/sso/dao/GetNumber.java
new file mode 100644
index 0000000..e9f99ad
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/GetNumber.java
@@ -0,0 +1,48 @@
+package com.example.sso.dao;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+public class GetNumber {
+ public static Integer number() {
+ // Excel 文件路径
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\银建.xlsx";
+ // Excel 表格中的行号和列号(从0开始)
+ int rowIndex = 0; // 第一行
+ int columnIndex = 12; // 第二列
+
+ Integer cellValue = null;
+ try {
+ FileInputStream excelFile = new FileInputStream(excelFilePath);
+ Workbook workbook = WorkbookFactory.create(excelFile);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+ Cell cell = row.getCell(columnIndex);
+ if (cell != null) {
+ // 获取单元格内容
+ cellValue = (int) cell.getNumericCellValue();
+ System.out.println("Cell value: " + cellValue);
+ } else {
+ System.out.println("Cell is empty");
+ }
+ } else {
+ System.out.println("Row is empty");
+ }
+
+ workbook.close();
+ excelFile.close();
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return cellValue;
+ }
+
+}
diff --git a/src/main/java/com/example/sso/dao/InsertNumber.java b/src/main/java/com/example/sso/dao/InsertNumber.java
new file mode 100644
index 0000000..f8ea235
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/InsertNumber.java
@@ -0,0 +1,52 @@
+package com.example.sso.dao;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class InsertNumber {
+ public static String insert() {
+ // Excel 文件路径
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\银建.xlsx";
+ // Excel 表格中的行号和列号(从0开始)
+ int rowIndex = 0; // 第三行
+ int columnIndex = 12; // 第二列
+ // 要插入的数据
+ Integer data = 31;
+
+ try {
+ FileInputStream excelFile = new FileInputStream(excelFilePath);
+ Workbook workbook = WorkbookFactory.create(excelFile);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ Row row = sheet.getRow(rowIndex);
+ if (row == null) {
+ row = sheet.createRow(rowIndex);
+ }
+
+ Cell cell = row.getCell(columnIndex);
+ if (cell == null) {
+ cell = row.createCell(columnIndex);
+ }
+
+ cell.setCellValue(data);
+
+ excelFile.close();
+
+ // 保存修改后的 Excel 文件
+ FileOutputStream outFile = new FileOutputStream(excelFilePath);
+ workbook.write(outFile);
+ outFile.close();
+
+ workbook.close();
+
+ System.out.println("Data has been inserted successfully.");
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return "新增完成";
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/Now.java b/src/main/java/com/example/sso/dao/Now.java
new file mode 100644
index 0000000..d1d69c1
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/Now.java
@@ -0,0 +1,28 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class Now {
+ public static String id(String id) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","668225a1eb38767eb22fd931");
+ jsonObject.put("data_id",id);
+ JSONObject data = new JSONObject();
+
+
+
+
+ JSONObject is = new JSONObject();
+ is.put("value","是");
+ data.put("is",is);
+
+
+
+ jsonObject.put("data",data);
+ String jsonString = jsonObject.toJSONString();
+ String updata = V5utils.updata(jsonString);
+ return updata;
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/Query.java b/src/main/java/com/example/sso/dao/Query.java
new file mode 100644
index 0000000..8cc313f
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/Query.java
@@ -0,0 +1,50 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class Query {
+ public static JSONArray car() {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "668225a1eb38767eb22fd931");
+ jsonObject.put("limit",10000);
+
+ JSONArray jsonArray = new JSONArray();
+ jsonArray.add("jg");
+ jsonArray.add("is");
+ jsonArray.add("hphm");
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","jg");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("金建");
+ jsonObject1.put("value",value);
+
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field","is");
+ jsonObject3.put("method","eq");
+ JSONArray value1 = new JSONArray();
+ value1.add("否");
+ jsonObject3.put("value",value1);
+
+ cond.add(jsonObject1);
+ cond.add(jsonObject3);
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+
+ return jsonArray1;
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/Test.java b/src/main/java/com/example/sso/dao/Test.java
new file mode 100644
index 0000000..0ba1f8f
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/Test.java
@@ -0,0 +1,63 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class Test {
+ // @Scheduled(cron = "0 48 13 * * ?")
+ public void main() {
+ Boolean b = true;
+ String ID = "";
+ JSONArray jsonArray12 = new JSONArray();
+ while (b) {
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "5c9d82c72ceed93a0d9ebca4");
+ jsonObject.put("limit", 10000);
+ if (!ID.isEmpty()) {
+ jsonObject.put("data_id", ID);
+ }
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject1 = JSON.parseObject(list);
+ System.out.println(jsonObject1);
+ JSONArray jsonArray = jsonObject1.getJSONArray("data");
+ int size = jsonArray.size();
+ if (size < 10000) {
+ for (Object o : jsonArray) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+ jsonArray12.add(id);
+
+
+ }
+ b = false;
+ } else {
+ for (Object o : jsonArray) {
+ JSONObject test = (JSONObject) o;
+ String id = test.getString("_id");
+
+ ID = id;
+ jsonArray12.add(id);
+
+ }
+ jsonObject.put("data_id", ID);
+
+
+ }
+ }
+ int size = jsonArray12.size();
+ String s = String.valueOf(size);
+ System.out.println("我是数组总数:"+ s );
+
+
+ }
+}
diff --git a/src/main/java/com/example/sso/dao/UpData.java b/src/main/java/com/example/sso/dao/UpData.java
new file mode 100644
index 0000000..7babc1b
--- /dev/null
+++ b/src/main/java/com/example/sso/dao/UpData.java
@@ -0,0 +1,111 @@
+package com.example.sso.dao;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.util.V5utils;
+
+public class UpData {
+ public static String main1(String id) {
+
+
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "666973a2507c72e064cc585d");
+ jsonObject.put("data_id", id);
+ String jsonString = jsonObject.toJSONString();
+ String delete = V5utils.delete(jsonString);
+ return delete;
+
+
+ }
+
+
+ public static String main2(String id) {
+
+
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id", "628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id", "666973a2507c72e064cc585d");
+ jsonObject.put("data_id", id);
+ JSONObject data = new JSONObject();
+
+
+
+
+ JSONObject ztfz = new JSONObject();
+ ztfz.put("value","结束");
+ data.put("ztfz",ztfz);
+
+ JSONObject sjyxx = new JSONObject();
+ sjyxx.put("value","失效");
+ data.put("sjyxx",sjyxx);
+
+
+
+ jsonObject.put("data",data);
+ String jsonString = jsonObject.toJSONString();
+ String updata = V5utils.updata(jsonString);
+ return updata;
+
+
+ }
+
+
+
+
+ public static String del() {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+ JSONArray jsonArray = new JSONArray();
+ jsonArray.add("type");
+ jsonArray.add("chepai");
+
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","type");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("结束");
+ jsonObject1.put("value",value);
+
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field","chepai");
+ jsonObject3.put("method","eq");
+ JSONArray value1 = new JSONArray();
+ value1.add("结束");
+ jsonObject3.put("value",value1);
+
+ cond.add(jsonObject1);
+ cond.add(jsonObject3);
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+ for (Object o : jsonArray1 ){
+ JSONObject TE = (JSONObject) o;
+ String id = TE.getString("_id");
+ String s = UpData.main1(id);
+ System.out.println(s);
+ }
+
+ return "完成";
+
+
+
+ }
+
+
+
+
+}
diff --git a/src/main/java/com/example/sso/service/SSOService.java b/src/main/java/com/example/sso/service/SSOService.java
new file mode 100644
index 0000000..70b2470
--- /dev/null
+++ b/src/main/java/com/example/sso/service/SSOService.java
@@ -0,0 +1,44 @@
+package com.example.sso.service;
+
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.JWTVerifier;
+import com.auth0.jwt.algorithms.Algorithm;
+import com.auth0.jwt.interfaces.DecodedJWT;
+import com.example.sso.config.SSOConfig;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpSession;
+import java.util.Calendar;
+import java.util.Date;
+
+@Service
+@NoArgsConstructor
+@AllArgsConstructor
+public class SSOService {
+ @Getter @Setter @Autowired private SSOConfig ssoConfig;
+ public String getResponse(String request, String username, HttpSession httpSession) {
+ Algorithm algorithm = Algorithm.HMAC256((String) httpSession.getAttribute("sso_secret"));
+ JWTVerifier verifier = JWT.require(algorithm)
+ .withIssuer("com.jiandaoyun")
+ .build();
+ DecodedJWT decoded = verifier.verify(request);
+ if (!"sso_req".equals(decoded.getClaim("type").asString())) {
+ return "";
+ }
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ calendar.add(Calendar.HOUR_OF_DAY, 1);
+ return JWT.create()
+ .withIssuer("com.jiandaoyun")
+ .withClaim("type", "sso_res")
+ .withClaim("username", username)
+ .withAudience("com.jiandaoyun")
+ .withExpiresAt(calendar.getTime())
+ .sign(algorithm);
+ }
+}
\ No newline at end of file
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..85dda81
--- /dev/null
+++ b/src/main/java/com/example/sso/test/A.java
@@ -0,0 +1,73 @@
+package com.example.sso.test;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.GetNumber;
+import com.example.sso.dao.Query;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.*;
+
+public class A {
+
+ public static void main(String[] args) {
+ Integer number = GetNumber.number();
+ System.out.println(number);
+ }
+
+ public static void appendToExcel(JSONArray jsonArray, String excelFilePath, String sheetName) {
+ Workbook workbook = null;
+ try (FileInputStream fileIn = new FileInputStream(excelFilePath)) {
+ // 读取现有的工作簿
+ workbook = new XSSFWorkbook(fileIn);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ if (workbook == null) {
+ System.out.println("无法读取现有的Excel文件");
+ return;
+ }
+
+ // 获取或创建工作表
+ Sheet sheet = workbook.getSheet(sheetName);
+ if (sheet == null) {
+ sheet = workbook.createSheet(sheetName);
+ // 创建标题行
+ Row headerRow = sheet.createRow(0);
+ headerRow.createCell(0).setCellValue("jsd");
+ headerRow.createCell(1).setCellValue("dsfs");
+ headerRow.createCell(2).setCellValue("asfda");
+ }
+
+ // 获取最后一行的行号
+ int lastRowNum = sheet.getLastRowNum();
+
+ // 写入数据行
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject jsonObject = jsonArray.getJSONObject(i);
+ Row row = sheet.createRow(lastRowNum + 1 + i);
+ row.createCell(0).setCellValue(jsonObject.getString("is"));
+ row.createCell(1).setCellValue(jsonObject.getString("jg"));
+ row.createCell(2).setCellValue(jsonObject.getString("hphm"));
+ }
+
+ // 自动调整列宽
+ for (int i = 0; i < 3; i++) {
+ sheet.autoSizeColumn(i);
+ }
+
+ // 将工作簿写回文件
+ try (FileOutputStream fileOut = new FileOutputStream(excelFilePath)) {
+ workbook.write(fileOut);
+ System.out.println("Excel文件已成功更新: " + excelFilePath);
+ } 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..c75e284
--- /dev/null
+++ b/src/main/java/com/example/sso/test/C.java
@@ -0,0 +1,71 @@
+package com.example.sso.test;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.UpData;
+import com.example.sso.util.V5utils;
+
+public class C {
+ public static void main(String[] args) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("app_id","628eeaace7f28c00089a60cc");
+ jsonObject.put("entry_id","666973a2507c72e064cc585d");
+
+ JSONArray jsonArray = new JSONArray();
+ jsonArray.add("sjyxx");
+ jsonArray.add("ztfz");
+
+
+ jsonObject.put("fields",jsonArray);
+ JSONObject filter = new JSONObject();
+ filter.put("rel","and");
+ JSONArray cond = new JSONArray();
+ JSONObject jsonObject1 = new JSONObject();
+ jsonObject1.put("field","sjyxx");
+ jsonObject1.put("method","eq");
+ JSONArray value = new JSONArray();
+ value.add("有效");
+ jsonObject1.put("value",value);
+
+
+ JSONObject jsonObject3 = new JSONObject();
+ jsonObject3.put("field","ztfz");
+ jsonObject3.put("method","eq");
+ JSONArray value1 = new JSONArray();
+ value1.add("结束");
+ jsonObject3.put("value",value1);
+
+ cond.add(jsonObject1);
+ cond.add(jsonObject3);
+ filter.put("cond",cond);
+ jsonObject.put("filter",filter);
+ String jsonString = jsonObject.toJSONString();
+ String list = V5utils.list(jsonString);
+ JSONObject jsonObject2 = JSON.parseObject(list);
+ JSONArray jsonArray1 = jsonObject2.getJSONArray("data");
+
+ for (Object o : jsonArray1){
+ JSONObject TE = (JSONObject) o;
+ String id1 = TE.getString("_id");
+
+ JSONObject object = new JSONObject();
+ object.put("app_id","628eeaace7f28c00089a60cc");
+ object.put("entry_id","666973a2507c72e064cc585d");
+ object.put("data_id",id1);
+ JSONObject data = new JSONObject();
+
+
+
+
+ JSONObject sjyxx = new JSONObject();
+ sjyxx.put("value","无效");
+ data.put("sjyxx",sjyxx);
+
+ object.put("data",data);
+ String objectJSONString = object.toJSONString();
+ V5utils.updata(objectJSONString);
+
+ }
+ }
+}
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..87835aa
--- /dev/null
+++ b/src/main/java/com/example/sso/test/D.java
@@ -0,0 +1,44 @@
+package com.example.sso.test;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class D {
+ public static void main(String[] args) {
+ String excelFilePath = "path/to/your/existing/excel/file.xlsx"; // 指定现有 Excel 文件的路径和文件名
+
+ try {
+ FileInputStream fis = new FileInputStream(excelFilePath);
+ Workbook workbook = WorkbookFactory.create(fis);
+
+ // 获取第一个工作表(索引从0开始)
+ Sheet sheet = workbook.getSheetAt(0);
+
+ // 获取第一列的最后一行的索引
+ int lastRowIndex = sheet.getLastRowNum();
+
+ // 创建新行(在最后一行的下一行)
+ Row newRow = sheet.createRow(lastRowIndex + 1);
+
+ // 在第一列(索引为0)创建单元格并设置值
+ Cell cell = newRow.createCell(0);
+ cell.setCellValue("新数据");
+
+ fis.close();
+
+ // 写入更新后的 Excel 文件
+ try (FileOutputStream fos = new FileOutputStream(excelFilePath)) {
+ workbook.write(fos);
+ }
+
+ System.out.println("已向 Excel 第一列最后一行插入新数据.");
+
+ } catch (IOException ex) {
+ ex.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..331bd5c
--- /dev/null
+++ b/src/main/java/com/example/sso/test/E.java
@@ -0,0 +1,45 @@
+package com.example.sso.test;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+public class E {
+ public static void main(String[] args) {
+ // Excel 文件路径
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\银建.xlsx";
+ // Excel 表格中的行号和列号(从0开始)
+ int rowIndex = 0; // 第一行
+ int columnIndex = 12; // 第二列
+
+ try {
+ FileInputStream excelFile = new FileInputStream(excelFilePath);
+ Workbook workbook = WorkbookFactory.create(excelFile);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ Row row = sheet.getRow(rowIndex);
+ if (row != null) {
+ Cell cell = row.getCell(columnIndex);
+ if (cell != null) {
+ // 获取单元格内容
+ Integer cellValue = (int) cell.getNumericCellValue();
+ System.out.println("Cell value: " + cellValue);
+ } else {
+ System.out.println("Cell is empty");
+ }
+ } else {
+ System.out.println("Row is empty");
+ }
+
+ workbook.close();
+ excelFile.close();
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/test/F.java b/src/main/java/com/example/sso/test/F.java
new file mode 100644
index 0000000..fd3b735
--- /dev/null
+++ b/src/main/java/com/example/sso/test/F.java
@@ -0,0 +1,52 @@
+package com.example.sso.test;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class F {
+ public static void main(String[] args) {
+ // Excel 文件路径
+ String excelFilePath = "C:\\Users\\李嘉卓\\Desktop\\银建.xlsx";
+ // Excel 表格中的行号和列号(从0开始)
+ int rowIndex = 0; // 第三行
+ int columnIndex = 12; // 第二列
+ // 要插入的数据
+ Integer data = 31;
+
+ try {
+ FileInputStream excelFile = new FileInputStream(excelFilePath);
+ Workbook workbook = WorkbookFactory.create(excelFile);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
+
+ Row row = sheet.getRow(rowIndex);
+ if (row == null) {
+ row = sheet.createRow(rowIndex);
+ }
+
+ Cell cell = row.getCell(columnIndex);
+ if (cell == null) {
+ cell = row.createCell(columnIndex);
+ }
+
+ cell.setCellValue(data);
+
+ excelFile.close();
+
+ // 保存修改后的 Excel 文件
+ FileOutputStream outFile = new FileOutputStream(excelFilePath);
+ workbook.write(outFile);
+ outFile.close();
+
+ workbook.close();
+
+ System.out.println("Data has been inserted successfully.");
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/test/G.java b/src/main/java/com/example/sso/test/G.java
new file mode 100644
index 0000000..fe3d4f3
--- /dev/null
+++ b/src/main/java/com/example/sso/test/G.java
@@ -0,0 +1,12 @@
+package com.example.sso.test;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class G {
+ @PostMapping("/hello")
+ public static String Hello(){
+ return "nihao";
+ }
+}
diff --git a/src/main/java/com/example/sso/test/GuanJi.java b/src/main/java/com/example/sso/test/GuanJi.java
new file mode 100644
index 0000000..e5b319c
--- /dev/null
+++ b/src/main/java/com/example/sso/test/GuanJi.java
@@ -0,0 +1,15 @@
+package com.example.sso.test;
+
+import java.io.IOException;
+
+public class GuanJi {
+ public static void guanji() {
+ String shutdownCommand = "shutdown /s /t 0"; // 关机命令,/s 表示关机,/t 0 表示立即关机
+
+ try {
+ Runtime.getRuntime().exec(shutdownCommand);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/example/sso/test/KIllJinCheng.java b/src/main/java/com/example/sso/test/KIllJinCheng.java
new file mode 100644
index 0000000..3e9ea03
--- /dev/null
+++ b/src/main/java/com/example/sso/test/KIllJinCheng.java
@@ -0,0 +1,16 @@
+package com.example.sso.test;
+
+import java.io.IOException;
+
+public class KIllJinCheng {
+ public static void kill() {
+ String processName = "ShadowBot.Shell.exe"; // 要结束的进程名称,例如 notepad.exe
+
+ try {
+ ProcessBuilder builder = new ProcessBuilder("taskkill", "/F", "/IM", processName);
+ builder.start();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
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..ccf86c9
--- /dev/null
+++ b/src/main/java/com/example/sso/test/b.java
@@ -0,0 +1,18 @@
+package com.example.sso.test;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.example.sso.dao.InsertNumber;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.*;
+
+
+public class b {
+ public static void main(String[] args) {
+ String insert = InsertNumber.insert();
+ System.out.println(insert);
+ }
+}
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