From 3a9fcc9dc5e54081aca84fed05b2f7bc0ca53565 Mon Sep 17 00:00:00 2001 From: lijiazhuo <13787924+lijiazhuosky@user.noreply.gitee.com> Date: Wed, 20 Aug 2025 13:31:30 +0800 Subject: [PATCH] first commit --- .gitignore | 31 + .mvn/wrapper/MavenWrapperDownloader.java | 118 ++++ .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .mvn/wrapper/maven-wrapper.properties | 2 + README.md | 20 + mvnw | 322 ++++++++++ mvnw.cmd | 182 ++++++ oioioi.jiyuankeshang.com_jks.zip | Bin 0 -> 5656 bytes oioioi.jiyuankeshang.com_jks/keystorePass.txt | 1 + .../oioioi.jiyuankeshang.com.jks | Bin 0 -> 6035 bytes pom.xml | 78 +++ .../java/com/example/sso/SsoApplication.java | 18 + .../com/example/sso/config/AsyncConfig.java | 48 ++ .../sso/config/GlobalThreadPoolConfig.java | 29 + .../com/example/sso/config/HttpsConfig.java | 28 + .../sso/controller/ChuDanController.java | 110 ++++ .../sso/controller/TuiDanController.java | 26 + .../com/example/sso/controller/XianCheng.java | 50 ++ .../com/example/sso/dao/FengXianXinXi.java | 117 ++++ .../example/sso/dao/FengXianXinXiTwoFour.java | 107 ++++ .../sso/dao/FengXianXinXiTwoFour_.java | 75 +++ .../com/example/sso/dao/FengXianXinXi_.java | 74 +++ .../com/example/sso/dao/GongShiDingSun.java | 166 ++++++ .../sso/dao/GongShiDingSunTwoFour.java | 141 +++++ .../sso/dao/GongShiDingSunTwoFour_.java | 74 +++ .../com/example/sso/dao/GongShiDingSun_.java | 75 +++ .../example/sso/dao/GouTongJiLuTwoFour.java | 92 +++ .../example/sso/dao/GouTongJiLuTwoFour_.java | 74 +++ .../com/example/sso/dao/GouTongXinXi.java | 98 +++ .../com/example/sso/dao/GouTongXinXi_.java | 75 +++ .../com/example/sso/dao/HeJiaHeSunJieGuo.java | 111 ++++ .../example/sso/dao/HeJiaHeSunJieGuo_.java | 75 +++ .../com/example/sso/dao/PeiJianDingSun.java | 288 +++++++++ .../sso/dao/PeiJianDingSunTwoFour.java | 224 +++++++ .../sso/dao/PeiJianDingSunTwoFour_.java | 74 +++ .../com/example/sso/dao/PeiJianDingSun_.java | 74 +++ .../java/com/example/sso/dao/PhotoUpData.java | 32 + src/main/java/com/example/sso/dao/Result.java | 292 +++++++++ .../java/com/example/sso/dao/Result_.java | 82 +++ .../java/com/example/sso/dao/ShiJiuFei.java | 123 ++++ .../com/example/sso/dao/ShiJiuFeiTwoFour.java | 104 ++++ .../example/sso/dao/ShiJiuFeiTwoFour_.java | 75 +++ .../java/com/example/sso/dao/ShiJiuFei_.java | 77 +++ .../com/example/sso/dao/UpdataBaoXian.java | 40 ++ .../example/sso/dao/WaiXiuDingDanXinXi.java | 122 ++++ .../sso/dao/WaiXiuDingDanXinXiTwoFour.java | 108 ++++ .../sso/dao/WaiXiuDingDanXinXiTwoFour_.java | 75 +++ .../example/sso/dao/WaiXiuDingDanXinXi_.java | 74 +++ .../example/sso/dao/WaiXiuXiangMuDingSun.java | 203 +++++++ .../sso/dao/WaiXiuXiangMuDingSunTwoFour.java | 204 +++++++ .../sso/dao/WaiXiuXiangMuDingSunTwoFour_.java | 74 +++ .../sso/dao/WaiXiuXiangMuDingSun_.java | 74 +++ .../java/com/example/sso/dao/XiuGaiJiLu.java | 134 +++++ .../example/sso/dao/XiuGaiJiLuTwoFour.java | 129 ++++ .../example/sso/dao/XiuGaiJiLuTwoFour_.java | 77 +++ .../java/com/example/sso/dao/XiuGaiJiLu_.java | 75 +++ .../com/example/sso/newcontroller/Page.java | 142 +++++ .../example/sso/newcontroller/PageTwoOne.java | 164 +++++ .../sso/newcontroller/PageTwoThree.java | 155 +++++ .../sso/newcontroller/PushDataInsLoss.java | 500 ++++++++++++++++ .../sso/newcontroller/PushDataQuoteGuide.java | 496 ++++++++++++++++ .../sso/newcontroller/QuoTeGuidePage.java | 96 +++ .../sso/newcontroller/XiuGaiGuiZe.java | 57 ++ .../sso/newcontroller/XiuGaiGuiZe1.java | 56 ++ .../sso/newcontroller/XiuGaiGuiZe3.java | 56 ++ .../sso/newcontroller/XiuGaiGuiZe4.java | 146 +++++ .../com/example/sso/newcontroller/test.java | 465 +++++++++++++++ .../example/sso/photo/PhotoController.java | 71 +++ .../example/sso/photo/WenJianController.java | 275 +++++++++ src/main/java/com/example/sso/test/A.java | 156 +++++ src/main/java/com/example/sso/test/B.java | 49 ++ src/main/java/com/example/sso/test/C.java | 26 + src/main/java/com/example/sso/test/D.java | 47 ++ src/main/java/com/example/sso/test/E.java | 138 +++++ .../com/example/sso/test/FileSuccess.java | 54 ++ .../com/example/sso/test/HmacGenerator.java | 50 ++ .../java/com/example/sso/util/APIUtils.java | 559 ++++++++++++++++++ .../java/com/example/sso/util/AnQuanUtil.java | 101 ++++ .../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/PhotoUtil.java | 253 ++++++++ .../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 | 98 +++ .../java/com/example/sso/util/V5utils.java | 275 +++++++++ .../com/example/sso/util/YiZhangUtil.java | 381 ++++++++++++ .../java/com/example/sso/util/YunUtil.java | 243 ++++++++ src/main/resources/application.properties | 5 + .../resources/oioioi.jiyuankeshang.com.jks | Bin 0 -> 6035 bytes .../com/example/sso/SsoApplicationTests.java | 27 + 91 files changed, 10815 insertions(+) create mode 100644 .gitignore create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 .mvn/wrapper/maven-wrapper.jar create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 README.md create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 oioioi.jiyuankeshang.com_jks.zip create mode 100644 oioioi.jiyuankeshang.com_jks/keystorePass.txt create mode 100644 oioioi.jiyuankeshang.com_jks/oioioi.jiyuankeshang.com.jks 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/config/AsyncConfig.java create mode 100644 src/main/java/com/example/sso/config/GlobalThreadPoolConfig.java create mode 100644 src/main/java/com/example/sso/config/HttpsConfig.java create mode 100644 src/main/java/com/example/sso/controller/ChuDanController.java create mode 100644 src/main/java/com/example/sso/controller/TuiDanController.java create mode 100644 src/main/java/com/example/sso/controller/XianCheng.java create mode 100644 src/main/java/com/example/sso/dao/FengXianXinXi.java create mode 100644 src/main/java/com/example/sso/dao/FengXianXinXiTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/FengXianXinXiTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/FengXianXinXi_.java create mode 100644 src/main/java/com/example/sso/dao/GongShiDingSun.java create mode 100644 src/main/java/com/example/sso/dao/GongShiDingSunTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/GongShiDingSunTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/GongShiDingSun_.java create mode 100644 src/main/java/com/example/sso/dao/GouTongJiLuTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/GouTongJiLuTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/GouTongXinXi.java create mode 100644 src/main/java/com/example/sso/dao/GouTongXinXi_.java create mode 100644 src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo.java create mode 100644 src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo_.java create mode 100644 src/main/java/com/example/sso/dao/PeiJianDingSun.java create mode 100644 src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/PeiJianDingSun_.java create mode 100644 src/main/java/com/example/sso/dao/PhotoUpData.java create mode 100644 src/main/java/com/example/sso/dao/Result.java create mode 100644 src/main/java/com/example/sso/dao/Result_.java create mode 100644 src/main/java/com/example/sso/dao/ShiJiuFei.java create mode 100644 src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/ShiJiuFei_.java create mode 100644 src/main/java/com/example/sso/dao/UpdataBaoXian.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi_.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun_.java create mode 100644 src/main/java/com/example/sso/dao/XiuGaiJiLu.java create mode 100644 src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour.java create mode 100644 src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour_.java create mode 100644 src/main/java/com/example/sso/dao/XiuGaiJiLu_.java create mode 100644 src/main/java/com/example/sso/newcontroller/Page.java create mode 100644 src/main/java/com/example/sso/newcontroller/PageTwoOne.java create mode 100644 src/main/java/com/example/sso/newcontroller/PageTwoThree.java create mode 100644 src/main/java/com/example/sso/newcontroller/PushDataInsLoss.java create mode 100644 src/main/java/com/example/sso/newcontroller/PushDataQuoteGuide.java create mode 100644 src/main/java/com/example/sso/newcontroller/QuoTeGuidePage.java create mode 100644 src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe.java create mode 100644 src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe1.java create mode 100644 src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe3.java create mode 100644 src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe4.java create mode 100644 src/main/java/com/example/sso/newcontroller/test.java create mode 100644 src/main/java/com/example/sso/photo/PhotoController.java create mode 100644 src/main/java/com/example/sso/photo/WenJianController.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/test/FileSuccess.java create mode 100644 src/main/java/com/example/sso/test/HmacGenerator.java create mode 100644 src/main/java/com/example/sso/util/APIUtils.java create mode 100644 src/main/java/com/example/sso/util/AnQuanUtil.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/PhotoUtil.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/YiZhangUtil.java create mode 100644 src/main/java/com/example/sso/util/YunUtil.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/oioioi.jiyuankeshang.com.jks 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/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 0000000..74f4de4 --- /dev/null +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2012-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.5"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..0d5e649888a4843c1520054d9672f80c62ebbb48 GIT binary patch literal 50710 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�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 JS$+5G{{hr`vzY(@ literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..7d59a01 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar diff --git a/README.md b/README.md new file mode 100644 index 0000000..d8ef8ae --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +项目概述: +此项目为安全统筹项目,主要涉及车辆的保险接口,定损平台等相关业务。以及修理厂等相关事宜,还有图片库业务 + +对接人: +赵嘉辉,王茜 (如果需要接口文档以及业务逻辑上的问题请联系王茜,赵嘉辉) + +项目主要为推送 + 以下为相关接口: + @PostMapping("/twodianthree") + @PostMapping("/xiugaiguize4") + @PostMapping("/baoxian") + @PostMapping("/a") + @PostMapping("/twodianthree") + @PostMapping("/api/insLoss/pushData") + @PostMapping("/api/quoteGuide/pushData") + @PostMapping("/xuigai") + @PostMapping("/xuigai1") + @PostMapping("/xuigai2") + @PostMapping("xixi") + @PostMapping("/hahahah") \ No newline at end of file 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/oioioi.jiyuankeshang.com_jks.zip b/oioioi.jiyuankeshang.com_jks.zip new file mode 100644 index 0000000000000000000000000000000000000000..37171e25f422880cca66fb25aa86146b738689d0 GIT binary patch literal 5656 zcmai&byO7Iw#SD?328=JQlvu~hXxtCOOWnvW*8dj?vxrpN<_LuB&C}X5b2VJ8Of*K zch~#p{@&et?X&kk`?J^CXRY(cR|AZJNe1|1ov>V^zs3I^w7;{f{U7Icu=n>icX71# zv@>_H<+gNnHgj8icN-=O;oo8b&HE{l zCpS@W7#?O1i{S(kMFG*nWsv}7U@HSYJ{F!-MbB#sB0(B4TjGIz7#~bPW2IIwGG6}I z?pHjL%{b`RTH@ zTpNLlo47ZhelJAc%aj(Z~7G;(xVdYy4$|;d@tdrO`0jIZL&Tuqc;d0;T&7F4LWa&`iOk@w zs>ISf4Q_m3Dlh$HuAMZ@fN3mMuS~s@wb9$dah9)Uh@cd${i36PssqR0(V_QV&9>=6 zhytz=Y~wT~NofHucA}@HLrz_PuW4w$V|1?!G7{~WY-C( zE;}A!*Ck~sb{%2szp6SX;j^?(N=X&T-R#FNAf^Ad%yz7?(R*>>l+a)0P}#~)N3m?- z7e_2vT@EjPlt;_4P(>G=^i};n$6yzNA@(xiCXJEJ76c1qDz&o`o~fRzJsEn;hQyy* z(*2Gty?C8GpTdmZl9qDx9L`Y58sVcX+vU9d$=~Licq+omdPUjQ_*Eew*Wl~sFD_6$ zYwyHp*tN*I7}r+j(P*8iv)Om0jx#%`)r*M->PRNIv2fbSsbkS0d$0nsU|Hw?oKi}bm<`=+dD5X<3{;^2kti1goxQl`;$w}Eo1PS`6xVlY-uKnjR2lWk z+B8-gv3k);XI(VoRi-G*3wn}rNZX)2wtMbuD{I7vt34W;8=0TpR50UXAc#l*Aic^hl`$jw93{KQ!d@O05ev*=W2>sPSnK z^B95RddLe@!$&7e8UXMEliA4>@H7RarZ7I@5O^51w4n`8OiSYyt%p!Z^8>tamgPQ@ zf!c}tpOS}Pi3aB<%czhf5v5`inq`E;XQZ`NOtkd0=15i*JkV)Cws+05G`KjPw4EF> zXlxI0v_o)jH_GFGYanUfmabK>RmL=$t)ycG^Qv^{%aeJY)2I{b<9yAi)zVp^B-<@U@}2Tm@ze(E z&><)^i;z=9n|NxK@Cka@C;uNwh72_P-YCz4)kuCc{35TUX|-%-ODi56QDVw3TaKf1 ziY2?jq&OH)i|{qX7O9z#Y{ody+J|#lzEp)-;FZ_bECw${RIsp*WQ*j8)@T5*3Am)4 zEMQ`MsAD2*TUD7MJu535_XhF^eTRldK}t7dIvDd{p{R9JNhWI%y#s(WTW5HUtzb(t z_Ek|$X9g#%zg5JaPQq66xh$E~!!Xf^o*p9J)wB8EZ?=c|8j#(M0ATWX@#gbV$M;3A zzVCV=V$M@tUKopk%@KM@bo)3o99IX#CIdvvyOJc01D!a+*$@N!-?bkgm0E%vo>G4z zxdZiC9@pKI_M#Cz#iSy7(3|am%Y^G2{cTmMvRzco=%MD z!}mCyBySuU*>3@up(G(60R*^gc5U=43B}1P*KS7-)&~wqz;?_dg#3mRwpx|zyhsZU%>+VzA|#UjiK7W zsoWb`jL~Q`p%aH=T%+9w`pBNu$Cx9#KGdU)s=fmjkT*dt=tl?v$7}=IWU@KebzstA0H# zW1KB4XC5X-t19%)^^%k`oeZpcR-Xw966S>s>|wDn3Na0LOR60CL2b)m`@ZrV<2!mk z613d<8;)jyKYn2ICoZ_#ER<|&pLd?SXi`#>RcvC}yHnJ%!?EDw2l2{4?a%nvsw!$Y zNu2WXEK|?2bq=>*bdHS~$@HDy8V%fu9qG0{=|p|vkNI37Y^zRD5vr`2lZsY+*leTP z&ChG+BPkS0&dCCF2^xC+Q+cRLa8&kr=V;e|iiV-U*f7Vk>c;}^C0n5u(ng0BT z{Sm-Oi5jt&&W*JPo^104QKFjap9C^(&axjHQswvEaMryQMl~XV+$zTs0=Gb(>3%qE zg}h?8D7;Dcm4#a!m)7$h3D@+(umaM)PiXRS9qdtXAy|pC7HX!+<9nt3S=Gd2NaDda zWWU}u4GU*XT;kOr4x*b$1ov`f4_kg8~1 zMNc{ad{a-@QO)DS)lQ47kFIAQ#xxJ^d3E}wjZq#@RM>V*M<+grl+BspHOPxC!9x&k zukD6tob-u8EFNr&pDW`hNh#l4D&M?izsuCW7bfWK@x3Q7yg{?7PYMHa?>@d_CDGby zh<6`Q>~6q=6)y4g8bLRi7KR>9&`b_a+QpL+%7w>`>wGMCBZL`$0BoU1Bqs=hAC9lh z7Y|5pg{qhy>n9p4R-pAyaee{MzspK#d|&U=b%D-Qa_IG}#c)P#PZe>fh?e0hr^e38 zqUP>ka5fj}i6Zj{iS}PqQ@4KUFf1{;B4*^=?x(0%!q`K%xm|4Pg2UpiCSLB@OjgmR zKD;oWiE-D}*B$Hrp6+74v_nc(yd%B`wf&f4^V;4nLP&*8+0%X+;S#lAJX$;`f?AF( zwZUjj%q=oi9!Qr-yWXJ15s*Bw2j}JUAKGB}s%^*wkX^mm*jw6wNvM11_B?%hyMV~r z=z?6$Qc^apl-DT6#Ye1A5whj(>~~$D`n92>e(AQjw{^y^AuIK) zK*j}^>%qd_(_u5UKQEtkGhji83!=W!Cl#abam8YKLsVth6a}b1%ne7=n9+uugT$_J zN?+fY-`s_#kp&aKU|79R*RCzh`+zPOU6~kck8;9RFXpQ_zDU9SJ)un38gjWqO2-9v zT;^C}er=AnKO#?ZJ>dhU?ONeU(8hWNgYRvMmUv+}h~?)gjC>bKHVT@!V2w#$m(OiQ zw)BLFOUA+tBHWcq+Qu0*=>iJyJ2=u4uqnv(g{nK1c^Vt2B)@twQ*Xsi-}|$WVv^C{ zFVYXY_ChSSbQGDrB*#=;03pKRD`SCr9H;vUM=K4G>Rv$}oYZ$5-)S;+=LrUa2j4$p zR!57e?%-V!s+LatsX`*wL#G$LvGiXM|7kreuvGdkd_&bH)IY(MW)DHET zF)zEw5+n*JOogY?c>1n2KBrYb?e@Lei#rZTK_lelT^jpr4s+9QNyQBRA;_gzL} zt*+tZZu?+!p29L_<7#I6V=GPj1;PEUm}|mu82QO{!*W`>Mufc48>gd+#BDt39BV|7*|agck2Gd z88zA3Q-(Z|I6%zTI+j>Yy;q0S`stH{Z@-=RDhsylvU?GNd(uZIXt%D=-M0~Bdi943Td!~cWPwq|ir3vSBi9WZ* zB!v_S0u|VYxA>;m0{d*pV6n?LVF4_W#6I+~L|0ay39Z&8`Fz{R@F;~K)C2lB^p9|q z3ri_x0yw@IaSWK4LyqJ%^yrK(D!&^Qb-Z4?R2=WZ!j?nNo*FPT!O@mqbA-I9Pm)-0 z5S;GAf{BGRk8LUOff-0RBYj4Ja5U&fpM*i}h$>_dhwyBrBv@pbaXq;~jzuczG? z?B7M9yx}0tu%acW`C&ijrWMo2?m5hFvaM%fhi@U7aUn z;<7Ew%3+)Nv^{$QuQ610;HZe2G_f?V&_qO=fq;X5wcR7z)v2w3Tba}A3?bB)QUiPa z4;{%t@1`4B`aB`WFDResz4JDGq3@35dQ@}t!eP264J#p0{S|SnTyFnI4MEmiz{tnG zFzG4ew)4gkbIpK`g53(m9!)NgAf5%>lvw3;uo-`tPz|fj;{jh_r%0-oWCmC-r?(tS z$ja$AP7fF&s=2F3>^%F%l7rh3Fm9nBwcGT&!C>GrOW zCb9<2{AUAD|Z~8h|T17v;-#ss;*%EZDAB~Lm;;M$iybG=*Gi~9nCPF^04t{k}>pnTh{K+nE zyZr>})uB1iuv6$oxVNUc<1Qj`vaCa@QMF@+yzS94wec|IsEWfvpJe*dXO+w=zAbAf2{PnlnRb^0OSIf011>zsY!4qL$Yn_E$0 zWS4a*aNctSKa6JIei^bjiV&nXu@`Qi4_mxP|Ch-4N0R)bPpA7Tll%1t&k6|hz1x99fa}EvgdE|U%Qw7lm6c!|3>|j z4Eiq+0MHa7{@+mlH0O^f`tLD+aQ|r$|2O9C?`!=N=|8ST1B`|Jryb+B6QBVA7k~Hi EKe&yF`Tzg` literal 0 HcmV?d00001 diff --git a/oioioi.jiyuankeshang.com_jks/keystorePass.txt b/oioioi.jiyuankeshang.com_jks/keystorePass.txt new file mode 100644 index 0000000..7f14995 --- /dev/null +++ b/oioioi.jiyuankeshang.com_jks/keystorePass.txt @@ -0,0 +1 @@ +2u75hg6v08 \ No newline at end of file diff --git a/oioioi.jiyuankeshang.com_jks/oioioi.jiyuankeshang.com.jks b/oioioi.jiyuankeshang.com_jks/oioioi.jiyuankeshang.com.jks new file mode 100644 index 0000000000000000000000000000000000000000..92f1ca9d99679b57d94fa7753d62a2ed4238f4fc GIT binary patch literal 6035 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 j&)yqJAZN_Ww@G + + 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.2 + + + com.alibaba + fastjson + 1.2.45 + + + org.apache.httpcomponents + httpmime + 4.5.14 + + + + + + + + + + + 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/AsyncConfig.java b/src/main/java/com/example/sso/config/AsyncConfig.java new file mode 100644 index 0000000..715ddf7 --- /dev/null +++ b/src/main/java/com/example/sso/config/AsyncConfig.java @@ -0,0 +1,48 @@ +package com.example.sso.config; + +import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.AsyncConfigurer; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ThreadPoolExecutor; + +@Configuration +@EnableAsync +public class AsyncConfig implements AsyncConfigurer { + + + @Override + @Bean + public Executor getAsyncExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + // 核心线程数:线程池创建的时候初始化的线程数 + executor.setCorePoolSize(30); + // 最大线程数:线程池最大的线程数,只有缓冲队列满了之后才会申请超过核心线程数的线程 + executor.setMaxPoolSize(100); + // 缓冲队列:用来缓冲执行任务的队列 + executor.setQueueCapacity(50); + // 线程池关闭:等待所有任务都完成再关闭 + executor.setWaitForTasksToCompleteOnShutdown(true); + // 等待时间:等待5秒后强制停止 + executor.setAwaitTerminationSeconds(5); + // 允许空闲时间:超过核心线程之外的线程到达60秒后会被销毁 + executor.setKeepAliveSeconds(60); + // 线程名称前缀 + executor.setThreadNamePrefix("anquantongchou"); + // 缓冲队列满了之后的拒绝策略:由调用线程处理(一般是主线程) + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + + // 初始化线程 + executor.initialize(); + return executor; + } + + @Override + public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { + return null; + } +} diff --git a/src/main/java/com/example/sso/config/GlobalThreadPoolConfig.java b/src/main/java/com/example/sso/config/GlobalThreadPoolConfig.java new file mode 100644 index 0000000..4cab8b1 --- /dev/null +++ b/src/main/java/com/example/sso/config/GlobalThreadPoolConfig.java @@ -0,0 +1,29 @@ +package com.example.sso.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicInteger; +@Configuration +public class GlobalThreadPoolConfig { + @Bean(name = "globalThreadPool") + public ExecutorService globalThreadPool() { + int corePoolSize = Runtime.getRuntime().availableProcessors() * 2; // IO密集型建议2~4倍CPU核心数 + int maxPoolSize = corePoolSize * 2; + return new ThreadPoolExecutor( + corePoolSize, + maxPoolSize, + 60L, TimeUnit.SECONDS, + new LinkedBlockingQueue<>(1000), // 避免无界队列导致OOM + new ThreadFactory() { // 自定义线程命名 + private final AtomicInteger counter = new AtomicInteger(1); + @Override + public Thread newThread(Runnable r) { + return new Thread(r, "global-pool-" + counter.getAndIncrement()); + } + }, + new ThreadPoolExecutor.CallerRunsPolicy() // 队列满时由调用线程执行 + ); + } +} diff --git a/src/main/java/com/example/sso/config/HttpsConfig.java b/src/main/java/com/example/sso/config/HttpsConfig.java new file mode 100644 index 0000000..e9440c9 --- /dev/null +++ b/src/main/java/com/example/sso/config/HttpsConfig.java @@ -0,0 +1,28 @@ +package com.example.sso.config; + +import org.apache.catalina.Context; +import org.apache.catalina.connector.Connector; +import org.apache.tomcat.util.descriptor.web.SecurityCollection; +import org.apache.tomcat.util.descriptor.web.SecurityConstraint; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.servlet.server.ServletWebServerFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class HttpsConfig { + @Bean + public ServletWebServerFactory servletContainer() { + TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); + tomcat.addAdditionalTomcatConnectors(redirectHttpConnector()); + return tomcat; + } + private Connector redirectHttpConnector() { + Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); + connector.setScheme("http"); + connector.setPort(8080); + connector.setSecure(false); + connector.setRedirectPort(8089); // 重定向到HTTPS端口 + return connector; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/sso/controller/ChuDanController.java b/src/main/java/com/example/sso/controller/ChuDanController.java new file mode 100644 index 0000000..d34355f --- /dev/null +++ b/src/main/java/com/example/sso/controller/ChuDanController.java @@ -0,0 +1,110 @@ +package com.example.sso.controller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.dao.UpdataBaoXian; +import com.example.sso.util.AnQuanUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Slf4j +public class ChuDanController { + @PostMapping("/baoxian") + public String dan(@RequestBody JSONObject data1) { + JSONObject datas = data1.getJSONObject("data"); + log.info(datas.toJSONString()); + String a = datas.getString("a"); + String b = datas.getString("b"); + String c = datas.getString("c"); + String d = datas.getString("d"); + String e = datas.getString("e"); + String f = datas.getString("f"); + String g = datas.getString("g"); + String h = datas.getString("h"); + String i = datas.getString("i"); + String j = datas.getString("j"); + Float k = datas.getFloat("k"); + Float l = datas.getFloat("l"); + Float m = datas.getFloat("m"); + Float n = datas.getFloat("n"); + String o = datas.getString("o"); + String p = datas.getString("p"); + String q = datas.getString("q"); + String r = datas.getString("r"); + String s = datas.getString("s"); + String t = datas.getString("t"); + String u = datas.getString("u"); + String v = datas.getString("v"); + String gonghao = datas.getString("gonghao"); + String id = datas.getString("_id"); + if (p.isEmpty() || p == null){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("username",gonghao); + jsonObject.put("password","000000"); + JSONObject data = new JSONObject(); + data.put("beginTime",a); + data.put("endTime",b); + data.put("carNo",c); + data.put("bf_personName",d); + data.put("bf_certNo",e); + data.put("cf_isgroup",f); + data.put("cf_personName",g); + data.put("cf_certNo",h); + data.put("cz_personName",i); + data.put("cz_certNo",j); + + data.put("z_cs_jdmp",k); + data.put("z_sz_tcje",l); + data.put("z_sj_tcje",m); + data.put("z_ck_zwtcje",n); + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String chu = AnQuanUtil.chu(jsonString); + log.info("出单: " +chu ); + JSONObject jsonObject1 = JSON.parseObject(chu); + String errcode = jsonObject1.getString("errcode"); + String errmsg = jsonObject1.getString("errmsg"); + String id1 = ""; + if (errcode.equals("0")) { + id1 = jsonObject1.getJSONObject("data").getString("id"); + } + String updatas = UpdataBaoXian.updatas(id, id1, errcode, errmsg); + log.info(updatas); + + + }else { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("username",gonghao); + jsonObject.put("password","000000"); + JSONObject data = new JSONObject(); + + data.put("carNo",c); + data.put("vin",o); + data.put("abortDate",p); + data.put("remark",q); + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String chu = AnQuanUtil.tui(jsonString); + log.info("退单: " +chu ); + JSONObject jsonObject1 = JSON.parseObject(chu); + String errcode = jsonObject1.getString("errcode"); + String errmsg = jsonObject1.getString("errmsg"); + String id1 = ""; + if (errcode.equals("0")) { + id1 = jsonObject1.getJSONObject("data").getString("id"); + } + String updatas = UpdataBaoXian.updatas(id, id1, errcode, errmsg); + log.info(updatas); + + } + + + + + return "成功!!!!!"; + } +} diff --git a/src/main/java/com/example/sso/controller/TuiDanController.java b/src/main/java/com/example/sso/controller/TuiDanController.java new file mode 100644 index 0000000..a65e8ae --- /dev/null +++ b/src/main/java/com/example/sso/controller/TuiDanController.java @@ -0,0 +1,26 @@ +package com.example.sso.controller; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.AnQuanUtil; + +public class TuiDanController { + public static void main(String[] args) { + + + + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("username","10010"); + jsonObject.put("password","000000"); + JSONObject data = new JSONObject(); + data.put("carNo","京BD55281"); + data.put("vin",""); + data.put("abortDate","2024-09-26"); + data.put("remark","备注"); + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String chu = AnQuanUtil.tui( jsonString); + System.out.println(chu); + } +} diff --git a/src/main/java/com/example/sso/controller/XianCheng.java b/src/main/java/com/example/sso/controller/XianCheng.java new file mode 100644 index 0000000..732c927 --- /dev/null +++ b/src/main/java/com/example/sso/controller/XianCheng.java @@ -0,0 +1,50 @@ +package com.example.sso.controller; + + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; + +@RestController +@Slf4j +public class XianCheng { + @Autowired + @Qualifier("globalThreadPool") + private ExecutorService executor; + + @PostMapping("/a") + public CompletableFuture pushdata(@RequestBody JSONObject data) { + // 1. 先构造并返回固定响应 + JSONObject fixedResponse = new JSONObject(); + fixedResponse.put("data", "11"); + + // 2. 提交耗时任务到线程池(不阻塞主线程) + executor.execute(() -> { + try { + Thread.sleep(5000); // 模拟耗时操作 + log.info("耗时操作完成,处理结果: {}", data); + } catch (InterruptedException e) { + log.error("耗时操作被中断", e); + Thread.currentThread().interrupt(); // 恢复中断状态 + } + }); + + // 3. 立即返回响应 + return CompletableFuture.completedFuture(fixedResponse); + } + + + + + + + + +} diff --git a/src/main/java/com/example/sso/dao/FengXianXinXi.java b/src/main/java/com/example/sso/dao/FengXianXinXi.java new file mode 100644 index 0000000..6462caa --- /dev/null +++ b/src/main/java/com/example/sso/dao/FengXianXinXi.java @@ -0,0 +1,117 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class FengXianXinXi { + + public static void add(String reportNo, String lossSeqNo, String taskId,String ruleName,Double overAmount,String lossName, + String requestId,String riskClass,String riskCategory,String riskClassCode,String riskCategoryCode, + Integer fxxx, String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5015829096e59acb03542"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value","定损" + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject serialno = new JSONObject(); + serialno.put("value", fxxx); + data.put("serialno", serialno ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject ruleName1 = new JSONObject(); + ruleName1.put("value", ruleName); + data.put("rulename", ruleName1); + if ( overAmount!= null){ + JSONObject overAmount1 = new JSONObject(); + overAmount1.put("value", overAmount); + data.put("overamount", overAmount1); + } + + if ( lossName!= null){ + JSONObject lossName1 = new JSONObject(); + lossName1.put("value", lossName); + data.put("lossname", lossName1); + } + + if (requestId != null){ + JSONObject requestId1 = new JSONObject(); + requestId1.put("value", requestId); + data.put("requestid", requestId1); + } + + if (riskClass != null){ + JSONObject riskClass1 = new JSONObject(); + riskClass1.put("value", riskClass); + data.put("riskclass", riskClass1); + + } + if ( riskCategory!= null){ + JSONObject riskCategory1 = new JSONObject(); + riskCategory1.put("value", riskCategory); + data.put("riskcategory", riskCategory1); + } + + if ( riskClassCode!= null){ + JSONObject riskClassCode1 = new JSONObject(); + riskClassCode1.put("value", riskClassCode); + data.put("riskclasscode", riskClassCode1); + } + + if (riskCategoryCode != null){ + JSONObject riskCategoryCode1 = new JSONObject(); + riskCategoryCode1.put("value", riskCategoryCode); + data.put("riskcategorycode", riskCategoryCode1); + } + + + + + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/FengXianXinXiTwoFour.java b/src/main/java/com/example/sso/dao/FengXianXinXiTwoFour.java new file mode 100644 index 0000000..091a71e --- /dev/null +++ b/src/main/java/com/example/sso/dao/FengXianXinXiTwoFour.java @@ -0,0 +1,107 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class FengXianXinXiTwoFour { + + public static void add(String reportNo, String lossSeqNo, String taskId, String ruleName, Double overAmount, String lossName, + String requestId, String riskClass, String riskCategory, String riskClassCode, String riskCategoryCode, + String isConfirmRisk,String data_sources1,Integer FX,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5015829096e59acb03542"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value",data_sources1 + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject serialno = new JSONObject(); + serialno.put("value", FX); + data.put("serialno", serialno ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject ruleName1 = new JSONObject(); + ruleName1.put("value", ruleName); + data.put("rulename", ruleName1); + if ( overAmount!= null){ JSONObject overAmount1 = new JSONObject(); + overAmount1.put("value", overAmount); + data.put("overamount", overAmount1);} + + if ( lossName!= null){JSONObject lossName1 = new JSONObject(); + lossName1.put("value", lossName); + data.put("lossname", lossName1); } + + if ( requestId!= null){ JSONObject requestId1 = new JSONObject(); + requestId1.put("value", requestId); + data.put("requestid", requestId1); } + + if ( riskClass!= null){ JSONObject riskClass1 = new JSONObject(); + riskClass1.put("value", riskClass); + data.put("riskclass", riskClass1);} + + if ( riskCategory!= null){ JSONObject riskCategory1 = new JSONObject(); + riskCategory1.put("value", riskCategory); + data.put("riskcategory", riskCategory1); } + + if ( riskClassCode!= null){ JSONObject riskClassCode1 = new JSONObject(); + riskClassCode1.put("value", riskClassCode); + data.put("riskclasscode", riskClassCode1); } + if ( riskCategoryCode!= null){ JSONObject riskCategoryCode1 = new JSONObject(); + riskCategoryCode1.put("value", riskCategoryCode); + data.put("riskcategorycode", riskCategoryCode1); } + + + + JSONObject isConfirmRisk1 = new JSONObject(); + isConfirmRisk1.put("value", isConfirmRisk); + data.put("isconfirmrisk", isConfirmRisk1); + + + + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/FengXianXinXiTwoFour_.java b/src/main/java/com/example/sso/dao/FengXianXinXiTwoFour_.java new file mode 100644 index 0000000..551439b --- /dev/null +++ b/src/main/java/com/example/sso/dao/FengXianXinXiTwoFour_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class FengXianXinXiTwoFour_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5015829096e59acb03542"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f5015829096e59acb03542"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/FengXianXinXi_.java b/src/main/java/com/example/sso/dao/FengXianXinXi_.java new file mode 100644 index 0000000..8c98034 --- /dev/null +++ b/src/main/java/com/example/sso/dao/FengXianXinXi_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class FengXianXinXi_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5015829096e59acb03542"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f5015829096e59acb03542"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/GongShiDingSun.java b/src/main/java/com/example/sso/dao/GongShiDingSun.java new file mode 100644 index 0000000..23bd85a --- /dev/null +++ b/src/main/java/com/example/sso/dao/GongShiDingSun.java @@ -0,0 +1,166 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class GongShiDingSun { + + public static void add(String reportNo, String lossSeqNo, String taskId,String createDate,Double manpowerSurveyPrice,String idDcInsLossDetail, + Double auditDamagePrice,String manpowerItemName,String manpowerItemCode,Double manpowerDiscountPrice, + String remark,Double manpowerDiscount,Double multiaspectRuleDiscount,Integer serialNo,String manpowerGroupName, + String seriesName,String seriesGroupName,String schemeName,String isAiLossManpower,String isHisManpower, + String isLock, String insuranceCodes, String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5000e47f52adcb2040858"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + JSONObject match_field = new JSONObject(); + match_field.put("value","定损" + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject manpowerSurveyPrice1 = new JSONObject(); + manpowerSurveyPrice1.put("value", manpowerSurveyPrice); + data.put("manpowersurveyprice", manpowerSurveyPrice1); + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + if ( auditDamagePrice!= null){ + JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); + } + + + JSONObject manpowerItemName1 = new JSONObject(); + manpowerItemName1.put("value", manpowerItemName); + data.put("manpoweritemname", manpowerItemName1); + if ( manpowerItemCode!= null){ + JSONObject manpowerItemCode1 = new JSONObject(); + manpowerItemCode1.put("value", manpowerItemCode); + data.put("manpoweritemcode", manpowerItemCode1); + } + + if (manpowerDiscountPrice != null){ + JSONObject manpowerDiscountPrice1 = new JSONObject(); + manpowerDiscountPrice1.put("value", manpowerDiscountPrice); + data.put("manpowerdiscountprice", manpowerDiscountPrice1); + } + + if ( remark!= null){ + JSONObject remark1 = new JSONObject(); + remark1.put("value", remark); + data.put("remark", remark1); + } + + if ( manpowerDiscount!= null){ + JSONObject manpowerDiscount1 = new JSONObject(); + manpowerDiscount1.put("value", manpowerDiscount); + data.put("manpowerdiscount", manpowerDiscount1); + } + + if (multiaspectRuleDiscount != null){ + JSONObject multiaspectRuleDiscount1 = new JSONObject(); + multiaspectRuleDiscount1.put("value", multiaspectRuleDiscount); + data.put("multiaspectrulediscount", multiaspectRuleDiscount1); + } + + + JSONObject serialNo1 = new JSONObject(); + serialNo1.put("value", serialNo); + data.put("serialno", serialNo1); + if ( manpowerGroupName!= null){ + JSONObject manpowerGroupName1 = new JSONObject(); + manpowerGroupName1.put("value", manpowerGroupName); + data.put("manpowergroupname", manpowerGroupName1); + } + + if (seriesGroupName != null){ + JSONObject seriesName1 = new JSONObject(); + seriesName1.put("value", seriesName); + data.put("seriesname", seriesName1); + } + + + JSONObject seriesGroupName1 = new JSONObject(); + seriesGroupName1.put("value", seriesGroupName); + data.put("seriesgroupname", seriesGroupName1); + if ( schemeName!= null){ + JSONObject schemeName1 = new JSONObject(); + schemeName1.put("value", schemeName); + data.put("schemename", schemeName1); + } + + if (isAiLossManpower != null){ + JSONObject isAiLossManpower1 = new JSONObject(); + isAiLossManpower1.put("value", isAiLossManpower); + data.put("isailossmanpower", isAiLossManpower1); + } + + if ( isHisManpower!= null){ + JSONObject isHisManpower1 = new JSONObject(); + isHisManpower1.put("value", isHisManpower); + data.put("ishismanpower", isHisManpower1); + } + + if ( isLock!= null){ + JSONObject isLock1 = new JSONObject(); + isLock1.put("value", isLock); + data.put("islock", isLock1); + } + + if (insuranceCodes != null){ + JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1); + + } + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/GongShiDingSunTwoFour.java b/src/main/java/com/example/sso/dao/GongShiDingSunTwoFour.java new file mode 100644 index 0000000..7540fae --- /dev/null +++ b/src/main/java/com/example/sso/dao/GongShiDingSunTwoFour.java @@ -0,0 +1,141 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class GongShiDingSunTwoFour { + + public static void add(String reportNo, String lossSeqNo, String taskId, String createDate, Double manpowerSurveyPrice, String idDcInsLossDetail, + Double auditDamagePrice, String manpowerItemName, String manpowerItemCode, Double manpowerDiscountPrice, + String remark, Double manpowerDiscount, Double multiaspectRuleDiscount, Integer serialNo, String manpowerGroupName, + String seriesName, String seriesGroupName, String schemeName, String isAiLossManpower, String isHisManpower, + String isLock, String insuranceCodes,String data_sources1,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5000e47f52adcb2040858"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value",data_sources1 + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject manpowerSurveyPrice1 = new JSONObject(); + manpowerSurveyPrice1.put("value", manpowerSurveyPrice); + data.put("manpowersurveyprice", manpowerSurveyPrice1); + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + if ( auditDamagePrice!= null){ JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); } + + + JSONObject manpowerItemName1 = new JSONObject(); + manpowerItemName1.put("value", manpowerItemName); + data.put("manpoweritemname", manpowerItemName1); + if ( manpowerItemCode!= null){ JSONObject manpowerItemCode1 = new JSONObject(); + manpowerItemCode1.put("value", manpowerItemCode); + data.put("manpoweritemcode", manpowerItemCode1); } + + if ( manpowerDiscountPrice!= null){ JSONObject manpowerDiscountPrice1 = new JSONObject(); + manpowerDiscountPrice1.put("value", manpowerDiscountPrice); + data.put("manpowerdiscountprice", manpowerDiscountPrice1); } + + if ( remark!= null){ JSONObject remark1 = new JSONObject(); + remark1.put("value", remark); + data.put("remark", remark1);} + + if ( manpowerDiscount!= null){ JSONObject manpowerDiscount1 = new JSONObject(); + manpowerDiscount1.put("value", manpowerDiscount); + data.put("manpowerdiscount", manpowerDiscount1); } + + if ( multiaspectRuleDiscount!= null){ JSONObject multiaspectRuleDiscount1 = new JSONObject(); + multiaspectRuleDiscount1.put("value", multiaspectRuleDiscount); + data.put("multiaspectrulediscount", multiaspectRuleDiscount1); } + + + JSONObject serialNo1 = new JSONObject(); + serialNo1.put("value", serialNo); + data.put("serialno", serialNo1); + if ( manpowerGroupName!= null){ JSONObject manpowerGroupName1 = new JSONObject(); + manpowerGroupName1.put("value", manpowerGroupName); + data.put("manpowergroupname", manpowerGroupName1); } + if ( seriesName!= null){ JSONObject seriesName1 = new JSONObject(); + seriesName1.put("value", seriesName); + data.put("seriesname", seriesName1);} + + + if (seriesGroupName != null){ JSONObject seriesGroupName1 = new JSONObject(); + seriesGroupName1.put("value", seriesGroupName); + data.put("seriesgroupname", seriesGroupName1); } + + if ( schemeName!= null){ JSONObject schemeName1 = new JSONObject(); + schemeName1.put("value", schemeName); + data.put("schemename", schemeName1);} + + if ( isAiLossManpower!= null){ JSONObject isAiLossManpower1 = new JSONObject(); + isAiLossManpower1.put("value", isAiLossManpower); + data.put("isailossmanpower", isAiLossManpower1); } + + if ( isHisManpower!= null){ JSONObject isHisManpower1 = new JSONObject(); + isHisManpower1.put("value", isHisManpower); + data.put("ishismanpower", isHisManpower1); } + + if ( isLock!= null){ JSONObject isLock1 = new JSONObject(); + isLock1.put("value", isLock); + data.put("islock", isLock1);} + + if ( insuranceCodes!= null){ JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1);} + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/GongShiDingSunTwoFour_.java b/src/main/java/com/example/sso/dao/GongShiDingSunTwoFour_.java new file mode 100644 index 0000000..0db38b9 --- /dev/null +++ b/src/main/java/com/example/sso/dao/GongShiDingSunTwoFour_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class GongShiDingSunTwoFour_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5000e47f52adcb2040858"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f5000e47f52adcb2040858"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/GongShiDingSun_.java b/src/main/java/com/example/sso/dao/GongShiDingSun_.java new file mode 100644 index 0000000..33ebcb1 --- /dev/null +++ b/src/main/java/com/example/sso/dao/GongShiDingSun_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class GongShiDingSun_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5000e47f52adcb2040858"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f5000e47f52adcb2040858"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/GouTongJiLuTwoFour.java b/src/main/java/com/example/sso/dao/GouTongJiLuTwoFour.java new file mode 100644 index 0000000..14c2d48 --- /dev/null +++ b/src/main/java/com/example/sso/dao/GouTongJiLuTwoFour.java @@ -0,0 +1,92 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + +public class GouTongJiLuTwoFour { + + public static void add(String reportNo, String lossSeqNo, String taskId, String operatorName,String operatorUm, + String operatorRole,String createDate,String opinion,String opinionDescribe,Integer dataSource, + String idDcCommunication,String os,String data_sources1,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500fe34853d8f6e8d1adf"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject operatorName1 = new JSONObject(); + operatorName1.put("value", operatorName); + data.put("operatorname", operatorName1); + + JSONObject operatorUm1 = new JSONObject(); + operatorUm1.put("value", operatorUm); + data.put("operatorum", operatorUm1); + + JSONObject operatorRole1 = new JSONObject(); + operatorRole1.put("value", operatorRole); + data.put("operatorrole", operatorRole1); + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject opinion1 = new JSONObject(); + opinion1.put("value", opinion); + data.put(opinion, opinion1); + if ( opinionDescribe!= null){ JSONObject opinionDescribe1 = new JSONObject(); + opinionDescribe1.put("value", opinionDescribe); + data.put("opiniondescribe", opinionDescribe1);} + + + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + + JSONObject idDcCommunication1 = new JSONObject(); + idDcCommunication1.put("value", idDcCommunication); + data.put("iddccommunication", idDcCommunication1); + if ( os!= null){ JSONObject os1 = new JSONObject(); + os1.put("value", os); + data.put("os", os1);} + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/GouTongJiLuTwoFour_.java b/src/main/java/com/example/sso/dao/GouTongJiLuTwoFour_.java new file mode 100644 index 0000000..743aea8 --- /dev/null +++ b/src/main/java/com/example/sso/dao/GouTongJiLuTwoFour_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class GouTongJiLuTwoFour_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500fe34853d8f6e8d1adf"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + +// JSONObject data_sources = new JSONObject(); +// data_sources.put("field","data_sources"); +// data_sources.put("method","eq"); +// JSONArray jsonArraydata_sources = new JSONArray(); +// jsonArraydata_sources.add(data_sources1); +// data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + // cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f500fe34853d8f6e8d1adf"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value","失效"); + data.put("effectiveness",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/GouTongXinXi.java b/src/main/java/com/example/sso/dao/GouTongXinXi.java new file mode 100644 index 0000000..0774436 --- /dev/null +++ b/src/main/java/com/example/sso/dao/GouTongXinXi.java @@ -0,0 +1,98 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class GouTongXinXi { + public static void add(String reportNo, String lossSeqNo, String taskId, String operatorName,String operatorUm, + String operatorRole,String createDate,String opinion,String opinionDescribe,Integer dataSource, + String idDcCommunication,String os, String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500fe34853d8f6e8d1adf"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject operatorName1 = new JSONObject(); + operatorName1.put("value", operatorName); + data.put("operatorname", operatorName1); + + JSONObject operatorUm1 = new JSONObject(); + operatorUm1.put("value", operatorUm); + data.put("operatorum", operatorUm1); + + JSONObject operatorRole1 = new JSONObject(); + operatorRole1.put("value", operatorRole); + data.put("operatorrole", operatorRole1); + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject opinion1 = new JSONObject(); + opinion1.put("value", opinion); + data.put("opinion", opinion1); + if ( opinionDescribe!= null){ + JSONObject opinionDescribe1 = new JSONObject(); + opinionDescribe1.put("value", opinionDescribe); + data.put("opiniondescribe", opinionDescribe1); + } + + + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + + JSONObject idDcCommunication1 = new JSONObject(); + idDcCommunication1.put("value", idDcCommunication); + data.put("iddccommunication", idDcCommunication1); + if ( os!= null){ + JSONObject os1 = new JSONObject(); + os1.put("value", os); + data.put(os, os1); + } + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/GouTongXinXi_.java b/src/main/java/com/example/sso/dao/GouTongXinXi_.java new file mode 100644 index 0000000..51e0300 --- /dev/null +++ b/src/main/java/com/example/sso/dao/GouTongXinXi_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class GouTongXinXi_ { + + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500fe34853d8f6e8d1adf"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + +// JSONObject data_sources = new JSONObject(); +// data_sources.put("field","data_sources"); +// data_sources.put("method","eq"); +// JSONArray jsonArraydata_sources = new JSONArray(); +// jsonArraydata_sources.add(data_sources1); +// data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); +// cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f500fe34853d8f6e8d1adf"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value","失效"); + data.put("effectiveness",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo.java b/src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo.java new file mode 100644 index 0000000..19f882f --- /dev/null +++ b/src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo.java @@ -0,0 +1,111 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class HeJiaHeSunJieGuo { + public static void add(String reportNo, String lossSeqNo, String taskId, Double rescueFee, Double verifyReduce, + Double actualValue, Double surplusValue, String auditType, String operatorRole, + String operatorUm, String opinionDescribe, Double guideAmount, String lossPosition2, + String pushQuoteInfoId, String pushQuoteDate, String data_sources1,String time + + ) { + JSONArray datasall = new JSONArray(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb38234853d8f6e69c0bf"); + jsonObject.put("is_start_trigger", true); + + + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + if (rescueFee != null) { + JSONObject rescueFee1 = new JSONObject(); + rescueFee1.put("value", rescueFee); + data.put("rescuefee", rescueFee1); + } + + + JSONObject verifyReduce1 = new JSONObject(); + verifyReduce1.put("value", verifyReduce); + data.put("verifyreduce", verifyReduce1); + if (actualValue != null) { + JSONObject actualValue1 = new JSONObject(); + actualValue1.put("value", actualValue); + data.put("actualvalue", actualValue1); + } + + + JSONObject surplusValue1 = new JSONObject(); + surplusValue1.put("value", surplusValue); + data.put("surplusvalue", surplusValue1); + + JSONObject auditType1 = new JSONObject(); + auditType1.put("value", auditType); + data.put("audittype", auditType1); + + JSONObject operatorRole1 = new JSONObject(); + operatorRole1.put("value", operatorRole); + data.put("operatorrole", operatorRole1); + + JSONObject operatorUm1 = new JSONObject(); + operatorUm1.put("value", operatorUm); + data.put("operatorum", operatorUm1); + if (opinionDescribe != null) { + JSONObject opinionDescribe1 = new JSONObject(); + opinionDescribe1.put("value", opinionDescribe); + data.put("opiniondescribe", opinionDescribe1); + } + + + JSONObject guideAmount1 = new JSONObject(); + guideAmount1.put("value", guideAmount); + data.put("guideamount", guideAmount1); + + if (lossPosition2 != null) { + JSONObject lossPosition21 = new JSONObject(); + lossPosition21.put("value", lossPosition2); + data.put("lossposition2", lossPosition21); + } + + if (pushQuoteInfoId != null){ + JSONObject pushQuoteInfoId1 = new JSONObject(); + pushQuoteInfoId1.put("value", pushQuoteInfoId); + data.put("pushquoteinfoId", pushQuoteInfoId1); + } + + if ( pushQuoteDate!= null){ + JSONObject pushQuoteDate1 = new JSONObject(); + pushQuoteDate1.put("value", pushQuoteDate); + data.put("pushquotedate", pushQuoteDate1); + } + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo_.java b/src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo_.java new file mode 100644 index 0000000..e7e676a --- /dev/null +++ b/src/main/java/com/example/sso/dao/HeJiaHeSunJieGuo_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class HeJiaHeSunJieGuo_ { + + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb38234853d8f6e69c0bf"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67ecb38234853d8f6e69c0bf"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value","失效"); + data.put("effectiveness",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/PeiJianDingSun.java b/src/main/java/com/example/sso/dao/PeiJianDingSun.java new file mode 100644 index 0000000..7a900c4 --- /dev/null +++ b/src/main/java/com/example/sso/dao/PeiJianDingSun.java @@ -0,0 +1,288 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class PeiJianDingSun { + + public static void add(String reportNo, String lossSeqNo, String taskId,Integer audit,Integer recycle,Integer fitsFeeRateType, + Integer fitsFeeRateTypeEx,String createDate, Double adjustFitsFee,Double fitsSurveyPrice,Integer fitsCount, + String idDcInsLossDetail,Double auditDamagePrice,Double reduceRemnant,Double verifyReduce,String fitsName, + String fitsCode, String originalFitsName,String originalFitsCode,Double originalFitsDiscountPrice, + Double fitsFeeRate,String fitLabelCode,String lossRemark,Integer serialNo,String isFitsUnique,Double upperLimitPrice, + Double fitsFee,Double fitsDiscount,String fitsReamrk,String fitsMaterial,String isAiLossFits,String isHisFits, + String isLock,Double extendPrice,Integer carLimitCount,String dataSource,String insuranceCodes,String isEnquiry, + String isQuotation,Double historyLoss4SPrice,Double historyLossMkPrice,String isMultipleFitsUnique, String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb49a914adcf1de525e66"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value","定损" + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + if ( audit!= null){ + JSONObject audit1 = new JSONObject(); + audit1.put("value", audit); + data.put("audit", audit1); + } + + if ( recycle!= null){ + JSONObject recycle1 = new JSONObject(); + recycle1.put("value", recycle); + data.put("recycle", recycle1); + } + + + JSONObject fitsFeeRateType1 = new JSONObject(); + fitsFeeRateType1.put("value", fitsFeeRateType); + data.put("fitsfeeratetype", fitsFeeRateType1); + if (fitsFeeRateTypeEx != null){ + JSONObject fitsFeeRateTypeEx1 = new JSONObject(); + fitsFeeRateTypeEx1.put("value", fitsFeeRateTypeEx); + data.put("fitsfeeratetypeex", fitsFeeRateTypeEx1); + } + + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put(createDate, createDate1); + if (adjustFitsFee != null){ + JSONObject adjustFitsFee1 = new JSONObject(); + adjustFitsFee1.put("value", adjustFitsFee); + data.put("adjustfitsfee", adjustFitsFee1); + } + + + JSONObject fitsSurveyPrice1 = new JSONObject(); + fitsSurveyPrice1.put("value", fitsSurveyPrice); + data.put("fitssurveyprice", fitsSurveyPrice1); + + JSONObject fitsCount1 = new JSONObject(); + fitsCount1.put("value", fitsCount); + data.put("fitscount", fitsCount1); + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + if ( auditDamagePrice!= null){ + JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); + } + + if ( reduceRemnant!= null){ + JSONObject reduceRemnant1 = new JSONObject(); + reduceRemnant1.put("value", reduceRemnant); + data.put("reduceremnant", reduceRemnant1); + } + + if (verifyReduce != null){ + JSONObject verifyReduce1 = new JSONObject(); + verifyReduce1.put("value", verifyReduce); + data.put("verifyreduce", verifyReduce1); + } + + + JSONObject fitsName1 = new JSONObject(); + fitsName1.put("value", fitsName); + data.put("fitsname", fitsName1); + if (fitsCode != null){ + JSONObject fitsCode1 = new JSONObject(); + fitsCode1.put("value", fitsCode); + data.put("fitscode", fitsCode1); + } + + if (originalFitsName != null){ + JSONObject originalFitsName1 = new JSONObject(); + originalFitsName1.put("value", originalFitsName); + data.put("originalfitsname", originalFitsName1); + } + + + + if (originalFitsCode != null){ + JSONObject originalFitsCode1 = new JSONObject(); + originalFitsCode1.put("value", originalFitsCode); + data.put("originalfitscode", originalFitsCode1); + } + + + JSONObject originalFitsDiscountPrice1 = new JSONObject(); + originalFitsDiscountPrice1.put("value", originalFitsDiscountPrice); + data.put("originalfitsdiscountprice", originalFitsDiscountPrice1); + + if (fitsFeeRate != null){ + JSONObject fitsFeeRate1 = new JSONObject(); + fitsFeeRate1.put("value", fitsFeeRate); + data.put("fitsfeerate", fitsFeeRate1); + } + + + + if ( fitLabelCode!= null){ + JSONObject fitLabelCode1 = new JSONObject(); + fitLabelCode1.put("value", fitLabelCode); + data.put("fitlabelcode", fitLabelCode1); + } + + + if (lossRemark != null){ + JSONObject lossRemark1 = new JSONObject(); + lossRemark1.put("value", lossRemark); + data.put("lossremark", lossRemark1); + } + + + JSONObject serialNo1 = new JSONObject(); + serialNo1.put("value", serialNo); + data.put("serialno", serialNo1); + if (isFitsUnique != null){ + JSONObject isFitsUnique1 = new JSONObject(); + isFitsUnique1.put("value", isFitsUnique); + data.put("isfitsunique", isFitsUnique1); + } + + if (upperLimitPrice != null){ + JSONObject upperLimitPrice1 = new JSONObject(); + upperLimitPrice1.put("value", upperLimitPrice); + data.put("upperlimitprice", upperLimitPrice1); + } + + if ( fitsFee!= null){ + JSONObject fitsFee1 = new JSONObject(); + fitsFee1.put("value", fitsFee); + data.put("fitsfee", fitsFee1); + } + + if ( fitsDiscount!= null){ + JSONObject fitsDiscount1 = new JSONObject(); + fitsDiscount1.put("value", fitsDiscount); + data.put("fitsdiscount", fitsDiscount1); + } + + if (fitsReamrk != null){ + JSONObject fitsReamrk1 = new JSONObject(); + fitsReamrk1.put("value", fitsReamrk); + data.put("fitsreamrk", fitsReamrk1); + } + + if ( fitsMaterial!= null){ + JSONObject fitsMaterial1 = new JSONObject(); + fitsMaterial1.put("value", fitsMaterial); + data.put("fitsmaterial", fitsMaterial1); + } + + if ( isAiLossFits!= null){ + JSONObject isAiLossFits1 = new JSONObject(); + isAiLossFits1.put("value", isAiLossFits); + data.put("isailossfits", isAiLossFits1); + } + + if ( isHisFits!= null){ + JSONObject isHisFits1 = new JSONObject(); + isHisFits1.put("value", isHisFits); + data.put("ishisfits", isHisFits1); + } + + if (isLock != null){ + JSONObject isLock1 = new JSONObject(); + isLock1.put("value", isLock); + data.put("islock", isLock1); + } + + if (extendPrice != null){ + JSONObject extendPrice1 = new JSONObject(); + extendPrice1.put("value", extendPrice); + data.put("extendprice", extendPrice1); + } + + if (carLimitCount != null){ + JSONObject carLimitCount1 = new JSONObject(); + carLimitCount1.put("value", carLimitCount); + data.put("carlimitcount", carLimitCount1); + } + + if ( dataSource!= null){ + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + } + + if ( insuranceCodes!= null){ + JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1); + } + + + JSONObject isEnquiry1 = new JSONObject(); + isEnquiry1.put("value", isEnquiry); + data.put("isenquiry", isEnquiry1); + + JSONObject isQuotation1 = new JSONObject(); + isQuotation1.put("value", isQuotation); + data.put("isquotation", isQuotation1); + if (historyLoss4SPrice != null){ + JSONObject historyLoss4SPrice1 = new JSONObject(); + historyLoss4SPrice1.put("value", historyLoss4SPrice); + data.put("historyloss4sprice", historyLoss4SPrice1); + } + + if ( historyLossMkPrice!= null){ + JSONObject historyLossMkPrice1 = new JSONObject(); + historyLossMkPrice1.put("value", historyLossMkPrice); + data.put("historylossmkprice", historyLossMkPrice1); + } + + if (isMultipleFitsUnique != null){ + JSONObject isMultipleFitsUnique1 = new JSONObject(); + isMultipleFitsUnique1.put("value", isMultipleFitsUnique); + data.put("ismultiplefitsunique", isMultipleFitsUnique1); + } + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour.java b/src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour.java new file mode 100644 index 0000000..b1e2812 --- /dev/null +++ b/src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour.java @@ -0,0 +1,224 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class PeiJianDingSunTwoFour { + + public static void add(String reportNo, String lossSeqNo, String taskId, Integer audit, Integer recycle, Integer fitsFeeRateType, + Integer fitsFeeRateTypeEx, String createDate, Double adjustFitsFee, Double fitsSurveyPrice, Integer fitsCount, + String idDcInsLossDetail, Double auditDamagePrice, Double reduceRemnant, Double verifyReduce, String fitsName, + String fitsCode, String originalFitsName, String originalFitsCode, Double originalFitsDiscountPrice, + Double fitsFeeRate, String fitLabelCode, String lossRemark, Integer serialNo, String isFitsUnique, Double upperLimitPrice, + Double fitsFee, Double fitsDiscount, String fitsReamrk, String fitsMaterial, String isAiLossFits, String isHisFits, + String isLock, Double extendPrice, Integer carLimitCount, String dataSource, String insuranceCodes, String isMultipleFitsUnique, + String data_sources1,Double auditPrice,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb49a914adcf1de525e66"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject auditprice = new JSONObject(); + auditprice.put("value", auditPrice); + data.put("auditprice", auditprice); + + JSONObject match_field = new JSONObject(); + match_field.put("value",data_sources1 + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + if ( audit!= null){ JSONObject audit1 = new JSONObject(); + audit1.put("value", audit); + data.put("audit", audit1);} + + if ( recycle!= null){ JSONObject recycle1 = new JSONObject(); + recycle1.put("value", recycle); + data.put("recycle", recycle1); + } + + JSONObject fitsFeeRateType1 = new JSONObject(); + fitsFeeRateType1.put("value", fitsFeeRateType); + data.put("fitsfeeratetype", fitsFeeRateType1); + + JSONObject fitsFeeRateTypeEx1 = new JSONObject(); + fitsFeeRateTypeEx1.put("value", fitsFeeRateTypeEx); + data.put("fitsfeeratetypeex", fitsFeeRateTypeEx1); + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + if ( adjustFitsFee!= null){ JSONObject adjustFitsFee1 = new JSONObject(); + adjustFitsFee1.put("value", adjustFitsFee); + data.put("adjustfitsfee", adjustFitsFee1);} + + + JSONObject fitsSurveyPrice1 = new JSONObject(); + fitsSurveyPrice1.put("value", fitsSurveyPrice); + data.put("fitssurveyprice", fitsSurveyPrice1); + + JSONObject fitsCount1 = new JSONObject(); + fitsCount1.put("value", fitsCount); + data.put("fitscount", fitsCount1); + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + if ( auditDamagePrice!= null){ + JSONObject idDcInsLossDetail111 = new JSONObject(); + idDcInsLossDetail111.put("value", auditDamagePrice); + data.put("auditdamageprice", idDcInsLossDetail111); + + } + if ( reduceRemnant!= null){ + JSONObject reduceRemnant1 = new JSONObject(); + reduceRemnant1.put("value", reduceRemnant); + data.put("reduceremnant", reduceRemnant1); + } + + if ( verifyReduce!= null){ + JSONObject verifyReduce1 = new JSONObject(); + verifyReduce1.put("value", verifyReduce); + data.put("verifyreduce", verifyReduce1); + } + + + JSONObject fitsName1 = new JSONObject(); + fitsName1.put("value", fitsName); + data.put("fitsname", fitsName1); + if ( fitsCode!= null){ JSONObject fitsCode1 = new JSONObject(); + fitsCode1.put("value", fitsCode); + data.put("fitscode", fitsCode1);} + + if ( originalFitsName!= null){ JSONObject originalFitsName1 = new JSONObject(); + originalFitsName1.put("value", originalFitsName); + data.put("originalfitsname", originalFitsName1); } + + + + if ( originalFitsCode!= null){ + JSONObject originalFitsCode1 = new JSONObject(); + originalFitsCode1.put("value", originalFitsCode); + data.put("originalfitscode", originalFitsCode1); + } + + if ( originalFitsDiscountPrice!= null){ JSONObject originalFitsDiscountPrice1 = new JSONObject(); + originalFitsDiscountPrice1.put("value", originalFitsDiscountPrice); + data.put("originalfitsdiscountprice", originalFitsDiscountPrice1);} + + if ( fitsFeeRate!= null){ JSONObject fitsFeeRate1 = new JSONObject(); + fitsFeeRate1.put("value", fitsFeeRate); + data.put("fitsfeerate", fitsFeeRate1); } + + + + if ( fitLabelCode!= null){JSONObject fitLabelCode1 = new JSONObject(); + fitLabelCode1.put("value", fitLabelCode); + data.put("fitlabelcode", fitLabelCode1); } + + + if ( lossRemark!= null){ JSONObject lossRemark1 = new JSONObject(); + lossRemark1.put("value", lossRemark); + data.put("lossremark", lossRemark1); } + + + JSONObject serialNo1 = new JSONObject(); + serialNo1.put("value", serialNo); + data.put("serialno", serialNo1); + if ( isFitsUnique!= null){ JSONObject isFitsUnique1 = new JSONObject(); + isFitsUnique1.put("value", isFitsUnique); + data.put("isfitsunique", isFitsUnique1); } + + if ( upperLimitPrice!= null){ JSONObject upperLimitPrice1 = new JSONObject(); + upperLimitPrice1.put("value", upperLimitPrice); + data.put("upperlimitprice", upperLimitPrice1); } + + if ( fitsFee!= null){ JSONObject fitsFee1 = new JSONObject(); + fitsFee1.put("value", fitsFee); + data.put("fitsfee", fitsFee1); } + + if ( fitsDiscount!= null){ JSONObject fitsDiscount1 = new JSONObject(); + fitsDiscount1.put("value", fitsDiscount); + data.put("fitsdiscount", fitsDiscount1); } + + if (fitsReamrk != null){ JSONObject fitsReamrk1 = new JSONObject(); + fitsReamrk1.put("value", fitsReamrk); + data.put("fitsreamrk", fitsReamrk1); } + + if ( fitsMaterial!= null){ JSONObject fitsMaterial1 = new JSONObject(); + fitsMaterial1.put("value", fitsMaterial); + data.put("fitsmaterial", fitsMaterial1);} + + if ( isAiLossFits!= null){ JSONObject isAiLossFits1 = new JSONObject(); + isAiLossFits1.put("value", isAiLossFits); + data.put("isailossfits", isAiLossFits1); } + + if ( isHisFits!= null){ JSONObject isHisFits1 = new JSONObject(); + isHisFits1.put("value", isHisFits); + data.put("ishisfits", isHisFits1);} + + if ( isLock!= null){ JSONObject isLock1 = new JSONObject(); + isLock1.put("value", isLock); + data.put("islock", isLock1); } + + if ( extendPrice!= null){ JSONObject extendPrice1 = new JSONObject(); + extendPrice1.put("value", extendPrice); + data.put("extendprice", extendPrice1);} + + if ( carLimitCount!= null){JSONObject carLimitCount1 = new JSONObject(); + carLimitCount1.put("value", carLimitCount); + data.put("carlimitcount", carLimitCount1); } + + if ( dataSource!= null){ JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); } + + if ( insuranceCodes!= null){ JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1);} + + + + if ( isMultipleFitsUnique!= null){ JSONObject isMultipleFitsUnique1 = new JSONObject(); + isMultipleFitsUnique1.put("value", isMultipleFitsUnique); + data.put("ismultiplefitsunique", isMultipleFitsUnique1); } + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour_.java b/src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour_.java new file mode 100644 index 0000000..84a08f2 --- /dev/null +++ b/src/main/java/com/example/sso/dao/PeiJianDingSunTwoFour_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class PeiJianDingSunTwoFour_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb49a914adcf1de525e66"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67ecb49a914adcf1de525e66"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/PeiJianDingSun_.java b/src/main/java/com/example/sso/dao/PeiJianDingSun_.java new file mode 100644 index 0000000..75a39fe --- /dev/null +++ b/src/main/java/com/example/sso/dao/PeiJianDingSun_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class PeiJianDingSun_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb49a914adcf1de525e66"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67ecb49a914adcf1de525e66"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/PhotoUpData.java b/src/main/java/com/example/sso/dao/PhotoUpData.java new file mode 100644 index 0000000..1295d2a --- /dev/null +++ b/src/main/java/com/example/sso/dao/PhotoUpData.java @@ -0,0 +1,32 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + +public class PhotoUpData { + + public static void up(String id,String app_id,String entry_id,String url) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id",app_id); + jsonObject.put("entry_id",entry_id); + jsonObject.put("data_id",id); + jsonObject.put("is_start_trigger",true); + + + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",url); + data.put("img_system_url",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/Result.java b/src/main/java/com/example/sso/dao/Result.java new file mode 100644 index 0000000..9fdb664 --- /dev/null +++ b/src/main/java/com/example/sso/dao/Result.java @@ -0,0 +1,292 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class Result { + + public static void add(String reportNo, String lossSeqNo, String taskId, Double rescueFee, Double surplusValue,String vin, + Double actualValue,Double verifyReduce,String auditType,String fitsPriceType,String fitLabelType, + String operatorUm,String operatorRole,String provinceCode,String cityCode,String garageCode,String garageName, + String garageType,String brandName,String manufacturerName,String modelCode,String modelName,String lossPosition, + String groupName,String modelCategoryCode,String seriesName,String address,Double lossAmount,String opinionDescribe, + String brandList,String telephone,String idDcInsuranceGarageRule,String carDealerCode,String modeRemark,String modelCategoryName, + String isClaim,String vinParseType,String organizeCode,String lossPosition2,String buriedType,String pushLossInfoId,String pushLossDate, + String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb38234853d8f6e69c0bf"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + + + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + String lowerCase1 = reportNo; + data.put("reportno", reportNo1); + + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + String lowerCase2 = lossSeqNo; + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + String lowerCase3 = taskId; + data.put("taskid", taskId1); + if (rescueFee != null){ + JSONObject rescueFee1 = new JSONObject(); + rescueFee1.put("value", rescueFee); + data.put("rescuefee", rescueFee1); + } + + if (surplusValue != null){ + JSONObject surplusValue1 = new JSONObject(); + surplusValue1.put("value", surplusValue); + data.put("surplusvalue", surplusValue1); + } + + + JSONObject vin1 = new JSONObject(); + vin1.put("value", vin); + String lowerCase4 = vin; + data.put("vin", vin1); + if (actualValue != null){ + JSONObject actualValue1 = new JSONObject(); + actualValue1.put("value", actualValue); + data.put("actualvalue", actualValue1); + } + + if (verifyReduce != null){ + JSONObject verifyReduce1 = new JSONObject(); + verifyReduce1.put("value", verifyReduce); + data.put("verifyreduce", verifyReduce1); + } + + + JSONObject auditType1 = new JSONObject(); + auditType1.put("value", auditType); + String lowerCase5 = auditType; + data.put("audittype", auditType1); + + JSONObject fitsPriceType1 = new JSONObject(); + fitsPriceType1.put("value", fitsPriceType); + String lowerCase6 = fitsPriceType; + data.put("fitspricetype", fitsPriceType1); + + JSONObject fitLabelType1 = new JSONObject(); + fitLabelType1.put("value", fitLabelType); + data.put("fitLabeltype", fitLabelType1); + + JSONObject operatorUm1 = new JSONObject(); + operatorUm1.put("value", operatorUm); + String lowerCase7 = operatorUm; + data.put("operatorum", operatorUm1); + + JSONObject operatorRole1 = new JSONObject(); + operatorRole1.put("value", operatorRole); + String lowerCase8 = operatorRole; + data.put("operatorrole", operatorRole1); + + JSONObject provinceCode1 = new JSONObject(); + provinceCode1.put("value", provinceCode); + String lowerCase9 = provinceCode; + data.put("provincecode", provinceCode1); + + JSONObject cityCode1 = new JSONObject(); + cityCode1.put("value", cityCode); + String lowerCase10 = cityCode; + data.put("citycode", cityCode1); + + JSONObject garageCode1 = new JSONObject(); + garageCode1.put("value", garageCode); + String lowerCase11 = garageCode; + data.put("garagecode", garageCode1); + + JSONObject garageName1 = new JSONObject(); + garageName1.put("value", garageName); + String lowerCase12 = garageName; + data.put("garagename", garageName1); + + JSONObject garageType1 = new JSONObject(); + garageType1.put("value", garageType); + String lowerCase13 = garageType; + data.put("garagetype", garageType1); + if ( brandName!= null){ + JSONObject brandName1 = new JSONObject(); + brandName1.put("value", brandName); + String lowerCase = brandName; + data.put("brandname", brandName1); + } + + if ( manufacturerName!= null){ + JSONObject manufacturerName1 = new JSONObject(); + manufacturerName1.put("value", manufacturerName); + String lowerCase = manufacturerName; + data.put("manufacturername", manufacturerName1); + } + + if ( modelCode!= null){ + JSONObject modelCode1 = new JSONObject(); + modelCode1.put("value", modelCode); + String lowerCase = modelCode; + data.put("modelcode", modelCode1); + } + + + JSONObject modelName1 = new JSONObject(); + modelName1.put("value", modelName); + String lowerCase14 = modelName; + data.put("modelname", modelName1); + + JSONObject lossPosition1 = new JSONObject(); + lossPosition1.put("value", lossPosition); + data.put("lossPosition", lossPosition1); + if ( groupName!= null){ + JSONObject groupName1 = new JSONObject(); + groupName1.put("value", groupName); + String lowerCase = groupName; + data.put("groupname", groupName1); + } + + + JSONObject modelCategoryCode1 = new JSONObject(); + modelCategoryCode1.put("value", modelCategoryCode); + String lowerCase15 = modelCategoryCode; + data.put("modelcategorycode", modelCategoryCode1); + if (seriesName != null){ + JSONObject seriesName1 = new JSONObject(); + seriesName1.put("value", seriesName); + String lowerCase = seriesName; + data.put("seriesname", seriesName1); + } + + if (address != null){ + JSONObject address1 = new JSONObject(); + address1.put("value", address); + String lowerCase = address; + data.put("address", address1); + } + + + JSONObject lossAmount1 = new JSONObject(); + lossAmount1.put("value", lossAmount); + data.put("lossamount", lossAmount1); + if (opinionDescribe != null){ + JSONObject opinionDescribe1 = new JSONObject(); + opinionDescribe1.put("value", opinionDescribe); + String lowerCase = opinionDescribe; + data.put("opiniondescribe", opinionDescribe1); + } + + if (brandList != null){ + JSONObject brandList1 = new JSONObject(); + brandList1.put("value", brandList); + String lowerCase = brandList; + data.put("brandlist", brandList1); + } + + if ( telephone!= null){ + JSONObject telephone1 = new JSONObject(); + telephone1.put("value", telephone); + String lowerCase = telephone; + data.put("telephone", telephone1); + } + + + JSONObject idDcInsuranceGarageRule1 = new JSONObject(); + idDcInsuranceGarageRule1.put("value", idDcInsuranceGarageRule); + String lowerCase16 = idDcInsuranceGarageRule; + data.put("iddcinsurancegaragerule", idDcInsuranceGarageRule1); + + JSONObject carDealerCode1 = new JSONObject(); + carDealerCode1.put("value", carDealerCode); + String lowerCase17 = carDealerCode; + data.put("cardealercode", carDealerCode1); + if ( modeRemark!= null){ + JSONObject modeRemark1 = new JSONObject(); + modeRemark1.put("value", modeRemark); + String lowerCase = modeRemark; + data.put("moderemark", modeRemark1); + } + + if ( modelCategoryName!= null){ + JSONObject modelCategoryName1 = new JSONObject(); + modelCategoryName1.put("value", modelCategoryName); + String lowerCase = modelCategoryName; + data.put("modelcategoryname", modelCategoryName1); + } + + if (isClaim != null){JSONObject isClaim1 = new JSONObject(); + isClaim1.put("value", isClaim); + String lowerCase = isClaim; + data.put("isclaim", isClaim1);} + + if (vinParseType != null){ + JSONObject vinParseType1 = new JSONObject(); + vinParseType1.put("value", vinParseType); + String lowerCase = vinParseType; + data.put("vinparsetype", vinParseType1); + } + + if (organizeCode != null){ + JSONObject organizeCode1 = new JSONObject(); + organizeCode1.put("value", organizeCode); + String lowerCase = organizeCode; + data.put("lowercase", organizeCode1); + } + + if (lossPosition2 != null){ + JSONObject lossPosition21 = new JSONObject(); + lossPosition21.put("value", lossPosition2); + String lowerCase = lossPosition2; + data.put("lossposition2", lossPosition21); + + } + + JSONObject buriedType1 = new JSONObject(); + buriedType1.put("value", buriedType); + + String lowerCase18 = buriedType; + String lowerCase = lowerCase18; + data.put("buriedtype", buriedType1); + + JSONObject pushLossInfoId1 = new JSONObject(); + pushLossInfoId1.put("value", pushLossInfoId); + String lowerCase19 = pushLossInfoId; + data.put("pushlossinfoid", pushLossInfoId1); + + JSONObject pushLossDate1 = new JSONObject(); + pushLossDate1.put("value", pushLossDate); + String lowerCase20 = pushLossDate; + data.put("pushlossdate", pushLossDate1); + + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } + +} + diff --git a/src/main/java/com/example/sso/dao/Result_.java b/src/main/java/com/example/sso/dao/Result_.java new file mode 100644 index 0000000..d0dcb8d --- /dev/null +++ b/src/main/java/com/example/sso/dao/Result_.java @@ -0,0 +1,82 @@ +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 java.util.ArrayList; + +public class Result_ { + + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67ecb38234853d8f6e69c0bf"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67ecb38234853d8f6e69c0bf"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value","失效"); + data.put("effectiveness",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + + + + + + +} diff --git a/src/main/java/com/example/sso/dao/ShiJiuFei.java b/src/main/java/com/example/sso/dao/ShiJiuFei.java new file mode 100644 index 0000000..4840569 --- /dev/null +++ b/src/main/java/com/example/sso/dao/ShiJiuFei.java @@ -0,0 +1,123 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class ShiJiuFei { + + public static void add(String reportNo, String lossSeqNo, String taskId,Double trailerStartingFare, + Double trailerMileagePrice,Double trailerOverMileage,Double craneStartingFare, + Double cranePrice, Double craneWorkTime,Double otherFee,String remark, + String insuranceCodes, String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f501362e399b68fe0f0e33"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value","定损" + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject serialno = new JSONObject(); + serialno.put("value", 1); + data.put("serialno", serialno ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + if ( trailerStartingFare!= null){ + JSONObject trailerStartingFare1 = new JSONObject(); + trailerStartingFare1.put("value", trailerStartingFare); + data.put("trailerstartingfare", trailerStartingFare1); + } + + if (trailerMileagePrice != null){ + JSONObject trailerMileagePrice1 = new JSONObject(); + trailerMileagePrice1.put("value", trailerMileagePrice); + data.put("trailermileageprice", trailerMileagePrice1); + } + + if ( trailerOverMileage!= null){ + JSONObject trailerOverMileage1 = new JSONObject(); + trailerOverMileage1.put("value", trailerOverMileage); + data.put("trailerovermileage", trailerOverMileage1); + + } + if ( craneStartingFare!= null){ + JSONObject craneStartingFare1 = new JSONObject(); + craneStartingFare1.put("value", craneStartingFare); + data.put("cranestartingfare", craneStartingFare1); + } + + if ( cranePrice!= null){ + JSONObject cranePrice1 = new JSONObject(); + cranePrice1.put("value", cranePrice); + data.put("craneprice", cranePrice1); + } + + if ( craneWorkTime!= null){ + JSONObject craneWorkTime1 = new JSONObject(); + craneWorkTime1.put("value", craneWorkTime); + data.put("craneworktime", craneWorkTime1); + } + + if (otherFee != null){ + JSONObject otherFee1 = new JSONObject(); + otherFee1.put("value", otherFee); + data.put("otherfee", otherFee1); + } + + if ( remark!= null){ + JSONObject remark1 = new JSONObject(); + remark1.put("value", remark); + data.put("remark", remark1); + } + + if (insuranceCodes != null){ + JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1); + } + + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour.java b/src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour.java new file mode 100644 index 0000000..57d5363 --- /dev/null +++ b/src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour.java @@ -0,0 +1,104 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class ShiJiuFeiTwoFour { + public static void add(String reportNo, String lossSeqNo, String taskId, Double trailerStartingFare, + Double trailerMileagePrice, Double trailerOverMileage, Double craneStartingFare, + Double cranePrice, Double craneWorkTime, Double otherFee, String remark, + String insuranceCodes,String data_sources1,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f501362e399b68fe0f0e33"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value",data_sources1 + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject serialno = new JSONObject(); + serialno.put("value", 1); + data.put("serialno", serialno ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + if ( trailerStartingFare!= null){JSONObject trailerStartingFare1 = new JSONObject(); + trailerStartingFare1.put("value", trailerStartingFare); + data.put("trailerstartingfare", trailerStartingFare1); } + + if ( trailerMileagePrice!= null){ JSONObject trailerMileagePrice1 = new JSONObject(); + trailerMileagePrice1.put("value", trailerMileagePrice); + data.put("trailermileageprice", trailerMileagePrice1); + } + if ( trailerOverMileage!= null){ JSONObject trailerOverMileage1 = new JSONObject(); + trailerOverMileage1.put("value", trailerOverMileage); + data.put("trailerovermileage", trailerOverMileage1); } + + if (craneStartingFare != null){ JSONObject craneStartingFare1 = new JSONObject(); + craneStartingFare1.put("value", craneStartingFare); + data.put("cranestartingfare", craneStartingFare1); } + + if (cranePrice != null){JSONObject cranePrice1 = new JSONObject(); + cranePrice1.put("value", cranePrice); + data.put("craneprice", cranePrice1); } + + if ( craneWorkTime!= null){ JSONObject craneWorkTime1 = new JSONObject(); + craneWorkTime1.put("value", craneWorkTime); + data.put("craneworktime", craneWorkTime1); } + + if ( otherFee!= null){ JSONObject otherFee1 = new JSONObject(); + otherFee1.put("value", otherFee); + data.put("otherfee", otherFee1);} + + if ( remark!= null){ JSONObject remark1 = new JSONObject(); + remark1.put("value", remark); + data.put("remark", remark1);} + + if ( insuranceCodes!= null){ JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1); } + + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour_.java b/src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour_.java new file mode 100644 index 0000000..256fc93 --- /dev/null +++ b/src/main/java/com/example/sso/dao/ShiJiuFeiTwoFour_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class ShiJiuFeiTwoFour_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f501362e399b68fe0f0e33"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f501362e399b68fe0f0e33"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/ShiJiuFei_.java b/src/main/java/com/example/sso/dao/ShiJiuFei_.java new file mode 100644 index 0000000..174a504 --- /dev/null +++ b/src/main/java/com/example/sso/dao/ShiJiuFei_.java @@ -0,0 +1,77 @@ +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 java.util.ArrayList; + +public class ShiJiuFei_ { + + public static void list(String data_sources1,String lossseqno1) { + + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f501362e399b68fe0f0e33"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f501362e399b68fe0f0e33"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} + diff --git a/src/main/java/com/example/sso/dao/UpdataBaoXian.java b/src/main/java/com/example/sso/dao/UpdataBaoXian.java new file mode 100644 index 0000000..e610577 --- /dev/null +++ b/src/main/java/com/example/sso/dao/UpdataBaoXian.java @@ -0,0 +1,40 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.TimeUtil; +import com.example.sso.util.V5utils; + +public class UpdataBaoXian { + public static String updatas(String id,String r1, String t1, String u1) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","628eeaace7f28c00089a60cc"); + jsonObject.put("entry_id","6707ab707080a6db0c2faeba"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + String nowtime = TimeUtil.nowtime(); + + JSONObject s = new JSONObject(); + s.put("value",nowtime); + data.put("s",s); + + JSONObject u = new JSONObject(); + u.put("value",u1); + data.put("u",u); + + JSONObject t = new JSONObject(); + t.put("value",t1); + data.put("t",t); + + JSONObject r = new JSONObject(); + r.put("value",r1); + data.put("r",r); + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + return updata; + } +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi.java b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi.java new file mode 100644 index 0000000..89c673a --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi.java @@ -0,0 +1,122 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class WaiXiuDingDanXinXi { + public static void add(String reportNo, String lossSeqNo, String taskId, String idClmOuterRepairDetail,String fitsName, + String fitsCode,String lossCompanyAmount,String lossAmountInsurance,String remark, + String status,String idRepairOutsideInfo,String garageName,String lossAmountReference, + Integer wxdd, String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5019647f52adcb2040ba4"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value","定损" + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject serialno = new JSONObject(); + serialno.put("value", wxdd); + data.put("serialno", serialno ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject idClmOuterRepairDetail1 = new JSONObject(); + idClmOuterRepairDetail1.put("value", idClmOuterRepairDetail); + data.put("idclmouterrepairdetail", idClmOuterRepairDetail1); + + JSONObject fitsName1 = new JSONObject(); + fitsName1.put("value", fitsName); + data.put("fitsname", fitsName1); + if (fitsCode != null){ + JSONObject fitsCode1 = new JSONObject(); + fitsCode1.put("value", fitsCode); + data.put("fitscode", fitsCode1); + } + + if (lossCompanyAmount != null){ + JSONObject lossCompanyAmount1 = new JSONObject(); + lossCompanyAmount1.put("value", lossCompanyAmount); + data.put("losscompanyamount", lossCompanyAmount1); + } + + if ( lossAmountInsurance!= null){ + JSONObject lossAmountInsurance1 = new JSONObject(); + lossAmountInsurance1.put("value", lossAmountInsurance); + data.put("lossamountinsurance", lossAmountInsurance1); + } + + if ( remark!= null){ + JSONObject remark1 = new JSONObject(); + remark1.put("value", remark); + data.put("remark", remark1); + } + + + JSONObject status1 = new JSONObject(); + status1.put("value", status); + data.put("status", status1); + + JSONObject idRepairOutsideInfo1 = new JSONObject(); + idRepairOutsideInfo1.put("value", idRepairOutsideInfo); + data.put("idrepairoutsideinfo", idRepairOutsideInfo1); + + JSONObject garageName1 = new JSONObject(); + garageName1.put("value", garageName); + data.put("garagename", garageName1); + if ( lossAmountReference!= null){ + JSONObject lossAmountReference1 = new JSONObject(); + lossAmountReference1.put("value", lossAmountReference); + data.put("lossamountreference", lossAmountReference1); + } + + + + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour.java b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour.java new file mode 100644 index 0000000..95ddd57 --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour.java @@ -0,0 +1,108 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + +public class WaiXiuDingDanXinXiTwoFour { + public static void add(String reportNo, String lossSeqNo, String taskId, String idClmOuterRepairDetail,String fitsName, + String fitsCode,String lossCompanyAmount,String lossAmountInsurance,String remark, + String status,String idRepairOutsideInfo,String garageName,String lossAmountReference, + String data_sources1,Integer WX,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5019647f52adcb2040ba4"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value",data_sources1 + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject serialno = new JSONObject(); + serialno.put("value", WX); + data.put("serialno", serialno ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject idClmOuterRepairDetail1 = new JSONObject(); + idClmOuterRepairDetail1.put("value", idClmOuterRepairDetail); + data.put("idclmouterrepairdetail", idClmOuterRepairDetail1); + + JSONObject fitsName1 = new JSONObject(); + fitsName1.put("value", fitsName); + data.put("fitsname", fitsName1); + if ( fitsCode!= null){ JSONObject fitsCode1 = new JSONObject(); + fitsCode1.put("value", fitsCode); + data.put("fitscode", fitsCode1); } + + if ( lossCompanyAmount!= null){ JSONObject lossCompanyAmount1 = new JSONObject(); + lossCompanyAmount1.put("value", lossCompanyAmount); + data.put("losscompanyamount", lossCompanyAmount1); } + + if ( lossAmountInsurance!= null){ JSONObject lossAmountInsurance1 = new JSONObject(); + lossAmountInsurance1.put("value", lossAmountInsurance); + data.put("lossamountinsurance", lossAmountInsurance1); } + + if ( remark!= null){JSONObject remark1 = new JSONObject(); + remark1.put("value", remark); + data.put("remark", remark1); } + + + JSONObject status1 = new JSONObject(); + status1.put("value", status); + data.put("status", status1); + + JSONObject idRepairOutsideInfo1 = new JSONObject(); + idRepairOutsideInfo1.put("value", idRepairOutsideInfo); + data.put("idrepairoutsideinfo", idRepairOutsideInfo1); + + JSONObject garageName1 = new JSONObject(); + garageName1.put("value", garageName); + data.put("garagename", garageName1); + if ( lossAmountReference!= null){ JSONObject lossAmountReference1 = new JSONObject(); + lossAmountReference1.put("value", lossAmountReference); + data.put("lossamountreference", lossAmountReference1); } + + + + + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour_.java b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour_.java new file mode 100644 index 0000000..3262a29 --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXiTwoFour_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class WaiXiuDingDanXinXiTwoFour_ { + + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5019647f52adcb2040ba4"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f5019647f52adcb2040ba4"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi_.java b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi_.java new file mode 100644 index 0000000..8d2bf2d --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuDingDanXinXi_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class WaiXiuDingDanXinXi_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f5019647f52adcb2040ba4"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f5019647f52adcb2040ba4"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun.java b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun.java new file mode 100644 index 0000000..7a1dfe1 --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun.java @@ -0,0 +1,203 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class WaiXiuXiangMuDingSun { + public static void add(String reportNo, String lossSeqNo, String taskId, String outerGarage, String createDate, Double fitsSurveyPrice, + String idDcInsLossDetail, Double auditDamagePrice, Integer serialNo, String fitsName, String fitsCode, String fitsReamrk, + String fitsMaterial, String fitLabelCode, String lossRemark, Integer fitsFeeRateType, Double originalFitsDiscountPrice, + String originalFitsName, String originalFitsCode, String isHisOuterFits, String isFitsUnique, Double fitsDiscount, + Double fitsFee, Double fitsFeeRate, String isLock, Double extendPrice, Integer carLimitCount, String dataSource, + String insuranceCodes, Double lossCompanyAmount, String time + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500732e399b68fe0f0db4"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value","定损" + lossSeqNo ); + data.put("match_field", match_field ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject outerGarage1 = new JSONObject(); + outerGarage1.put("value", outerGarage); + data.put("outergarage", outerGarage1); + + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject fitsSurveyPrice1 = new JSONObject(); + fitsSurveyPrice1.put("value", fitsSurveyPrice); + data.put("fitssurveyprice", fitsSurveyPrice1); + + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + if (auditDamagePrice != null){ + JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); + } + + + JSONObject serialNo1 = new JSONObject(); + serialNo1.put("value", serialNo); + data.put("serialno", serialNo1); + + JSONObject fitsName1 = new JSONObject(); + fitsName1.put("value", fitsName); + data.put("fitsname", fitsName1); + if ( fitsCode!= null){ + JSONObject fitsCode1 = new JSONObject(); + fitsCode1.put("value", fitsCode); + data.put("fitscode", fitsCode1); + } + + if (fitsReamrk != null){ + JSONObject fitsReamrk1 = new JSONObject(); + fitsReamrk1.put("value", fitsReamrk); + data.put("fitsreamrk", fitsReamrk1); + + } + if ( fitsMaterial!= null){ + JSONObject fitsMaterial1 = new JSONObject(); + fitsMaterial1.put("value", fitsMaterial); + data.put("fitsmaterial", fitsMaterial1); + } + + if ( fitLabelCode!= null){ + JSONObject fitLabelCode1 = new JSONObject(); + fitLabelCode1.put("value", fitLabelCode); + data.put("fitlabelcode", fitLabelCode1); + } + + if (lossRemark != null){ + JSONObject lossRemark1 = new JSONObject(); + lossRemark1.put("value", lossRemark); + data.put("lossremark", lossRemark1); + } + + + + JSONObject fitsFeeRateType1 = new JSONObject(); + fitsFeeRateType1.put("value", fitsFeeRateType); + data.put("fitsferatetype", fitsFeeRateType1); + if (originalFitsDiscountPrice != null){ + JSONObject originalFitsDiscountPrice1 = new JSONObject(); + originalFitsDiscountPrice1.put("value", originalFitsDiscountPrice); + data.put("originalfitsdiscountprice", originalFitsDiscountPrice1); + } + + if ( originalFitsName!= null){ + JSONObject originalFitsName1 = new JSONObject(); + originalFitsName1.put("value", originalFitsName); + data.put("originalfitsname", originalFitsName1); + } + + if ( originalFitsCode!= null){ + JSONObject originalFitsCode1 = new JSONObject(); + originalFitsCode1.put("value", originalFitsCode); + data.put("originalfitscode", originalFitsCode1); + } + + if ( isHisOuterFits!= null){ + JSONObject isHisOuterFits1 = new JSONObject(); + isHisOuterFits1.put("value", isHisOuterFits); + data.put("ishisouterfits", isHisOuterFits1); + } + + if ( isFitsUnique!= null){ + JSONObject isFitsUnique1 = new JSONObject(); + isFitsUnique1.put("value", isFitsUnique); + data.put("isfitsunique", isFitsUnique1); + } + + if (fitsDiscount != null){ + JSONObject fitsDiscount1 = new JSONObject(); + fitsDiscount1.put("value", fitsDiscount); + data.put("fitsdiscount", fitsDiscount1); + } + + if ( fitsFee!= null){ + JSONObject fitsFee1 = new JSONObject(); + fitsFee1.put("value", fitsFee); + data.put("fitsdiscount", fitsFee1); + } + if ( fitsFeeRate!= null){ + JSONObject fitsFeeRate1 = new JSONObject(); + fitsFeeRate1.put("value", fitsFeeRate); + data.put("fitsfeerate", fitsFeeRate1); + } + + + if (extendPrice != null){ + JSONObject extendPrice1 = new JSONObject(); + extendPrice1.put("value", extendPrice); + data.put("extendprice", extendPrice1); + } + + if ( isLock!= null){ + JSONObject isLock1 = new JSONObject(); + isLock1.put("value", isLock); + data.put("islock", isLock1); + } + + if ( carLimitCount!= null){ + JSONObject carLimitCount1 = new JSONObject(); + carLimitCount1.put("value", carLimitCount); + data.put("carlimitcount", carLimitCount1); + } + + if ( dataSource!= null){ + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + } + + if (insuranceCodes != null){ + JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1); + } + + if ( lossCompanyAmount!= null){ + JSONObject lossCompanyAmount1 = new JSONObject(); + lossCompanyAmount1.put("value", lossCompanyAmount); + data.put("losscompanyamount", lossCompanyAmount1); + } + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour.java b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour.java new file mode 100644 index 0000000..0fbaa20 --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour.java @@ -0,0 +1,204 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + +public class WaiXiuXiangMuDingSunTwoFour { + + public static void add(String reportNo, String lossSeqNo, String taskId, String outerGarage, String createDate, Double fitsSurveyPrice, + String idDcInsLossDetail, Double auditDamagePrice, Integer serialNo, String fitsName, String fitsCode, String fitsReamrk, + String fitsMaterial, String fitLabelCode, String lossRemark, Integer fitsFeeRateType, Double originalFitsDiscountPrice, + String originalFitsName, String originalFitsCode, String isHisOuterFits, String isFitsUnique, Double fitsDiscount, + Double fitsFee, Double fitsFeeRate, String isLock, Double extendPrice, Integer carLimitCount, String dataSource, + String insuranceCodes, Double lossCompanyAmount,String data_sources1,String time + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500732e399b68fe0f0db4"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject match_field = new JSONObject(); + match_field.put("value", data_sources1 + lossSeqNo); + data.put("match_field", match_field ); + + + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject outerGarage1 = new JSONObject(); + outerGarage1.put("value", outerGarage); + data.put("outergarage", outerGarage1); + + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject fitsSurveyPrice1 = new JSONObject(); + fitsSurveyPrice1.put("value", fitsSurveyPrice); + data.put("fitssurveyprice", fitsSurveyPrice1); + + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + if (auditDamagePrice != null){ + JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); + } + + + JSONObject serialNo1 = new JSONObject(); + serialNo1.put("value", serialNo); + data.put("serialno", serialNo1); + + JSONObject fitsName1 = new JSONObject(); + fitsName1.put("value", fitsName); + data.put("fitsname", fitsName1); + if ( fitsCode!= null){ + JSONObject fitsCode1 = new JSONObject(); + fitsCode1.put("value", fitsCode); + data.put("fitscode", fitsCode1); + } + + if (fitsReamrk != null){ + JSONObject fitsReamrk1 = new JSONObject(); + fitsReamrk1.put("value", fitsReamrk); + data.put("fitsreamrk", fitsReamrk1); + + } + if ( fitsMaterial!= null){ + JSONObject fitsMaterial1 = new JSONObject(); + fitsMaterial1.put("value", fitsMaterial); + data.put("fitsmaterial", fitsMaterial1); + } + + if ( fitLabelCode!= null){ + JSONObject fitLabelCode1 = new JSONObject(); + fitLabelCode1.put("value", fitLabelCode); + data.put("fitLabelcode", fitLabelCode1); + } + + if (lossRemark != null){ + JSONObject lossRemark1 = new JSONObject(); + lossRemark1.put("value", lossRemark); + data.put("lossremark", lossRemark1); + } + + + + JSONObject fitsFeeRateType1 = new JSONObject(); + fitsFeeRateType1.put("value", fitsFeeRateType); + data.put("fitsferatetype", fitsFeeRateType1); + if (originalFitsDiscountPrice != null){ + JSONObject originalFitsDiscountPrice1 = new JSONObject(); + originalFitsDiscountPrice1.put("value", originalFitsDiscountPrice); + data.put("originalfitsdiscountprice", originalFitsDiscountPrice1); + } + + if ( originalFitsName!= null){ + JSONObject originalFitsName1 = new JSONObject(); + originalFitsName1.put("value", originalFitsName); + data.put("originalfitsname", originalFitsName1); + } + + if ( originalFitsCode!= null){ + JSONObject originalFitsCode1 = new JSONObject(); + originalFitsCode1.put("value", originalFitsCode); + data.put("originalfitscode", originalFitsCode1); + } + + if ( isHisOuterFits!= null){ + JSONObject isHisOuterFits1 = new JSONObject(); + isHisOuterFits1.put("value", isHisOuterFits); + data.put("ishisouterfits", isHisOuterFits1); + } + + if ( isFitsUnique!= null){ + JSONObject isFitsUnique1 = new JSONObject(); + isFitsUnique1.put("value", isFitsUnique); + data.put("isfitsunique", isFitsUnique1); + } + + if (fitsDiscount != null){ + JSONObject fitsDiscount1 = new JSONObject(); + fitsDiscount1.put("value", fitsDiscount); + data.put("fitsdiscount", fitsDiscount1); + } + + if ( fitsFee!= null){ + JSONObject fitsFee1 = new JSONObject(); + fitsFee1.put("value", fitsFee); + data.put("fitsdiscount", fitsFee1); + } + if ( fitsFeeRate!= null){ + JSONObject fitsFeeRate1 = new JSONObject(); + fitsFeeRate1.put("value", fitsFeeRate); + data.put("fitsfeerate", fitsFeeRate1); + } + + + if (extendPrice != null){ + JSONObject extendPrice1 = new JSONObject(); + extendPrice1.put("value", extendPrice); + data.put("extendprice", extendPrice1); + } + + if ( isLock!= null){ + JSONObject isLock1 = new JSONObject(); + isLock1.put("value", isLock); + data.put("islock", isLock1); + } + + if ( carLimitCount!= null){ + JSONObject carLimitCount1 = new JSONObject(); + carLimitCount1.put("value", carLimitCount); + data.put("carlimitcount", carLimitCount1); + } + + if ( dataSource!= null){ + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + } + + if (insuranceCodes != null){ + JSONObject insuranceCodes1 = new JSONObject(); + insuranceCodes1.put("value", insuranceCodes); + data.put("insurancecodes", insuranceCodes1); + } + + if ( lossCompanyAmount!= null){ + JSONObject lossCompanyAmount1 = new JSONObject(); + lossCompanyAmount1.put("value", lossCompanyAmount); + data.put("losscompanyamount", lossCompanyAmount1); + } + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour_.java b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour_.java new file mode 100644 index 0000000..ca7093f --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSunTwoFour_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class WaiXiuXiangMuDingSunTwoFour_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500732e399b68fe0f0db4"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f500732e399b68fe0f0db4"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } + +} diff --git a/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun_.java b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun_.java new file mode 100644 index 0000000..df0afac --- /dev/null +++ b/src/main/java/com/example/sso/dao/WaiXiuXiangMuDingSun_.java @@ -0,0 +1,74 @@ +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 java.util.ArrayList; + +public class WaiXiuXiangMuDingSun_ { + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500732e399b68fe0f0db4"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + + JSONObject data_sources = new JSONObject(); + data_sources.put("field","data_sources"); + data_sources.put("method","eq"); + JSONArray jsonArraydata_sources = new JSONArray(); + jsonArraydata_sources.add(data_sources1); + data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f500732e399b68fe0f0db4"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value",""); + data.put("match_field",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/XiuGaiJiLu.java b/src/main/java/com/example/sso/dao/XiuGaiJiLu.java new file mode 100644 index 0000000..a52a0d9 --- /dev/null +++ b/src/main/java/com/example/sso/dao/XiuGaiJiLu.java @@ -0,0 +1,134 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class XiuGaiJiLu { + public static void add(String reportNo, String lossSeqNo, String taskId, String idDcInsLossDetail,String operatorName, + String operatorUm,String operatorRole,Double fitsSurveyPrice,Double auditPrice, + Double auditDamagePrice,Double adjustFitsFee,String createDate,Integer dataSource, + String idDcCarLossRecord,Integer fitsCount,String isDel,Double reduceRemnant,Double verifyReduce, + String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500d85c9195bacf624dba"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", "定损"); + data.put("data_sources", data_sources ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + + JSONObject operatorName1 = new JSONObject(); + operatorName1.put("value", operatorName); + data.put("operatorname", operatorName1); + + JSONObject operatorUm1 = new JSONObject(); + operatorUm1.put("value", operatorUm); + data.put("operatorum", operatorUm1); + if (operatorRole != null){ + JSONObject operatorRole1 = new JSONObject(); + operatorRole1.put("value", operatorRole); + data.put("operatorrole", operatorRole1); + } + + + JSONObject fitsSurveyPrice1 = new JSONObject(); + fitsSurveyPrice1.put("value", fitsSurveyPrice); + data.put("fitssurveyprice", fitsSurveyPrice1); + + if ( auditPrice!= null){ + JSONObject auditPrice1 = new JSONObject(); + auditPrice1.put("value", auditPrice); + data.put("auditprice", auditPrice1); + } + + if ( auditDamagePrice!= null){ + JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); + } + + if (adjustFitsFee != null){ + JSONObject adjustFitsFee1 = new JSONObject(); + adjustFitsFee1.put("value", adjustFitsFee); + data.put("adjustfitsfee", adjustFitsFee1); + } + + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + + JSONObject idDcCarLossRecord1 = new JSONObject(); + idDcCarLossRecord1.put("value", idDcCarLossRecord); + data.put("iddccarlossrecord", idDcCarLossRecord1); + if ( fitsCount!= null){ + JSONObject fitsCount1 = new JSONObject(); + fitsCount1.put("value", fitsCount); + data.put("fitscount", fitsCount1); + } + + + JSONObject isDel1 = new JSONObject(); + isDel1.put("value", isDel); + data.put(isDel, isDel1); + if (reduceRemnant != null){ + JSONObject reduceRemnant1 = new JSONObject(); + reduceRemnant1.put("value", reduceRemnant); + data.put("reduceremnant", reduceRemnant1); + } + + if (verifyReduce != null){ + JSONObject verifyReduce1 = new JSONObject(); + verifyReduce1.put("value", verifyReduce); + data.put("verifyreduce", verifyReduce1); + } + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour.java b/src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour.java new file mode 100644 index 0000000..42e3c46 --- /dev/null +++ b/src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour.java @@ -0,0 +1,129 @@ +package com.example.sso.dao; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.V5utils; + + + +public class XiuGaiJiLuTwoFour { + + public static void add(String reportNo, String lossSeqNo, String taskId, String idDcInsLossDetail, String operatorName, + String operatorUm, String operatorRole, Double fitsSurveyPrice, Double auditPrice, + Double auditDamagePrice, Double adjustFitsFee, String createDate, Integer dataSource, + String idDcCarLossRecord, Integer fitsCount, String isDel, Double reduceRemnant, Double verifyReduce, + String orgName,String data_sources1,String time + + ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500d85c9195bacf624dba"); + jsonObject.put("is_start_trigger", true); + JSONObject data = new JSONObject(); + JSONObject uuid = new JSONObject(); + uuid.put("value", time); + data.put("uuid", uuid); + JSONObject data_sources = new JSONObject(); + data_sources.put("value", data_sources1); + data.put("data_sources", data_sources ); + + JSONObject reportNo1 = new JSONObject(); + reportNo1.put("value", reportNo); + data.put("reportno", reportNo1); + + JSONObject lossSeqNo1 = new JSONObject(); + lossSeqNo1.put("value", lossSeqNo); + data.put("lossseqno", lossSeqNo1); + + JSONObject taskId1 = new JSONObject(); + taskId1.put("value", taskId); + data.put("taskid", taskId1); + + JSONObject orgName1 = new JSONObject(); + orgName1.put("value", orgName); + data.put("orgname", orgName1); + + JSONObject idDcInsLossDetail1 = new JSONObject(); + idDcInsLossDetail1.put("value", idDcInsLossDetail); + data.put("iddcinslossdetail", idDcInsLossDetail1); + + JSONObject operatorName1 = new JSONObject(); + operatorName1.put("value", operatorName); + data.put("operatorname", operatorName1); + + JSONObject operatorUm1 = new JSONObject(); + operatorUm1.put("value", operatorUm); + data.put("operatorum", operatorUm1); + + JSONObject operatorRole1 = new JSONObject(); + operatorRole1.put("value", operatorRole); + data.put("operatorrole", operatorRole1); + + JSONObject fitsSurveyPrice1 = new JSONObject(); + fitsSurveyPrice1.put("value", fitsSurveyPrice); + data.put("fitssurveyprice", fitsSurveyPrice1); + + if ( auditPrice!= null){ JSONObject auditPrice1 = new JSONObject(); + auditPrice1.put("value", auditPrice); + data.put("auditprice", auditPrice1); } + + if ( auditDamagePrice!= null){ JSONObject auditDamagePrice1 = new JSONObject(); + auditDamagePrice1.put("value", auditDamagePrice); + data.put("auditdamageprice", auditDamagePrice1); } + + if ( adjustFitsFee!= null){ JSONObject adjustFitsFee1 = new JSONObject(); + adjustFitsFee1.put("value", adjustFitsFee); + data.put("adjustfitsfee", adjustFitsFee1); } + + + JSONObject createDate1 = new JSONObject(); + createDate1.put("value", createDate); + data.put("createdate", createDate1); + + JSONObject dataSource1 = new JSONObject(); + dataSource1.put("value", dataSource); + data.put("datasource", dataSource1); + + JSONObject idDcCarLossRecord1 = new JSONObject(); + idDcCarLossRecord1.put("value", idDcCarLossRecord); + data.put("iddccarlossrecord", idDcCarLossRecord1); + if ( fitsCount!= null){ + JSONObject fitsCount1 = new JSONObject(); + fitsCount1.put("value", fitsCount); + data.put("fitscount", fitsCount1); + } + + + JSONObject isDel1 = new JSONObject(); + isDel1.put("value", isDel); + data.put("isdel", isDel1); + if ( reduceRemnant!= null){ JSONObject reduceRemnant1 = new JSONObject(); + reduceRemnant1.put("value", reduceRemnant); + data.put("reduceremnant", reduceRemnant1);} + + if ( verifyReduce!= null){ + JSONObject verifyReduce1 = new JSONObject(); + verifyReduce1.put("value", verifyReduce); + data.put("verifyreduce", verifyReduce1); + } + + + + + + + + + + + + + + + + jsonObject.put("data", data); + String jsonString = jsonObject.toJSONString(); + V5utils.add(jsonString); + + + } +} diff --git a/src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour_.java b/src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour_.java new file mode 100644 index 0000000..2a9565d --- /dev/null +++ b/src/main/java/com/example/sso/dao/XiuGaiJiLuTwoFour_.java @@ -0,0 +1,77 @@ +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 java.util.ArrayList; + +public class XiuGaiJiLuTwoFour_ { + + public static void list(String data_sources1,String lossseqno1) { + + + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500d85c9195bacf624dba"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + +// JSONObject data_sources = new JSONObject(); +// data_sources.put("field","data_sources"); +// data_sources.put("method","eq"); +// JSONArray jsonArraydata_sources = new JSONArray(); +// jsonArraydata_sources.add(data_sources1); +// data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + // cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f500d85c9195bacf624dba"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value","失效"); + data.put("effectiveness",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/dao/XiuGaiJiLu_.java b/src/main/java/com/example/sso/dao/XiuGaiJiLu_.java new file mode 100644 index 0000000..61c8c23 --- /dev/null +++ b/src/main/java/com/example/sso/dao/XiuGaiJiLu_.java @@ -0,0 +1,75 @@ +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 java.util.ArrayList; + +public class XiuGaiJiLu_ { + + public static void list(String data_sources1,String lossseqno1) { + ArrayList de = new ArrayList<>(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id", "6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id", "67f500d85c9195bacf624dba"); + jsonObject.put("limit", 10000); + + JSONObject filter = new JSONObject(); + filter.put("rel","and"); + JSONArray cond = new JSONArray(); + +// JSONObject data_sources = new JSONObject(); +// data_sources.put("field","data_sources"); +// data_sources.put("method","eq"); +// JSONArray jsonArraydata_sources = new JSONArray(); +// jsonArraydata_sources.add(data_sources1); +// data_sources.put("value",jsonArraydata_sources); + + JSONObject lossseqno = new JSONObject(); + lossseqno.put("field","lossseqno"); + lossseqno.put("method","eq"); + JSONArray jsonArraydata_sources1 = new JSONArray(); + jsonArraydata_sources1.add(lossseqno1); + lossseqno.put("value",jsonArraydata_sources1); + // cond.add(data_sources); + cond.add(lossseqno); + filter.put("cond",cond); + jsonObject.put("filter",filter); + String jsonString = jsonObject.toJSONString(); + String list = V5utils.list(jsonString); + JSONObject DATS = JSON.parseObject(list); + JSONArray jsonArray1 = DATS.getJSONArray("data"); + for (Object o : jsonArray1){ + JSONObject test = (JSONObject) o; + String string = test.getString("_id"); + + up(string); + } + + + } + + public static void up(String id) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("app_id","6790ca1682b769eeefb022f2"); + jsonObject.put("entry_id","67f500d85c9195bacf624dba"); + jsonObject.put("data_id",id); + JSONObject data = new JSONObject(); + + + JSONObject effectiveness = new JSONObject(); + effectiveness.put("value","失效"); + data.put("effectiveness",effectiveness); + + + + jsonObject.put("data",data); + String jsonString = jsonObject.toJSONString(); + String updata = V5utils.updata(jsonString); + System.out.println(updata); + + + } +} diff --git a/src/main/java/com/example/sso/newcontroller/Page.java b/src/main/java/com/example/sso/newcontroller/Page.java new file mode 100644 index 0000000..17febef --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/Page.java @@ -0,0 +1,142 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import org.apache.commons.codec.binary.Base64; + +public class Page { + public static void main(String[] args) throws Exception { + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + + + + + String jsonString ="{\n" + + " \"accessRole\": \"45\",\n" + + " \"accidentDate\": \"2021-07-25 16:20:00\",\n" + + " \"actualValue\": 14065.00,\n" + + " \"carMark\": \"晋H5748\",\n" + + " \"carMarkType\": \"01\",\n" + + " \"caseType\": \"1\",\n" + + " \"damageType\": \"01\",\n" + + " \"insuranceCodeList\": \"C060101200,C060101310\",\n" + + " \"insuranceCodes\": \"C060101200\",\n" + + " \"insuredName\": \"忠运输装卸服务队\",\n" + + " \"isYFast\": \"0\",\n" + + " \"orgName\": \"安诚财产保险股份有限公司榆林中心支公司\",\n" + + " \"reportNo\": \"BA030061002021005755\",\n" + + " \"rescueFeeInfo\": {\n" + + " \"cranePrice\": 0,\n" + + " \"craneStartingFare\": 0,\n" + + " \"craneWorkTime\": 0,\n" + + " \"otherFee\": 0,\n" + + " \"trailerMileagePrice\": 0,\n" + + " \"trailerOverMileage\": 0,\n" + + " \"trailerStartingFare\": 0\n" + + " },\n" + + " \"trafficMileage\": 20,\n" + + " \"vin\": \"LG6ZDCNH0GY2\",\n" + + " \n" + + " \"communicationList\": [],\n" + + " \"extensionBtnList\": [\n" + + " {\n" + + " \"btnLink\": \"http://10.1.4.124/claim/jsp/claimflow/flowStatic.jsp?rptNo=BA030061002021005755\",\n" + + " \"btnLocation\": 1,\n" + + " \"btnName\": \"流程图\",\n" + + " \"openType\": 1,\n" + + " \"seqNo\": 2\n" + + " }\n" + + " ],\n" + + " \"insuranceCompanyNo\": \"ACIC\",\n" + + " \"isSurvey\": \"N\",\n" + + " \"leakageMangement\": {\n" + + " \"caseTimes\": 1\n" + + " },\n" + + " \"lossFitsItemList\": [\n" + + " {\n" + + " \"adjustFitsFee\": 0.00,\n" + + " \"audit\": 0,\n" + + " \"auditDamagePrice\": 540.00,\n" + + " \"auditPrice\": 600.00,\n" + + " \"createDate\": \"2021-08-02 09:48:04\",\n" + + " \"fitsCount\": 1,\n" + + " \"fitsFeeRateTypeEx\": 3,\n" + + " \"fitsName\": \"前挡风玻璃\",\n" + + " \"fitsSurveyPrice\": 1250.00,\n" + + " \"idDcInsLossDetail\": \"C88A4CB3FCBD8A4FE0530438210AE9BF\",\n" + + " \"isDel\": \"N\",\n" + + " \"recycle\": 0,\n" + + " \"reduceRemnant\": 0.00,\n" + + " \"verifyReduce\": 0.00\n" + + " }\n" + + " ],\n" + + " \"lossManpowerItemList\": [\n" + + " {\n" + + " \"auditDamagePrice\": 500.00,\n" + + " \"createDate\": \"2021-08-02 09:48:04\",\n" + + " \"idDcInsLossDetail\": \"C88A4CB3FCE18A4FE0530438210AE9BF\",\n" + + " \"isDel\": \"N\",\n" + + " \"manpowerItemName\": \"拆装更换发动机受损件 水箱 中冷器 风圈\",\n" + + " \"manpowerSurveyPrice\": 1000.00\n" + + " }\n" + + " ],\n" + + " \"lossOuterFitsItemList\": [],\n" + + " \"lossSeqNo\": \"21000678297\",\n" + + " \"lossSeqNoHis\": \"\",\n" + + " \"operatorDptCde\": \"61\",\n" + + " \"operatorName\": \"李\",\n" + + " \"operatorRole\": \"47\",\n" + + " \"operatorUm\": \"161021491\",\n" + + " \"opinionDescribe\": \"双证在查勘前端资料,总价协商13000,工时费低请老师调整按13000审核\",\n" + + " \"lossAreaList\":[{\n" + + " \"provinceCode\":\"610000\",\n" + + " \"cityList\": [\n" + + " \"610100\",\n" + + " \"610200\",\n" + + " \"610300\",\n" + + " \"610400\",\n" + + " \"610500\",\n" + + " \"610600\",\n" + + " \"610700\",\n" + + " \"610800\",\n" + + " \"610900\",\n" + + " \"611000\"\n" + + " ]\n" + + " }],\n" + + " \"readonly\": \"Y\"\n" + + "}\n" ; + JSONObject jsonObject = JSON.parseObject(jsonString); + String jsonString2 = jsonObject.toJSONString(); + System.out.println("我是转 " + jsonString2); + + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + JSONObject object = new JSONObject(); + object.put("siteCode" , id); + object.put("reqData" , s); + object.put("signature" , signatureData); + String jsonString1 = object.toJSONString(); + System.out.println("我是参数 " + jsonString1); + + String newlossplatform = YiZhangUtil.page(jsonString1); + JSONObject jsonObject1 = JSON.parseObject(newlossplatform); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("respData"); + String msg = jsonObject1.getString("msg"); + String code = jsonObject1.getString("code"); + boolean b = YiZhangUtil.verifySignature(code + msg + respData, KEY, signature); + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + System.out.println(result); + System.out.println(b); + + + } + +} diff --git a/src/main/java/com/example/sso/newcontroller/PageTwoOne.java b/src/main/java/com/example/sso/newcontroller/PageTwoOne.java new file mode 100644 index 0000000..7b4d02f --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/PageTwoOne.java @@ -0,0 +1,164 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.scheduling.annotation.Async; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.io.UnsupportedEncodingException; + +@RestController +@Slf4j + +public class PageTwoOne { + @PostMapping("/twodianone") + public JSONObject PageTwoOne(@RequestBody JSONObject data) throws Exception { + log.info("我是twodianone参数 " + data.toJSONString()); + + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + + String string = data.getString("lossAreaList"); + JSONArray jsonArray = JSON.parseArray(string); + data.put("lossAreaList",jsonArray); + String jsonString = data.toJSONString(); + log.info("转换后的代码 " + jsonString); + +// String jsonString ="{\n" + +// " \"accessRole\": \"45\",\n" + +// " \"accidentDate\": \"2021-07-25 16:20:00\",\n" + +// " \"actualValue\": 14065.00,\n" + +// " \"carMark\": \"晋H5748\",\n" + +// " \"carMarkType\": \"01\",\n" + +// " \"caseType\": \"1\",\n" + +// " \"damageType\": \"01\",\n" + +// " \"insuranceCodeList\": \"C060101200,C060101310\",\n" + +// " \"insuranceCodes\": \"C060101200\",\n" + +// " \"insuredName\": \"忠运输装卸服务队\",\n" + +// " \"isYFast\": \"0\",\n" + +// " \"orgName\": \"安诚财产保险股份有限公司榆林中心支公司\",\n" + +// " \"reportNo\": \"BA030061002021005755\",\n" + +// " \"rescueFeeInfo\": {\n" + +// " \"cranePrice\": 0,\n" + +// " \"craneStartingFare\": 0,\n" + +// " \"craneWorkTime\": 0,\n" + +// " \"otherFee\": 0,\n" + +// " \"trailerMileagePrice\": 0,\n" + +// " \"trailerOverMileage\": 0,\n" + +// " \"trailerStartingFare\": 0\n" + +// " },\n" + +// " \"trafficMileage\": 20,\n" + +// " \"vin\": \"LG6ZDCNH0GY2\",\n" + +// " \n" + +// " \"communicationList\": [],\n" + +// " \"extensionBtnList\": [\n" + +// " {\n" + +// " \"btnLink\": \"http://10.1.4.124/claim/jsp/claimflow/flowStatic.jsp?rptNo=BA030061002021005755\",\n" + +// " \"btnLocation\": 1,\n" + +// " \"btnName\": \"流程图\",\n" + +// " \"openType\": 1,\n" + +// " \"seqNo\": 2\n" + +// " }\n" + +// " ],\n" + +// " \"insuranceCompanyNo\": \"ACIC\",\n" + +// " \"isSurvey\": \"N\",\n" + +// " \"leakageMangement\": {\n" + +// " \"caseTimes\": 1\n" + +// " },\n" + +// " \"lossFitsItemList\": [\n" + +// " {\n" + +// " \"adjustFitsFee\": 0.00,\n" + +// " \"audit\": 0,\n" + +// " \"auditDamagePrice\": 540.00,\n" + +// " \"auditPrice\": 600.00,\n" + +// " \"createDate\": \"2021-08-02 09:48:04\",\n" + +// " \"fitsCount\": 1,\n" + +// " \"fitsFeeRateTypeEx\": 3,\n" + +// " \"fitsName\": \"前挡风玻璃\",\n" + +// " \"fitsSurveyPrice\": 1250.00,\n" + +// " \"idDcInsLossDetail\": \"C88A4CB3FCBD8A4FE0530438210AE9BF\",\n" + +// " \"isDel\": \"N\",\n" + +// " \"recycle\": 0,\n" + +// " \"reduceRemnant\": 0.00,\n" + +// " \"verifyReduce\": 0.00\n" + +// " }\n" + +// " ],\n" + +// " \"lossManpowerItemList\": [\n" + +// " {\n" + +// " \"auditDamagePrice\": 500.00,\n" + +// " \"createDate\": \"2021-08-02 09:48:04\",\n" + +// " \"idDcInsLossDetail\": \"C88A4CB3FCE18A4FE0530438210AE9BF\",\n" + +// " \"isDel\": \"N\",\n" + +// " \"manpowerItemName\": \"拆装更换发动机受损件 水箱 中冷器 风圈\",\n" + +// " \"manpowerSurveyPrice\": 1000.00\n" + +// " }\n" + +// " ],\n" + +// " \"lossOuterFitsItemList\": [],\n" + +// " \"lossSeqNo\": \"21000678297\",\n" + +// " \"lossSeqNoHis\": \"\",\n" + +// " \"operatorDptCde\": \"61\",\n" + +// " \"operatorName\": \"李\",\n" + +// " \"operatorRole\": \"47\",\n" + +// " \"operatorUm\": \"161021491\",\n" + +// " \"opinionDescribe\": \"双证在查勘前端资料,总价协商13000,工时费低请老师调整按13000审核\",\n" + +// " \"lossAreaList\":[{\n" + +// " \"provinceCode\":\"610000\",\n" + +// " \"cityList\": [\n" + +// " \"610100\",\n" + +// " \"610200\",\n" + +// " \"610300\",\n" + +// " \"610400\",\n" + +// " \"610500\",\n" + +// " \"610600\",\n" + +// " \"610700\",\n" + +// " \"610800\",\n" + +// " \"610900\",\n" + +// " \"611000\"\n" + +// " ]\n" + +// " }],\n" + +// " \"readonly\": \"Y\"\n" + +// "}\n" ; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + JSONObject object = new JSONObject(); + object.put("siteCode" , id); + object.put("reqData" , s); + object.put("signature" , signatureData); + String jsonString1 = object.toJSONString(); + System.out.println("我是参数 " + jsonString1); + + String newlossplatform = YiZhangUtil.page(jsonString1); + JSONObject jsonObject1 = JSON.parseObject(newlossplatform); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("respData"); + String msg = jsonObject1.getString("msg"); + String code = jsonObject1.getString("code"); + boolean b = YiZhangUtil.verifySignature(code + msg + respData, KEY, signature); + if (b == true) { + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + log.info("返回的url " +result ); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url",result); + return jsonObject; + + }else { + + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url", "失败: "+msg + msg); + + return jsonObject; + } + } +} diff --git a/src/main/java/com/example/sso/newcontroller/PageTwoThree.java b/src/main/java/com/example/sso/newcontroller/PageTwoThree.java new file mode 100644 index 0000000..933b1ca --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/PageTwoThree.java @@ -0,0 +1,155 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.scheduling.annotation.Async; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Slf4j + +public class PageTwoThree { + @PostMapping("/twodianthree") + public JSONObject PageTwoThree(@RequestBody JSONObject data) throws Exception { + log.info("我是PageTwoThree参数 " + data.toJSONString()); + + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + String jsonString = data.toJSONString(); + +// String jsonString ="{\n" + +// " \"accessRole\": \"45\",\n" + +// " \"accidentDate\": \"2021-07-25 16:20:00\",\n" + +// " \"actualValue\": 14065.00,\n" + +// " \"carMark\": \"晋H5748\",\n" +7777777 +// " \"carMarkType\": \"01\",\n" + +// " \"caseType\": \"1\",\n" + +// " \"damageType\": \"01\",\n" + +// " \"insuranceCodeList\": \"C060101200,C060101310\",\n" + +// " \"insuranceCodes\": \"C060101200\",\n" + +// " \"insuredName\": \"忠运输装卸服务队\",\n" + +// " \"isYFast\": \"0\",\n" + +// " \"orgName\": \"安诚财产保险股份有限公司榆林中心支公司\",\n" + +// " \"reportNo\": \"BA030061002021005755\",\n" + +// " \"rescueFeeInfo\": {\n" + +// " \"cranePrice\": 0,\n" + +// " \"craneStartingFare\": 0,\n" + +// " \"craneWorkTime\": 0,\n" + +// " \"otherFee\": 0,\n" + +// " \"trailerMileagePrice\": 0,\n" + +// " \"trailerOverMileage\": 0,\n" + +// " \"trailerStartingFare\": 0\n" + +// " },\n" + +// " \"trafficMileage\": 20,\n" + +// " \"vin\": \"LG6ZDCNH0GY2\",\n" + +// " \n" + +// " \"communicationList\": [],\n" + +// " \"extensionBtnList\": [\n" + +// " {\n" + +// " \"btnLink\": \"http://10.1.4.124/claim/jsp/claimflow/flowStatic.jsp?rptNo=BA030061002021005755\",\n" + +// " \"btnLocation\": 1,\n" + +// " \"btnName\": \"流程图\",\n" + +// " \"openType\": 1,\n" + +// " \"seqNo\": 2\n" + +// " }\n" + +// " ],\n" + +// " \"insuranceCompanyNo\": \"ACIC\",\n" + +// " \"isSurvey\": \"N\",\n" + +// " \"leakageMangement\": {\n" + +// " \"caseTimes\": 1\n" + +// " },\n" + +// " \"lossFitsItemList\": [\n" + +// " {\n" + +// " \"adjustFitsFee\": 0.00,\n" + +// " \"audit\": 0,\n" + +// " \"auditDamagePrice\": 540.00,\n" + +// " \"auditPrice\": 600.00,\n" + +// " \"createDate\": \"2021-08-02 09:48:04\",\n" + +// " \"fitsCount\": 1,\n" + +// " \"fitsFeeRateTypeEx\": 3,\n" + +// " \"fitsName\": \"前挡风玻璃\",\n" + +// " \"fitsSurveyPrice\": 1250.00,\n" + +// " \"idDcInsLossDetail\": \"C88A4CB3FCBD8A4FE0530438210AE9BF\",\n" + +// " \"isDel\": \"N\",\n" + +// " \"recycle\": 0,\n" + +// " \"reduceRemnant\": 0.00,\n" + +// " \"verifyReduce\": 0.00\n" + +// " }\n" + +// " ],\n" + +// " \"lossManpowerItemList\": [\n" + +// " {\n" + +// " \"auditDamagePrice\": 500.00,\n" + +// " \"createDate\": \"2021-08-02 09:48:04\",\n" + +// " \"idDcInsLossDetail\": \"C88A4CB3FCE18A4FE0530438210AE9BF\",\n" + +// " \"isDel\": \"N\",\n" + +// " \"manpowerItemName\": \"拆装更换发动机受损件 水箱 中冷器 风圈\",\n" + +// " \"manpowerSurveyPrice\": 1000.00\n" + +// " }\n" + +// " ],\n" + +// " \"lossOuterFitsItemList\": [],\n" + +// " \"lossSeqNo\": \"21000678297\",\n" + +// " \"lossSeqNoHis\": \"\",\n" + +// " \"operatorDptCde\": \"61\",\n" + +// " \"operatorName\": \"李\",\n" + +// " \"operatorRole\": \"47\",\n" + +// " \"operatorUm\": \"161021491\",\n" + +// " \"opinionDescribe\": \"双证在查勘前端资料,总价协商13000,工时费低请老师调整按13000审核\",\n" + +// " \"lossAreaList\":[{\n" + +// " \"provinceCode\":\"610000\",\n" + +// " \"cityList\": [\n" + +// " \"610100\",\n" + +// " \"610200\",\n" + +// " \"610300\",\n" + +// " \"610400\",\n" + +// " \"610500\",\n" + +// " \"610600\",\n" + +// " \"610700\",\n" + +// " \"610800\",\n" + +// " \"610900\",\n" + +// " \"611000\"\n" + +// " ]\n" + +// " }],\n" + +// " \"readonly\": \"Y\"\n" + +// "}\n" ; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + JSONObject object = new JSONObject(); + object.put("siteCode" , id); + object.put("reqData" , s); + object.put("signature" , signatureData); + String jsonString1 = object.toJSONString(); + System.out.println("我是参数 " + jsonString1); + + String newlossplatform = YiZhangUtil.quoteGuidepage(jsonString1); + JSONObject jsonObject1 = JSON.parseObject(newlossplatform); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("respData"); + String msg = jsonObject1.getString("msg"); + String code = jsonObject1.getString("code"); + boolean b = YiZhangUtil.verifySignature(code + msg + respData, KEY, signature); + if (b == true) { + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url",result); + return jsonObject; + + }else { + + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url", "失败: "+msg + msg); + + return jsonObject; + } + } +} diff --git a/src/main/java/com/example/sso/newcontroller/PushDataInsLoss.java b/src/main/java/com/example/sso/newcontroller/PushDataInsLoss.java new file mode 100644 index 0000000..4cce44e --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/PushDataInsLoss.java @@ -0,0 +1,500 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +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.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.concurrent.CompletableFuture; + +import static com.example.sso.util.YiZhangUtil.verifySignature; + +@RestController +@Slf4j +public class PushDataInsLoss { + + @PostMapping("/api/insLoss/pushData") + public JSONObject pushdata(@RequestBody JSONObject data) throws Exception { + String now = TimeUtil.now(); + log.info("我是insLoss参数 " + data.toJSONString()); + String S = data.toJSONString(); + + //String S = "{\"reqData\":\"eyJiYXNlSW5mbyI6eyJyZXBvcnRObyI6IjEyMjIyMjIyMjIiLCJpbnN1cmFuY2VDb2RlTGlzdCI6IjEyMzQ1NSwzMzQ1NjQiLCJ2aW4iOiJMVk4xMjMxMjMxMiJ9LCJhZGRyZXNzIjoi5rWL6K+V5Zyw5Z2AIiwiY291bnR5Q29kZSI6IjEwMDExMCIsInByZUNoZWNrU3RhdGUiOiIyIn0=\",\"siteCode\":\"YJIC\",\"signature\":\"YVIxcXVqMkwzQTBaQ285em9wQy8yYVZmWVc2SEVjVnpVNmttQzdmVlFhY0I5U3ZvcnNnNkZxbEVRTzdnRDh6T05oOHkzZ2pGdUQxSkJPd2NZM2Y5Z05uWVBleElYRWZNV3FudXRCQ1RTaU5BSnNVWGZzb0thZUdtQ2RsdWhycXJMK0ZWWGkxblN6QlQ4a3VsZXBKa2NYcGlTUE1SdHlKYVRlNTAzN2FrT3JXUDFMTGYweGVsWitPV1ppOU5RTU5ualFvYTlqZGU2RzRXM1d5RE9qNnI4YzVhUnJvS2piRVJ2bFRDSzR6ZGRTL2tXaGU1OGRwdTllQmJNbzVvTVVPYUcvZjJLVjJTUXRwMzd0NkJla0t4MTY2TFkvN0V5dkM0azFRKzAvdkxDWEpqUVM1SlllbG5tckhjZnF2UVpCb0JEN0I5YzBFcWZOcjZ0K01uMDFtbFJRPT0=\"}"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + JSONObject jsonObject1 = JSON.parseObject(S); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("reqData"); + String siteCode = jsonObject1.getString("siteCode"); + CompletableFuture.runAsync(() -> { + try { + boolean b = verifySignature(siteCode + respData, KEY, signature); + + if (b == true) { + + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + log.info("我是转换后insLoss参数 " + result); + JSONObject jsonObject = JSON.parseObject(result); + //外修定损项目 + JSONArray lossFitsItemList = jsonObject.getJSONArray("lossFitsItemList"); + // 2.2.2.2. 工时定损项目 + JSONArray lossManpowerItemList = jsonObject.getJSONArray("lossManpowerItemList"); + //2.2.2.3. 外修定损项目lossOuterFitsItemList + JSONArray lossOuterFitsItemList = jsonObject.getJSONArray("lossOuterFitsItemList"); + // 2.2.2.5. 沟通信息communicationList + JSONArray communicationList = jsonObject.getJSONArray("communicationList"); + //2.2.2.7. 施救费rescueFeeInfo + JSONObject rescueFeeInfo = jsonObject.getJSONObject("rescueFeeInfo"); + + //反渗漏结果 + JSONObject leakageMangementResult = jsonObject.getJSONObject("leakageMangementResult"); + JSONArray riskList = new JSONArray(); + if(leakageMangementResult != null ) { + riskList = leakageMangementResult.getJSONArray("riskList"); + } + + // 2.2.2.10. 外修订单信息 repairOutsideFitList + JSONArray repairOutsideFitList = jsonObject.getJSONArray("repairOutsideFitList"); + + String reportNo = jsonObject.getString("reportNo"); + String lossSeqNo = jsonObject.getString("lossSeqNo"); + String taskId = jsonObject.getString("taskId"); + Double rescueFee = jsonObject.getDouble("rescueFee"); + Double surplusValue = jsonObject.getDouble("surplusValue"); + String vin = jsonObject.getString("vin"); + Double actualValue = jsonObject.getDouble("actualValue"); + Double verifyReduce = jsonObject.getDouble("verifyReduce"); + String auditType = jsonObject.getString("auditType"); + String fitsPriceType = jsonObject.getString("fitsPriceType"); + String fitLabelType = jsonObject.getString("fitLabelType"); + String operatorUm = jsonObject.getString("operatorUm"); + String operatorRole = jsonObject.getString("operatorRole"); + String provinceCode = jsonObject.getString("provinceCode"); + String cityCode = jsonObject.getString("cityCode"); + String garageCode = jsonObject.getString("garageCode"); + String garageName = jsonObject.getString("garageName"); + String garageType = jsonObject.getString("garageType"); + String brandName = jsonObject.getString("brandName"); + String manufacturerName = jsonObject.getString("manufacturerName"); + String modelCode = jsonObject.getString("modelCode"); + String modelName = jsonObject.getString("modelName"); + String lossPosition = jsonObject.getString("lossPosition"); + String groupName = jsonObject.getString("groupName"); + String modelCategoryCode = jsonObject.getString("modelCategoryCode"); + String seriesName = jsonObject.getString("seriesName"); + String address = jsonObject.getString("address"); + Double lossAmount = jsonObject.getDouble("lossAmount"); + String opinionDescribe = jsonObject.getString("opinionDescribe"); + String brandList = jsonObject.getString("brandList"); + String telephone = jsonObject.getString("telephone"); + String idDcInsuranceGarageRule = jsonObject.getString("idDcInsuranceGarageRule"); + String carDealerCode = jsonObject.getString("carDealerCode"); + String modeRemark = jsonObject.getString("modeRemark"); + String modelCategoryName = jsonObject.getString("modelCategoryName"); + String isClaim = jsonObject.getString("isClaim"); + String vinParseType = jsonObject.getString("vinParseType"); + String organizeCode = jsonObject.getString("organizeCode"); + String lossPosition2 = jsonObject.getString("lossPosition2"); + String buriedType = jsonObject.getString("buriedType"); + String pushLossInfoId = jsonObject.getString("pushLossInfoId"); + String pushLossDate = jsonObject.getString("pushLossDate"); + + + Result_.list("定损",lossSeqNo); + + + Result.add(reportNo, lossSeqNo, taskId, rescueFee, surplusValue, vin, + actualValue, verifyReduce, auditType, fitsPriceType, fitLabelType, + operatorUm, operatorRole, provinceCode, cityCode, garageCode, garageName, + garageType, brandName, manufacturerName, modelCode, modelName, lossPosition, + groupName, modelCategoryCode, seriesName, address, lossAmount, opinionDescribe, + brandList, telephone, idDcInsuranceGarageRule, carDealerCode, modeRemark, modelCategoryName, + isClaim, vinParseType, organizeCode, lossPosition2, buriedType, pushLossInfoId, pushLossDate,lossSeqNo+now); + //配件定损 + + JSONArray operationRecordListlossFitsItemList = new JSONArray(); + String idDcInsLossDetaillossFitsItemList = ""; + + if (lossFitsItemList != null && lossFitsItemList.size() != 0) { + log.info("配件定损bug " + lossSeqNo); + PeiJianDingSun_.list("定损",lossSeqNo); + for (Object o : lossFitsItemList) { + JSONObject test = (JSONObject) o; + operationRecordListlossFitsItemList = test.getJSONArray("operationRecordList"); + Integer audit = test.getInteger("audit"); + Integer recycle = test.getInteger("recycle"); + Integer fitsFeeRateType = test.getInteger("fitsFeeRateType"); + Integer fitsFeeRateTypeEx = test.getInteger("fitsFeeRateTypeEx"); + String createDate = test.getString("createDate"); + Double adjustFitsFee = test.getDouble("adjustFitsFee"); + Double fitsSurveyPrice = test.getDouble("fitsSurveyPrice"); + Integer fitsCount = test.getInteger("fitsCount"); + idDcInsLossDetaillossFitsItemList = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + Double reduceRemnant = test.getDouble("reduceRemnant"); + Double verifyReduce2 = test.getDouble("verifyReduce"); //111111111111111111111111 + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String originalFitsName = test.getString("originalFitsName"); + String originalFitsCode = test.getString("originalFitsCode"); + Double originalFitsDiscountPrice = test.getDouble("originalFitsDiscountPrice"); + Double fitsFeeRate = test.getDouble("fitsFeeRate"); + String fitLabelCode = test.getString("fitLabelCode"); + String lossRemark = test.getString("lossRemark"); + Integer serialNo = test.getInteger("groupSerialNo"); + String isFitsUnique = test.getString("isFitsUnique"); + Double upperLimitPrice = test.getDouble("upperLimitPrice"); + Double fitsFee = test.getDouble("fitsFee"); + Double fitsDiscount = test.getDouble("fitsDiscount"); + String fitsReamrk = test.getString("fitsReamrk"); + String fitsMaterial = test.getString("fitsMaterial"); + String isAiLossFits = test.getString("isAiLossFits"); + String isHisFits = test.getString("isHisFits"); + String isLock = test.getString("isLock"); + Double extendPrice = test.getDouble("extendPrice"); + Integer carLimitCount = test.getInteger("carLimitCount"); + String dataSource = test.getString("dataSource"); + String insuranceCodes = test.getString("insuranceCodes"); + String isEnquiry = test.getString("isEnquiry"); + String isQuotation = test.getString("isQuotation"); + Double historyLoss4SPrice = test.getDouble("historyLoss4SPrice"); + Double historyLossMkPrice = test.getDouble("historyLossMkPrice"); + String isMultipleFitsUnique = test.getString("isMultipleFitsUnique"); + + + + PeiJianDingSun.add(reportNo, lossSeqNo, taskId, audit, recycle, fitsFeeRateType, + fitsFeeRateTypeEx, createDate, adjustFitsFee, fitsSurveyPrice, fitsCount, + idDcInsLossDetaillossFitsItemList, auditDamagePrice, reduceRemnant, verifyReduce2, fitsName, + fitsCode, originalFitsName, originalFitsCode, originalFitsDiscountPrice, + fitsFeeRate, fitLabelCode, lossRemark, serialNo, isFitsUnique, upperLimitPrice, + fitsFee, fitsDiscount, fitsReamrk, fitsMaterial, isAiLossFits, isHisFits, + isLock, extendPrice, carLimitCount, dataSource, insuranceCodes, isEnquiry, + isQuotation, historyLoss4SPrice, historyLossMkPrice, isMultipleFitsUnique,lossSeqNo+now); + + + + + } + } + + if (operationRecordListlossFitsItemList != null && operationRecordListlossFitsItemList.size() != 0) { + XiuGaiJiLu_.list("定损",lossSeqNo); + for (Object o1 : operationRecordListlossFitsItemList) { + JSONObject test1 = (JSONObject) o1; + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + XiuGaiJiLu.add(reportNo, lossSeqNo, taskId, idDcInsLossDetaillossFitsItemList, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1,lossSeqNo+now); + + + } + + + } + + JSONArray operationRecordListlossManpowerItemList = new JSONArray(); + String idDcInsLossDetaillossManpowerItemList = ""; + //2.2.2.2. 工时定损项目 + if (lossManpowerItemList != null && lossManpowerItemList.size() != 0) { + GongShiDingSun_.list("定损",lossSeqNo); + for (Object o : lossManpowerItemList) { + + JSONObject test = (JSONObject) o; + operationRecordListlossManpowerItemList = test.getJSONArray("operationRecordList"); + String createDate = test.getString("createDate"); + Double manpowerSurveyPrice = test.getDouble("manpowerSurveyPrice"); + idDcInsLossDetaillossManpowerItemList = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + String manpowerItemName = test.getString("manpowerItemName"); + String manpowerItemCode = test.getString("manpowerItemCode"); + Double manpowerDiscountPrice = test.getDouble("manpowerDiscountPrice"); + String remark = test.getString("remark"); + Double manpowerDiscount = test.getDouble("manpowerDiscount"); + Double multiaspectRuleDiscount = test.getDouble("multiaspectRuleDiscount"); + Integer serialNo = test.getInteger("groupSerialNo"); + String manpowerGroupName = test.getString("manpowerGroupName"); + String seriesName1 = test.getString("seriesName"); //111111111111111111111111 + String seriesGroupName = test.getString("seriesGroupName"); + String schemeName = test.getString("schemeName"); + String isAiLossManpower = test.getString("isAiLossManpower"); + String isHisManpower = test.getString("isHisManpower"); + String isLock = test.getString("isLock"); + String insuranceCodes = test.getString("insuranceCodes"); + + + GongShiDingSun.add(reportNo, lossSeqNo, taskId, createDate, manpowerSurveyPrice, idDcInsLossDetaillossManpowerItemList, + auditDamagePrice, manpowerItemName, manpowerItemCode, manpowerDiscountPrice, + remark, manpowerDiscount, multiaspectRuleDiscount, serialNo, manpowerGroupName, + seriesName1, seriesGroupName, schemeName, isAiLossManpower, isHisManpower, + isLock, insuranceCodes,lossSeqNo+now); + + + } + + + } + + if (operationRecordListlossManpowerItemList != null && operationRecordListlossManpowerItemList.size() != 0) { + XiuGaiJiLu_.list("定损",lossSeqNo); + for (Object o1 : operationRecordListlossManpowerItemList) { + JSONObject test1 = (JSONObject) o1; + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLu.add(reportNo, lossSeqNo, taskId, idDcInsLossDetaillossManpowerItemList, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1,lossSeqNo+now); + + + } + + + } + // 外修定损 + + JSONArray operationRecordListlossOuterFitsItemList = null; + String idDcInsLossDetaillossOuterFitsItemList = ""; + + if (lossOuterFitsItemList != null && lossOuterFitsItemList.size() != 0) { + WaiXiuXiangMuDingSun_.list("定损",lossSeqNo); + for (Object o : lossOuterFitsItemList) { + JSONObject test = (JSONObject) o; + operationRecordListlossOuterFitsItemList = test.getJSONArray("operationRecordList"); + String outerGarage = test.getString("outerGarage"); + String createDate = test.getString("createDate"); + Double fitsSurveyPrice = test.getDouble("fitsSurveyPrice"); + idDcInsLossDetaillossOuterFitsItemList = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + Integer serialNo = test.getInteger("groupSerialNo"); + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String fitsReamrk = test.getString("fitsReamrk"); + String fitsMaterial = test.getString("fitsMaterial"); + String fitLabelCode = test.getString("fitLabelCode"); + String lossRemark = test.getString("lossRemark"); + Integer fitsFeeRateType = test.getInteger("fitsFeeRateType"); + Double originalFitsDiscountPrice = test.getDouble("originalFitsDiscountPrice"); + String originalFitsName = test.getString("originalFitsName"); + String originalFitsCode = test.getString("originalFitsCode"); + String isHisOuterFits = test.getString("isHisOuterFits"); + String isFitsUnique = test.getString("isFitsUnique"); + Double fitsDiscount = test.getDouble("fitsDiscount"); + Double fitsFee = test.getDouble("fitsFee"); + Double fitsFeeRate = test.getDouble("fitsFeeRate"); + String isLock = test.getString("isLock"); + Double extendPrice = test.getDouble("extendPrice"); + Integer carLimitCount = test.getInteger("carLimitCount"); + String dataSource = test.getString("dataSource"); + String insuranceCodes = test.getString("insuranceCodes"); + Double lossCompanyAmount = test.getDouble("lossCompanyAmount"); + + WaiXiuXiangMuDingSun.add(reportNo, lossSeqNo, taskId, outerGarage, createDate, fitsSurveyPrice, + idDcInsLossDetaillossOuterFitsItemList, auditDamagePrice, serialNo, fitsName, fitsCode, fitsReamrk, + fitsMaterial, fitLabelCode, lossRemark, fitsFeeRateType, originalFitsDiscountPrice, + originalFitsName, originalFitsCode, isHisOuterFits, isFitsUnique, fitsDiscount, + fitsFee, fitsFeeRate, isLock, extendPrice, carLimitCount, dataSource, + insuranceCodes, lossCompanyAmount,lossSeqNo+now); + + } + + + } + + if (operationRecordListlossOuterFitsItemList != null && operationRecordListlossOuterFitsItemList.size() != 0) { + XiuGaiJiLu_.list("定损",lossSeqNo); + for (Object o1 : operationRecordListlossOuterFitsItemList) { + JSONObject test1 = (JSONObject) o1; + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLu.add(reportNo, lossSeqNo, taskId, idDcInsLossDetaillossOuterFitsItemList, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1,lossSeqNo+now); + + + } + + + } + + //2.2.2.5. 沟通信息communicationList + if (communicationList != null && communicationList.size() != 0) { + GouTongXinXi_.list("定损",lossSeqNo); + for (Object o : communicationList) { + JSONObject test = (JSONObject) o; + + String operatorName = test.getString("operatorName"); + String operatorUm1 = test.getString("operatorUm");// 111111111 + String operatorRole1 = test.getString("operatorRole"); //111111111111 + String createDate = test.getString("createDate"); + String opinion = test.getString("opinion"); + String opinionDescribe1 = test.getString("opinionDescribe");//111111111111111 + Integer dataSource = test.getInteger("dataSource"); + String idDcCommunication = test.getString("idDcCommunication"); + String os = test.getString("os"); + + GouTongXinXi.add(reportNo, lossSeqNo, taskId, operatorName, operatorUm1, + operatorRole1, createDate, opinion, opinionDescribe1, dataSource, + idDcCommunication, os,lossSeqNo+now); + } + + + } + + //2.2.2.7. 施救费rescueFeeInfo + if (rescueFeeInfo != null) { + Double trailerStartingFare = rescueFeeInfo.getDouble("trailerStartingFare"); + Double trailerMileagePrice = rescueFeeInfo.getDouble("trailerMileagePrice"); + Double trailerOverMileage = rescueFeeInfo.getDouble("trailerOverMileage"); + Double craneStartingFare = rescueFeeInfo.getDouble("craneStartingFare"); + Double cranePrice = rescueFeeInfo.getDouble("cranePrice"); + Double craneWorkTime = rescueFeeInfo.getDouble("craneWorkTime"); + Double otherFee = rescueFeeInfo.getDouble("otherFee"); + String remark = rescueFeeInfo.getString("remark"); + String insuranceCodes = rescueFeeInfo.getString("insuranceCodes"); + ShiJiuFei_.list("定损",lossSeqNo); + + ShiJiuFei.add(reportNo, lossSeqNo, taskId, trailerStartingFare, + trailerMileagePrice, trailerOverMileage, craneStartingFare, + cranePrice, craneWorkTime, otherFee, remark, + insuranceCodes,lossSeqNo+now); + } + + + Integer fxxx = 1; + //2.2.2.9. 风险信息列表、锁死规则列表 riskList + if (riskList != null && riskList.size() != 0) { + FengXianXinXi_.list("定损",lossSeqNo); + for (Object o : riskList) { + JSONObject test = (JSONObject) o; + + String ruleName = test.getString("ruleName"); + Double overAmount = test.getDouble("overAmount"); + String lossName = test.getString("lossName"); + String requestId = test.getString("requestId"); + String riskClass = test.getString("riskClass"); + String riskCategory = test.getString("riskCategory"); + String riskClassCode = test.getString("riskClassCode"); + String riskCategoryCode = test.getString("riskCategoryCode"); + + FengXianXinXi.add(reportNo, lossSeqNo, taskId, ruleName, overAmount, lossName, + requestId, riskClass, riskCategory, riskClassCode, riskCategoryCode,fxxx,lossSeqNo+now); + + fxxx += 1; + + } + + + } + Integer wxdd = 1; + //2.2.2.10. 外修订单信息 repairOutsideFitList + if (repairOutsideFitList != null && repairOutsideFitList.size() != 0) { + WaiXiuDingDanXinXi_.list("定损",lossSeqNo); + for (Object o : repairOutsideFitList) { + JSONObject test = (JSONObject) o; + + String idClmOuterRepairDetail = test.getString("idClmOuterRepairDetail"); + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String lossCompanyAmount = test.getString("lossCompanyAmount"); + String lossAmountInsurance = test.getString("lossAmountInsurance"); + String remark1 = test.getString("remark"); //11111111111111 + String status = test.getString("status"); + String idRepairOutsideInfo = test.getString("idRepairOutsideInfo"); + String garageName1 = test.getString("garageName"); //11111111111111 + String lossAmountReference = test.getString("lossAmountReference"); + + WaiXiuDingDanXinXi.add(reportNo, lossSeqNo, taskId, idClmOuterRepairDetail, fitsName, + fitsCode, lossCompanyAmount, lossAmountInsurance, remark1, + status, idRepairOutsideInfo, garageName1, lossAmountReference,wxdd,lossSeqNo+now); + wxdd += 1; + + + } + + + } + + + } + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); + + + + + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + + JSONObject jsonObject = new JSONObject(); + String jsonString = jsonObject.toJSONString(); + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("200"+ "请求成功" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + + JSONObject object = new JSONObject(); + object.put("code", 200); + object.put("msg", "请求成功"); + object.put("respData" , s); + object.put("signature" , signatureData); + return object; + + } +} \ No newline at end of file diff --git a/src/main/java/com/example/sso/newcontroller/PushDataQuoteGuide.java b/src/main/java/com/example/sso/newcontroller/PushDataQuoteGuide.java new file mode 100644 index 0000000..144743e --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/PushDataQuoteGuide.java @@ -0,0 +1,496 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +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.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; + +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import static com.example.sso.util.YiZhangUtil.verifySignature; + +@RestController +@Slf4j + +public class PushDataQuoteGuide { + + + @PostMapping("/api/quoteGuide/pushData") + public JSONObject pushdata(@RequestBody JSONObject data) throws Exception { + String now = TimeUtil.now(); + log.info("我是quoteGuide参数 " + data.toJSONString()); + String S = data.toJSONString(); + + + // 提交任务到线程池 + + // 在线程池中处理业务逻辑 + //String S = "{\"reqData\":\"eyJiYXNlSW5mbyI6eyJyZXBvcnRObyI6IjEyMjIyMjIyMjIiLCJpbnN1cmFuY2VDb2RlTGlzdCI6IjEyMzQ1NSwzMzQ1NjQiLCJ2aW4iOiJMVk4xMjMxMjMxMiJ9LCJhZGRyZXNzIjoi5rWL6K+V5Zyw5Z2AIiwiY291bnR5Q29kZSI6IjEwMDExMCIsInByZUNoZWNrU3RhdGUiOiIyIn0=\",\"siteCode\":\"YJIC\",\"signature\":\"YVIxcXVqMkwzQTBaQ285em9wQy8yYVZmWVc2SEVjVnpVNmttQzdmVlFhY0I5U3ZvcnNnNkZxbEVRTzdnRDh6T05oOHkzZ2pGdUQxSkJPd2NZM2Y5Z05uWVBleElYRWZNV3FudXRCQ1RTaU5BSnNVWGZzb0thZUdtQ2RsdWhycXJMK0ZWWGkxblN6QlQ4a3VsZXBKa2NYcGlTUE1SdHlKYVRlNTAzN2FrT3JXUDFMTGYweGVsWitPV1ppOU5RTU5ualFvYTlqZGU2RzRXM1d5RE9qNnI4YzVhUnJvS2piRVJ2bFRDSzR6ZGRTL2tXaGU1OGRwdTllQmJNbzVvTVVPYUcvZjJLVjJTUXRwMzd0NkJla0t4MTY2TFkvN0V5dkM0azFRKzAvdkxDWEpqUVM1SlllbG5tckhjZnF2UVpCb0JEN0I5YzBFcWZOcjZ0K01uMDFtbFJRPT0=\"}"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + + JSONObject jsonObject1 = JSON.parseObject(S); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("reqData"); + String siteCode = jsonObject1.getString("siteCode"); + + CompletableFuture.runAsync(() -> { + boolean b = false; + try { + b = verifySignature(siteCode + respData, KEY, signature); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (b == true) { + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + log.info("我是转换后quoteGuide参数 " + result); + + JSONObject jsonObject = JSON.parseObject(result); + + //2.4.2.1. 配件定损项目lossFitsItemList + JSONArray lossFitsItemList = jsonObject.getJSONArray("lossFitsItemList"); + + //2.4.2.1.2.4.2.2. 工时定损项目lossManpowerItemList + JSONArray lossManpowerItemList = jsonObject.getJSONArray("lossManpowerItemList"); + + //22.4.2.3. 外修定损项目lossOuterFitsItemList + JSONArray lossOuterFitsItemList = jsonObject.getJSONArray("lossOuterFitsItemList"); + + // 2.2.2.5. 沟通信息communicationList + JSONArray communicationList = jsonObject.getJSONArray("communicationList"); + + //2.2.2.7. 施救费rescueFeeInfo + JSONObject rescueFeeInfo = jsonObject.getJSONObject("rescueFeeInfo"); + + // 2.2.2.10. 外修订单信息 repairOutsideFitList + JSONArray repairOutsideFitList = jsonObject.getJSONArray("repairOutsideFitList"); + + + String data_sources1 = ""; + + + String reportNo = jsonObject.getString("reportNo"); + String lossSeqNo = jsonObject.getString("lossSeqNo"); + String taskId = jsonObject.getString("taskId"); + Double rescueFee = jsonObject.getDouble("rescueFee"); + Double verifyReduce = jsonObject.getDouble("verifyReduce"); + Double actualValue = jsonObject.getDouble("actualValue"); + Double surplusValue = jsonObject.getDouble("surplusValue"); + String auditType = jsonObject.getString("auditType"); + String operatorRole = jsonObject.getString("operatorRole"); + String operatorUm = jsonObject.getString("operatorUm"); + String opinionDescribe = jsonObject.getString("opinionDescribe"); + Double guideAmount = jsonObject.getDouble("guideAmount"); + String lossPosition2 = jsonObject.getString("lossPosition2"); + String pushQuoteInfoId = jsonObject.getString("pushQuoteInfoId"); + String pushQuoteDate = jsonObject.getString("pushQuoteDate"); + if (operatorRole.equals("3")) { + data_sources1 = "核价"; + } + if (operatorRole.equals("2")) { + data_sources1 = "核损"; + } + HeJiaHeSunJieGuo_.list(data_sources1,lossSeqNo); + + HeJiaHeSunJieGuo.add(reportNo, lossSeqNo, taskId, rescueFee, verifyReduce, + actualValue, surplusValue, auditType, operatorRole, + operatorUm, opinionDescribe, guideAmount, lossPosition2, + pushQuoteInfoId, pushQuoteDate,data_sources1,lossSeqNo+now); + + //配件定损项目lossFitsItemList + JSONArray operationRecordList = null; + String idDcInsLossDetaillossFitsItemList = ""; + if (lossFitsItemList != null && lossFitsItemList.size() != 0) { + PeiJianDingSunTwoFour_.list(data_sources1,lossSeqNo); + + for (Object o : lossFitsItemList) { + JSONObject test = (JSONObject) o; + operationRecordList = test.getJSONArray("operationRecordList"); + Integer audit = test.getInteger("audit"); + Integer recycle = test.getInteger("recycle"); + Integer fitsFeeRateType = test.getInteger("fitsFeeRateType"); + Integer fitsFeeRateTypeEx = test.getInteger("fitsFeeRateTypeEx"); + String createDate = test.getString("createDate"); + Double adjustFitsFee = test.getDouble("adjustFitsFee"); + Double fitsSurveyPrice = test.getDouble("fitsSurveyPrice"); + Integer fitsCount = test.getInteger("fitsCount"); + idDcInsLossDetaillossFitsItemList = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + Double reduceRemnant = test.getDouble("reduceRemnant"); + Double verifyReduce2 = test.getDouble("verifyReduce"); //111111111111111111111111 + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String originalFitsName = test.getString("originalFitsName"); + String originalFitsCode = test.getString("originalFitsCode"); + Double originalFitsDiscountPrice = test.getDouble("originalFitsDiscountPrice"); + Double fitsFeeRate = test.getDouble("fitsFeeRate"); + String fitLabelCode = test.getString("fitLabelCode"); + String lossRemark = test.getString("lossRemark"); + Integer serialNo = test.getInteger("groupSerialNo"); + String isFitsUnique = test.getString("isFitsUnique"); + Double upperLimitPrice = test.getDouble("upperLimitPrice"); + Double fitsFee = test.getDouble("fitsFee"); + Double fitsDiscount = test.getDouble("fitsDiscount"); + String fitsReamrk = test.getString("fitsReamrk"); + String fitsMaterial = test.getString("fitsMaterial"); + String isAiLossFits = test.getString("isAiLossFits"); + String isHisFits = test.getString("isHisFits"); + String isLock = test.getString("isLock"); + Double extendPrice = test.getDouble("extendPrice"); + Integer carLimitCount = test.getInteger("carLimitCount"); + String dataSource = test.getString("dataSource"); + String insuranceCodes = test.getString("insuranceCodes"); + String isMultipleFitsUnique = test.getString("isMultipleFitsUnique"); + Double auditPrice = test.getDouble("auditPrice"); + + + PeiJianDingSunTwoFour.add(reportNo, lossSeqNo, taskId, audit, recycle, fitsFeeRateType, + fitsFeeRateTypeEx, createDate, adjustFitsFee, fitsSurveyPrice, fitsCount, + idDcInsLossDetaillossFitsItemList, auditDamagePrice, reduceRemnant, verifyReduce2, fitsName, + fitsCode, originalFitsName, originalFitsCode, originalFitsDiscountPrice, + fitsFeeRate, fitLabelCode, lossRemark, serialNo, isFitsUnique, upperLimitPrice, + fitsFee, fitsDiscount, fitsReamrk, fitsMaterial, isAiLossFits, isHisFits, + isLock, extendPrice, carLimitCount, dataSource, insuranceCodes, + isMultipleFitsUnique,data_sources1,auditPrice,lossSeqNo+now); + + + + + + + + + + + } + } + + if (operationRecordList != null && operationRecordList.size() != 0) { + XiuGaiJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o1 : operationRecordList) { + JSONObject test1 = (JSONObject) o1; + String orgName = test1.getString("orgName"); + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice1 = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLuTwoFour.add(reportNo, lossSeqNo, taskId, idDcInsLossDetaillossFitsItemList, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice1, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1, orgName,data_sources1,lossSeqNo+now); + + + } + + + } + JSONArray operationRecordListlossManpowerItemList = null; + String idDcInsLossDetaillossManpowerItemList = ""; + //2.2.2.2. 工时定损项目 + if (lossManpowerItemList != null && lossManpowerItemList.size() != 0) { + GongShiDingSunTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : lossManpowerItemList) { + JSONObject test = (JSONObject) o; + operationRecordListlossManpowerItemList = test.getJSONArray("operationRecordList"); + String createDate = test.getString("createDate"); + Double manpowerSurveyPrice = test.getDouble("manpowerSurveyPrice"); + idDcInsLossDetaillossManpowerItemList = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + String manpowerItemName = test.getString("manpowerItemName"); + String manpowerItemCode = test.getString("manpowerItemCode"); + Double manpowerDiscountPrice = test.getDouble("manpowerDiscountPrice"); + String remark = test.getString("remark"); + Double manpowerDiscount = test.getDouble("manpowerDiscount"); + Double multiaspectRuleDiscount = test.getDouble("multiaspectRuleDiscount"); + Integer serialNo = test.getInteger("groupSerialNo"); + String manpowerGroupName = test.getString("manpowerGroupName"); + String seriesName1 = test.getString("seriesName"); //111111111111111111111111 + String seriesGroupName = test.getString("seriesGroupName"); + String schemeName = test.getString("schemeName"); + String isAiLossManpower = test.getString("isAiLossManpower"); + String isHisManpower = test.getString("isHisManpower"); + String isLock = test.getString("isLock"); + String insuranceCodes = test.getString("insuranceCodes"); + + + GongShiDingSunTwoFour.add(reportNo, lossSeqNo, taskId, createDate, manpowerSurveyPrice, idDcInsLossDetaillossManpowerItemList, + auditDamagePrice, manpowerItemName, manpowerItemCode, manpowerDiscountPrice, + remark, manpowerDiscount, multiaspectRuleDiscount, serialNo, manpowerGroupName, + seriesName1, seriesGroupName, schemeName, isAiLossManpower, isHisManpower, + isLock, insuranceCodes,data_sources1,lossSeqNo+now); + + + } + + + } + + if (operationRecordListlossManpowerItemList != null && operationRecordListlossManpowerItemList.size() != 0) { + XiuGaiJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o1 : operationRecordListlossManpowerItemList) { + JSONObject test1 = (JSONObject) o1; + String operatorName = test1.getString("operatorName"); + String orgName = test1.getString("orgName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLuTwoFour.add(reportNo, lossSeqNo, taskId, idDcInsLossDetaillossManpowerItemList, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1, orgName,data_sources1,lossSeqNo+now); + + + } + + + } + + // 外修定损 + + JSONArray operationRecordListlossOuterFitsItemList = null; + String idDcInsLossDetaillossOuterFitsItemList = ""; + if (lossOuterFitsItemList != null && lossOuterFitsItemList.size() != 0) { + WaiXiuXiangMuDingSunTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : lossOuterFitsItemList) { + JSONObject test = (JSONObject) o; + operationRecordListlossOuterFitsItemList = test.getJSONArray("operationRecordList"); + String outerGarage = test.getString("outerGarage"); + String createDate = test.getString("createDate"); + Double fitsSurveyPrice = test.getDouble("fitsSurveyPrice"); + idDcInsLossDetaillossOuterFitsItemList = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + Integer serialNo = test.getInteger("groupSerialNo"); + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String fitsReamrk = test.getString("fitsReamrk"); + String fitsMaterial = test.getString("fitsMaterial"); + String fitLabelCode = test.getString("fitLabelCode"); + String lossRemark = test.getString("lossRemark"); + Integer fitsFeeRateType = test.getInteger("fitsFeeRateType"); + Double originalFitsDiscountPrice = test.getDouble("originalFitsDiscountPrice"); + String originalFitsName = test.getString("originalFitsName"); + String originalFitsCode = test.getString("originalFitsCode"); + String isHisOuterFits = test.getString("isHisOuterFits"); + String isFitsUnique = test.getString("isFitsUnique"); + Double fitsDiscount = test.getDouble("fitsDiscount"); + Double fitsFee = test.getDouble("fitsFee"); + Double fitsFeeRate = test.getDouble("fitsFeeRate"); + String isLock = test.getString("isLock"); + Double extendPrice = test.getDouble("extendPrice"); + Integer carLimitCount = test.getInteger("carLimitCount"); + String dataSource = test.getString("dataSource"); + String insuranceCodes = test.getString("insuranceCodes"); + Double lossCompanyAmount = test.getDouble("lossCompanyAmount"); + + WaiXiuXiangMuDingSunTwoFour.add(reportNo, lossSeqNo, taskId, outerGarage, createDate, fitsSurveyPrice, + idDcInsLossDetaillossOuterFitsItemList, auditDamagePrice, serialNo, fitsName, fitsCode, fitsReamrk, + fitsMaterial, fitLabelCode, lossRemark, fitsFeeRateType, originalFitsDiscountPrice, + originalFitsName, originalFitsCode, isHisOuterFits, isFitsUnique, fitsDiscount, + fitsFee, fitsFeeRate, isLock, extendPrice, carLimitCount, dataSource, + insuranceCodes, lossCompanyAmount,data_sources1,lossSeqNo+now); + + } + + + } + + if (operationRecordListlossOuterFitsItemList != null && operationRecordListlossOuterFitsItemList.size() != 0) { + XiuGaiJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o1 : operationRecordListlossOuterFitsItemList) { + JSONObject test1 = (JSONObject) o1; + String orgName = test1.getString("orgName"); + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLuTwoFour.add(reportNo, lossSeqNo, taskId, idDcInsLossDetaillossOuterFitsItemList, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1, orgName,data_sources1,lossSeqNo+now); + + + } + + + } + + //2.2.2.5. 沟通信息communicationList + if (communicationList != null && communicationList.size() != 0) { + GouTongJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : communicationList) { + JSONObject test = (JSONObject) o; + + String operatorName = test.getString("operatorName"); + String operatorUm1 = test.getString("operatorUm");// 111111111 + String operatorRole1 = test.getString("operatorRole"); //111111111111 + String createDate = test.getString("createDate"); + String opinion = test.getString("opinion"); + String opinionDescribe1 = test.getString("opinionDescribe");//111111111111111 + Integer dataSource = test.getInteger("dataSource"); + String idDcCommunication = test.getString("idDcCommunication"); + String os = test.getString("os"); + + GouTongJiLuTwoFour.add(reportNo, lossSeqNo, taskId, operatorName, operatorUm1, + operatorRole1, createDate, opinion, opinionDescribe1, dataSource, + idDcCommunication, os,data_sources1,lossSeqNo+now); + } + + + } + + //反渗漏结果 + JSONObject leakageMangementResult = jsonObject.getJSONObject("leakageMangementResult"); + JSONArray riskList = leakageMangementResult.getJSONArray("riskList"); + + //2.2.2.7. 施救费rescueFeeInfo + if (rescueFeeInfo != null) { + Double trailerStartingFare = rescueFeeInfo.getDouble("trailerStartingFare"); + Double trailerMileagePrice = rescueFeeInfo.getDouble("trailerMileagePrice"); + Double trailerOverMileage = rescueFeeInfo.getDouble("trailerOverMileage"); + Double craneStartingFare = rescueFeeInfo.getDouble("craneStartingFare"); + Double cranePrice = rescueFeeInfo.getDouble("cranePrice"); + Double craneWorkTime = rescueFeeInfo.getDouble("craneWorkTime"); + Double otherFee = rescueFeeInfo.getDouble("otherFee"); + String remark = rescueFeeInfo.getString("remark"); + String insuranceCodes = rescueFeeInfo.getString("insuranceCodes"); + ShiJiuFeiTwoFour_.list(data_sources1,lossSeqNo); + + ShiJiuFeiTwoFour.add(reportNo, lossSeqNo, taskId, trailerStartingFare, + trailerMileagePrice, trailerOverMileage, craneStartingFare, + cranePrice, craneWorkTime, otherFee, remark, + insuranceCodes,data_sources1,lossSeqNo+now); + } + Integer fxxx = 1; + //2.2.2.9. 风险信息列表、锁死规则列表 riskList + if (riskList != null && riskList.size() != 0) { + FengXianXinXiTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : riskList) { + JSONObject test = (JSONObject) o; + + String ruleName = test.getString("ruleName"); + Double overAmount = test.getDouble("overAmount"); + String lossName = test.getString("lossName"); + String requestId = test.getString("requestId"); + String riskClass = test.getString("riskClass"); + String riskCategory = test.getString("riskCategory"); + String riskClassCode = test.getString("riskClassCode"); + String riskCategoryCode = test.getString("riskCategoryCode"); + String isConfirmRisk = test.getString("isConfirmRisk"); + + FengXianXinXiTwoFour.add(reportNo, lossSeqNo, taskId, ruleName, overAmount, lossName, + requestId, riskClass, riskCategory, riskClassCode, riskCategoryCode, isConfirmRisk, + data_sources1,fxxx,lossSeqNo+now); + fxxx += 1; + + } + + + } + Integer wxdd = 1; + //2.2.2.10. 外修订单信息 repairOutsideFitList + if (repairOutsideFitList != null && repairOutsideFitList.size() != 0) { + WaiXiuDingDanXinXiTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : repairOutsideFitList) { + JSONObject test = (JSONObject) o; + + String idClmOuterRepairDetail = test.getString("idClmOuterRepairDetail"); + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String lossCompanyAmount = test.getString("lossCompanyAmount"); + String lossAmountInsurance = test.getString("lossAmountInsurance"); + String remark1 = test.getString("remark"); //11111111111111 + String status = test.getString("status"); + String idRepairOutsideInfo = test.getString("idRepairOutsideInfo"); + String garageName1 = test.getString("garageName"); //11111111111111 + String lossAmountReference = test.getString("lossAmountReference"); + + WaiXiuDingDanXinXiTwoFour.add(reportNo, lossSeqNo, taskId, idClmOuterRepairDetail, fitsName, + fitsCode, lossCompanyAmount, lossAmountInsurance, remark1, + status, idRepairOutsideInfo, garageName1, lossAmountReference,data_sources1,wxdd,lossSeqNo+now); + wxdd += 1; + + + } + + + } + + + } + + }); + + + + + + + + + + + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + + JSONObject jsonObject = new JSONObject(); + String jsonString = jsonObject.toJSONString(); + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("200"+ "请求成功" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + + JSONObject object = new JSONObject(); + object.put("code", 200); + object.put("msg", "请求成功"); + object.put("respData" , s); + object.put("signature" , signatureData); + return object; + } +} diff --git a/src/main/java/com/example/sso/newcontroller/QuoTeGuidePage.java b/src/main/java/com/example/sso/newcontroller/QuoTeGuidePage.java new file mode 100644 index 0000000..9f8ef55 --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/QuoTeGuidePage.java @@ -0,0 +1,96 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import org.apache.commons.codec.binary.Base64; + +public class QuoTeGuidePage { + public static void main(String[] args) throws Exception { + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + + + +// JSONObject jsonObject = new JSONObject(); +// +// jsonObject.put("insuranceCompanyNo", "YJIC"); +// jsonObject.put("accessUm", "ZhuLiting"); +// jsonObject.put("lossSeqNo", "20250221000010szcsrw"); +// jsonObject.put("taskId", "ShG-20250221000010szcsrw001"); +// +// +// List jsonArray = new ArrayList<>(); +// JSONObject provinceCode = new JSONObject(); +// provinceCode.put("provinceCode", "110000"); +// jsonArray.add(provinceCode); +// jsonObject.put("lossAreaList", jsonArray); + + // String jsonString = jsonObject.toJSONString(); + String jsonString ="{\n" + + "\n" + + "\"accidentDate\": \"2021-07-31 18:00:00\",\n" + + "\"actualValue\": 0.00,\n" + + "\"carMark\": \"陕DD15\",\n" + + "\"carMarkType\": \"02\",\n" + + "\"damageType\": \"02\",\n" + + "\"insuranceCodes\": \"C060101600,C51100\",\n" + + "\"insuredName\": \"师\",\n" + + "\"orgName\": \"安诚财产保险股份有限公司陕西分公司\",\n" + + "\"reportNo\": \"BA030061002021005967\",\n" + + "\"rescueFeeInfo\": {\n" + + "\"cranePrice\": 0,\n" + + "\"craneStartingFare\": 0,\n" + + "\"craneWorkTime\": 0,\n" + + "\"otherFee\": 0,\n" + + "\"trailerMileagePrice\": 0,\n" + + "\"trailerOverMileage\": 0,\n" + + "\"trailerStartingFare\": 0\n" + + "},\n" + + "\n" + + "\"communicationList\": [],\n" + + "\"extensionBtnList\": [\n" + + "{\n" + + "\"btnLink\": \"http://10.1.4.124/claim/jsp/claimflow/flowStatic.jsp?rptNo=BA030061002021005967\",\n" + + "\"btnLocation\": 0,\n" + + "\"btnName\": \"流程图\",\n" + + "\"openType\": 1,\n" + + "\"seqNo\": 2\n" + + "}\n" + + "],\n" + + "\"insuranceCompanyNo\": \"ACIC\",\n" + + "\n" + + "\"lossSeqNo\": \"21000702225\",\n" + + "\"lossSeqNoHis\": \"\",\n" + + "\"operatorDptCde\": \"61\",\n" + + "\"operatorName\": \"李\",\n" + + "\"operatorRole\": \"27\",\n" + + "\"operatorUm\": \"1610073\"}\n"; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + JSONObject object = new JSONObject(); + object.put("siteCode" , id); + object.put("reqData" , s); + object.put("signature" , signatureData); + String jsonString1 = object.toJSONString(); + System.out.println("我是参数 " + jsonString1); + + String newlossplatform = YiZhangUtil.quoteGuidepage(jsonString1); + JSONObject jsonObject1 = JSON.parseObject(newlossplatform); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("respData"); + String msg = jsonObject1.getString("msg"); + String code = jsonObject1.getString("code"); + boolean b = YiZhangUtil.verifySignature(code + msg + respData, KEY, signature); + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + System.out.println(result); + System.out.println(b); + + + } +} diff --git a/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe.java b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe.java new file mode 100644 index 0000000..5d04cdb --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe.java @@ -0,0 +1,57 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.io.UnsupportedEncodingException; +@Slf4j +@RestController +public class XiuGaiGuiZe { + @PostMapping("/xuigai") + public JSONObject xiugaiu(@RequestBody JSONObject data) throws Exception { + log.info("我是修改规则参数 " + data.toJSONString()); + String jsonString = data.toJSONString(); + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; +// String jsonString = "{\n" + +// "\t\"insuranceCompanyNo\" : \"YJIC\",\n" + +// "\t\"operatorUm\" : \"03\",\n" + +// "\t\"lossSeqNo\" : \"250708016901\",\n" + +// "\t\"garageCode\" : \"YJIC110100106214\",\n" + +// "\t\"carDealerCode\" : \"\",\n" + +// "\t\"idDcInsuranceGarageRule\" : \"\"\n" + +// "}\n"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + + + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + JSONObject redis = new JSONObject(); + redis.put("reqData",s); + redis.put("siteCode",id); + redis.put("signature",signatureData); + String jsonString2 = redis.toJSONString(); + String key = YiZhangUtil.key(jsonString2); + + System.out.println("rediskey " + key); + JSONObject jsonObject = JSON.parseObject(key); + + String newlossplatform1 = YiZhangUtil.newlossplatform(id, s, signatureData); + String replace = newlossplatform1.replace("GET ", ""); + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("url",replace); + + + + + return jsonObject1; + } +} diff --git a/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe1.java b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe1.java new file mode 100644 index 0000000..bfd7ca9 --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe1.java @@ -0,0 +1,56 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +public class XiuGaiGuiZe1 { + @PostMapping("/xuigai1") + public JSONObject xiugaiu(@RequestBody JSONObject data) throws Exception { + log.info("我是修改规则参数 " + data.toJSONString()); + String jsonString = data.toJSONString(); + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; +// String jsonString = "{\n" + +// "\t\"insuranceCompanyNo\" : \"YJIC\",\n" + +// "\t\"operatorUm\" : \"03\",\n" + +// "\t\"lossSeqNo\" : \"250708016901\",\n" + +// "\t\"garageCode\" : \"YJIC110100106214\",\n" + +// "\t\"carDealerCode\" : \"\",\n" + +// "\t\"idDcInsuranceGarageRule\" : \"\"\n" + +// "}\n"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + + + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + JSONObject redis = new JSONObject(); + redis.put("reqData",s); + redis.put("siteCode",id); + redis.put("signature",signatureData); + String jsonString2 = redis.toJSONString(); + String key = YiZhangUtil.key(jsonString2); + + System.out.println("rediskey " + key); + JSONObject jsonObject = JSON.parseObject(key); + + String newlossplatform1 = YiZhangUtil.newlossplatform1(id, s, signatureData); + String replace = newlossplatform1.replace("GET ", ""); + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("url",replace); + + + + + return jsonObject1; + } +} diff --git a/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe3.java b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe3.java new file mode 100644 index 0000000..3738ed1 --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe3.java @@ -0,0 +1,56 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +public class XiuGaiGuiZe3 { + @PostMapping("/xuigai2") + public JSONObject xiugaiu(@RequestBody JSONObject data) throws Exception { + log.info("我是修改规则参数 " + data.toJSONString()); + String jsonString = data.toJSONString(); + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; +// String jsonString = "{\n" + +// "\t\"insuranceCompanyNo\" : \"YJIC\",\n" + +// "\t\"operatorUm\" : \"03\",\n" + +// "\t\"lossSeqNo\" : \"250708016901\",\n" + +// "\t\"garageCode\" : \"YJIC110100106214\",\n" + +// "\t\"carDealerCode\" : \"\",\n" + +// "\t\"idDcInsuranceGarageRule\" : \"\"\n" + +// "}\n"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + + + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + JSONObject redis = new JSONObject(); + redis.put("reqData",s); + redis.put("siteCode",id); + redis.put("signature",signatureData); + String jsonString2 = redis.toJSONString(); + String key = YiZhangUtil.key(jsonString2); + + System.out.println("rediskey " + key); + JSONObject jsonObject = JSON.parseObject(key); + + String newlossplatform1 = YiZhangUtil.newlossplatform2(id, s, signatureData); + String replace = newlossplatform1.replace("GET ", ""); + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("url",replace); + + + + + return jsonObject1; + } +} diff --git a/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe4.java b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe4.java new file mode 100644 index 0000000..f290ff3 --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/XiuGaiGuiZe4.java @@ -0,0 +1,146 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Slf4j +public class XiuGaiGuiZe4 { + @PostMapping("/xiugaiguize4") + public JSONObject PageTwoOne(@RequestBody JSONObject data) throws Exception { + log.info("xiugaiguize4 " + data.toJSONString()); + + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + +// String string = data.getString("lossAreaList"); +// JSONArray jsonArray = JSON.parseArray(string); +// data.put("lossAreaList",jsonArray); + String jsonString = data.toJSONString(); + log.info("转换后的代码 " + jsonString); + +// String jsonString ="{\n" + +// " \"accessRole\": \"45\",\n" + +// " \"accidentDate\": \"2021-07-25 16:20:00\",\n" + +// " \"actualValue\": 14065.00,\n" + +// " \"carMark\": \"晋H5748\",\n" + +// " \"carMarkType\": \"01\",\n" + +// " \"caseType\": \"1\",\n" + +// " \"damageType\": \"01\",\n" + +// " \"insuranceCodeList\": \"C060101200,C060101310\",\n" + +// " \"insuranceCodes\": \"C060101200\",\n" + +// " \"insuredName\": \"忠运输装卸服务队\",\n" + +// " \"isYFast\": \"0\",\n" + +// " \"orgName\": \"安诚财产保险股份有限公司榆林中心支公司\",\n" + +// " \"reportNo\": \"BA030061002021005755\",\n" + +// " \"rescueFeeInfo\": {\n" + +// " \"cranePrice\": 0,\n" + +// " \"craneStartingFare\": 0,\n" + +// " \"craneWorkTime\": 0,\n" + +// " \"otherFee\": 0,\n" + +// " \"trailerMileagePrice\": 0,\n" + +// " \"trailerOverMileage\": 0,\n" + +// " \"trailerStartingFare\": 0\n" + +// " },\n" + +// " \"trafficMileage\": 20,\n" + +// " \"vin\": \"LG6ZDCNH0GY2\",\n" + +// " \n" + +// " \"communicationList\": [],\n" + +// " \"extensionBtnList\": [\n" + +// " {\n" + +// " \"btnLink\": \"http://10.1.4.124/claim/jsp/claimflow/flowStatic.jsp?rptNo=BA030061002021005755\",\n" + +// " \"btnLocation\": 1,\n" + +// " \"btnName\": \"流程图\",\n" + +// " \"openType\": 1,\n" + +// " \"seqNo\": 2\n" + +// " }\n" + +// " ],\n" + +// " \"insuranceCompanyNo\": \"ACIC\",\n" + +// " \"isSurvey\": \"N\",\n" + +// " \"leakageMangement\": {\n" + +// " \"caseTimes\": 1\n" + +// " },\n" + +// " \"lossFitsItemList\": [\n" + +// " {\n" + +// " \"adjustFitsFee\": 0.00,\n" + +// " \"audit\": 0,\n" + +// " \"auditDamagePrice\": 540.00,\n" + +// " \"auditPrice\": 600.00,\n" + +// " \"createDate\": \"2021-08-02 09:48:04\",\n" + +// " \"fitsCount\": 1,\n" + +// " \"fitsFeeRateTypeEx\": 3,\n" + +// " \"fitsName\": \"前挡风玻璃\",\n" + +// " \"fitsSurveyPrice\": 1250.00,\n" + +// " \"idDcInsLossDetail\": \"C88A4CB3FCBD8A4FE0530438210AE9BF\",\n" + +// " \"isDel\": \"N\",\n" + +// " \"recycle\": 0,\n" + +// " \"reduceRemnant\": 0.00,\n" + +// " \"verifyReduce\": 0.00\n" + +// " }\n" + +// " ],\n" + +// " \"lossManpowerItemList\": [\n" + +// " {\n" + +// " \"auditDamagePrice\": 500.00,\n" + +// " \"createDate\": \"2021-08-02 09:48:04\",\n" + +// " \"idDcInsLossDetail\": \"C88A4CB3FCE18A4FE0530438210AE9BF\",\n" + +// " \"isDel\": \"N\",\n" + +// " \"manpowerItemName\": \"拆装更换发动机受损件 水箱 中冷器 风圈\",\n" + +// " \"manpowerSurveyPrice\": 1000.00\n" + +// " }\n" + +// " ],\n" + +// " \"lossOuterFitsItemList\": [],\n" + +// " \"lossSeqNo\": \"21000678297\",\n" + +// " \"lossSeqNoHis\": \"\",\n" + +// " \"operatorDptCde\": \"61\",\n" + +// " \"operatorName\": \"李\",\n" + +// " \"operatorRole\": \"47\",\n" + +// " \"operatorUm\": \"161021491\",\n" + +// " \"opinionDescribe\": \"双证在查勘前端资料,总价协商13000,工时费低请老师调整按13000审核\",\n" + +// " \"lossAreaList\":[{\n" + +// " \"provinceCode\":\"610000\",\n" + +// " \"cityList\": [\n" + +// " \"610100\",\n" + +// " \"610200\",\n" + +// " \"610300\",\n" + +// " \"610400\",\n" + +// " \"610500\",\n" + +// " \"610600\",\n" + +// " \"610700\",\n" + +// " \"610800\",\n" + +// " \"610900\",\n" + +// " \"611000\"\n" + +// " ]\n" + +// " }],\n" + +// " \"readonly\": \"Y\"\n" + +// "}\n" ; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + JSONObject object = new JSONObject(); + object.put("siteCode" , id); + object.put("reqData" , s); + object.put("signature" , signatureData); + String jsonString1 = object.toJSONString(); + System.out.println("我是参数 " + jsonString1); + + String newlossplatform = YiZhangUtil.guize4(jsonString1); + String replace = newlossplatform.replace("GET ", ""); + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("url",replace); + + + + + return jsonObject1; + } +} diff --git a/src/main/java/com/example/sso/newcontroller/test.java b/src/main/java/com/example/sso/newcontroller/test.java new file mode 100644 index 0000000..68da142 --- /dev/null +++ b/src/main/java/com/example/sso/newcontroller/test.java @@ -0,0 +1,465 @@ +package com.example.sso.newcontroller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.dao.*; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import static com.example.sso.util.YiZhangUtil.verifySignature; + +@RestController +@Slf4j +public class test { + /* private final ExecutorService executorService = Executors.newFixedThreadPool(5); + + @PostMapping("/api/quoteGuide/pushData") + public JSONObject pushdata(@RequestBody JSONObject data) throws Exception { + log.info("我是quoteGuide参数 " + data.toJSONString()); + String S = data.toJSONString(); + + + // 提交任务到线程池 + executorService.submit(() -> { + // 在线程池中处理业务逻辑 + //String S = "{\"reqData\":\"eyJiYXNlSW5mbyI6eyJyZXBvcnRObyI6IjEyMjIyMjIyMjIiLCJpbnN1cmFuY2VDb2RlTGlzdCI6IjEyMzQ1NSwzMzQ1NjQiLCJ2aW4iOiJMVk4xMjMxMjMxMiJ9LCJhZGRyZXNzIjoi5rWL6K+V5Zyw5Z2AIiwiY291bnR5Q29kZSI6IjEwMDExMCIsInByZUNoZWNrU3RhdGUiOiIyIn0=\",\"siteCode\":\"YJIC\",\"signature\":\"YVIxcXVqMkwzQTBaQ285em9wQy8yYVZmWVc2SEVjVnpVNmttQzdmVlFhY0I5U3ZvcnNnNkZxbEVRTzdnRDh6T05oOHkzZ2pGdUQxSkJPd2NZM2Y5Z05uWVBleElYRWZNV3FudXRCQ1RTaU5BSnNVWGZzb0thZUdtQ2RsdWhycXJMK0ZWWGkxblN6QlQ4a3VsZXBKa2NYcGlTUE1SdHlKYVRlNTAzN2FrT3JXUDFMTGYweGVsWitPV1ppOU5RTU5ualFvYTlqZGU2RzRXM1d5RE9qNnI4YzVhUnJvS2piRVJ2bFRDSzR6ZGRTL2tXaGU1OGRwdTllQmJNbzVvTVVPYUcvZjJLVjJTUXRwMzd0NkJla0t4MTY2TFkvN0V5dkM0azFRKzAvdkxDWEpqUVM1SlllbG5tckhjZnF2UVpCb0JEN0I5YzBFcWZOcjZ0K01uMDFtbFJRPT0=\"}"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + + JSONObject jsonObject1 = JSON.parseObject(S); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("reqData"); + String siteCode = jsonObject1.getString("siteCode"); + + boolean b = false; + try { + b = verifySignature(siteCode + respData, KEY, signature); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (b == true) { + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + log.info("我是转换后quoteGuide参数 " + result); + + JSONObject jsonObject = JSON.parseObject(result); + + //2.4.2.1. 配件定损项目lossFitsItemList + JSONArray lossFitsItemList = jsonObject.getJSONArray("lossFitsItemList"); + + //2.4.2.1.2.4.2.2. 工时定损项目lossManpowerItemList + JSONArray lossManpowerItemList = jsonObject.getJSONArray("lossManpowerItemList"); + + //22.4.2.3. 外修定损项目lossOuterFitsItemList + JSONArray lossOuterFitsItemList = jsonObject.getJSONArray("lossOuterFitsItemList"); + + // 2.2.2.5. 沟通信息communicationList + JSONArray communicationList = jsonObject.getJSONArray("communicationList"); + + //2.2.2.7. 施救费rescueFeeInfo + JSONObject rescueFeeInfo = jsonObject.getJSONObject("rescueFeeInfo"); + + // 2.2.2.10. 外修订单信息 repairOutsideFitList + JSONArray repairOutsideFitList = jsonObject.getJSONArray("repairOutsideFitList"); + + + String data_sources1 = ""; + + + String reportNo = jsonObject.getString("reportNo"); + String lossSeqNo = jsonObject.getString("lossSeqNo"); + String taskId = jsonObject.getString("taskId"); + Double rescueFee = jsonObject.getDouble("rescueFee"); + Double verifyReduce = jsonObject.getDouble("verifyReduce"); + Double actualValue = jsonObject.getDouble("actualValue"); + Double surplusValue = jsonObject.getDouble("surplusValue"); + String auditType = jsonObject.getString("auditType"); + String operatorRole = jsonObject.getString("operatorRole"); + String operatorUm = jsonObject.getString("operatorUm"); + String opinionDescribe = jsonObject.getString("opinionDescribe"); + Double guideAmount = jsonObject.getDouble("guideAmount"); + String lossPosition2 = jsonObject.getString("lossPosition2"); + String pushQuoteInfoId = jsonObject.getString("pushQuoteInfoId"); + String pushQuoteDate = jsonObject.getString("pushQuoteDate"); + if (operatorRole.equals("3")) { + data_sources1 = "核价"; + } + if (operatorRole.equals("2")) { + data_sources1 = "核损"; + } + HeJiaHeSunJieGuo_.list(data_sources1,lossSeqNo); + HeJiaHeSunJieGuo.add(reportNo, lossSeqNo, taskId, rescueFee, verifyReduce, + actualValue, surplusValue, auditType, operatorRole, + operatorUm, opinionDescribe, guideAmount, lossPosition2, + pushQuoteInfoId, pushQuoteDate,data_sources1); + + //配件定损项目lossFitsItemList + if (lossFitsItemList != null && lossFitsItemList.size() != 0) { + PeiJianDingSunTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : lossFitsItemList) { + JSONObject test = (JSONObject) o; + JSONArray operationRecordList = test.getJSONArray("operationRecordList"); + Integer audit = test.getInteger("audit"); + Integer recycle = test.getInteger("recycle"); + Integer fitsFeeRateType = test.getInteger("fitsFeeRateType"); + Integer fitsFeeRateTypeEx = test.getInteger("fitsFeeRateTypeEx"); + String createDate = test.getString("createDate"); + Double adjustFitsFee = test.getDouble("adjustFitsFee"); + Double fitsSurveyPrice = test.getDouble("fitsSurveyPrice"); + Integer fitsCount = test.getInteger("fitsCount"); + String idDcInsLossDetail = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + Double reduceRemnant = test.getDouble("reduceRemnant"); + Double verifyReduce2 = test.getDouble("verifyReduce"); //111111111111111111111111 + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String originalFitsName = test.getString("originalFitsName"); + String originalFitsCode = test.getString("originalFitsCode"); + Double originalFitsDiscountPrice = test.getDouble("originalFitsDiscountPrice"); + Double fitsFeeRate = test.getDouble("fitsFeeRate"); + String fitLabelCode = test.getString("fitLabelCode"); + String lossRemark = test.getString("lossRemark"); + Integer serialNo = test.getInteger("groupSerialNo"); + String isFitsUnique = test.getString("isFitsUnique"); + Double upperLimitPrice = test.getDouble("upperLimitPrice"); + Double fitsFee = test.getDouble("fitsFee"); + Double fitsDiscount = test.getDouble("fitsDiscount"); + String fitsReamrk = test.getString("fitsReamrk"); + String fitsMaterial = test.getString("fitsMaterial"); + String isAiLossFits = test.getString("isAiLossFits"); + String isHisFits = test.getString("isHisFits"); + String isLock = test.getString("isLock"); + Double extendPrice = test.getDouble("extendPrice"); + Integer carLimitCount = test.getInteger("carLimitCount"); + String dataSource = test.getString("dataSource"); + String insuranceCodes = test.getString("insuranceCodes"); + String isMultipleFitsUnique = test.getString("isMultipleFitsUnique"); + Double auditPrice = test.getDouble("auditPrice"); + + + PeiJianDingSunTwoFour.add(reportNo, lossSeqNo, taskId, audit, recycle, fitsFeeRateType, + fitsFeeRateTypeEx, createDate, adjustFitsFee, fitsSurveyPrice, fitsCount, + idDcInsLossDetail, auditDamagePrice, reduceRemnant, verifyReduce2, fitsName, + fitsCode, originalFitsName, originalFitsCode, originalFitsDiscountPrice, + fitsFeeRate, fitLabelCode, lossRemark, serialNo, isFitsUnique, upperLimitPrice, + fitsFee, fitsDiscount, fitsReamrk, fitsMaterial, isAiLossFits, isHisFits, + isLock, extendPrice, carLimitCount, dataSource, insuranceCodes, + isMultipleFitsUnique,data_sources1,auditPrice); + + if (operationRecordList != null && operationRecordList.size() != 0) { + XiuGaiJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o1 : operationRecordList) { + JSONObject test1 = (JSONObject) o1; + String orgName = test1.getString("orgName"); + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice1 = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLuTwoFour.add(reportNo, lossSeqNo, taskId, idDcInsLossDetail, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice1, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1, orgName,data_sources1); + + + } + + + } + + + } + } + + //2.2.2.2. 工时定损项目 + if (lossManpowerItemList != null && lossManpowerItemList.size() != 0) { + GongShiDingSunTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : lossManpowerItemList) { + JSONObject test = (JSONObject) o; + JSONArray operationRecordList = test.getJSONArray("operationRecordList"); + String createDate = test.getString("createDate"); + Double manpowerSurveyPrice = test.getDouble("manpowerSurveyPrice"); + String idDcInsLossDetail = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + String manpowerItemName = test.getString("manpowerItemName"); + String manpowerItemCode = test.getString("manpowerItemCode"); + Double manpowerDiscountPrice = test.getDouble("manpowerDiscountPrice"); + String remark = test.getString("remark"); + Double manpowerDiscount = test.getDouble("manpowerDiscount"); + Double multiaspectRuleDiscount = test.getDouble("multiaspectRuleDiscount"); + Integer serialNo = test.getInteger("groupSerialNo"); + String manpowerGroupName = test.getString("manpowerGroupName"); + String seriesName1 = test.getString("seriesName"); //111111111111111111111111 + String seriesGroupName = test.getString("seriesGroupName"); + String schemeName = test.getString("schemeName"); + String isAiLossManpower = test.getString("isAiLossManpower"); + String isHisManpower = test.getString("isHisManpower"); + String isLock = test.getString("isLock"); + String insuranceCodes = test.getString("insuranceCodes"); + + GongShiDingSunTwoFour.add(reportNo, lossSeqNo, taskId, createDate, manpowerSurveyPrice, idDcInsLossDetail, + auditDamagePrice, manpowerItemName, manpowerItemCode, manpowerDiscountPrice, + remark, manpowerDiscount, multiaspectRuleDiscount, serialNo, manpowerGroupName, + seriesName1, seriesGroupName, schemeName, isAiLossManpower, isHisManpower, + isLock, insuranceCodes,data_sources1); + if (operationRecordList != null && operationRecordList.size() != 0) { + XiuGaiJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o1 : operationRecordList) { + JSONObject test1 = (JSONObject) o1; + String operatorName = test1.getString("operatorName"); + String orgName = test1.getString("orgName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLuTwoFour.add(reportNo, lossSeqNo, taskId, idDcInsLossDetail, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1, orgName,data_sources1); + + + } + + + } + + } + + + } + + // 外修定损 + + + if (lossOuterFitsItemList != null && lossOuterFitsItemList.size() != 0) { + WaiXiuXiangMuDingSunTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : lossOuterFitsItemList) { + JSONObject test = (JSONObject) o; + JSONArray operationRecordList = test.getJSONArray("operationRecordList"); + String outerGarage = test.getString("outerGarage"); + String createDate = test.getString("createDate"); + Double fitsSurveyPrice = test.getDouble("fitsSurveyPrice"); + String idDcInsLossDetail = test.getString("idDcInsLossDetail"); + Double auditDamagePrice = test.getDouble("auditDamagePrice"); + Integer serialNo = test.getInteger("groupSerialNo"); + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String fitsReamrk = test.getString("fitsReamrk"); + String fitsMaterial = test.getString("fitsMaterial"); + String fitLabelCode = test.getString("fitLabelCode"); + String lossRemark = test.getString("lossRemark"); + Integer fitsFeeRateType = test.getInteger("fitsFeeRateType"); + Double originalFitsDiscountPrice = test.getDouble("originalFitsDiscountPrice"); + String originalFitsName = test.getString("originalFitsName"); + String originalFitsCode = test.getString("originalFitsCode"); + String isHisOuterFits = test.getString("isHisOuterFits"); + String isFitsUnique = test.getString("isFitsUnique"); + Double fitsDiscount = test.getDouble("fitsDiscount"); + Double fitsFee = test.getDouble("fitsFee"); + Double fitsFeeRate = test.getDouble("fitsFeeRate"); + String isLock = test.getString("isLock"); + Double extendPrice = test.getDouble("extendPrice"); + Integer carLimitCount = test.getInteger("carLimitCount"); + String dataSource = test.getString("dataSource"); + String insuranceCodes = test.getString("insuranceCodes"); + Double lossCompanyAmount = test.getDouble("lossCompanyAmount"); + + WaiXiuXiangMuDingSunTwoFour.add(reportNo, lossSeqNo, taskId, outerGarage, createDate, fitsSurveyPrice, + idDcInsLossDetail, auditDamagePrice, serialNo, fitsName, fitsCode, fitsReamrk, + fitsMaterial, fitLabelCode, lossRemark, fitsFeeRateType, originalFitsDiscountPrice, + originalFitsName, originalFitsCode, isHisOuterFits, isFitsUnique, fitsDiscount, + fitsFee, fitsFeeRate, isLock, extendPrice, carLimitCount, dataSource, + insuranceCodes, lossCompanyAmount,data_sources1); + if (operationRecordList != null && operationRecordList.size() != 0) { + XiuGaiJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o1 : operationRecordList) { + JSONObject test1 = (JSONObject) o1; + String orgName = test1.getString("orgName"); + String operatorName = test1.getString("operatorName"); + String operatorUm1 = test1.getString("operatorUm");//111111111111111111 + String operatorRole1 = test1.getString("operatorRole");//11111111111111111 + Double fitsSurveyPrice1 = test1.getDouble("fitsSurveyPrice"); + Double auditPrice = test1.getDouble("auditPrice"); + Double auditDamagePrice1 = test1.getDouble("auditDamagePrice"); + Double adjustFitsFee1 = test1.getDouble("adjustFitsFee"); + String createDate1 = test1.getString("createDate"); + Integer dataSource1 = test1.getInteger("dataSource"); + String idDcCarLossRecord = test1.getString("idDcCarLossRecord"); + Integer fitsCount1 = test1.getInteger("fitsCount"); + String isDel = test1.getString("isDel"); + Double reduceRemnant1 = test1.getDouble("reduceRemnant"); + Double verifyReduce1 = test1.getDouble("verifyReduce"); //1111111111111111 + + + XiuGaiJiLuTwoFour.add(reportNo, lossSeqNo, taskId, idDcInsLossDetail, operatorName, + operatorUm1, operatorRole1, fitsSurveyPrice1, auditPrice, + auditDamagePrice1, adjustFitsFee1, createDate1, dataSource1, + idDcCarLossRecord, fitsCount1, isDel, reduceRemnant1, verifyReduce1, orgName,data_sources1); + + + } + + + } + } + + + } + + //2.2.2.5. 沟通信息communicationList + if (communicationList != null && communicationList.size() != 0) { + GouTongJiLuTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : communicationList) { + JSONObject test = (JSONObject) o; + + String operatorName = test.getString("operatorName"); + String operatorUm1 = test.getString("operatorUm");// 111111111 + String operatorRole1 = test.getString("operatorRole"); //111111111111 + String createDate = test.getString("createDate"); + String opinion = test.getString("opinion"); + String opinionDescribe1 = test.getString("opinionDescribe");//111111111111111 + Integer dataSource = test.getInteger("dataSource"); + String idDcCommunication = test.getString("idDcCommunication"); + String os = test.getString("os"); + + GouTongJiLuTwoFour.add(reportNo, lossSeqNo, taskId, operatorName, operatorUm1, + operatorRole1, createDate, opinion, opinionDescribe1, dataSource, + idDcCommunication, os,data_sources1); + } + + + } + + //反渗漏结果 + JSONObject leakageMangementResult = jsonObject.getJSONObject("leakageMangementResult"); + JSONArray riskList = leakageMangementResult.getJSONArray("riskList"); + + //2.2.2.7. 施救费rescueFeeInfo + if (rescueFeeInfo != null) { + Double trailerStartingFare = rescueFeeInfo.getDouble("trailerStartingFare"); + Double trailerMileagePrice = rescueFeeInfo.getDouble("trailerMileagePrice"); + Double trailerOverMileage = rescueFeeInfo.getDouble("trailerOverMileage"); + Double craneStartingFare = rescueFeeInfo.getDouble("craneStartingFare"); + Double cranePrice = rescueFeeInfo.getDouble("cranePrice"); + Double craneWorkTime = rescueFeeInfo.getDouble("craneWorkTime"); + Double otherFee = rescueFeeInfo.getDouble("otherFee"); + String remark = rescueFeeInfo.getString("remark"); + String insuranceCodes = rescueFeeInfo.getString("insuranceCodes"); + ShiJiuFeiTwoFour_.list(data_sources1,lossSeqNo); + ShiJiuFeiTwoFour.add(reportNo, lossSeqNo, taskId, trailerStartingFare, + trailerMileagePrice, trailerOverMileage, craneStartingFare, + cranePrice, craneWorkTime, otherFee, remark, + insuranceCodes,data_sources1); + } + Integer fxxx = 1; + //2.2.2.9. 风险信息列表、锁死规则列表 riskList + if (riskList != null && riskList.size() != 0) { + FengXianXinXiTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : riskList) { + JSONObject test = (JSONObject) o; + + String ruleName = test.getString("ruleName"); + Double overAmount = test.getDouble("overAmount"); + String lossName = test.getString("lossName"); + String requestId = test.getString("requestId"); + String riskClass = test.getString("riskClass"); + String riskCategory = test.getString("riskCategory"); + String riskClassCode = test.getString("riskClassCode"); + String riskCategoryCode = test.getString("riskCategoryCode"); + String isConfirmRisk = test.getString("isConfirmRisk"); + + FengXianXinXiTwoFour.add(reportNo, lossSeqNo, taskId, ruleName, overAmount, lossName, + requestId, riskClass, riskCategory, riskClassCode, riskCategoryCode, isConfirmRisk, + data_sources1,fxxx); + fxxx += 1; + + } + + + } + Integer wxdd = 1; + //2.2.2.10. 外修订单信息 repairOutsideFitList + if (repairOutsideFitList != null && repairOutsideFitList.size() != 0) { + WaiXiuDingDanXinXiTwoFour_.list(data_sources1,lossSeqNo); + for (Object o : repairOutsideFitList) { + JSONObject test = (JSONObject) o; + + String idClmOuterRepairDetail = test.getString("idClmOuterRepairDetail"); + String fitsName = test.getString("fitsName"); + String fitsCode = test.getString("fitsCode"); + String lossCompanyAmount = test.getString("lossCompanyAmount"); + String lossAmountInsurance = test.getString("lossAmountInsurance"); + String remark1 = test.getString("remark"); //11111111111111 + String status = test.getString("status"); + String idRepairOutsideInfo = test.getString("idRepairOutsideInfo"); + String garageName1 = test.getString("garageName"); //11111111111111 + String lossAmountReference = test.getString("lossAmountReference"); + + WaiXiuDingDanXinXiTwoFour.add(reportNo, lossSeqNo, taskId, idClmOuterRepairDetail, fitsName, + fitsCode, lossCompanyAmount, lossAmountInsurance, remark1, + status, idRepairOutsideInfo, garageName1, lossAmountReference,data_sources1,wxdd); + wxdd += 1; + + + } + + + } + + + } + + }); + + + + + + + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + + JSONObject jsonObject = new JSONObject(); + String jsonString = jsonObject.toJSONString(); + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("200"+ "请求成功" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + + JSONObject object = new JSONObject(); + object.put("code", 200); + object.put("msg", "请求成功"); + object.put("respData" , s); + object.put("signature" , signatureData); + return object; + }*/ +} diff --git a/src/main/java/com/example/sso/photo/PhotoController.java b/src/main/java/com/example/sso/photo/PhotoController.java new file mode 100644 index 0000000..04560e1 --- /dev/null +++ b/src/main/java/com/example/sso/photo/PhotoController.java @@ -0,0 +1,71 @@ +package com.example.sso.photo; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.dao.PhotoUpData; +import com.example.sso.util.PhotoUtil; +import com.example.sso.util.TimeUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + + +import java.io.UnsupportedEncodingException; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; +@RestController +@Slf4j +public class PhotoController { + @PostMapping("xixi") + public void ph(@RequestBody JSONObject data) throws Exception { + JSONObject object = data.getJSONObject("data"); + String fpath = object.getString("fpath"); + String foldername = object.getString("foldername"); + String foldertemplatename = object.getString("foldertemplatename"); + String appId = object.getString("appId"); + String entryId = object.getString("entryId"); + String id = object.getString("_id"); + + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + jsonObject.put("folderName",foldername); + jsonObject.put("folderTemplateName",foldertemplatename); + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = PhotoUtil.createSign(jsonObject); + String s = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + s); + String s1 = PhotoUtil.sign(s); + System.out.println("我是加密 " + s1); + + + + + + + + + + + + String folder = PhotoUtil.createFolder(s1,"560703665a",a,fpath,foldername,foldertemplatename); + System.out.println("返回 " + folder); + JSONObject jsonObject1 = JSON.parseObject(folder); + String innerShareUrl = jsonObject1.getJSONObject("data").getString("innerShareUrl"); + PhotoUpData.up(id,appId,entryId,innerShareUrl); + + + + } + +} diff --git a/src/main/java/com/example/sso/photo/WenJianController.java b/src/main/java/com/example/sso/photo/WenJianController.java new file mode 100644 index 0000000..aa5ca8f --- /dev/null +++ b/src/main/java/com/example/sso/photo/WenJianController.java @@ -0,0 +1,275 @@ +package com.example.sso.photo; + +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.PhotoUtil; +import com.example.sso.util.TimeUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.scheduling.annotation.Async; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; + +@RestController +@Slf4j +@Async +public class WenJianController { + @Autowired + @Qualifier("globalThreadPool") + private ExecutorService executor; + @PostMapping("/hahahah") + public CompletableFuture jiehsou(@RequestBody JSONObject data) throws Exception { + + // 2. 提交耗时任务到线程池(不阻塞主线程) + executor.execute(() -> { + log.info("摘片参数 " +data ); + String fpath = data.getString("fpath"); + String file3 = data.getString("file3"); + String file2 = data.getString("file2"); + String file1 = data.getString("file1"); + if (file3.contains(" ")){ + String[] arr = file3.split(" "); + for(String s : arr){ + String downloads = null; + try { + downloads = PhotoUtil.download(s); + } catch (IOException e) { + throw new RuntimeException(e); + } + File download = new File(downloads); + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + + + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = null; + try { + sign = PhotoUtil.createSign(jsonObject); + } catch (Exception e) { + throw new RuntimeException(e); + } + String sig = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + sig); + String s1 = PhotoUtil.sign(sig); + System.out.println("我是加密 " + s1); + + String folder = PhotoUtil.upload(s1,"560703665a",a,fpath,download); + System.out.println("返回 " + folder); + + + + } + }else { + String downloads = null; + try { + downloads = PhotoUtil.download(file3); + } catch (IOException e) { + throw new RuntimeException(e); + } + File download = new File(downloads); + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = null; + try { + sign = PhotoUtil.createSign(jsonObject); + } catch (Exception e) { + throw new RuntimeException(e); + } + String sig = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + sig); + String s1 = PhotoUtil.sign(sig); + System.out.println("我是加密 " + s1); + + String folder = PhotoUtil.upload(s1,"560703665a",a,fpath,download); + System.out.println("返回 " + folder); + } + if (file2.contains(" ")){ + String[] arr = file2.split(" "); + for(String s : arr){ + String downloads = null; + try { + downloads = PhotoUtil.download(s); + } catch (IOException e) { + throw new RuntimeException(e); + } + File download = new File(downloads); + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = null; + try { + sign = PhotoUtil.createSign(jsonObject); + } catch (Exception e) { + throw new RuntimeException(e); + } + String sig = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + sig); + String s1 = PhotoUtil.sign(sig); + System.out.println("我是加密 " + s1); + + String folder = PhotoUtil.upload(s1,"560703665a",a,fpath,download); + System.out.println("返回 " + folder); + } + }else { + String downloads = null; + try { + downloads = PhotoUtil.download(file2); + } catch (IOException e) { + throw new RuntimeException(e); + } + File download = new File(downloads); + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = null; + try { + sign = PhotoUtil.createSign(jsonObject); + } catch (Exception e) { + throw new RuntimeException(e); + } + String sig = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + sig); + String s1 = PhotoUtil.sign(sig); + System.out.println("我是加密 " + s1); + + String folder = PhotoUtil.upload(s1,"560703665a",a,fpath,download); + System.out.println("返回 " + folder); + } + if (file1.contains(" ")){ + String[] arr = file1.split(" "); + for(String s : arr){ + String downloads = null; + try { + downloads = PhotoUtil.download(s); + } catch (IOException e) { + throw new RuntimeException(e); + } + File download = new File(downloads); + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = null; + try { + sign = PhotoUtil.createSign(jsonObject); + } catch (Exception e) { + throw new RuntimeException(e); + } + String sig = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + sig); + String s1 = PhotoUtil.sign(sig); + System.out.println("我是加密 " + s1); + + String folder = PhotoUtil.upload(s1,"560703665a",a,fpath,download); + System.out.println("返回 " + folder); + } + }else { + String downloads = null; + try { + downloads = PhotoUtil.download(file1); + } catch (IOException e) { + throw new RuntimeException(e); + } + File download = new File(downloads); + + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath",fpath); + + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = null; + try { + sign = PhotoUtil.createSign(jsonObject); + } catch (Exception e) { + throw new RuntimeException(e); + } + String sig = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + sig); + String s1 = PhotoUtil.sign(sig); + System.out.println("我是加密 " + s1); + + String folder = PhotoUtil.upload(s1,"560703665a",a,fpath,download); + System.out.println("返回 " + folder); + } + + }); + + + + + + + + return CompletableFuture.completedFuture(200); + } +} \ 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..fc2f060 --- /dev/null +++ b/src/main/java/com/example/sso/test/A.java @@ -0,0 +1,156 @@ +package com.example.sso.test; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; + +import java.io.UnsupportedEncodingException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +@Slf4j +public class A { + + public static void main(String[] args) throws Exception { + + + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + + + + + String jsonString ="{\n" + + " \"accessRole\": \"45\",\n" + + " \"accidentDate\": \"2021-07-25 16:20:00\",\n" + + " \"actualValue\": 14065.00,\n" + + " \"carMark\": \"晋H5748\",\n" + + " \"carMarkType\": \"01\",\n" + + " \"caseType\": \"1\",\n" + + " \"damageType\": \"01\",\n" + + " \"insuranceCodeList\": \"C060101200,C060101310\",\n" + + " \"insuranceCodes\": \"C060101200\",\n" + + " \"insuredName\": \"忠运输装卸服务队\",\n" + + " \"isYFast\": \"0\",\n" + + " \"orgName\": \"安诚财产保险股份有限公司榆林中心支公司\",\n" + + " \"reportNo\": \"BA030061002021005755\",\n" + + " \"rescueFeeInfo\": {\n" + + " \"cranePrice\": 0,\n" + + " \"craneStartingFare\": 0,\n" + + " \"craneWorkTime\": 0,\n" + + " \"otherFee\": 0,\n" + + " \"trailerMileagePrice\": 0,\n" + + " \"trailerOverMileage\": 0,\n" + + " \"trailerStartingFare\": 0\n" + + " },\n" + + " \"trafficMileage\": 20,\n" + + " \"vin\": \"LG6ZDCNH0GY2\",\n" + + " \n" + + " \"communicationList\": [],\n" + + " \"extensionBtnList\": [\n" + + " {\n" + + " \"btnLink\": \"http://10.1.4.124/claim/jsp/claimflow/flowStatic.jsp?rptNo=BA030061002021005755\",\n" + + " \"btnLocation\": 1,\n" + + " \"btnName\": \"流程图\",\n" + + " \"openType\": 1,\n" + + " \"seqNo\": 2\n" + + " }\n" + + " ],\n" + + " \"insuranceCompanyNo\": \"ACIC\",\n" + + " \"isSurvey\": \"N\",\n" + + " \"leakageMangement\": {\n" + + " \"caseTimes\": 1\n" + + " },\n" + + " \"lossFitsItemList\": [\n" + + " {\n" + + " \"adjustFitsFee\": 0.00,\n" + + " \"audit\": 0,\n" + + " \"auditDamagePrice\": 540.00,\n" + + " \"auditPrice\": 600.00,\n" + + " \"createDate\": \"2021-08-02 09:48:04\",\n" + + " \"fitsCount\": 1,\n" + + " \"fitsFeeRateTypeEx\": 3,\n" + + " \"fitsName\": \"前挡风玻璃\",\n" + + " \"fitsSurveyPrice\": 1250.00,\n" + + " \"idDcInsLossDetail\": \"C88A4CB3FCBD8A4FE0530438210AE9BF\",\n" + + " \"isDel\": \"N\",\n" + + " \"recycle\": 0,\n" + + " \"reduceRemnant\": 0.00,\n" + + " \"verifyReduce\": 0.00\n" + + " }\n" + + " ],\n" + + " \"lossManpowerItemList\": [\n" + + " {\n" + + " \"auditDamagePrice\": 500.00,\n" + + " \"createDate\": \"2021-08-02 09:48:04\",\n" + + " \"idDcInsLossDetail\": \"C88A4CB3FCE18A4FE0530438210AE9BF\",\n" + + " \"isDel\": \"N\",\n" + + " \"manpowerItemName\": \"拆装更换发动机受损件 水箱 中冷器 风圈\",\n" + + " \"manpowerSurveyPrice\": 1000.00\n" + + " }\n" + + " ],\n" + + " \"lossOuterFitsItemList\": [],\n" + + " \"lossSeqNo\": \"21000678297\",\n" + + " \"lossSeqNoHis\": \"\",\n" + + " \"operatorDptCde\": \"61\",\n" + + " \"operatorName\": \"李\",\n" + + " \"operatorRole\": \"47\",\n" + + " \"operatorUm\": \"161021491\",\n" + + " \"opinionDescribe\": \"双证在查勘前端资料,总价协商13000,工时费低请老师调整按13000审核\",\n" + + " \"lossAreaList\":[{\n" + + " \"provinceCode\":\"610000\",\n" + + " \"cityList\": [\n" + + " \"610100\",\n" + + " \"610200\",\n" + + " \"610300\",\n" + + " \"610400\",\n" + + " \"610500\",\n" + + " \"610600\",\n" + + " \"610700\",\n" + + " \"610800\",\n" + + " \"610900\",\n" + + " \"611000\"\n" + + " ]\n" + + " }],\n" + + " \"readonly\": \"Y\"\n" + + "}\n" ; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + + JSONObject object = new JSONObject(); + object.put("siteCode" , id); + object.put("reqData" , s); + object.put("signature" , signatureData); + String jsonString1 = object.toJSONString(); + System.out.println("我是参数 " + jsonString1); + + String newlossplatform = YiZhangUtil.page(jsonString1); + JSONObject jsonObject1 = JSON.parseObject(newlossplatform); + String signature = jsonObject1.getString("signature"); + String respData = jsonObject1.getString("respData"); + String msg = jsonObject1.getString("msg"); + String code = jsonObject1.getString("code"); + boolean b = YiZhangUtil.verifySignature(code + msg + respData, KEY, signature); + if (b == true) { + byte[] bytes = Base64.decodeBase64(respData); + String result = new String(bytes); + log.info("返回的url " +result ); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url",result); + + + }else { + + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("url", "失败: "+msg + msg); + + + } + } +} 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..0195182 --- /dev/null +++ b/src/main/java/com/example/sso/test/B.java @@ -0,0 +1,49 @@ +package com.example.sso.test; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.util.AnQuanUtil; +import com.example.sso.util.V5utils; +import com.example.sso.util.YiZhangUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; + +import java.io.UnsupportedEncodingException; + +@Slf4j +public class B { + public static void main(String[] args) throws Exception { + + String id = "YJIC"; + String skey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6nzuQzigcBA7vy38odxTg+7Ez2Ah+WEz0FktbJhB9ZNQks001Y1Qf3gQr43V/eXefpOOToYYn7uXZ7PXoF4pSJSHRtkGag+8DL8WXSsPRe5ABTuSbic340oEZ0SzZEDVKqUlTAjKuCd/41sjVdbc2PHhaLH992RQOtzb40Bs/srJR2gX+qwJQFVtRfQEpsRqwpYtB7ESw7k6Ds9xpvWtzClyTL44xUL94pr0k9be2SXfedP5jgJzO2WQCYFbRTn+nP2gAqxXq36zaGUAo7J61s1h7G3b1mE1yc62WDSJfL3nBOoIOYlzbm7TuCYn79L+X0E8311w1cTqsYhAvjZEjAgMBAAECggEAHGHBHlmsEe6wEtoBAbdyjnDY10igqg5lza1iUn9sfJWMCfTW5iqwDZSnT8FtCjD/92CNV9N14rbbcBQwpdaGq82H4iv0uDoebH6kb0jolQBUu04zSFBh6dih17pPNsfXQv6R7zTjXkKUNHT94DDh5za1GwmvbgVInqBQlPCZZEtXX9xl/WBjkHo0reLru4H9rbrE0lI2si3cW7raxHRm5JlgLr0Gpigq3wXZ8dBYIXHmI2ru0DR4B0p2+Rlve4PvUx/7kYfp0QMed4Dvb3wXc+/UJNl+RvAebMi3sPB3CYqFbgU9byTvcmBkhcvuhJbMKpRl1Eg3vpYUPGaClNOXwQKBgQDplsLYs237nH3VRtbCsDPA8XRB06xmH/MNUuKSP5WNcCQZQXW9+YnZj5JgeV/q3WHCRPBxX4zuovpLDigf0Pc7+1HKvCoTLuF4xZsxiKaH3tANOzoOPnQEFcCFVshU9LAJg98XGFOtUdX8hvwKF2mssiXwSqF+6UCATGh+XEPmwwKBgQDMhuep+Tebs8cP46uSEUSbr9JQ7aUeR7bXowg+CJTWt4H+yhRKcmuC0FOZROpu0h+iw73fkA4UCxXGB3JtYJIp4e9yITNh5faqXjkYWYzTnyULe4ejNtYRMSkW5J+MGXlGXA8SL0yYskgFjgE9aD8hWRQNl1hVLGWrO/irz0bGIQKBgQCYvdJvLPUQAEZv/cBU0i8lTT2+BZHHvcCKx9YL17QNJnUUZq99J/0x3CXVG8jSpSxVggrPt7FKIhwUlA88rsHb4Pyc2umQXall9aEDhN2QHuxgmofd5IysVyTqi9K3asDpl+d7DJc60DZiyElqt+CL4nnYZJSxjgh1XIE/j0l/TQKBgCDZcg/sxS+u2kQFDyNwvpI61Q7GfIS2g/lyZ/p+qlkqNCjWEBg89GOYTjUJypVuDkK4KaDkpD434ZFi1NAYeKFddnXgOz54DvwiEg2FJIdAwlRrzMc8IXm1aaIRqkZ4OPBCDPGgwy6rQ8IQosZYHfufMQdVzYwwi0vLYA9IRVfBAoGBAIdl1XjIBd7mfpRMCI64yC5T9ITNbJlWcgvhd9VIHaoWSzX9xLKi19UNPQ6XY1UyfXfMCTQOv7LRJD3gTusQgHIArBaqXLXCoBJGf5/Zg8ywBfw1YGQPLiBBXuCaHdhzhVBAQwVVqjOkLZexL+QSBQ2p+HLNLp/ZJvJWitKdZukF"; + String jsonString = "{\n" + + "\t\"insuranceCompanyNo\" : \"YJIC\",\n" + + "\t\"operatorUm\" : \"03\",\n" + + "\t\"lossSeqNo\" : \"250708016901\",\n" + + "\t\"garageCode\" : \"YJIC110100106214\",\n" + + "\t\"carDealerCode\" : \"\",\n" + + "\t\"idDcInsuranceGarageRule\" : \"\"\n" + + "}\n"; + String KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvUJDbPFcmSznhckyikj16HCFeHHmjPfxxdUczC5kY6CuXkOmt/YOKmOWWZvLSrEMwBL8ljR7Vgq9xnKUqMXybWHUC2lWmoqhQhC/f4wndvcvzWeHnofgUByoavYQneEiNUfcMfQ44DvWSIU6hyzh+mHA1pwDKiHBA4XiAdFJpFoitVo97S3BJ915HAiH9gTDSC4Jy5f59MRqDgNaV5ooxfr+g5GWo2TCEsDYGTCj7OnoaZcK21MzlhfLWgIGpWvoi69i3AbdBV+vlNHgH23PCvEEcp7n7sPZ0lLFe/d6McdV0BqTbw/+bEP2QjCdhll8hVazECnMzItM6GDVLHYFQIDAQAB"; + String s = Base64.encodeBase64String(jsonString.getBytes("UTF-8")); + + + + + String signatureData = YiZhangUtil.signatureData("YJIC" + Base64.encodeBase64String(jsonString.getBytes("UTF-8")), skey); + JSONObject redis = new JSONObject(); + redis.put("reqData",s); + redis.put("siteCode",id); + redis.put("signature",signatureData); + String jsonString2 = redis.toJSONString(); + String key = YiZhangUtil.key(jsonString2); + + System.out.println("rediskey " + key); + JSONObject jsonObject = JSON.parseObject(key); + + String newlossplatform1 = YiZhangUtil.newlossplatform(id, s, signatureData); + String replace = newlossplatform1.replace("GET ", ""); + System.out.println(replace); + } +} 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..3ce1ce0 --- /dev/null +++ b/src/main/java/com/example/sso/test/C.java @@ -0,0 +1,26 @@ +package com.example.sso.test; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.sso.dao.PeiJianDingSun_; +import com.example.sso.dao.Result_; +import com.example.sso.util.PhotoUtil; +import lombok.extern.slf4j.Slf4j; + +import javax.jws.soap.SOAPBinding; +import java.io.IOException; + +@Slf4j +public class C { + public static void main(String[] args) throws IOException { + String file3 = "https://www.jiyuankeshang.com/_/file/get_file?bucket=jdy-file&key=c87cafce-e2a5-498f-97af-f0d227b8920d&filename=IMG20250527202338.jpg&expires=1753689599&token=Ko7O1AqDnF3mL1LE:06tTELjIQtTpgBOEuhJvNaDjcTU= https://www.jiyuankeshang.com/_/file/get_file?bucket=jdy-file&key=ee914a27-a3c0-48dd-b463-3b073e6beedd&filename=IMG20250527202323.jpg&expires=1753689599&token=Ko7O1AqDnF3mL1LE:FPIz7WP9vBAEzJIBA-Q8ETFXf6I= https://www.jiyuankeshang.com/_/file/get_file?bucket=jdy-file&key=a30d16d0-0d12-4b33-a88c-ce2f9128922e&filename=IMG20250527202312.jpg&expires=1753689599&token=Ko7O1AqDnF3mL1LE:a26_uLMl68alFuwB3hCZftuswn4= https://www.jiyuankeshang.com/_/file/get_file?bucket=jdy-file&key=76b12639-94a7-4033-81a1-6438ca0afc58&filename=IMG20250527202310.jpg&expires=1753689599&token=Ko7O1AqDnF3mL1LE:FcyEKhpJw8io4T8gVTaCMu-c3lI="; + + if (file3.contains(" ")){ + String[] arr = file3.split(" "); + for(String s : arr){ + PhotoUtil.download(s); + } + } + + } +} 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..bdaad46 --- /dev/null +++ b/src/main/java/com/example/sso/test/D.java @@ -0,0 +1,47 @@ +package com.example.sso.test; + +import com.example.sso.util.PhotoUtil; +import com.example.sso.util.TimeUtil; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +public class D { + public static void main(String[] args) throws Exception { + Map jsonObject = new HashMap<>(); + jsonObject.put("appid","560703665a"); + long time = TimeUtil.time(); + int a =(int)time; + // System.out.println("我是时间戳 " + time); + jsonObject.put("timestamp", String.valueOf(a)); + jsonObject.put("fpath","图库/test2/"); + + + + System.out.println("我是参数 " + jsonObject ); + + Map sign = PhotoUtil.createSign(jsonObject); + String s = PhotoUtil.mapToUrlEncodedString(sign); + System.out.println("我是签名 " + s); + String s1 = PhotoUtil.sign(s); + System.out.println("我是加密 " + s1); + + + + + + + + + + File file = new File("D:\\下载模板\\新建 Microsoft PowerPoint 演示文稿.pptx"); + String absolutePath = file.getAbsolutePath(); + System.out.println("绝对路径: " + absolutePath); + + String folder = E.upload(s1,"560703665a",a,"图库/test2/",file); + System.out.println("返回 " + folder); + + + } +} 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..f516099 --- /dev/null +++ b/src/main/java/com/example/sso/test/E.java @@ -0,0 +1,138 @@ +package com.example.sso.test; + +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.mime.HttpMultipartMode; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.FileBody; +import org.apache.http.entity.mime.content.StringBody; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +import java.io.File; +import java.io.IOException; + +public class E { + +// public static void main(String[] args) { +// String apiUrl = "http://101.42.37.197/api/file/upload"; +// String appid = "560703665a"; +// String fpath = "图库/test2/"; +// String filePath = "D:\\下载模板\\OIP-C.jpg"; // 替换为实际文件路径 +// long timestamp = 1753755226l; +// +// // 调用上传方法 +// String response = uploadFile(apiUrl, appid, fpath, filePath, timestamp); +// System.out.println("API响应结果: " + response); +// } + + + +// public static void main1(String s1, String appid, int time, String path, String fileAbsolutePath) { +//// String apiUrl = "http://101.42.37.197/api/file/upload"; +//// String appid = "560703665a"; +//// String fpath = "图库/test2/"; +//// String filePath = "D:\\下载模板\\OIP-C.jpg"; // 替换为实际文件路径 +//// long timestamp = 1753755226l; +// +// // 调用上传方法 +// String response = uploadFile(s1, appid, appid, path, fileAbsolutePath, time); +// System.out.println("API响应结果: " + response); +// } + + public static String upload(String authToken, String appid, int timestamp, + String fpath, File file) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + try { + HttpPost httpPost = new HttpPost("http://101.42.37.197/api/file/upload"); + + // 1. 构建Multipart请求体(form-data格式) + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.setCharset(java.nio.charset.StandardCharsets.UTF_8); + + // 2. 添加文本参数(与图片中的参数完全一致) + builder.addPart("appid", new StringBody(appid, ContentType.TEXT_PLAIN)); + builder.addPart("fpath", new StringBody(fpath, ContentType.TEXT_PLAIN)); + builder.addPart("timestamp", new StringBody(String.valueOf(timestamp), ContentType.TEXT_PLAIN)); + + // 3. 添加文件参数(关键修改) + builder.addBinaryBody("file",new File(String.valueOf(file))); + + // 4. 设置请求头 + httpPost.setHeader("Authorization", authToken); + httpPost.setEntity(builder.build()); + + // 5. 发送请求并处理响应 + try (CloseableHttpResponse response = httpClient.execute(httpPost)) { + HttpEntity entity = response.getEntity(); + String responseBody = EntityUtils.toString(entity, "UTF-8"); + System.out.println("响应状态码: " + response.getStatusLine().getStatusCode()); + System.out.println("响应内容: " + responseBody); + return responseBody; + } + } catch (Exception e) { + e.printStackTrace(); + return "上传失败: " + e.getMessage(); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + + public static String uploadFile(String s1, String appid, long timestamp, String fpath, + String filePath ) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost("http://101.42.37.197/api/file/upload"); + + try { + // 1. 验证文件是否存在 + File file = new File(filePath); + if (!file.exists()) { + throw new IllegalArgumentException("文件不存在: " + filePath); + } + + httpPost.setHeader("Authorization", s1); + + // 2. 构建Multipart请求体 + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.setCharset(java.nio.charset.StandardCharsets.UTF_8); + builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); + + // 3. 添加文本参数(与图片中的参数完全一致) + builder.addPart("appid", new StringBody(appid, ContentType.TEXT_PLAIN)); + builder.addPart("fpath", new StringBody(fpath, ContentType.TEXT_PLAIN)); + builder.addPart("timestamp", new StringBody(String.valueOf(timestamp), ContentType.TEXT_PLAIN)); + + // 4. 添加文件参数(字段名必须为"file") + builder.addPart("file", new FileBody(file, ContentType.MULTIPART_FORM_DATA, file.getName())); + + // 5. 设置请求体 + httpPost.setEntity(builder.build()); + + // 6. 发送请求并获取响应 + try (CloseableHttpResponse response = httpClient.execute(httpPost)) { + HttpEntity entity = response.getEntity(); + String responseBody = EntityUtils.toString(entity, "UTF-8"); + System.out.println("响应状态码: " + response.getStatusLine().getStatusCode()); + return responseBody; + } + } catch (Exception e) { + e.printStackTrace(); + return "上传失败: " + e.getMessage(); + } finally { + try { + httpClient.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} diff --git a/src/main/java/com/example/sso/test/FileSuccess.java b/src/main/java/com/example/sso/test/FileSuccess.java new file mode 100644 index 0000000..f399308 --- /dev/null +++ b/src/main/java/com/example/sso/test/FileSuccess.java @@ -0,0 +1,54 @@ +package com.example.sso.test; + +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.FileBody; +import org.apache.http.entity.mime.content.StringBody; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +import java.io.File; +import java.nio.charset.StandardCharsets; + +public class FileSuccess { + public static String upload(String s1, String appid, int time, String path, File file) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + try { + HttpPost httpPost = new HttpPost("http://101.42.37.197/api/file/upload"); + + // 使用MultipartEntityBuilder构建多部分表单 + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.addPart("appid", new StringBody(appid, StandardCharsets.UTF_8)); + builder.addPart("timestamp", new StringBody(String.valueOf(time), StandardCharsets.UTF_8)); + builder.addPart("fpath", new StringBody(path, StandardCharsets.UTF_8)); + + // 添加文件部分(关键修改) + builder.addPart("file", new FileBody(file)); // FileBody会自动处理文件内容和MIME类型 + + // 设置请求头和实体 + httpPost.setEntity(builder.build()); + httpPost.setHeader("Authorization", s1); + + // 发送请求并处理响应 + try (CloseableHttpResponse response = httpClient.execute(httpPost)) { + HttpEntity entity = response.getEntity(); + String responseBody = EntityUtils.toString(entity, StandardCharsets.UTF_8); + System.out.println("响应状态码: " + response.getStatusLine().getStatusCode()); + System.out.println("响应内容: " + responseBody); + return responseBody; // 返回服务器响应内容更合理 + } + } catch (Exception e) { + e.printStackTrace(); + return "上传失败: " + e.getMessage(); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } +} diff --git a/src/main/java/com/example/sso/test/HmacGenerator.java b/src/main/java/com/example/sso/test/HmacGenerator.java new file mode 100644 index 0000000..b93999c --- /dev/null +++ b/src/main/java/com/example/sso/test/HmacGenerator.java @@ -0,0 +1,50 @@ +package com.example.sso.test; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; +import java.util.Base64; + +public class HmacGenerator { + public static void main(String[] args) { + // 图片中的原始输入参数(注意包含URL编码的中文字符) + String input = "11"; + // 图片中显示的完整密钥 + String secretKey = "717ff0996ac8ae530f3d710de6a2016b"; + + try { + // 1. 计算HMAC-SHA256 + byte[] hmacSha256 = calculateHmacSha256(input, secretKey); + + // 2. 输出HEX格式(与图片完全一致) + String hexResult = bytesToHex(hmacSha256); + System.out.println("计算结果(HEX):"); + System.out.println(hexResult); + + // 3. 输出Base64格式(与图片完全一致) + String base64Result = Base64.getEncoder().encodeToString(hmacSha256); + System.out.println("\n计算结果(Base64):"); + System.out.println(base64Result); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static byte[] calculateHmacSha256(String data, String key) throws Exception { + // 使用UTF-8编码(与图片设置一致) + SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + Mac mac = Mac.getInstance("HmacSHA256"); + mac.init(secretKeySpec); + return mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + } + + private static String bytesToHex(byte[] bytes) { + StringBuilder hexString = new StringBuilder(); + for (byte b : bytes) { + String hex = String.format("%02x", b); + hexString.append(hex); + } + return hexString.toString(); + } +} \ No newline at end of file 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> getFormWidgets () { + List> widgets = null; + try { + Map result = (Map) this.sendRequest("POST", urlGetWidgets, new HashMap()); + widgets = (List>) result.get("widgets"); + } catch (Exception e) { + e.printStackTrace(); + } + return widgets; + } + + + + public List> createUser(String username, String name, Integer[] departments){ + Map data = null; + try { + Map requestData = new HashMap(); + requestData.put("username",username); + requestData.put("name",name); + requestData.put("departments",departments); + Map result = (Map) this.sendRequest("POST",urlCreateUSer, requestData); + data = (Map) result.get("data"); + }catch (Exception e) { + e.printStackTrace(); + } + return (List>) data; + } + /** + * 按条件获取表单数据 + * @param limit - 数据条数 + * @param fields - 显示的字段 + * @param filter - 过滤条件 + * @param dataId - 上次取数的最后一个数据id + * @return - 返回的数据 + */ + public List> getFormData (final int limit, final String[] fields, final Map filter, String dataId) { + List> data = null; + try { + // 构造请求数据 + Map requestData = new HashMap() { + { + put("limit", limit); + put("fields", fields); + put("filter", filter); + } + }; + if (dataId != null) { + requestData.put("data_id", dataId); + } + Thread.sleep(1000); + Map result = (Map) this.sendRequest("POST", urlGetFormData, requestData); + data = (List>) result.get("data"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + /** + * 按条件获取全部表单数据 + * @return 表单数据 + */ + public List> getAllFormData (String[] fields, Map filter) { + List> dataList = new ArrayList>(); + String offset = null; + do { + List> data = this.getFormData(100, fields, filter, offset); + // 获取返回的数据 + if (data == null || data.isEmpty()) { + // 已经获取全部的数据 + offset = null; + } else { + // 获取最后一条数据的id + offset = (String) data.get(data.size() - 1).get("_id"); + dataList.addAll(data); + } + } while (offset != null); + return dataList; + } + + + + + /** + * 搜索单条数据 + * @param dataId - 要查询的数据id + * @return 表单数据 + */ + public Map retrieveData (String dataId) { + Map data = null; + try { + Map requestData = new HashMap(); + requestData.put("data_id", dataId); + Map result = (Map) this.sendRequest("POST", urlRetrieveData, requestData); + data = (Map) result.get("data"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + /** + * 新增部门 + * @param - 创建数据内容 + * @return 更新后的数据 + */ + public Map createDataDep (Map requestData) { + Map data = null; + try { + Map result = (Map) this.sendRequest("POST",urlCreateDep, requestData); +// data = (Map) result.get("department"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + + + /** + * 批量创建部门 + * @param - 创建数据内容 + * @return 更新后的数据 + */ + public Map createDataDepAll (Map requestData) { + Map data = null; + try { + Map result = (Map) this.sendRequest("POST",urlCreateDepAll, requestData); +// data = (Map) result.get("department"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + + /** + * 批量创建人员 + * @param - 创建数据内容 + * @return 更新后的数据 + */ + public Map createDataPersonAll (Map requestData) { + Map data = null; + try { + Map result = (Map) this.sendRequest("POST",urlCreatePersonAll, requestData); + System.out.println(result); + return result; +// data = (Map) result.get("department"); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 获取部门信息 + * @param - 创建数据内容 + * @return 更新后的数据 + */ + public Map getDepartment() { + Map map=new HashMap<>(); + map.put("has_child",1); + Map data = null; + try { + Map result = (Map) this.sendRequest("POST",urlGetDepartment,map); + System.out.println(result); + return result; +// data = (Map) result.get("department"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + + /** + * 获取部门成员信息 + * @param - 创建数据内容 + * @return 更新后的数据 + */ + public Map getDepartmentPerson(String dno) { + Map map=new HashMap<>(); +// map.put("has_child",1); + Map data = null; + try { + Map result = (Map) this.sendRequest("POST",WEBSITE+"/api/v2/department/"+dno+"/member_list",map); + return result; +// data = (Map) result.get("department"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + public Map deleteDepartment(Integer no) { + Map map=new HashMap<>(); + map.put("has_child",1); + Map data = null; + try { + Map result = (Map) this.sendRequest("POST",WEBSITE+"/api/v2/department/"+no+"/delete",new HashMap<>()); + System.out.println(result); + return result; +// data = (Map) result.get("department"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + + +// /** +// * 新增部门 +// * @param - 创建数据内容 +// * @return 更新后的数据 +// */ +// public Map createDataDep (Map requestData) { +// Map data = null; +// try { +// Map result = (Map) this.sendRequest("POST",urlCreateDep, requestData); +// data = (Map) result.get("data"); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// return data; +// } + + + /** + * 创建单条数据 + * @param rawData - 创建数据内容 + * @return 更新后的数据 + */ + public Map createData (Map rawData) { + Map data = null; + try { + Map requestData = new HashMap(); + requestData.put("data", rawData); + requestData.put("is_start_trigger",true); + requestData.put("is_start_workflow",true); + Map result = (Map) this.sendRequest("POST",urlCreateData, requestData); + data = (Map) result.get("data"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + + + /** + * 获取所有的人在简道云 + * @return 更新后的数据 + */ + public List> getAllPeople () { + List> data = null; + try { + Map requestData = new HashMap(); + requestData.put("has_child",true); +// System.out.println("准备发起HTTP请求!"+urlGetPeople); + Map result = (Map) this.sendRequest("POST",urlGetPeople, requestData); + data = (List>) result.get("users"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + /** + * 更新单条数据 + * @return 更新结果 + */ + public Map updateData (String dataId, Map update) { + Map data = null; + try { + Map requestData = new HashMap(); + requestData.put("data_id", dataId); + requestData.put("data", update); + requestData.put("is_start_trigger",true); + Map result = (Map) this.sendRequest("POST", urlUpdateData, requestData); + data = (Map) result.get("data"); + } catch (Exception e) { + e.printStackTrace(); + } + return data; + } + + /** + * 删除单条数据 + * @return 删除结果 + */ + public Map deleteData (String dataId) { + Map result = null; + try { + Map requestData = new HashMap(); + requestData.put("data_id", dataId); + result = (Map) this.sendRequest("POST", urlDeleteData, requestData); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + /** + * 批量新增数据 + * @return 新增结果 + */ + public Map dataBatchCreate (JSONArray data_list,Boolean is_start_workflow) { + Map result = null; + try { + UUID uuid = UUID.randomUUID(); + Map requestData = new HashMap(); + requestData.put("transaction_id", uuid.toString()); + requestData.put("data_list", data_list); + requestData.put("is_start_workflow", is_start_workflow); + result = (Map) this.sendRequest("POST", urlDataBatchCreate, requestData); + System.out.println(result); + result.put("transaction_id",uuid.toString()); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + +} \ No newline at end of file diff --git a/src/main/java/com/example/sso/util/AnQuanUtil.java b/src/main/java/com/example/sso/util/AnQuanUtil.java new file mode 100644 index 0000000..277f2f1 --- /dev/null +++ b/src/main/java/com/example/sso/util/AnQuanUtil.java @@ -0,0 +1,101 @@ +package com.example.sso.util; + +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +public class AnQuanUtil { + //出单 + public static String chu(String jsonBody) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("http://cd.yinjian.com/api/open/insbill/add"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + //退单 + public static String tui(String jsonBody) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("http://cd.yinjian.com/api/open/insbill/abort"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + +} diff --git a/src/main/java/com/example/sso/util/DataBatchUtil.java b/src/main/java/com/example/sso/util/DataBatchUtil.java new file mode 100644 index 0000000..53e3af0 --- /dev/null +++ b/src/main/java/com/example/sso/util/DataBatchUtil.java @@ -0,0 +1,42 @@ +package com.example.sso.util; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class DataBatchUtil { + /** + * 批量新增数据 + * @param appId 应用ID + * @param entryId 表单ID + * @param apiKey 秘钥 + * @param datas 原始数据源 + * @param fields 简道云字段别名 + * @param fields_data data里面的字段值key,需要与fields一一对应起来。 + */ + public static Map dataBatchCreate(String appId, String entryId, String apiKey, JSONArray datas, JSONArray fields, JSONArray fields_data){ + try { + APIUtils apiUtils=new APIUtils(appId,entryId,apiKey); + JSONArray data_list=new JSONArray();//封装修饰好的数据 + for (Object o1:datas){ + JSONObject o=(JSONObject)o1; + Map map1=new HashMap(){ + { + for (int i=0;i() {{ put("value",o.get(fields_data.getString(finalI)));}}); + } + } + }; + data_list.add(map1); + } + return apiUtils.dataBatchCreate(data_list,false); + }catch (Exception e){ + e.printStackTrace(); + } + return null; + } + +} diff --git a/src/main/java/com/example/sso/util/HttpUtil.java b/src/main/java/com/example/sso/util/HttpUtil.java new file mode 100644 index 0000000..c1178e3 --- /dev/null +++ b/src/main/java/com/example/sso/util/HttpUtil.java @@ -0,0 +1,216 @@ +package com.example.sso.util; + +import java.io.IOException; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.http.Consts; +import org.apache.http.HttpEntity; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.config.Registry; +import org.apache.http.config.RegistryBuilder; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; + +/** * Http工具类,发送Http请求, Get请求请将参数放在url中 Post请求请将参数放在Map中 * * @author 程高伟 * @date 2017年1月5日 下午6:03:50 */ +public class HttpUtil { + private static final Logger log = LoggerFactory.getLogger(HttpUtil.class); + private static final CloseableHttpClient httpclient = HttpClients.createDefault(); + private static final String userAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36"; + + public static SSLContext createIgnoreVerifySSL() throws NoSuchAlgorithmException, KeyManagementException { + SSLContext sc = SSLContext.getInstance("SSLv3"); + + // 实现一个X509TrustManager接口,用于绕过验证,不用修改里面的方法 + X509TrustManager trustManager = new X509TrustManager() { + @Override + public void checkClientTrusted( + java.security.cert.X509Certificate[] paramArrayOfX509Certificate, + String paramString) throws CertificateException { + } + + @Override + public void checkServerTrusted( + java.security.cert.X509Certificate[] paramArrayOfX509Certificate, + String paramString) throws CertificateException { + } + + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return null; + } + }; + + sc.init(null, new TrustManager[] { trustManager }, null); + return sc; + } + /** * 发送HttpGet请求 * * @param url * 请求地址 * @return 返回字符串 */ + public static String sendGet(String url) throws KeyManagementException, NoSuchAlgorithmException { + SSLContext sslcontext = createIgnoreVerifySSL(); + + // 设置协议http和https对应的处理socket链接工厂的对象 + Registry socketFactoryRegistry = RegistryBuilder.create() + .register("http", PlainConnectionSocketFactory.INSTANCE) + .register("https", new SSLConnectionSocketFactory(sslcontext)) + .build(); + PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); + CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build(); + String result = null; + CloseableHttpResponse response = null; + try { + HttpGet httpGet = new HttpGet(url); + httpGet.setHeader("User-Agent", userAgent); + response = httpClient.execute(httpGet); + HttpEntity entity = response.getEntity(); + if (entity != null) { + result = EntityUtils.toString(entity,"UTF-8"); + } + } catch (Exception e) { + log.error("处理失败 {}" + e); + e.printStackTrace(); + } finally { + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return result; + } + + /** * 发送HttpPost请求,参数为map * * @param url * 请求地址 * @param map * 请求参数 * @return 返回字符串 */ + public static String sendPost(String url, Map map) { + // 设置参数 + List formparams = new ArrayList(); + for (Map.Entry entry : map.entrySet()) { + formparams.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); + } + // 编码 + UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(formparams, Consts.UTF_8); + // 取得HttpPost对象 + HttpPost httpPost = new HttpPost(url); + // 防止被当成攻击添加的 + httpPost.setHeader("User-Agent", userAgent); + // 参数放入Entity + httpPost.setEntity(formEntity); + CloseableHttpResponse response = null; + String result = null; + try { + // 执行post请求 + response = httpclient.execute(httpPost); + // 得到entity + HttpEntity entity = response.getEntity(); + // 得到字符串 + result = EntityUtils.toString(entity); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return result; + } + + + /** * 发送HttpPost请求,参数为json字符串 * * @param url * @param jsonStr * @return */ + public static String sendPost(String url, String jsonStr,String appkey) throws KeyManagementException, NoSuchAlgorithmException { + //采用绕过验证的方式处理https请求 + SSLContext sslcontext = createIgnoreVerifySSL(); + + // 设置协议http和https对应的处理socket链接工厂的对象 + Registry socketFactoryRegistry = RegistryBuilder.create() + .register("http", PlainConnectionSocketFactory.INSTANCE) + .register("https", new SSLConnectionSocketFactory(sslcontext)) + .build(); + PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); + CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build(); + String result = null; + // 字符串编码 + StringEntity entity = new StringEntity(jsonStr, Consts.UTF_8); + // 设置content-type + entity.setContentType("application/json"); + HttpPost httpPost = new HttpPost(url); + // 防止被当成攻击添加的 + httpPost.setHeader("User-Agent", userAgent); + httpPost.setHeader("Authorization", "Bearer "+appkey); + // 接收参数设置 + httpPost.setHeader("Accept", "application/json"); + httpPost.setEntity(entity); + CloseableHttpResponse response = null; + try { + response = httpClient.execute(httpPost); + HttpEntity httpEntity = response.getEntity(); + result = EntityUtils.toString(httpEntity); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + // 关闭CloseableHttpResponse + if (response != null) { + try { + response.close(); + } catch (IOException e) { + response.getEntity() ; + log.error(e.getMessage()); + } + } + } + return result; + } + + /** * 发送不带参数的HttpPost请求 * * @param url * @return */ + public static String sendPost(String url) { + String result = null; + // 得到一个HttpPost对象 + HttpPost httpPost = new HttpPost(url); + // 防止被当成攻击添加的 + httpPost.setHeader("User-Agent", userAgent); + CloseableHttpResponse response = null; + try { + // 执行HttpPost请求,并得到一个CloseableHttpResponse + response = httpclient.execute(httpPost); + // 从CloseableHttpResponse中拿到HttpEntity + HttpEntity entity = response.getEntity(); + // 将HttpEntity转换为字符串 + result = EntityUtils.toString(entity); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + // 关闭CloseableHttpResponse + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return result; + } +} diff --git a/src/main/java/com/example/sso/util/MathUtil.java b/src/main/java/com/example/sso/util/MathUtil.java new file mode 100644 index 0000000..7c7ff77 --- /dev/null +++ b/src/main/java/com/example/sso/util/MathUtil.java @@ -0,0 +1,31 @@ +package com.example.sso.util; + +import java.text.DecimalFormat; + +public class MathUtil { + + public static void main(String[] args) { + System.out.println(Double.valueOf(formatDouble5(111.159099))); + } + + /** + * 保留两位小数,四舍五入的一个老土的方法 + * @param d + * @return + */ + public static double formatDouble1(double d) { + return (double)Math.round(d*100)/100; + } + + + /** + * 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。 + * 应该是这样使用:System.out.println(String.format("%.2f", d)); + * @param d + * @return + */ + public static Double formatDouble5(double d) { + return Double.valueOf(String.format("%.2f", d)); + } + +} diff --git a/src/main/java/com/example/sso/util/PhotoUtil.java b/src/main/java/com/example/sso/util/PhotoUtil.java new file mode 100644 index 0000000..7839d8f --- /dev/null +++ b/src/main/java/com/example/sso/util/PhotoUtil.java @@ -0,0 +1,253 @@ +package com.example.sso.util; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.entity.mime.HttpMultipartMode; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.FileBody; +import org.apache.http.entity.mime.content.StringBody; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.*; +import java.net.URLEncoder; + +public class PhotoUtil { + public static Map createSign(Map params) throws Exception { + + // 2. 按逐字符顺序排序参数 + Map sortParams = new TreeMap<>(params); + sortParams.putAll(params); + + + return sortParams; + } + + public static String mapToUrlEncodedString(Map params) { + StringBuilder result = new StringBuilder(); + for (Map.Entry entry : params.entrySet()) { + try { + if (result.length() > 0) { + result.append("&"); + } + result.append(URLEncoder.encode(entry.getKey(), "UTF-8")) + .append("=") + .append(URLEncoder.encode(entry.getValue(), "UTF-8")); + } catch (Exception e) { + throw new RuntimeException("URL编码失败", e); + } + } + return result.toString(); + } + + public static String calculateSHA256(String input) throws NoSuchAlgorithmException { + MessageDigest md = MessageDigest.getInstance("SHA-256"); + byte[] hash = md.digest(input.getBytes()); + StringBuilder hexString = new StringBuilder(); + for (byte b : hash) { + String hex = Integer.toHexString(0xff & b); + if (hex.length() == 1) hexString.append('0'); + hexString.append(hex); + } + return hexString.toString(); + } + + public static String createFolder(String s1,String appid,int time,String path, String folderName, String folderTemplateName ) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + + String responseBody = null; + try { + HttpPost httpPost = new HttpPost("http://101.42.37.197/api/file/createFolder"); + + // 构建表单参数(原GET参数移至请求体) + List params = new ArrayList<>(); + params.add(new BasicNameValuePair("appid", appid)); + params.add(new BasicNameValuePair("timestamp", String.valueOf(time))); + params.add(new BasicNameValuePair("fpath", path)); + params.add(new BasicNameValuePair("folderName", folderName)); + params.add(new BasicNameValuePair("folderTemplateName", folderTemplateName)); + + // 编码为表单格式并设置到请求体 + httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); + + // 可选:设置请求头 + + httpPost.setHeader("Authorization", s1); + + // 发送请求并处理响应 + try (CloseableHttpResponse response = httpClient.execute(httpPost)) { + HttpEntity entity = response.getEntity(); + responseBody = EntityUtils.toString(entity, "UTF-8"); + System.out.println("响应状态码: " + response.getStatusLine().getStatusCode()); + System.out.println("响应内容: " + responseBody); + } + } catch (Exception e) { + e.printStackTrace(); + } + return responseBody; + } + + + public static String upload(String s1, String appid, int time, String path, File file) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + try { + HttpPost httpPost = new HttpPost("http://101.42.37.197/api/file/upload"); + + // 使用MultipartEntityBuilder构建多部分表单 + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.addPart("appid", new StringBody(appid, StandardCharsets.UTF_8)); + builder.addPart("timestamp", new StringBody(String.valueOf(time), StandardCharsets.UTF_8)); + builder.addPart("fpath", new StringBody(path, StandardCharsets.UTF_8)); + + // 添加文件部分(关键修改) + builder.addPart("file", new FileBody(file)); // FileBody会自动处理文件内容和MIME类型 + + // 设置请求头和实体 + httpPost.setEntity(builder.build()); + httpPost.setHeader("Authorization", s1); + + // 发送请求并处理响应 + try (CloseableHttpResponse response = httpClient.execute(httpPost)) { + HttpEntity entity = response.getEntity(); + String responseBody = EntityUtils.toString(entity, StandardCharsets.UTF_8); + System.out.println("响应状态码: " + response.getStatusLine().getStatusCode()); + System.out.println("响应内容: " + responseBody); + return responseBody; // 返回服务器响应内容更合理 + } + } catch (Exception e) { + e.printStackTrace(); + return "上传失败: " + e.getMessage(); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + + + + + public static String sign(String input) { + // 图片中的原始输入参数(注意包含URL编码的中文字符) + //t = "11"; + // 图片中显示的完整密钥 + String secretKey = "717ff0996ac8ae530f3d710de6a2016b"; + + String base64Result = null; + String hexResult = null; + try { + // 1. 计算HMAC-SHA256 + byte[] hmacSha256 = calculateHmacSha256(input, secretKey); + + // 2. 输出HEX格式(与图片完全一致) + hexResult = bytesToHex(hmacSha256); + System.out.println("计算结果(HEX):"); + System.out.println(hexResult); + + // 3. 输出Base64格式(与图片完全一致) + base64Result = Base64.getEncoder().encodeToString(hmacSha256); + System.out.println("\n计算结果(Base64):"); + System.out.println(base64Result); + + } catch (Exception e) { + e.printStackTrace(); + } + return hexResult; + } + + + + private static byte[] calculateHmacSha256(String data, String key) throws Exception { + // 使用UTF-8编码(与图片设置一致) + SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + Mac mac = Mac.getInstance("HmacSHA256"); + mac.init(secretKeySpec); + return mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + } + + private static String bytesToHex(byte[] bytes) { + StringBuilder hexString = new StringBuilder(); + for (byte b : bytes) { + String hex = String.format("%02x", b); + hexString.append(hex); + } + return hexString.toString(); + } + + + public static String download(String fileUrl) throws IOException { + String path = ""; + // String fileUrl = "https://www.jiyuankeshang.com/_/file/get_file?bucket=jdy-file&key=518b56ae-3c68-4c61-bd68-b5eb18427d08&filename=%E6%BC%94%E7%A4%BA%E6%95%B0%E6%8D%AE.xlsx&expires=1742968799&token=Ko7O1AqDnF3mL1LE:r6gj1iTAgv2FTQSUALYf4_-uqSY="; // 替换为你要下载的文件URL + String desktopPath = System.getProperty("user.home") + "/Desktop"; + String folderName = "bxfile"; + // String substringAfterThirdDot = V5utils.getSubstringAfterThirdDot(fileUrl, 3); + String substringAfterThirdDot = ""; + if (fileUrl.contains(".png")) { + substringAfterThirdDot = ".png"; + } else if (fileUrl.contains(".pdf")) { + substringAfterThirdDot = ".pdf"; + } else if (fileUrl.contains(".xlsx")) { + substringAfterThirdDot = ".xlsx"; + }else if (fileUrl.contains(".docx")){ + substringAfterThirdDot = ".docx"; + }else if (fileUrl.contains(".jpg")){ + substringAfterThirdDot = ".jpg"; + } + + String uuid = String.valueOf(UUID.randomUUID()); + String fileName = uuid + substringAfterThirdDot; // 你可以根据URL动态生成文件名 + + + // 创建文件夹路径 + Path folderPath = Paths.get("/home/anquantongchou/file"); + + + // 创建文件路径 + Path filePath = folderPath.resolve(fileName); + + + // 下载文件 + URL url = new URL(fileUrl); + try (BufferedInputStream in = new BufferedInputStream(url.openStream()); + FileOutputStream fileOutputStream = new FileOutputStream(filePath.toFile())) { + byte[] dataBuffer = new byte[1024]; + int bytesRead; + while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) { + fileOutputStream.write(dataBuffer, 0, bytesRead); + } + } + + System.out.println("文件已下载到: " + filePath); + + + return filePath.toString(); + } + +} diff --git a/src/main/java/com/example/sso/util/StringUtil.java b/src/main/java/com/example/sso/util/StringUtil.java new file mode 100644 index 0000000..7a83e68 --- /dev/null +++ b/src/main/java/com/example/sso/util/StringUtil.java @@ -0,0 +1,19 @@ +package com.example.sso.util; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class StringUtil { + /** + * 判断是否包含特殊字段 + * + * @param username + * @return + */ + public static Boolean isContainSpecialChar(String username) { + String regEx = "^[0-9a-zA-Z_]{1,}$"; + Pattern p = Pattern.compile(regEx); + Matcher m = p.matcher(username); + return m.find(); + } +} diff --git a/src/main/java/com/example/sso/util/Test.java b/src/main/java/com/example/sso/util/Test.java new file mode 100644 index 0000000..71b9dcf --- /dev/null +++ b/src/main/java/com/example/sso/util/Test.java @@ -0,0 +1,115 @@ +package com.example.sso.util; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class Test { + public static void main(String[] args) { + selectGongBiaoZhun(); + } + + + + public static JSONArray selectGongBiaoZhun() { + //需要修改 appid entryid apikey + APIUtils api = new APIUtils("628eeaace7f28c00089a60cc","62f0f3754af59a0007691522","AXtEol6d7l0w2l5dUuqvhbg2kjzfYv6r"); + final List> condList = new ArrayList>(); + //因为想查询大于50的数据,所以创建一个数组 + JSONArray jsonArray = new JSONArray(); + //在这个数组里面放一个数值类型的数字,用来判断查询范围 + jsonArray.add(""); + condList.add(new HashMap() { + { + put("field", "chufa");//查新字段的名称/别名 + put("method", "empty");//判断的方法 +// put("value", jsonArray);//查询的条件 + } + }); + Map filter = new HashMap() { + { + put("rel", "and"); + put("cond", condList); + } + }; + //字段别名 + List> datas = api.getFormData(10000, new String[]{"chufa"},//身份证,公司,姓名,岗位补贴,燃油补贴,临时补贴,其他补贴 + filter, null); + if (datas == null) { + return null; + } + if (datas.size() == 0) { + return null; + } + for (Map map:datas){ + String id=(String)map.get("_id"); + updateFlowId(id); + } + return null; + } + + /** + * 更新客户报备数据 + * @throws Exception + */ + public static void updateFlowId(String id) { + try { + APIUtils api = new APIUtils("628eeaace7f28c00089a60cc","62f0f3754af59a0007691522","AXtEol6d7l0w2l5dUuqvhbg2kjzfYv6r"); + Map map1; + map1=new HashMap(){ + { + put("chufa",new HashMap() {{ put("value","1");}}); + } + }; + //把封装好的数据创建至简道云 + api.updateData(id,map1); + }catch (Exception e){ + e.printStackTrace(); + } + } + + + public static JSONObject selectGongBiao() { + //需要修改 appid entryid apikey + APIUtils api = new APIUtils("628eeaace7f28c00089a60cc","62ef5405e022900008e9c7b5","AXtEol6d7l0w2l5dUuqvhbg2kjzfYv6r"); + final List> condList = new ArrayList>(); + //因为想查询大于50的数据,所以创建一个数组 + JSONArray jsonArray = new JSONArray(); + //在这个数组里面放一个数值类型的数字,用来判断查询范围 + jsonArray.add(""); + condList.add(new HashMap() { + { + put("field", "fensi");//查新字段的名称/别名 + put("method", "not_empty");//判断的方法 +// put("value", jsonArray);//查询的条件 + } + }); + Map filter = new HashMap() { + { + put("rel", "and"); + put("cond", condList); + } + }; + //字段别名 + List> datas = api.getFormData(10000, new String[]{"id_card","gongsi","name","gangweibutie","ranliaobutie", + "linshibutie","zhengfubutie","fensi","haopaihaoma","qita"},//身份证,公司,姓名,岗位补贴,燃油补贴,临时补贴,其他补贴 + filter, null); + if (datas == null) { + return null; + } + if (datas.size() == 0) { + return null; + } + JSONObject jsonObject=new JSONObject(); + for (Map map:datas){ + String id=(String)map.get("id_card"); + String fensi=(String)map.get("fensi"); + jsonObject.put(id,fensi); + } + return jsonObject; + } +} diff --git a/src/main/java/com/example/sso/util/TimeUtil.java b/src/main/java/com/example/sso/util/TimeUtil.java new file mode 100644 index 0000000..6a16be3 --- /dev/null +++ b/src/main/java/com/example/sso/util/TimeUtil.java @@ -0,0 +1,98 @@ +package com.example.sso.util; + +import java.text.DecimalFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; + +public class TimeUtil { + /** + * 由于时区的原因,调整时区 + * @return + */ + + public static String nowtime(){ + // 获取当前时间 + // 获取当前的日期和时间 + LocalDateTime now = LocalDateTime.now(); + + // 向前推8个小时 + LocalDateTime eightHoursAgo = now.minusHours(8); + + // 创建DateTimeFormatter来定义时间的格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + // 使用formatter格式化日期和时间 + String formattedDateTime = eightHoursAgo.format(formatter); + + + + return formattedDateTime; + } + + + + public static String two(){ + // 获取当前时间 + LocalDateTime now = LocalDateTime.now(); + + // 向前推6个小时 + LocalDateTime adjustedDateTime = now.minusHours(6); + + // 格式化输出 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDateTime = adjustedDateTime.format(formatter); + + + + return formattedDateTime; + } + + + + public static String now(){ + // 获取当前时间 + Date now = new Date(); + + // 定义格式:yyyyMMddHHmmss + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + + // 格式化输出 + String formattedTime = sdf.format(now); + + + + return formattedTime; + + + + } + + public static long time(){ + // 获取当前时间 + long timestamp = System.currentTimeMillis(); + System.out.println("毫秒级时间戳:" + timestamp); + long timestamps = timestamp/1000; + + return timestamps; + + + + } + + + + + + + + + +} diff --git a/src/main/java/com/example/sso/util/V5utils.java b/src/main/java/com/example/sso/util/V5utils.java new file mode 100644 index 0000000..e409d99 --- /dev/null +++ b/src/main/java/com/example/sso/util/V5utils.java @@ -0,0 +1,275 @@ +package com.example.sso.util; + +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +public class V5utils { + /* + 查询多条数据 + */ + public static String list(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/list"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + public static String delete(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/delete"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + //新增 + public static String add(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/create"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + public static String updata(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/update"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + public static String updatass(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/batch_update"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + public static String adds(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/batch_create"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json"); + httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } +} diff --git a/src/main/java/com/example/sso/util/YiZhangUtil.java b/src/main/java/com/example/sso/util/YiZhangUtil.java new file mode 100644 index 0000000..f42a16a --- /dev/null +++ b/src/main/java/com/example/sso/util/YiZhangUtil.java @@ -0,0 +1,381 @@ +package com.example.sso.util; + +import org.apache.commons.codec.binary.Base64; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.Signature; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; + +public class YiZhangUtil { + + public static String newlossplatform(String siteCode,String rediskey,String sign) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpGet httpGet = new HttpGet("https://jkalad.jryzt.com/aiclaimNewGarageinfo/garageRule.html?siteCode=" + siteCode+ "&reqData=" + rediskey + "&signature="+sign ); + String string = httpGet.toString(); + String responseBody = null; + try { + + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpGet); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return string; + } + public static String newlossplatform1(String siteCode,String rediskey,String sign) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpGet httpGet = new HttpGet("https://jkalad.jryzt.com/aiclaimNewGarageinfo/garageApproveList.html?siteCode=" + siteCode+ "&reqData=" + rediskey + "&signature="+sign ); + String string = httpGet.toString(); + String responseBody = null; + try { + + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpGet); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return string; + } + public static String newlossplatform2(String siteCode,String rediskey,String sign) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpGet httpGet = new HttpGet("https://jkalad.jryzt.com/aiclaimNewGarageinfo/garageList.html?siteCode=" + siteCode+ "&reqData=" + rediskey + "&signature="+sign ); + String string = httpGet.toString(); + String responseBody = null; + try { + + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpGet); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return string; + } + + + + public static String signatureData(String data, String priKeyStr) throws Exception { + // 对私钥做base64解码 + byte[] keyBytes = Base64.decodeBase64(priKeyStr); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec); + Signature signature = Signature.getInstance("MD5withRSA"); + signature.initSign(priKey); + // data为要生成签名的源数据字节数组 + signature.update(data.getBytes("UTF-8")); + return Base64.encodeBase64String(Base64.encodeBase64String(signature.sign()).getBytes()); + } + + + public static boolean verifySignature(String data, String pubKeyStr, String signStr) throws Exception { + // 对提供的公钥做base64解码 + byte[] publicKey = Base64.decodeBase64(pubKeyStr); + // 签名需要做二次base64解码 + byte[] sign = Base64.decodeBase64(Base64.decodeBase64(signStr)); + X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKey); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PublicKey pubKey = keyFactory.generatePublic(keySpec); + Signature signature = Signature.getInstance("MD5withRSA"); + signature.initVerify(pubKey); + signature.update(data.getBytes("UTF-8")); + return signature.verify(sign); + } + + public static String key(String jsonBody) { + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://icore-alad.pa18.com/alad/damage/outer/getRequestDataKey"); + + String responseBody = null; + try { + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); +// httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + public static String page(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://jkalad.jryzt.com/api/app/reviewdamage/outer/insLoss/pip/page"); + + String responseBody = null; + try { + // 设置请求头 + // httpPost.setHeader("Content-Type", "application/json"); + // httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + public static String guize4(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://jkalad.jryzt.com/api/app/carInsLoss/outer/garage/query"); + + String responseBody = null; + try { + // 设置请求头 + // httpPost.setHeader("Content-Type", "application/json"); + // httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + public static String quoteGuidepage(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://jkalad.jryzt.com/api/app/reviewdamage/outer/quoteGuide/pip/page"); + + String responseBody = null; + try { + // 设置请求头 + // httpPost.setHeader("Content-Type", "application/json"); + // httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + public static String xiuliguize(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://icore-alad.pa18.com/alad/garage/outer/SynOuterInsGarageRuleInfo"); + + String responseBody = null; + try { + // 设置请求头 + // httpPost.setHeader("Content-Type", "application/json"); + // httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + +} diff --git a/src/main/java/com/example/sso/util/YunUtil.java b/src/main/java/com/example/sso/util/YunUtil.java new file mode 100644 index 0000000..33a9a9a --- /dev/null +++ b/src/main/java/com/example/sso/util/YunUtil.java @@ -0,0 +1,243 @@ +package com.example.sso.util; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +public class YunUtil { + + public static String token(){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/token?appId=ml8bfwvx02g&appSecret=MTRjZTBiYTU4YWQ1"); + + String responseBody = null; + try { + // 设置请求头 + + + + + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + JSONObject jsonObject = JSON.parseObject(responseBody); + String string = jsonObject.getString("accessToken"); + + return string; + } + + + + public static String tokens(){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/token?appId=ml8bfwvx02g&appSecret=MTRjZTBiYTU4YWQ1"); + + String responseBody = null; + try { + // 设置请求头 + + + + + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + JSONObject jsonObject = JSON.parseObject(responseBody); + String string = jsonObject.getString("accessToken"); + + return string; + } + + + + public static String tongbu(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/udp/public/users/sync/batch"); + + String responseBody = null; + try { + String token = token(); + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); + httpPost.setHeader("Authorization", token); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + public static String bumen(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/udp/public/depts/sync"); + + String responseBody = null; + try { + String token = token(); + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); + httpPost.setHeader("Authorization", token); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + + + + public static String alluser(String jsonBody){ + CloseableHttpClient httpClient = HttpClients.createDefault(); + + // 创建 POST 请求对象 + HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/o2o/project/student/sync/all"); + + String responseBody = null; + try { + String token = tokens(); + // 设置请求头 + httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); + httpPost.setHeader("Authorization", token); + + + StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + + // 执行请求,获取响应对象 + CloseableHttpResponse response = httpClient.execute(httpPost); + + try { + // 从响应对象中获取响应实体 + HttpEntity responseEntity = response.getEntity(); + + // 处理响应数据 + responseBody = EntityUtils.toString(responseEntity); + System.out.println(responseBody); + } finally { + // 关闭响应对象 + response.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + // 关闭 HttpClient + httpClient.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return responseBody; + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..fa2fc89 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,5 @@ +server.port=8089 +server.ssl.key-store=classpath:oioioi.jiyuankeshang.com.jks +server.ssl.key-store-password=2u75hg6v08 +server.ssl.key-store-type=JKS + diff --git a/src/main/resources/oioioi.jiyuankeshang.com.jks b/src/main/resources/oioioi.jiyuankeshang.com.jks new file mode 100644 index 0000000000000000000000000000000000000000..92f1ca9d99679b57d94fa7753d62a2ed4238f4fc GIT binary patch literal 6035 zcmd6qc|4R~+rVeW7)yf~J2CdM-ZS<+`x3&CY{@c~>|=;z&xFdpiwG52T8Jcjw(PPL zB}HW4LJ7~%^6U3|p7(kGc>j54KIikfuXA75Ip;p-x~}iJ_7?XRK_C!>*uaO4+0*6V zFM7cxz}MEp73)|A7@99odNcB@>#ezVj5Fi}72T;Q(ghIti2s%G_57kX&_I5w9_qGrtuc6BIPksLgbupQl)9 zxC=PmTZ|4|AGxljx7th7Un=BjQ$MS4&r-(Ag!NNv2QdvAnv_gQ6Wzw|jO!W1A#vrgR0-YJd8Xq#a>4^E^n}hT)R(LGBPzL%BfI1Z zTF9j9&GMrX9pFBdZ=WF3t?`4~DT{d;Ht>YE5*Yc3*LIe*n!43Amv#hO8ZTp&+9NSn z!ZMaQjPa@JK>oC!j942MXXsn7YFw3c#~|C)yuj{p%p*eZq66p5+dfxb_(d&;A<&K$Z3fg6|0UubYRlHHoik0yG9moEl6_NU+THOsl^Or_lnkD8%O*1 zN`WnUZGL9P7O$-#(fhtfN-juZA?HsROJASlA=}`(OTS6EaI`nUK0oK2xPm>5et@Zs zk=X+B0bcif88dMXa&HXjSjrKwojyKRU!>K#S0XMoVNk~w!n@+QVDPuajt&5rm!yBbEh`}{=%EhhfFYSZb|53Ota z3RNzcna8f`0*RQGNfFS+B&|q>X_Q(2GW3K zKC7`f+k?uS+VH>CnPat$gDDi+Gd1a+3A4a(`%J2~XDpzN)t_WAsIApCla%VRBy3EK zlAD#)S5vB5n0G&QIvvK_&~rYDKhT)oZsBP@c#|!k1OM>Y`G%oOEuJil&=qLesWWYD zUDh^yLmrd65*Z%Vk;%6H%AzH!CX54OoGyF~s;@>+ejNG=vM)C%qP(wsOqP?g8^690 zQarL7YF2C8`1q8Qdj@&ls&9jk?ACZlL3g?GwAzHaBjd1u=@6We5E z-bim-UY`J)Sjpx4EkCxRz|zly`?z8|&F7cz%&%T;U*AZ$^+;O^1e527qH!CZ0wS^l$6|KB= z&KY^&U(qlMe9sEK>fRhO(K&i#@%nw|9L;^jy0r+%osy5f=OG?lw?bYwFqk&U7m2Zo zXWYMWSwA+8k?JMLP-nKUWMziWN_!WU@Ub7wh2UhP3_>QEHI=UwFki0f^L}4{t{HZ; zxwG_Cx$mSOGKW$Mt5`izO2_AtDp`NW`vsKyjMYuS(uj1pi?{593vzrO>K=}X^)-YR z;n)OihjFI#TI$kA-|xW$t@PFMvP7r5G?FDxv|u}Kh-{TA22;e1gi;oy-Q~zcGizj= zjG{}~xqP!-zpILBYNo@iz+7S`>+$tSbET%sJsLs<@mJ{IvN+|QOy71kM368tu}_yj zqBn{y-uEwp2KbFea)|ewon+b~=1LL}=~+=pKo$gonE~N23^6G_%O!z;A&{fWJ3g|E zpP_udldqn4?N+w~R4@ubf;M4`3Jivmf&c~75r6_lVhV*JAZi9E1^{s&P$J;!1{gz6 z2Vta+hrK9@5uiWlCP7gB=tdf2RFLXt01hT9v?L&bmIe-g7DQ3%Ktzj6%1X*w06Zuz zfb)mt|Cr5za4`3ut0E?Fl5j8$h}cgF2?v8gV{wo%&5+`z+t`N-bI_?XB znt2hef@rgP)~Bl@%OOg;x}R5Rv`t>tnasSAj-a+YNf95KSTppnnf8-v$#|)(n-50> zkYZ4;^ZdFIj^ha2?S-(mWP}&^qnVhNsr`2z8wvhtvolY1d)c{Tx%73czt~B{#n_1= zGdJ=dkju%IsI)bx8(XX@3A|~bxHkFX|GvJC1}^CFCv-8 zi-tV(izDe>(a$PPZjv1SBgpB%!c!F?4ek&UFbJF<4w(hQAybFjd5j0j3^0b$Lrywn zk&RKj8012pN6*)qt&c|01ILK_eT*8)2&I?3F>-gZb-?GUP|ev+<70D48*FSuRuW&+ zfWiAvC<%l#7l0qghyxh{fPNVBK@ZNGoQPCXQZf?o?^}&mH;XM6Z9I!Z1dk?W6E=cr1^)sSG4dBFYOEBTsPfJgG zAFqEmC9aXUep)Cyz#9JF{4x0FePTEO0);@s!5+kR0qhL&1Er=p)SI47E8SAN>MTvJ zdhzp$+|Xvhx|D}zfig{JQS0H=L{j=52m~boX#pA#F3@y8yd6U)z4!iF_yz~p@dfEK zn#FT_1C%P5*owHu76Ay-JeS7{WcR`*?Wzo}w-J?{1=AO>AJDF`{;opkV#*^2`GQyo zuiB0md+ybcc=`+KgAha$N>sVwXSdLuni3pisHCoJA>9u$$IEw8 zN-Qzln@=TOekSy1HX!CGVm1f^8PYG&36Zih@fLj39Y67=FeWEC=Bjz?r?v*IwYNw-PYL-Zy6*Q!!G`E$1e<8~~cb0K3gBK_OL z^p3`LR_eEYQ?&GqY8B}y17|$_R*e-IZlLgp8E1h#SU$nf%itDyp+SLGUI>9VcTF}e zG<|AkRLYbbX4r3Hax#EyDKatvp=46IpZDZC2U{r(^S5gq`|EsH<%aa)0?Vn2B43|A zUZ@Hx!)Q(hh`DFZntowq)a-g_1S?#MH{AZ5!OH1Tmf=)565&P~8Q{(SLM5eKCS)){ z7>u}ff1Wi_@O;Lt3Z{i<#(b?hNo}>RoHNJQ9;2OTC*WC2vjr?ntc}iSKa0!u8v@#U zjOQnKpPGJ%lWAku4%DJ2!5&fDsxCFS({@EQ{%roL04D<%hLIDB9C=+BMQi+8+ob4; zP368*)8-f9Q+6IXH}8r-Ncq-k9WB`AI;hR7vss@T@J~e;o?Mu$ew03&_Wm!zXc7sd zN+gWn55mxbY8N-q&iyu*+*rhSrJjyp{&9RjSkxbkF~y(|04*^Lq2vfk1MEelE*9s5 z4M5QYbO)Veh$BBbkZLaY02Bwne$Y#aU@&pUB26(G#wNz57!#xc7Jtzb=ZX>qgb&`6 zAovd79i)mwG^t^6co#<(dt1DVrw3BS7w_zeBaU~-D>NX1lK9Ol@dHu(7q9+rGz^fGq9+WHCgLg@H2OB-3d`|ZG+z>^~b!dvII0oG;%dsV?_dy zA>%U@?a5q&Uzf~*IsOC>`vyRTckxT{!=ST5%wF)957^jg0j9ESYv3CCT zLL;N@bQ-u>oXqLW*h{(CI zM=a8Tx`0`K_N^}|U#>9fBzCjv)s9Jp`Y>rlyQ-@y7u@YiH#ctd2?|m49d*7nT1hvs zG_-;U(}~nv+O)DABK1}?FE$Q-`#iDPK<>k4sF%`Fr4Z#ldB?#lPeSSvSEr1-*}$!1 zd5|83{vo+KH@WZ65?xiW3QFI%HYRy)pT6x_RCbSA>DVcEy>Em@2uG_lp_Xg)*?!c8 zg{^m~>k(sPp_#+s6cc^jnGbI)Jn1FhV zVjjWNr`$y6CE}C~U?KX= z-*EaDCk+pDIH5WKktVrnxhe$Z-*9vj_4Oe-`hnLU0`_+d5ZU;*2>2ZUL|(c9-oJQB zBrg`Q2jqUqMDmLM9vuH)23Jv0QByf&FW+xlFoESy_Wo^Ue@4Y&LMQGGw12c{NcF*n z_iU|lok?w1-};B)rxZgKR9YmA3ba0f5?rW-7kM)J!@6hu#yuG&gh=RS>A8AkHOu4O z%n(-}@h1&esoV8(;^jee5Q6@Cbp;w^nm@-svJXYJnT!PQ>1T>4(8JSRJBv1qU!O5O z^2(JegzSs871Ap64xJ4Q9%y^pNQ%tVLz)FcB_csX$FvFShMvAZJaT8<%>1aNB3*5H zj#lm%h5GB>PXW}^2#6J7CsC#iFp!EM=&9oA)^nWWhx zEuVRi1~I3`e{}Gbcsq$qCy-S7dkOQiKKK4!Bfp$DohfYC2a=}(U8y`j-Zrekfa^>Y zKE@GNiQ?{EEjv|aqCK9&X&89hY5yZfz^*-;o7v`3e*z5lT-7kl)>ye}(<4RzT+GqF#OrN%j~? z^5Dthvao5keHHf|-u)`lcc;6lE1?RD2!|Z+$Ped=K$>-4npDNn-h1-_OU)d;0to|) zZCUIU$1<94TI{9KU-AeDw!aXhP~9CJ)C1-p-Wdo^Hwe=IHuD=Oq>(^4X&4bGE+AAuJMu z#re6|V|@+?f|3QqQRv?ULCc`fMEPgM^Zy8T;gEl?s~`t;6@*w<5hE~^4$CA(-8@GA zxUa;F%5Sk-U{J5rFv9jjF;bsG#DQYGC;C>GV$s58Z{zst;KSiS>EpCQT5n`qYvouf zZ0Sc8pV7eo?D@I53zEU zK5%o2GxpV#Q7f&JCb`i|0=)G_$DM@A;}&CH!R5*tf+wY0$}CedYGN%BViDNfgx6wmCz z`&?+)Xx91oUB%tEJhZ;~s7(h`7dk#XaT$HZ-ZZ*}sxip~U_q1&21(zYx0Z90v>Hoj%MWvb!w9 z2lXB=TJFD__9@|!7Xj5vn&K&RMs?1zh9pXTGD@Ug=MQ4nXR7U3P~-2bSFt%+q^`b^ zF=KW$$B@&^!Tm{F=IkVUOO``B!~+VwmhO zyTUqW#UC*IkF5MB3~3Iiby!uB0whEj9$xu~sG|gkaD+jL)B^!( zKggy4$N@6BQn?ZY^l$jM9q^18oc6YdU_0Q=?;9QVS1caFOyU=Sh%h@2@B_TRWB^QH z{u4-l4)~9ZLM$-AAm*z^<9IH`n=$VNs>J(5yB1bHy*x+zj@vWKH#P^iH#NLh%y~0a zWSK-axNPHwCr&|4zCn4udcvx>sI_eE`{+`BpxP!u>N5TN?u{+wy?50WF)InFd%J25 z!Mj}p;Jl!qZ5EaeRUt(E*=scgw;iE=Q3(d{X!@Sp`W@)UHM8`rwce|iD=J6QL6qDi zN2lQrzjh}|vnezexL=CpvVFmWU`VSQx0UN(&$c#Ock@9 zFlRiiZ1j9cgIRe|H+B|gi|1jiq%!moP}d4MY8@@;8i}HBnJv1Y7g~G4zqdLh)(@8f j&)yqJAZN_Ww@G