Commit 5e25decca83087210d1e20fcccec7144d3cf1e3d
1 parent
f79b70be
Exists in
master
and in
1 other branch
no message
Showing
28 changed files
with
0 additions
and
3401 deletions
Show diff stats
cloud/weigeng/.gitignore
... | ... | @@ -1,31 +0,0 @@ |
1 | -HELP.md | |
2 | -target/ | |
3 | -!.mvn/wrapper/maven-wrapper.jar | |
4 | -!**/src/main/** | |
5 | -!**/src/test/** | |
6 | - | |
7 | -### STS ### | |
8 | -.apt_generated | |
9 | -.classpath | |
10 | -.factorypath | |
11 | -.project | |
12 | -.settings | |
13 | -.springBeans | |
14 | -.sts4-cache | |
15 | - | |
16 | -### IntelliJ IDEA ### | |
17 | -.idea | |
18 | -*.iws | |
19 | -*.iml | |
20 | -*.ipr | |
21 | - | |
22 | -### NetBeans ### | |
23 | -/nbproject/private/ | |
24 | -/nbbuild/ | |
25 | -/dist/ | |
26 | -/nbdist/ | |
27 | -/.nb-gradle/ | |
28 | -build/ | |
29 | - | |
30 | -### VS Code ### | |
31 | -.vscode/ |
cloud/weigeng/.mvn/wrapper/MavenWrapperDownloader.java
... | ... | @@ -1,114 +0,0 @@ |
1 | -/* | |
2 | -Licensed to the Apache Software Foundation (ASF) under one | |
3 | -or more contributor license agreements. See the NOTICE file | |
4 | -distributed with this work for additional information | |
5 | -regarding copyright ownership. The ASF licenses this file | |
6 | -to you under the Apache License, Version 2.0 (the | |
7 | -"License"); you may not use this file except in compliance | |
8 | -with the License. You may obtain a copy of the License at | |
9 | - | |
10 | - https://www.apache.org/licenses/LICENSE-2.0 | |
11 | - | |
12 | -Unless required by applicable law or agreed to in writing, | |
13 | -software distributed under the License is distributed on an | |
14 | -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
15 | -KIND, either express or implied. See the License for the | |
16 | -specific language governing permissions and limitations | |
17 | -under the License. | |
18 | -*/ | |
19 | - | |
20 | -import java.io.File; | |
21 | -import java.io.FileInputStream; | |
22 | -import java.io.FileOutputStream; | |
23 | -import java.io.IOException; | |
24 | -import java.net.URL; | |
25 | -import java.nio.channels.Channels; | |
26 | -import java.nio.channels.ReadableByteChannel; | |
27 | -import java.util.Properties; | |
28 | - | |
29 | -public class MavenWrapperDownloader { | |
30 | - | |
31 | - /** | |
32 | - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. | |
33 | - */ | |
34 | - private static final String DEFAULT_DOWNLOAD_URL = | |
35 | - "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"; | |
36 | - | |
37 | - /** | |
38 | - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to | |
39 | - * use instead of the default one. | |
40 | - */ | |
41 | - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = | |
42 | - ".mvn/wrapper/maven-wrapper.properties"; | |
43 | - | |
44 | - /** | |
45 | - * Path where the maven-wrapper.jar will be saved to. | |
46 | - */ | |
47 | - private static final String MAVEN_WRAPPER_JAR_PATH = | |
48 | - ".mvn/wrapper/maven-wrapper.jar"; | |
49 | - | |
50 | - /** | |
51 | - * Name of the property which should be used to override the default download url for the wrapper. | |
52 | - */ | |
53 | - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; | |
54 | - | |
55 | - public static void main(String args[]) { | |
56 | - System.out.println("- Downloader started"); | |
57 | - File baseDirectory = new File(args[0]); | |
58 | - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); | |
59 | - | |
60 | - // If the maven-wrapper.properties exists, read it and check if it contains a custom | |
61 | - // wrapperUrl parameter. | |
62 | - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); | |
63 | - String url = DEFAULT_DOWNLOAD_URL; | |
64 | - if (mavenWrapperPropertyFile.exists()) { | |
65 | - FileInputStream mavenWrapperPropertyFileInputStream = null; | |
66 | - try { | |
67 | - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); | |
68 | - Properties mavenWrapperProperties = new Properties(); | |
69 | - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); | |
70 | - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); | |
71 | - } catch (IOException e) { | |
72 | - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); | |
73 | - } finally { | |
74 | - try { | |
75 | - if (mavenWrapperPropertyFileInputStream != null) { | |
76 | - mavenWrapperPropertyFileInputStream.close(); | |
77 | - } | |
78 | - } catch (IOException e) { | |
79 | - // Ignore ... | |
80 | - } | |
81 | - } | |
82 | - } | |
83 | - System.out.println("- Downloading from: : " + url); | |
84 | - | |
85 | - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); | |
86 | - if (!outputFile.getParentFile().exists()) { | |
87 | - if (!outputFile.getParentFile().mkdirs()) { | |
88 | - System.out.println( | |
89 | - "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'"); | |
90 | - } | |
91 | - } | |
92 | - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); | |
93 | - try { | |
94 | - downloadFileFromURL(url, outputFile); | |
95 | - System.out.println("Done"); | |
96 | - System.exit(0); | |
97 | - } catch (Throwable e) { | |
98 | - System.out.println("- Error downloading"); | |
99 | - e.printStackTrace(); | |
100 | - System.exit(1); | |
101 | - } | |
102 | - } | |
103 | - | |
104 | - private static void downloadFileFromURL(String urlString, File destination) throws Exception { | |
105 | - URL website = new URL(urlString); | |
106 | - ReadableByteChannel rbc; | |
107 | - rbc = Channels.newChannel(website.openStream()); | |
108 | - FileOutputStream fos = new FileOutputStream(destination); | |
109 | - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); | |
110 | - fos.close(); | |
111 | - rbc.close(); | |
112 | - } | |
113 | - | |
114 | -} |
cloud/weigeng/.mvn/wrapper/maven-wrapper.jar
No preview for this file type
cloud/weigeng/.mvn/wrapper/maven-wrapper.properties
... | ... | @@ -1 +0,0 @@ |
1 | -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip |
cloud/weigeng/libs/sqljdbc4-4.2-6.jar
No preview for this file type
cloud/weigeng/mvnw
... | ... | @@ -1,286 +0,0 @@ |
1 | -#!/bin/sh | |
2 | -# ---------------------------------------------------------------------------- | |
3 | -# Licensed to the Apache Software Foundation (ASF) under one | |
4 | -# or more contributor license agreements. See the NOTICE file | |
5 | -# distributed with this work for additional information | |
6 | -# regarding copyright ownership. The ASF licenses this file | |
7 | -# to you under the Apache License, Version 2.0 (the | |
8 | -# "License"); you may not use this file except in compliance | |
9 | -# with the License. You may obtain a copy of the License at | |
10 | -# | |
11 | -# https://www.apache.org/licenses/LICENSE-2.0 | |
12 | -# | |
13 | -# Unless required by applicable law or agreed to in writing, | |
14 | -# software distributed under the License is distributed on an | |
15 | -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
16 | -# KIND, either express or implied. See the License for the | |
17 | -# specific language governing permissions and limitations | |
18 | -# under the License. | |
19 | -# ---------------------------------------------------------------------------- | |
20 | - | |
21 | -# ---------------------------------------------------------------------------- | |
22 | -# Maven2 Start Up Batch script | |
23 | -# | |
24 | -# Required ENV vars: | |
25 | -# ------------------ | |
26 | -# JAVA_HOME - location of a JDK home dir | |
27 | -# | |
28 | -# Optional ENV vars | |
29 | -# ----------------- | |
30 | -# M2_HOME - location of maven2's installed home dir | |
31 | -# MAVEN_OPTS - parameters passed to the Java VM when running Maven | |
32 | -# e.g. to debug Maven itself, use | |
33 | -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | |
34 | -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files | |
35 | -# ---------------------------------------------------------------------------- | |
36 | - | |
37 | -if [ -z "$MAVEN_SKIP_RC" ] ; then | |
38 | - | |
39 | - if [ -f /etc/mavenrc ] ; then | |
40 | - . /etc/mavenrc | |
41 | - fi | |
42 | - | |
43 | - if [ -f "$HOME/.mavenrc" ] ; then | |
44 | - . "$HOME/.mavenrc" | |
45 | - fi | |
46 | - | |
47 | -fi | |
48 | - | |
49 | -# OS specific support. $var _must_ be set to either true or false. | |
50 | -cygwin=false; | |
51 | -darwin=false; | |
52 | -mingw=false | |
53 | -case "`uname`" in | |
54 | - CYGWIN*) cygwin=true ;; | |
55 | - MINGW*) mingw=true;; | |
56 | - Darwin*) darwin=true | |
57 | - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home | |
58 | - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html | |
59 | - if [ -z "$JAVA_HOME" ]; then | |
60 | - if [ -x "/usr/libexec/java_home" ]; then | |
61 | - export JAVA_HOME="`/usr/libexec/java_home`" | |
62 | - else | |
63 | - export JAVA_HOME="/Library/Java/Home" | |
64 | - fi | |
65 | - fi | |
66 | - ;; | |
67 | -esac | |
68 | - | |
69 | -if [ -z "$JAVA_HOME" ] ; then | |
70 | - if [ -r /etc/gentoo-release ] ; then | |
71 | - JAVA_HOME=`java-config --jre-home` | |
72 | - fi | |
73 | -fi | |
74 | - | |
75 | -if [ -z "$M2_HOME" ] ; then | |
76 | - ## resolve links - $0 may be a link to maven's home | |
77 | - PRG="$0" | |
78 | - | |
79 | - # need this for relative symlinks | |
80 | - while [ -h "$PRG" ] ; do | |
81 | - ls=`ls -ld "$PRG"` | |
82 | - link=`expr "$ls" : '.*-> \(.*\)$'` | |
83 | - if expr "$link" : '/.*' > /dev/null; then | |
84 | - PRG="$link" | |
85 | - else | |
86 | - PRG="`dirname "$PRG"`/$link" | |
87 | - fi | |
88 | - done | |
89 | - | |
90 | - saveddir=`pwd` | |
91 | - | |
92 | - M2_HOME=`dirname "$PRG"`/.. | |
93 | - | |
94 | - # make it fully qualified | |
95 | - M2_HOME=`cd "$M2_HOME" && pwd` | |
96 | - | |
97 | - cd "$saveddir" | |
98 | - # echo Using m2 at $M2_HOME | |
99 | -fi | |
100 | - | |
101 | -# For Cygwin, ensure paths are in UNIX format before anything is touched | |
102 | -if $cygwin ; then | |
103 | - [ -n "$M2_HOME" ] && | |
104 | - M2_HOME=`cygpath --unix "$M2_HOME"` | |
105 | - [ -n "$JAVA_HOME" ] && | |
106 | - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | |
107 | - [ -n "$CLASSPATH" ] && | |
108 | - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` | |
109 | -fi | |
110 | - | |
111 | -# For Mingw, ensure paths are in UNIX format before anything is touched | |
112 | -if $mingw ; then | |
113 | - [ -n "$M2_HOME" ] && | |
114 | - M2_HOME="`(cd "$M2_HOME"; pwd)`" | |
115 | - [ -n "$JAVA_HOME" ] && | |
116 | - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" | |
117 | - # TODO classpath? | |
118 | -fi | |
119 | - | |
120 | -if [ -z "$JAVA_HOME" ]; then | |
121 | - javaExecutable="`which javac`" | |
122 | - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then | |
123 | - # readlink(1) is not available as standard on Solaris 10. | |
124 | - readLink=`which readlink` | |
125 | - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then | |
126 | - if $darwin ; then | |
127 | - javaHome="`dirname \"$javaExecutable\"`" | |
128 | - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" | |
129 | - else | |
130 | - javaExecutable="`readlink -f \"$javaExecutable\"`" | |
131 | - fi | |
132 | - javaHome="`dirname \"$javaExecutable\"`" | |
133 | - javaHome=`expr "$javaHome" : '\(.*\)/bin'` | |
134 | - JAVA_HOME="$javaHome" | |
135 | - export JAVA_HOME | |
136 | - fi | |
137 | - fi | |
138 | -fi | |
139 | - | |
140 | -if [ -z "$JAVACMD" ] ; then | |
141 | - if [ -n "$JAVA_HOME" ] ; then | |
142 | - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | |
143 | - # IBM's JDK on AIX uses strange locations for the executables | |
144 | - JAVACMD="$JAVA_HOME/jre/sh/java" | |
145 | - else | |
146 | - JAVACMD="$JAVA_HOME/bin/java" | |
147 | - fi | |
148 | - else | |
149 | - JAVACMD="`which java`" | |
150 | - fi | |
151 | -fi | |
152 | - | |
153 | -if [ ! -x "$JAVACMD" ] ; then | |
154 | - echo "Error: JAVA_HOME is not defined correctly." >&2 | |
155 | - echo " We cannot execute $JAVACMD" >&2 | |
156 | - exit 1 | |
157 | -fi | |
158 | - | |
159 | -if [ -z "$JAVA_HOME" ] ; then | |
160 | - echo "Warning: JAVA_HOME environment variable is not set." | |
161 | -fi | |
162 | - | |
163 | -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher | |
164 | - | |
165 | -# traverses directory structure from process work directory to filesystem root | |
166 | -# first directory with .mvn subdirectory is considered project base directory | |
167 | -find_maven_basedir() { | |
168 | - | |
169 | - if [ -z "$1" ] | |
170 | - then | |
171 | - echo "Path not specified to find_maven_basedir" | |
172 | - return 1 | |
173 | - fi | |
174 | - | |
175 | - basedir="$1" | |
176 | - wdir="$1" | |
177 | - while [ "$wdir" != '/' ] ; do | |
178 | - if [ -d "$wdir"/.mvn ] ; then | |
179 | - basedir=$wdir | |
180 | - break | |
181 | - fi | |
182 | - # workaround for JBEAP-8937 (on Solaris 10/Sparc) | |
183 | - if [ -d "${wdir}" ]; then | |
184 | - wdir=`cd "$wdir/.."; pwd` | |
185 | - fi | |
186 | - # end of workaround | |
187 | - done | |
188 | - echo "${basedir}" | |
189 | -} | |
190 | - | |
191 | -# concatenates all lines of a file | |
192 | -concat_lines() { | |
193 | - if [ -f "$1" ]; then | |
194 | - echo "$(tr -s '\n' ' ' < "$1")" | |
195 | - fi | |
196 | -} | |
197 | - | |
198 | -BASE_DIR=`find_maven_basedir "$(pwd)"` | |
199 | -if [ -z "$BASE_DIR" ]; then | |
200 | - exit 1; | |
201 | -fi | |
202 | - | |
203 | -########################################################################################## | |
204 | -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | |
205 | -# This allows using the maven wrapper in projects that prohibit checking in binary data. | |
206 | -########################################################################################## | |
207 | -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then | |
208 | - if [ "$MVNW_VERBOSE" = true ]; then | |
209 | - echo "Found .mvn/wrapper/maven-wrapper.jar" | |
210 | - fi | |
211 | -else | |
212 | - if [ "$MVNW_VERBOSE" = true ]; then | |
213 | - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." | |
214 | - fi | |
215 | - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" | |
216 | - while IFS="=" read key value; do | |
217 | - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; | |
218 | - esac | |
219 | - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" | |
220 | - if [ "$MVNW_VERBOSE" = true ]; then | |
221 | - echo "Downloading from: $jarUrl" | |
222 | - fi | |
223 | - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" | |
224 | - | |
225 | - if command -v wget > /dev/null; then | |
226 | - if [ "$MVNW_VERBOSE" = true ]; then | |
227 | - echo "Found wget ... using wget" | |
228 | - fi | |
229 | - wget "$jarUrl" -O "$wrapperJarPath" | |
230 | - elif command -v curl > /dev/null; then | |
231 | - if [ "$MVNW_VERBOSE" = true ]; then | |
232 | - echo "Found curl ... using curl" | |
233 | - fi | |
234 | - curl -o "$wrapperJarPath" "$jarUrl" | |
235 | - else | |
236 | - if [ "$MVNW_VERBOSE" = true ]; then | |
237 | - echo "Falling back to using Java to download" | |
238 | - fi | |
239 | - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" | |
240 | - if [ -e "$javaClass" ]; then | |
241 | - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | |
242 | - if [ "$MVNW_VERBOSE" = true ]; then | |
243 | - echo " - Compiling MavenWrapperDownloader.java ..." | |
244 | - fi | |
245 | - # Compiling the Java class | |
246 | - ("$JAVA_HOME/bin/javac" "$javaClass") | |
247 | - fi | |
248 | - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | |
249 | - # Running the downloader | |
250 | - if [ "$MVNW_VERBOSE" = true ]; then | |
251 | - echo " - Running MavenWrapperDownloader.java ..." | |
252 | - fi | |
253 | - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") | |
254 | - fi | |
255 | - fi | |
256 | - fi | |
257 | -fi | |
258 | -########################################################################################## | |
259 | -# End of extension | |
260 | -########################################################################################## | |
261 | - | |
262 | -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} | |
263 | -if [ "$MVNW_VERBOSE" = true ]; then | |
264 | - echo $MAVEN_PROJECTBASEDIR | |
265 | -fi | |
266 | -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" | |
267 | - | |
268 | -# For Cygwin, switch paths to Windows format before running java | |
269 | -if $cygwin; then | |
270 | - [ -n "$M2_HOME" ] && | |
271 | - M2_HOME=`cygpath --path --windows "$M2_HOME"` | |
272 | - [ -n "$JAVA_HOME" ] && | |
273 | - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` | |
274 | - [ -n "$CLASSPATH" ] && | |
275 | - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` | |
276 | - [ -n "$MAVEN_PROJECTBASEDIR" ] && | |
277 | - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` | |
278 | -fi | |
279 | - | |
280 | -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | |
281 | - | |
282 | -exec "$JAVACMD" \ | |
283 | - $MAVEN_OPTS \ | |
284 | - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ | |
285 | - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ | |
286 | - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
cloud/weigeng/mvnw.cmd
... | ... | @@ -1,161 +0,0 @@ |
1 | -@REM ---------------------------------------------------------------------------- | |
2 | -@REM Licensed to the Apache Software Foundation (ASF) under one | |
3 | -@REM or more contributor license agreements. See the NOTICE file | |
4 | -@REM distributed with this work for additional information | |
5 | -@REM regarding copyright ownership. The ASF licenses this file | |
6 | -@REM to you under the Apache License, Version 2.0 (the | |
7 | -@REM "License"); you may not use this file except in compliance | |
8 | -@REM with the License. You may obtain a copy of the License at | |
9 | -@REM | |
10 | -@REM https://www.apache.org/licenses/LICENSE-2.0 | |
11 | -@REM | |
12 | -@REM Unless required by applicable law or agreed to in writing, | |
13 | -@REM software distributed under the License is distributed on an | |
14 | -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
15 | -@REM KIND, either express or implied. See the License for the | |
16 | -@REM specific language governing permissions and limitations | |
17 | -@REM under the License. | |
18 | -@REM ---------------------------------------------------------------------------- | |
19 | - | |
20 | -@REM ---------------------------------------------------------------------------- | |
21 | -@REM Maven2 Start Up Batch script | |
22 | -@REM | |
23 | -@REM Required ENV vars: | |
24 | -@REM JAVA_HOME - location of a JDK home dir | |
25 | -@REM | |
26 | -@REM Optional ENV vars | |
27 | -@REM M2_HOME - location of maven2's installed home dir | |
28 | -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands | |
29 | -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending | |
30 | -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven | |
31 | -@REM e.g. to debug Maven itself, use | |
32 | -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | |
33 | -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files | |
34 | -@REM ---------------------------------------------------------------------------- | |
35 | - | |
36 | -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' | |
37 | -@echo off | |
38 | -@REM set title of command window | |
39 | -title %0 | |
40 | -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' | |
41 | -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% | |
42 | - | |
43 | -@REM set %HOME% to equivalent of $HOME | |
44 | -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") | |
45 | - | |
46 | -@REM Execute a user defined script before this one | |
47 | -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre | |
48 | -@REM check for pre script, once with legacy .bat ending and once with .cmd ending | |
49 | -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" | |
50 | -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" | |
51 | -:skipRcPre | |
52 | - | |
53 | -@setlocal | |
54 | - | |
55 | -set ERROR_CODE=0 | |
56 | - | |
57 | -@REM To isolate internal variables from possible post scripts, we use another setlocal | |
58 | -@setlocal | |
59 | - | |
60 | -@REM ==== START VALIDATION ==== | |
61 | -if not "%JAVA_HOME%" == "" goto OkJHome | |
62 | - | |
63 | -echo. | |
64 | -echo Error: JAVA_HOME not found in your environment. >&2 | |
65 | -echo Please set the JAVA_HOME variable in your environment to match the >&2 | |
66 | -echo location of your Java installation. >&2 | |
67 | -echo. | |
68 | -goto error | |
69 | - | |
70 | -:OkJHome | |
71 | -if exist "%JAVA_HOME%\bin\java.exe" goto init | |
72 | - | |
73 | -echo. | |
74 | -echo Error: JAVA_HOME is set to an invalid directory. >&2 | |
75 | -echo JAVA_HOME = "%JAVA_HOME%" >&2 | |
76 | -echo Please set the JAVA_HOME variable in your environment to match the >&2 | |
77 | -echo location of your Java installation. >&2 | |
78 | -echo. | |
79 | -goto error | |
80 | - | |
81 | -@REM ==== END VALIDATION ==== | |
82 | - | |
83 | -:init | |
84 | - | |
85 | -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". | |
86 | -@REM Fallback to current working directory if not found. | |
87 | - | |
88 | -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% | |
89 | -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir | |
90 | - | |
91 | -set EXEC_DIR=%CD% | |
92 | -set WDIR=%EXEC_DIR% | |
93 | -:findBaseDir | |
94 | -IF EXIST "%WDIR%"\.mvn goto baseDirFound | |
95 | -cd .. | |
96 | -IF "%WDIR%"=="%CD%" goto baseDirNotFound | |
97 | -set WDIR=%CD% | |
98 | -goto findBaseDir | |
99 | - | |
100 | -:baseDirFound | |
101 | -set MAVEN_PROJECTBASEDIR=%WDIR% | |
102 | -cd "%EXEC_DIR%" | |
103 | -goto endDetectBaseDir | |
104 | - | |
105 | -:baseDirNotFound | |
106 | -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% | |
107 | -cd "%EXEC_DIR%" | |
108 | - | |
109 | -:endDetectBaseDir | |
110 | - | |
111 | -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig | |
112 | - | |
113 | -@setlocal EnableExtensions EnableDelayedExpansion | |
114 | -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a | |
115 | -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% | |
116 | - | |
117 | -:endReadAdditionalConfig | |
118 | - | |
119 | -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" | |
120 | -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" | |
121 | -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | |
122 | - | |
123 | -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" | |
124 | -FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO ( | |
125 | - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B | |
126 | -) | |
127 | - | |
128 | -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | |
129 | -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. | |
130 | -if exist %WRAPPER_JAR% ( | |
131 | - echo Found %WRAPPER_JAR% | |
132 | -) else ( | |
133 | - echo Couldn't find %WRAPPER_JAR%, downloading it ... | |
134 | - echo Downloading from: %DOWNLOAD_URL% | |
135 | - powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')" | |
136 | - echo Finished downloading %WRAPPER_JAR% | |
137 | -) | |
138 | -@REM End of extension | |
139 | - | |
140 | -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* | |
141 | -if ERRORLEVEL 1 goto error | |
142 | -goto end | |
143 | - | |
144 | -:error | |
145 | -set ERROR_CODE=1 | |
146 | - | |
147 | -:end | |
148 | -@endlocal & set ERROR_CODE=%ERROR_CODE% | |
149 | - | |
150 | -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost | |
151 | -@REM check for post script, once with legacy .bat ending and once with .cmd ending | |
152 | -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" | |
153 | -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" | |
154 | -:skipRcPost | |
155 | - | |
156 | -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' | |
157 | -if "%MAVEN_BATCH_PAUSE%" == "on" pause | |
158 | - | |
159 | -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% | |
160 | - | |
161 | -exit /B %ERROR_CODE% |
cloud/weigeng/pom.xml
... | ... | @@ -1,97 +0,0 @@ |
1 | -<?xml version="1.0" encoding="UTF-8"?> | |
2 | -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
4 | - <modelVersion>4.0.0</modelVersion> | |
5 | - <parent> | |
6 | - <groupId>org.springframework.boot</groupId> | |
7 | - <artifactId>spring-boot-starter-parent</artifactId> | |
8 | - <version>2.1.8.RELEASE</version> | |
9 | - <relativePath/> <!-- lookup parent from repository --> | |
10 | - </parent> | |
11 | - <groupId>com.sincere</groupId> | |
12 | - <artifactId>weigeng</artifactId> | |
13 | - <version>0.0.1</version> | |
14 | - <name>weigeng</name> | |
15 | - <description>Demo project for Spring Boot</description> | |
16 | - | |
17 | - <properties> | |
18 | - <java.version>1.8</java.version> | |
19 | - <spring-cloud.version>Greenwich.SR2</spring-cloud.version> | |
20 | - </properties> | |
21 | - | |
22 | - <dependencies> | |
23 | - <dependency> | |
24 | - <groupId>org.springframework.boot</groupId> | |
25 | - <artifactId>spring-boot-starter-web</artifactId> | |
26 | - </dependency> | |
27 | - | |
28 | - <dependency> | |
29 | - <groupId>org.springframework.cloud</groupId> | |
30 | - <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> | |
31 | - </dependency> | |
32 | - | |
33 | - <dependency> | |
34 | - <groupId>com.baidu.aip</groupId> | |
35 | - <artifactId>java-sdk</artifactId> | |
36 | - <version>4.10.0</version> | |
37 | - </dependency> | |
38 | - | |
39 | - <dependency> | |
40 | - <groupId>com.microsoft.sqlserver.jdbc</groupId> | |
41 | - <artifactId>sqljdbc</artifactId> | |
42 | - <scope>system</scope> | |
43 | - <version>1</version> | |
44 | - <systemPath>${project.basedir}/libs/sqljdbc4-4.2-6.jar</systemPath> | |
45 | - </dependency> | |
46 | - | |
47 | - <dependency> | |
48 | - <groupId>org.mybatis.spring.boot</groupId> | |
49 | - <artifactId>mybatis-spring-boot-starter</artifactId> | |
50 | - <version>2.0.1</version> | |
51 | - </dependency> | |
52 | - | |
53 | - <dependency> | |
54 | - <groupId>com.drewnoakes</groupId> | |
55 | - <artifactId>metadata-extractor</artifactId> | |
56 | - <version>2.4.0-beta-1</version> | |
57 | - </dependency> | |
58 | - | |
59 | - <dependency> | |
60 | - <groupId>org.apache.poi</groupId> | |
61 | - <artifactId>poi</artifactId> | |
62 | - <version>4.1.0</version> | |
63 | - </dependency> | |
64 | - | |
65 | - <dependency> | |
66 | - <groupId>org.springframework.boot</groupId> | |
67 | - <artifactId>spring-boot-starter-test</artifactId> | |
68 | - <scope>test</scope> | |
69 | - </dependency> | |
70 | - </dependencies> | |
71 | - | |
72 | - <dependencyManagement> | |
73 | - <dependencies> | |
74 | - <dependency> | |
75 | - <groupId>org.springframework.cloud</groupId> | |
76 | - <artifactId>spring-cloud-dependencies</artifactId> | |
77 | - <version>${spring-cloud.version}</version> | |
78 | - <type>pom</type> | |
79 | - <scope>import</scope> | |
80 | - </dependency> | |
81 | - </dependencies> | |
82 | - </dependencyManagement> | |
83 | - | |
84 | - <build> | |
85 | - <plugins> | |
86 | - <plugin> | |
87 | - <groupId>org.springframework.boot</groupId> | |
88 | - <artifactId>spring-boot-maven-plugin</artifactId> | |
89 | - <configuration> | |
90 | - <includeSystemScope>true</includeSystemScope> | |
91 | - </configuration> | |
92 | - </plugin> | |
93 | - | |
94 | - </plugins> | |
95 | - </build> | |
96 | - | |
97 | -</project> |
cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java
... | ... | @@ -1,86 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import org.json.JSONObject; | |
4 | - | |
5 | -import java.io.BufferedReader; | |
6 | -import java.io.InputStreamReader; | |
7 | -import java.net.HttpURLConnection; | |
8 | -import java.net.URL; | |
9 | -import java.util.List; | |
10 | -import java.util.Map; | |
11 | - | |
12 | -/** | |
13 | - * 获取token类 | |
14 | - */ | |
15 | -public class AuthService { | |
16 | - //设置APPID/AK/SK | |
17 | - public static final String APP_ID = "15990462"; | |
18 | - public static final String API_KEY = "t70Rzr6SGmfU9S6MrqAkspsY"; | |
19 | - public static final String SECRET_KEY = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS "; | |
20 | - /** | |
21 | - * 获取权限token | |
22 | - * @return 返回示例: | |
23 | - * { | |
24 | - * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567", | |
25 | - * "expires_in": 2592000 | |
26 | - * } | |
27 | - */ | |
28 | - public static String getAuth() { | |
29 | - // 官网获取的 API Key 更新为你注册的 | |
30 | - String clientId = "t70Rzr6SGmfU9S6MrqAkspsY"; | |
31 | - // 官网获取的 Secret Key 更新为你注册的 | |
32 | - String clientSecret = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS"; | |
33 | - return getAuth(clientId, clientSecret); | |
34 | - } | |
35 | - | |
36 | - /** | |
37 | - * 获取API访问token | |
38 | - * 该token有一定的有效期,需要自行管理,当失效时需重新获取. | |
39 | - * @param ak - 百度云官网获取的 API Key | |
40 | - * @param sk - 百度云官网获取的 Securet Key | |
41 | - * @return assess_token 示例: | |
42 | - * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567" | |
43 | - */ | |
44 | - public static String getAuth(String ak, String sk) { | |
45 | - // 获取token地址 | |
46 | - String authHost = "https://aip.baidubce.com/oauth/2.0/token?"; | |
47 | - String getAccessTokenUrl = authHost | |
48 | - // 1. grant_type为固定参数 | |
49 | - + "grant_type=client_credentials" | |
50 | - // 2. 官网获取的 API Key | |
51 | - + "&client_id=" + ak | |
52 | - // 3. 官网获取的 Secret Key | |
53 | - + "&client_secret=" + sk; | |
54 | - try { | |
55 | - URL realUrl = new URL(getAccessTokenUrl); | |
56 | - // 打开和URL之间的连接 | |
57 | - HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); | |
58 | - connection.setRequestMethod("GET"); | |
59 | - connection.connect(); | |
60 | - // 获取所有响应头字段 | |
61 | - Map<String, List<String>> map = connection.getHeaderFields(); | |
62 | - // 遍历所有的响应头字段 | |
63 | - for (String key : map.keySet()) { | |
64 | - System.err.println(key + "--->" + map.get(key)); | |
65 | - } | |
66 | - // 定义 BufferedReader输入流来读取URL的响应 | |
67 | - BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); | |
68 | - String result = ""; | |
69 | - String line; | |
70 | - while ((line = in.readLine()) != null) { | |
71 | - result += line; | |
72 | - } | |
73 | - /** | |
74 | - * 返回结果示例 | |
75 | - */ | |
76 | - System.err.println("result:" + result); | |
77 | - JSONObject jsonObject = new JSONObject(result); | |
78 | - String access_token = jsonObject.getString("access_token"); | |
79 | - return access_token; | |
80 | - } catch (Exception e) { | |
81 | - System.err.printf("获取token失败!"); | |
82 | - e.printStackTrace(System.err); | |
83 | - } | |
84 | - return null; | |
85 | - } | |
86 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java
... | ... | @@ -1,33 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -public class HomeBean { | |
4 | - | |
5 | - private String CreatorUserId; | |
6 | - | |
7 | - private String Title; | |
8 | - | |
9 | - | |
10 | - public String getCreatorUserId() { | |
11 | - return CreatorUserId; | |
12 | - } | |
13 | - | |
14 | - public void setCreatorUserId(String creatorUserId) { | |
15 | - CreatorUserId = creatorUserId; | |
16 | - } | |
17 | - | |
18 | - public String getTitle() { | |
19 | - return Title; | |
20 | - } | |
21 | - | |
22 | - public void setTitle(String title) { | |
23 | - Title = title; | |
24 | - } | |
25 | - | |
26 | - @Override | |
27 | - public String toString() { | |
28 | - return "HomeBean{" + | |
29 | - "CreatorUserId='" + CreatorUserId + '\'' + | |
30 | - ", Title='" + Title + '\'' + | |
31 | - '}'; | |
32 | - } | |
33 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java
... | ... | @@ -1,189 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class Homework implements Serializable { | |
6 | - | |
7 | - private String ID; | |
8 | - | |
9 | - private String CreatorUserId; | |
10 | - | |
11 | - private String PaperId; | |
12 | - | |
13 | - private String Title; | |
14 | - | |
15 | - private int SuggestionTime; | |
16 | - | |
17 | - private String Deadline; | |
18 | - | |
19 | - private int State; | |
20 | - | |
21 | - private String Intime; | |
22 | - | |
23 | - private int SubjectId; | |
24 | - | |
25 | - private int PublishAnswerType; | |
26 | - | |
27 | - private int IsPigai; | |
28 | - | |
29 | - private String StartTime; | |
30 | - | |
31 | - private int TypeId; | |
32 | - | |
33 | - private String QuestionIds; | |
34 | - | |
35 | - private int HomeworkType; | |
36 | - | |
37 | - private int PkgId; | |
38 | - | |
39 | - public String getCreatorUserId() { | |
40 | - return CreatorUserId; | |
41 | - } | |
42 | - | |
43 | - public void setCreatorUserId(String creatorUserId) { | |
44 | - CreatorUserId = creatorUserId; | |
45 | - } | |
46 | - | |
47 | - public String getPaperId() { | |
48 | - return PaperId; | |
49 | - } | |
50 | - | |
51 | - public String getID() { | |
52 | - return ID; | |
53 | - } | |
54 | - | |
55 | - public void setID(String ID) { | |
56 | - this.ID = ID; | |
57 | - } | |
58 | - | |
59 | - @Override | |
60 | - public String toString() { | |
61 | - return "Homework{" + | |
62 | - "ID='" + ID + '\'' + | |
63 | - ", CreatorUserId='" + CreatorUserId + '\'' + | |
64 | - ", PaperId='" + PaperId + '\'' + | |
65 | - ", Title='" + Title + '\'' + | |
66 | - ", SuggestionTime=" + SuggestionTime + | |
67 | - ", Deadline='" + Deadline + '\'' + | |
68 | - ", State=" + State + | |
69 | - ", Intime='" + Intime + '\'' + | |
70 | - ", SubjectId=" + SubjectId + | |
71 | - ", PublishAnswerType=" + PublishAnswerType + | |
72 | - ", IsPigai=" + IsPigai + | |
73 | - ", StartTime='" + StartTime + '\'' + | |
74 | - ", TypeId=" + TypeId + | |
75 | - ", QuestionIds='" + QuestionIds + '\'' + | |
76 | - ", HomeworkType=" + HomeworkType + | |
77 | - ", PkgId=" + PkgId + | |
78 | - '}'; | |
79 | - } | |
80 | - | |
81 | - public void setPaperId(String paperId) { | |
82 | - PaperId = paperId; | |
83 | - } | |
84 | - | |
85 | - public String getTitle() { | |
86 | - return Title; | |
87 | - } | |
88 | - | |
89 | - public void setTitle(String title) { | |
90 | - Title = title; | |
91 | - } | |
92 | - | |
93 | - public int getSuggestionTime() { | |
94 | - return SuggestionTime; | |
95 | - } | |
96 | - | |
97 | - public void setSuggestionTime(int suggestionTime) { | |
98 | - SuggestionTime = suggestionTime; | |
99 | - } | |
100 | - | |
101 | - public String getDeadline() { | |
102 | - return Deadline; | |
103 | - } | |
104 | - | |
105 | - public void setDeadline(String deadline) { | |
106 | - Deadline = deadline; | |
107 | - } | |
108 | - | |
109 | - public int getState() { | |
110 | - return State; | |
111 | - } | |
112 | - | |
113 | - public void setState(int state) { | |
114 | - State = state; | |
115 | - } | |
116 | - | |
117 | - public String getIntime() { | |
118 | - return Intime; | |
119 | - } | |
120 | - | |
121 | - public void setIntime(String intime) { | |
122 | - Intime = intime; | |
123 | - } | |
124 | - | |
125 | - public int getSubjectId() { | |
126 | - return SubjectId; | |
127 | - } | |
128 | - | |
129 | - public void setSubjectId(int subjectId) { | |
130 | - SubjectId = subjectId; | |
131 | - } | |
132 | - | |
133 | - public int getPublishAnswerType() { | |
134 | - return PublishAnswerType; | |
135 | - } | |
136 | - | |
137 | - public void setPublishAnswerType(int publishAnswerType) { | |
138 | - PublishAnswerType = publishAnswerType; | |
139 | - } | |
140 | - | |
141 | - public int getIsPigai() { | |
142 | - return IsPigai; | |
143 | - } | |
144 | - | |
145 | - public void setIsPigai(int isPigai) { | |
146 | - IsPigai = isPigai; | |
147 | - } | |
148 | - | |
149 | - public String getStartTime() { | |
150 | - return StartTime; | |
151 | - } | |
152 | - | |
153 | - public void setStartTime(String startTime) { | |
154 | - StartTime = startTime; | |
155 | - } | |
156 | - | |
157 | - public int getTypeId() { | |
158 | - return TypeId; | |
159 | - } | |
160 | - | |
161 | - public void setTypeId(int typeId) { | |
162 | - TypeId = typeId; | |
163 | - } | |
164 | - | |
165 | - public String getQuestionIds() { | |
166 | - return QuestionIds; | |
167 | - } | |
168 | - | |
169 | - public void setQuestionIds(String questionIds) { | |
170 | - QuestionIds = questionIds; | |
171 | - } | |
172 | - | |
173 | - public int getHomeworkType() { | |
174 | - return HomeworkType; | |
175 | - } | |
176 | - | |
177 | - public void setHomeworkType(int homeworkType) { | |
178 | - HomeworkType = homeworkType; | |
179 | - } | |
180 | - | |
181 | - public int getPkgId() { | |
182 | - return PkgId; | |
183 | - } | |
184 | - | |
185 | - public void setPkgId(int pkgId) { | |
186 | - PkgId = pkgId; | |
187 | - } | |
188 | - | |
189 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java
... | ... | @@ -1,34 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class HomeworkReceive implements Serializable { | |
6 | - | |
7 | - private String StudentId; | |
8 | - | |
9 | - private String StudnetAnswerIds; | |
10 | - | |
11 | - public String getStudentId() { | |
12 | - return StudentId; | |
13 | - } | |
14 | - | |
15 | - public void setStudentId(String studentId) { | |
16 | - StudentId = studentId; | |
17 | - } | |
18 | - | |
19 | - public String getStudnetAnswerIds() { | |
20 | - return StudnetAnswerIds; | |
21 | - } | |
22 | - | |
23 | - public void setStudnetAnswerIds(String studnetAnswerIds) { | |
24 | - StudnetAnswerIds = studnetAnswerIds; | |
25 | - } | |
26 | - | |
27 | - @Override | |
28 | - public String toString() { | |
29 | - return "HomeworkReceive{" + | |
30 | - "StudentId='" + StudentId + '\'' + | |
31 | - ", StudnetAnswerIds='" + StudnetAnswerIds + '\'' + | |
32 | - '}'; | |
33 | - } | |
34 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java
... | ... | @@ -1,168 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import com.drew.imaging.ImageMetadataReader; | |
4 | -import com.drew.imaging.jpeg.JpegMetadataReader; | |
5 | -import com.drew.metadata.Directory; | |
6 | -import com.drew.metadata.Metadata; | |
7 | -import com.drew.metadata.Tag; | |
8 | -import com.sun.imageio.plugins.png.PNGImageReader; | |
9 | -import org.apache.commons.lang.StringUtils; | |
10 | - | |
11 | -import javax.imageio.ImageIO; | |
12 | -import java.awt.*; | |
13 | -import java.awt.image.BufferedImage; | |
14 | -import java.io.File; | |
15 | -import java.io.IOException; | |
16 | -import java.util.Iterator; | |
17 | - | |
18 | -public class ImageUtils { | |
19 | - | |
20 | - | |
21 | - /* *//** | |
22 | - * 获取图片正确显示需要旋转的角度(顺时针) | |
23 | - * @return | |
24 | - *//* | |
25 | - public static int getRotateAngleForPhoto(String filePath){ | |
26 | - File file = new File(filePath); | |
27 | - int angle = 0; | |
28 | - Metadata metadata; | |
29 | - try { | |
30 | - metadata = JpegMetadataReader.readMetadata(file); | |
31 | - Directory directory = metadata.getDirectory(ExifDirectory.class); | |
32 | - if(directory.containsTag(ExifDirectory.TAG_ORIENTATION)){ | |
33 | - | |
34 | - // Exif信息中方向 | |
35 | - int orientation = directory.getInt(ExifDirectory.TAG_ORIENTATION); | |
36 | - // 原图片的方向信息 | |
37 | - if(6 == orientation ){ | |
38 | - //6旋转90 | |
39 | - angle = 90; | |
40 | - }else if( 3 == orientation){ | |
41 | - //3旋转180 | |
42 | - angle = 180; | |
43 | - }else if( 8 == orientation){ | |
44 | - //8旋转90 | |
45 | - angle = 270; | |
46 | - } | |
47 | - } | |
48 | - } catch (JpegProcessingException e) { | |
49 | - e.printStackTrace(); | |
50 | - } catch (MetadataException e) { | |
51 | - e.printStackTrace(); | |
52 | - } catch (IOException e) { | |
53 | - e.printStackTrace(); | |
54 | - } | |
55 | - return angle; | |
56 | - }*/ | |
57 | - | |
58 | - | |
59 | - /** | |
60 | - * 获得图片调整角度 | |
61 | - * make by dongxh 2017年11月1日下午3:40:20 | |
62 | - * @param imgFile | |
63 | - * @return | |
64 | - */ | |
65 | - public static Integer getImgRotateAngle(String imgFile){ | |
66 | - return 0; | |
67 | - /*int angel = 0; | |
68 | - try { | |
69 | - File file = new File(imgFile); | |
70 | - Metadata metadata = ImageMetadataReader.readMetadata(file); | |
71 | - for (Directory directory : metadata.getDirectories()) { | |
72 | - for (Tag tag : directory.getTags()) { | |
73 | - if (tag.getTagType() == ExifDirectoryBase.TAG_ORIENTATION) { | |
74 | - String description = tag.getDescription(); | |
75 | -// System.out.println(description); | |
76 | - if (description.contains("90")) { | |
77 | - // 顺时针旋转90度 | |
78 | - angel = 90; | |
79 | - } else if (description.contains("180")) { | |
80 | - // 顺时针旋转180度 | |
81 | - angel = 180; | |
82 | - } else if (description.contains("270")) { | |
83 | - // 顺时针旋转270度 | |
84 | - angel = 270; | |
85 | - } | |
86 | - } | |
87 | - } | |
88 | - } | |
89 | -// System.out.println(angel); | |
90 | - } catch (Exception e) { | |
91 | - e.printStackTrace(); | |
92 | - } | |
93 | - return angel;*/ | |
94 | - /*Integer angel = 0; | |
95 | - Metadata metadata = null; | |
96 | - try{ | |
97 | - if(StringUtils.isBlank(imgFile))return angel; | |
98 | - File _img_file_ = new File(imgFile); | |
99 | - if(!_img_file_.exists())return angel; | |
100 | - metadata = JpegMetadataReader.readMetadata(_img_file_); | |
101 | - Directory directory = metadata.getDirectory(ExifDirectory.class); | |
102 | - Iterator iterator =directory.getTagIterator(); | |
103 | - while (iterator.hasNext()){ | |
104 | - System.out.println("directory:"+iterator.next().toString()); | |
105 | - } | |
106 | - if(directory != null && directory.containsTag(ExifDirectory.TAG_ORIENTATION)){ | |
107 | - int orientation = directory.getInt(ExifDirectory.TAG_ORIENTATION); | |
108 | - // 原图片的方向信息 | |
109 | - if(6 == orientation ){ | |
110 | - //6旋转90 | |
111 | - angel = 90; | |
112 | - }else if( 3 == orientation){ | |
113 | - //3旋转180 | |
114 | - angel = 180; | |
115 | - }else if( 8 == orientation){ | |
116 | - //8旋转90 | |
117 | - angel = 270; | |
118 | - } | |
119 | - } | |
120 | - }catch(Exception e){ | |
121 | - e.printStackTrace(); | |
122 | - } | |
123 | - return angel;*/ | |
124 | - } | |
125 | - | |
126 | - /** | |
127 | - * 旋转照片 | |
128 | - * @return | |
129 | - */ | |
130 | - public static String rotatePhonePhoto(String fullPath, int angel){ | |
131 | - | |
132 | - BufferedImage src; | |
133 | - try { | |
134 | - src = ImageIO.read(new File(fullPath)); | |
135 | - int src_width = src.getWidth(null); | |
136 | - int src_height = src.getHeight(null); | |
137 | - | |
138 | - int swidth=src_width; | |
139 | - int sheight=src_height; | |
140 | - | |
141 | - if(angel==90||angel==270){ | |
142 | - swidth = src_height; | |
143 | - sheight= src_width; | |
144 | - } | |
145 | - | |
146 | - Rectangle rect_des = new Rectangle(new Dimension(swidth,sheight)); | |
147 | - | |
148 | - BufferedImage res = new BufferedImage(rect_des.width, rect_des.height,BufferedImage.TYPE_INT_RGB); | |
149 | - Graphics2D g2 = res.createGraphics(); | |
150 | - | |
151 | - g2.translate((rect_des.width - src_width) / 2, | |
152 | - (rect_des.height - src_height) / 2); | |
153 | - g2.rotate(Math.toRadians(angel), src_width / 2, src_height / 2); | |
154 | - | |
155 | - g2.drawImage(src, null, null); | |
156 | - | |
157 | - ImageIO.write(res, "jpg", new File(fullPath)); | |
158 | - | |
159 | - } catch (IOException e) { | |
160 | - | |
161 | - e.printStackTrace(); | |
162 | - } | |
163 | - | |
164 | - return fullPath; | |
165 | - | |
166 | - } | |
167 | - | |
168 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java
... | ... | @@ -1,46 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class JiaoCai implements Serializable { | |
6 | - | |
7 | - | |
8 | - private String ID; | |
9 | - | |
10 | - private String SubjectId; | |
11 | - | |
12 | - private String JiaoCaiName; | |
13 | - | |
14 | - public String getID() { | |
15 | - return ID; | |
16 | - } | |
17 | - | |
18 | - public void setID(String ID) { | |
19 | - this.ID = ID; | |
20 | - } | |
21 | - | |
22 | - public String getSubjectId() { | |
23 | - return SubjectId; | |
24 | - } | |
25 | - | |
26 | - public void setSubjectId(String subjectId) { | |
27 | - SubjectId = subjectId; | |
28 | - } | |
29 | - | |
30 | - public String getJiaoCaiName() { | |
31 | - return JiaoCaiName; | |
32 | - } | |
33 | - | |
34 | - public void setJiaoCaiName(String jiaoCaiName) { | |
35 | - JiaoCaiName = jiaoCaiName; | |
36 | - } | |
37 | - | |
38 | - @Override | |
39 | - public String toString() { | |
40 | - return "JiaoCai{" + | |
41 | - "ID='" + ID + '\'' + | |
42 | - ", SubjectId='" + SubjectId + '\'' + | |
43 | - ", JiaoCaiName='" + JiaoCaiName + '\'' + | |
44 | - '}'; | |
45 | - } | |
46 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java
... | ... | @@ -1,44 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class Knowledge implements Serializable { | |
6 | - | |
7 | - private String Name; | |
8 | - | |
9 | - private String SubjectId; | |
10 | - | |
11 | - private String Id; | |
12 | - | |
13 | - public String getId() { | |
14 | - return Id; | |
15 | - } | |
16 | - | |
17 | - public void setId(String id) { | |
18 | - Id = id; | |
19 | - } | |
20 | - | |
21 | - public String getName() { | |
22 | - return Name; | |
23 | - } | |
24 | - | |
25 | - public void setName(String name) { | |
26 | - Name = name; | |
27 | - } | |
28 | - | |
29 | - public String getSubjectId() { | |
30 | - return SubjectId; | |
31 | - } | |
32 | - | |
33 | - public void setSubjectId(String subjectId) { | |
34 | - SubjectId = subjectId; | |
35 | - } | |
36 | - | |
37 | - @Override | |
38 | - public String toString() { | |
39 | - return "Knowledge{" + | |
40 | - "Name='" + Name + '\'' + | |
41 | - ", SubjectId='" + SubjectId + '\'' + | |
42 | - '}'; | |
43 | - } | |
44 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java
... | ... | @@ -1,30 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import com.baidu.aip.ocr.AipOcr; | |
4 | -import com.baidu.aip.util.Base64Util; | |
5 | -import com.fasterxml.jackson.databind.ObjectMapper; | |
6 | -import org.json.JSONObject; | |
7 | -import org.springframework.boot.ApplicationArguments; | |
8 | -import org.springframework.boot.ApplicationRunner; | |
9 | -import org.springframework.http.HttpEntity; | |
10 | -import org.springframework.http.HttpHeaders; | |
11 | -import org.springframework.http.MediaType; | |
12 | -import org.springframework.http.ResponseEntity; | |
13 | -import org.springframework.stereotype.Component; | |
14 | -import org.springframework.util.LinkedMultiValueMap; | |
15 | -import org.springframework.util.MultiValueMap; | |
16 | -import org.springframework.web.client.RestTemplate; | |
17 | - | |
18 | -import java.util.HashMap; | |
19 | - | |
20 | -@Component | |
21 | -public class MyTask implements ApplicationRunner { | |
22 | - | |
23 | - | |
24 | - | |
25 | - @Override | |
26 | - public void run(ApplicationArguments args) throws Exception { | |
27 | - | |
28 | - System.out.println("authon:" + AuthService.getAuth()); | |
29 | - } | |
30 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java
... | ... | @@ -1,277 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class QuestionBean implements Serializable { | |
6 | - | |
7 | - | |
8 | - private String ID; | |
9 | - | |
10 | - private String Question; | |
11 | - | |
12 | - private String Qtype; | |
13 | - | |
14 | - private String Answer; | |
15 | - | |
16 | - private String CorrectAnswer; | |
17 | - | |
18 | - private String Analysis; | |
19 | - | |
20 | - private String State; | |
21 | - | |
22 | - private String Intime; | |
23 | - | |
24 | - private String ExamineFlag; | |
25 | - | |
26 | - private String ExamineUserId; | |
27 | - | |
28 | - private String CreateUserId; | |
29 | - | |
30 | - private String SubjectId; | |
31 | - | |
32 | - private String SchoolId; | |
33 | - | |
34 | - private String DifficulteId; | |
35 | - | |
36 | - private String KnowledgeId; | |
37 | - | |
38 | - private String ChapterId; | |
39 | - | |
40 | - private String GradeId; | |
41 | - | |
42 | - private String SourceId; | |
43 | - | |
44 | - private String OrderId; | |
45 | - | |
46 | - private String SId; | |
47 | - | |
48 | - private String StemId; | |
49 | - | |
50 | - private String AutomaticCorrection; | |
51 | - | |
52 | - private String PkgId; | |
53 | - | |
54 | - private String PkgType; | |
55 | - | |
56 | - public String getQuestion() { | |
57 | - return Question; | |
58 | - } | |
59 | - | |
60 | - public void setQuestion(String question) { | |
61 | - Question = question; | |
62 | - } | |
63 | - | |
64 | - public String getQtype() { | |
65 | - return Qtype; | |
66 | - } | |
67 | - | |
68 | - public void setQtype(String qtype) { | |
69 | - Qtype = qtype; | |
70 | - } | |
71 | - | |
72 | - public String getAnswer() { | |
73 | - return Answer; | |
74 | - } | |
75 | - | |
76 | - public void setAnswer(String answer) { | |
77 | - Answer = answer; | |
78 | - } | |
79 | - | |
80 | - public String getCorrectAnswer() { | |
81 | - return CorrectAnswer; | |
82 | - } | |
83 | - | |
84 | - public void setCorrectAnswer(String correctAnswer) { | |
85 | - CorrectAnswer = correctAnswer; | |
86 | - } | |
87 | - | |
88 | - public String getAnalysis() { | |
89 | - return Analysis; | |
90 | - } | |
91 | - | |
92 | - public void setAnalysis(String analysis) { | |
93 | - Analysis = analysis; | |
94 | - } | |
95 | - | |
96 | - public String getState() { | |
97 | - return State; | |
98 | - } | |
99 | - | |
100 | - public void setState(String state) { | |
101 | - State = state; | |
102 | - } | |
103 | - | |
104 | - public String getIntime() { | |
105 | - return Intime; | |
106 | - } | |
107 | - | |
108 | - public void setIntime(String intime) { | |
109 | - Intime = intime; | |
110 | - } | |
111 | - | |
112 | - public String getExamineFlag() { | |
113 | - return ExamineFlag; | |
114 | - } | |
115 | - | |
116 | - public void setExamineFlag(String examineFlag) { | |
117 | - ExamineFlag = examineFlag; | |
118 | - } | |
119 | - | |
120 | - public String getExamineUserId() { | |
121 | - return ExamineUserId; | |
122 | - } | |
123 | - | |
124 | - public void setExamineUserId(String examineUserId) { | |
125 | - ExamineUserId = examineUserId; | |
126 | - } | |
127 | - | |
128 | - public String getCreateUserId() { | |
129 | - return CreateUserId; | |
130 | - } | |
131 | - | |
132 | - public void setCreateUserId(String createUserId) { | |
133 | - CreateUserId = createUserId; | |
134 | - } | |
135 | - | |
136 | - public String getSubjectId() { | |
137 | - return SubjectId; | |
138 | - } | |
139 | - | |
140 | - public void setSubjectId(String subjectId) { | |
141 | - SubjectId = subjectId; | |
142 | - } | |
143 | - | |
144 | - public String getSchoolId() { | |
145 | - return SchoolId; | |
146 | - } | |
147 | - | |
148 | - public void setSchoolId(String schoolId) { | |
149 | - SchoolId = schoolId; | |
150 | - } | |
151 | - | |
152 | - public String getDifficulteId() { | |
153 | - return DifficulteId; | |
154 | - } | |
155 | - | |
156 | - public void setDifficulteId(String difficulteId) { | |
157 | - DifficulteId = difficulteId; | |
158 | - } | |
159 | - | |
160 | - public String getKnowledgeId() { | |
161 | - return KnowledgeId; | |
162 | - } | |
163 | - | |
164 | - public void setKnowledgeId(String knowledgeId) { | |
165 | - KnowledgeId = knowledgeId; | |
166 | - } | |
167 | - | |
168 | - public String getChapterId() { | |
169 | - return ChapterId; | |
170 | - } | |
171 | - | |
172 | - public void setChapterId(String chapterId) { | |
173 | - ChapterId = chapterId; | |
174 | - } | |
175 | - | |
176 | - public String getGradeId() { | |
177 | - return GradeId; | |
178 | - } | |
179 | - | |
180 | - public void setGradeId(String gradeId) { | |
181 | - GradeId = gradeId; | |
182 | - } | |
183 | - | |
184 | - public String getSourceId() { | |
185 | - return SourceId; | |
186 | - } | |
187 | - | |
188 | - public void setSourceId(String sourceId) { | |
189 | - SourceId = sourceId; | |
190 | - } | |
191 | - | |
192 | - public String getOrderId() { | |
193 | - return OrderId; | |
194 | - } | |
195 | - | |
196 | - public void setOrderId(String orderId) { | |
197 | - OrderId = orderId; | |
198 | - } | |
199 | - | |
200 | - public String getSId() { | |
201 | - return SId; | |
202 | - } | |
203 | - | |
204 | - public void setSId(String SId) { | |
205 | - this.SId = SId; | |
206 | - } | |
207 | - | |
208 | - public String getStemId() { | |
209 | - return StemId; | |
210 | - } | |
211 | - | |
212 | - public void setStemId(String stemId) { | |
213 | - StemId = stemId; | |
214 | - } | |
215 | - | |
216 | - public String getAutomaticCorrection() { | |
217 | - return AutomaticCorrection; | |
218 | - } | |
219 | - | |
220 | - public void setAutomaticCorrection(String automaticCorrection) { | |
221 | - AutomaticCorrection = automaticCorrection; | |
222 | - } | |
223 | - | |
224 | - public String getPkgId() { | |
225 | - return PkgId; | |
226 | - } | |
227 | - | |
228 | - public void setPkgId(String pkgId) { | |
229 | - PkgId = pkgId; | |
230 | - } | |
231 | - | |
232 | - public String getPkgType() { | |
233 | - return PkgType; | |
234 | - } | |
235 | - | |
236 | - public void setPkgType(String pkgType) { | |
237 | - PkgType = pkgType; | |
238 | - } | |
239 | - | |
240 | - public String getID() { | |
241 | - return ID; | |
242 | - } | |
243 | - | |
244 | - public void setID(String ID) { | |
245 | - this.ID = ID; | |
246 | - } | |
247 | - | |
248 | - @Override | |
249 | - public String toString() { | |
250 | - return "QuestionBean{" + | |
251 | - "ID='" + ID + '\'' + | |
252 | - ", Question='" + Question + '\'' + | |
253 | - ", Qtype='" + Qtype + '\'' + | |
254 | - ", Answer='" + Answer + '\'' + | |
255 | - ", CorrectAnswer='" + CorrectAnswer + '\'' + | |
256 | - ", Analysis='" + Analysis + '\'' + | |
257 | - ", State='" + State + '\'' + | |
258 | - ", Intime='" + Intime + '\'' + | |
259 | - ", ExamineFlag='" + ExamineFlag + '\'' + | |
260 | - ", ExamineUserId='" + ExamineUserId + '\'' + | |
261 | - ", CreateUserId='" + CreateUserId + '\'' + | |
262 | - ", SubjectId='" + SubjectId + '\'' + | |
263 | - ", SchoolId='" + SchoolId + '\'' + | |
264 | - ", DifficulteId='" + DifficulteId + '\'' + | |
265 | - ", KnowledgeId='" + KnowledgeId + '\'' + | |
266 | - ", ChapterId='" + ChapterId + '\'' + | |
267 | - ", GradeId='" + GradeId + '\'' + | |
268 | - ", SourceId='" + SourceId + '\'' + | |
269 | - ", OrderId='" + OrderId + '\'' + | |
270 | - ", SId='" + SId + '\'' + | |
271 | - ", StemId='" + StemId + '\'' + | |
272 | - ", AutomaticCorrection='" + AutomaticCorrection + '\'' + | |
273 | - ", PkgId='" + PkgId + '\'' + | |
274 | - ", PkgType='" + PkgType + '\'' + | |
275 | - '}'; | |
276 | - } | |
277 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java
... | ... | @@ -1,44 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class StudentAnswer implements Serializable { | |
6 | - | |
7 | - private String ID; | |
8 | - | |
9 | - private String CorrectAnswer; | |
10 | - | |
11 | - private String Answer; | |
12 | - | |
13 | - public String getID() { | |
14 | - return ID; | |
15 | - } | |
16 | - | |
17 | - public String getAnswer() { | |
18 | - return Answer; | |
19 | - } | |
20 | - | |
21 | - public void setAnswer(String answer) { | |
22 | - Answer = answer; | |
23 | - } | |
24 | - | |
25 | - public void setID(String ID) { | |
26 | - this.ID = ID; | |
27 | - } | |
28 | - | |
29 | - public String getCorrectAnswer() { | |
30 | - return CorrectAnswer; | |
31 | - } | |
32 | - | |
33 | - public void setCorrectAnswer(String correctAnswer) { | |
34 | - CorrectAnswer = correctAnswer; | |
35 | - } | |
36 | - | |
37 | - @Override | |
38 | - public String toString() { | |
39 | - return "StudentAnswer{" + | |
40 | - "ID='" + ID + '\'' + | |
41 | - ", CorrectAnswer='" + CorrectAnswer + '\'' + | |
42 | - '}'; | |
43 | - } | |
44 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java
... | ... | @@ -1,233 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | -import java.util.Date; | |
5 | - | |
6 | -public class StudentBean implements Serializable { | |
7 | - | |
8 | - | |
9 | - private long ID; | |
10 | - private String UserId; | |
11 | - | |
12 | - private String CustomerId; | |
13 | - | |
14 | - private int StudentType; | |
15 | - | |
16 | - private int UserType; | |
17 | - | |
18 | - private String Name; | |
19 | - | |
20 | - private int ClassId; | |
21 | - | |
22 | - private String ClassName; | |
23 | - | |
24 | - private String OldCard; | |
25 | - | |
26 | - private String Card; | |
27 | - | |
28 | - private int SchoolId; | |
29 | - | |
30 | - private int school_id; | |
31 | - | |
32 | - private int IsNew; | |
33 | - | |
34 | - private int UpdateType; | |
35 | - | |
36 | - private Date AddTime; | |
37 | - | |
38 | - private int Sex; | |
39 | - | |
40 | - private String Face; | |
41 | - | |
42 | - private String StudentCode; | |
43 | - | |
44 | - private String student_num; | |
45 | - | |
46 | - private String student_id; | |
47 | - | |
48 | - public String getUserId() { | |
49 | - return UserId; | |
50 | - } | |
51 | - | |
52 | - public void setUserId(String userId) { | |
53 | - UserId = userId; | |
54 | - } | |
55 | - | |
56 | - public String getCustomerId() { | |
57 | - return CustomerId; | |
58 | - } | |
59 | - | |
60 | - public void setCustomerId(String customerId) { | |
61 | - CustomerId = customerId; | |
62 | - } | |
63 | - | |
64 | - public int getStudentType() { | |
65 | - return StudentType; | |
66 | - } | |
67 | - | |
68 | - public void setStudentType(int studentType) { | |
69 | - StudentType = studentType; | |
70 | - } | |
71 | - | |
72 | - public int getUserType() { | |
73 | - return UserType; | |
74 | - } | |
75 | - | |
76 | - public void setUserType(int userType) { | |
77 | - UserType = userType; | |
78 | - } | |
79 | - | |
80 | - public String getName() { | |
81 | - return Name; | |
82 | - } | |
83 | - | |
84 | - public void setName(String name) { | |
85 | - Name = name; | |
86 | - } | |
87 | - | |
88 | - public int getClassId() { | |
89 | - return ClassId; | |
90 | - } | |
91 | - | |
92 | - public void setClassId(int classId) { | |
93 | - ClassId = classId; | |
94 | - } | |
95 | - | |
96 | - public String getClassName() { | |
97 | - return ClassName; | |
98 | - } | |
99 | - | |
100 | - public void setClassName(String className) { | |
101 | - ClassName = className; | |
102 | - } | |
103 | - | |
104 | - public String getOldCard() { | |
105 | - return OldCard; | |
106 | - } | |
107 | - | |
108 | - public void setOldCard(String oldCard) { | |
109 | - OldCard = oldCard; | |
110 | - } | |
111 | - | |
112 | - public String getCard() { | |
113 | - return Card; | |
114 | - } | |
115 | - | |
116 | - public int getSchool_id() { | |
117 | - return school_id; | |
118 | - } | |
119 | - | |
120 | - public void setSchool_id(int school_id) { | |
121 | - this.school_id = school_id; | |
122 | - } | |
123 | - | |
124 | - public String getStudent_num() { | |
125 | - return student_num; | |
126 | - } | |
127 | - | |
128 | - public void setStudent_num(String student_num) { | |
129 | - this.student_num = student_num; | |
130 | - } | |
131 | - | |
132 | - public void setCard(String card) { | |
133 | - Card = card; | |
134 | - } | |
135 | - | |
136 | - public int getSchoolId() { | |
137 | - return SchoolId; | |
138 | - } | |
139 | - | |
140 | - public void setSchoolId(int schoolId) { | |
141 | - SchoolId = schoolId; | |
142 | - } | |
143 | - | |
144 | - public int getIsNew() { | |
145 | - return IsNew; | |
146 | - } | |
147 | - | |
148 | - public void setIsNew(int isNew) { | |
149 | - IsNew = isNew; | |
150 | - } | |
151 | - | |
152 | - public int getUpdateType() { | |
153 | - return UpdateType; | |
154 | - } | |
155 | - | |
156 | - public void setUpdateType(int updateType) { | |
157 | - UpdateType = updateType; | |
158 | - } | |
159 | - | |
160 | - public Date getAddTime() { | |
161 | - return AddTime; | |
162 | - } | |
163 | - | |
164 | - public void setAddTime(Date addTime) { | |
165 | - AddTime = addTime; | |
166 | - } | |
167 | - | |
168 | - public int getSex() { | |
169 | - return Sex; | |
170 | - } | |
171 | - | |
172 | - public void setSex(int sex) { | |
173 | - Sex = sex; | |
174 | - } | |
175 | - | |
176 | - public String getFace() { | |
177 | - return Face; | |
178 | - } | |
179 | - | |
180 | - public void setFace(String face) { | |
181 | - Face = face; | |
182 | - } | |
183 | - | |
184 | - public String getStudentCode() { | |
185 | - return StudentCode; | |
186 | - } | |
187 | - | |
188 | - public void setStudentCode(String studentCode) { | |
189 | - StudentCode = studentCode; | |
190 | - } | |
191 | - | |
192 | - public long getID() { | |
193 | - return ID; | |
194 | - } | |
195 | - | |
196 | - public void setID(long ID) { | |
197 | - this.ID = ID; | |
198 | - } | |
199 | - | |
200 | - public String getStudent_id() { | |
201 | - return student_id; | |
202 | - } | |
203 | - | |
204 | - public void setStudent_id(String student_id) { | |
205 | - this.student_id = student_id; | |
206 | - } | |
207 | - | |
208 | - @Override | |
209 | - public String toString() { | |
210 | - return "StudentBean{" + | |
211 | - "ID=" + ID + | |
212 | - ", UserId='" + UserId + '\'' + | |
213 | - ", CustomerId='" + CustomerId + '\'' + | |
214 | - ", StudentType=" + StudentType + | |
215 | - ", UserType=" + UserType + | |
216 | - ", Name='" + Name + '\'' + | |
217 | - ", ClassId=" + ClassId + | |
218 | - ", ClassName='" + ClassName + '\'' + | |
219 | - ", OldCard='" + OldCard + '\'' + | |
220 | - ", Card='" + Card + '\'' + | |
221 | - ", SchoolId=" + SchoolId + | |
222 | - ", school_id=" + school_id + | |
223 | - ", IsNew=" + IsNew + | |
224 | - ", UpdateType=" + UpdateType + | |
225 | - ", AddTime=" + AddTime + | |
226 | - ", Sex=" + Sex + | |
227 | - ", Face='" + Face + '\'' + | |
228 | - ", StudentCode='" + StudentCode + '\'' + | |
229 | - ", student_num='" + student_num + '\'' + | |
230 | - ", student_id='" + student_id + '\'' + | |
231 | - '}'; | |
232 | - } | |
233 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java
... | ... | @@ -1,57 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class StudentInfo implements Serializable { | |
6 | - | |
7 | - private String student_id; | |
8 | - | |
9 | - private String name; | |
10 | - | |
11 | - private String class_name; | |
12 | - | |
13 | - private String ParentMobile; | |
14 | - | |
15 | - private String studentcode; | |
16 | - | |
17 | - | |
18 | - public String getStudentcode() { | |
19 | - return studentcode; | |
20 | - } | |
21 | - | |
22 | - public void setStudentcode(String studentcode) { | |
23 | - this.studentcode = studentcode; | |
24 | - } | |
25 | - | |
26 | - public String getStudent_id() { | |
27 | - return student_id; | |
28 | - } | |
29 | - | |
30 | - public void setStudent_id(String student_id) { | |
31 | - this.student_id = student_id; | |
32 | - } | |
33 | - | |
34 | - public String getName() { | |
35 | - return name; | |
36 | - } | |
37 | - | |
38 | - public void setName(String name) { | |
39 | - this.name = name; | |
40 | - } | |
41 | - | |
42 | - public String getClass_name() { | |
43 | - return class_name; | |
44 | - } | |
45 | - | |
46 | - public void setClass_name(String class_name) { | |
47 | - this.class_name = class_name; | |
48 | - } | |
49 | - | |
50 | - public String getParentMobile() { | |
51 | - return ParentMobile; | |
52 | - } | |
53 | - | |
54 | - public void setParentMobile(String parentMobile) { | |
55 | - ParentMobile = parentMobile; | |
56 | - } | |
57 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java
... | ... | @@ -1,138 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import org.apache.ibatis.annotations.*; | |
4 | -import org.springframework.stereotype.Repository; | |
5 | - | |
6 | -import java.util.List; | |
7 | - | |
8 | -@Repository | |
9 | -@Mapper | |
10 | -public interface TestDao { | |
11 | - | |
12 | - | |
13 | - @Insert("insert into TK_QuestionStem values(#{QuestionStem},#{State},#{Intime})") | |
14 | - int addQuestionStem(@Param("QuestionStem") String QuestionStem, @Param("State") String State, @Param("Intime") String Intime); | |
15 | - | |
16 | - @Insert("insert into TK_Question(Question,Qtype,Answer,CorrectAnswer,Analysis,State,Intime,ExamineFlag,ExamineUserId,CreateUserId,SubjectId,SchoolId,DifficulteId,KnowledgeId,ChapterId,GradeId,SourceId,OrderId,SId," + | |
17 | - "StemId,AutomaticCorrection,PkgId,PkgType) " + | |
18 | - "values(#{Question},#{Qtype},#{Answer},#{CorrectAnswer},#{Analysis},#{State},#{Intime},#{ExamineFlag},#{ExamineUserId}" + | |
19 | - ",#{CreateUserId},#{SubjectId},#{SchoolId},#{DifficulteId},#{KnowledgeId},#{ChapterId},#{GradeId},#{SourceId},#{OrderId},#{SId}" + | |
20 | - ",#{StemId},#{AutomaticCorrection},#{PkgId},#{PkgType})") | |
21 | - int addQuestion(@Param("Question") String Question, @Param("Qtype") String Qtype, @Param("Answer") String Answer, @Param("CorrectAnswer") String CorrectAnswer | |
22 | - , @Param("Analysis") String Analysis, @Param("State") String State, @Param("Intime") String Intime, @Param("ExamineFlag") String ExamineFlag, @Param("ExamineUserId") String ExamineUserId | |
23 | - , @Param("CreateUserId") String CreateUserId, @Param("SubjectId") String SubjectId, @Param("SchoolId") String SchoolId, @Param("DifficulteId") String DifficulteId, @Param("KnowledgeId") String KnowledgeId | |
24 | - , @Param("ChapterId") String ChapterId, @Param("GradeId") String GradeId, @Param("SourceId") String SourceId, @Param("OrderId") String OrderId, @Param("SId") String SId | |
25 | - , @Param("StemId") String StemId, @Param("AutomaticCorrection") String AutomaticCorrection, @Param("PkgId") String PkgId, @Param("PkgType") String PkgType); | |
26 | - | |
27 | - @Select("select Top(1) ID from TK_QuestionStem order by Intime desc ") | |
28 | - int getStemId(); | |
29 | - | |
30 | - @Select("select * from TK_Question where Question like #{Question}") | |
31 | - List<QuestionBean> getQuestions(@Param("Question")String Question); | |
32 | - | |
33 | - @Update("update TK_Question set CorrectAnswer = #{answer},Analysis = #{explanation} where ID = #{id}") | |
34 | - void updateQuestion(@Param("id") String id, @Param("answer") String answer, @Param("explanation") String explanation); | |
35 | - | |
36 | - | |
37 | - //学生做作业 | |
38 | - @Insert("insert into ZY_StudentAnswer (QuestionId,Answer,CorrectAnswer,QuestionType,IsCorrect,WorkID) values (" + | |
39 | - "#{QuestionId},#{Answer},#{CorrectAnswer},#{QuestionType},#{IsCorrect},#{WorkID})") | |
40 | - void StudentAnswer(@Param("QuestionId")String QuestionId,@Param("Answer")String Answer,@Param("CorrectAnswer")String CorrectAnswer, | |
41 | - @Param("QuestionType")String QuestionType,@Param("IsCorrect")String IsCorresct,@Param("WorkID")String WorkID); | |
42 | - | |
43 | - @Insert("insert into ZY_HomeworkReceive values(#{WorkId},#{ClassId},#{StudentId},#{StudnetAnswerIds},#{IsFinished}," + | |
44 | - "#{AnswerTime},#{FinishTime},#{Intime},#{IsPigai},#{IsPigai})") | |
45 | - void HomeworkReceive(@Param("WorkId")String WorkId,@Param("ClassId")String ClassId,@Param("StudentId")String StudentId,@Param("StudnetAnswerIds")String StudnetAnswerIds, | |
46 | - @Param("IsFinished")String IsFinished,@Param("AnswerTime")String AnswerTime,@Param("FinishTime")String FinishTime,@Param("Intime")String Intime, | |
47 | - @Param("IsPigai")String IsPigai,@Param("IsPigai")String UseTime); | |
48 | - | |
49 | - @Select("select * from TK_Question where ID = #{ID}") | |
50 | - QuestionBean getQues(@Param("ID")String ID); | |
51 | - | |
52 | - @Select("select StudentId from ZY_HomeworkReceive where WorkId = #{WorkId}") | |
53 | - List<String> getStudentIds(@Param("WorkId")String WorkId); | |
54 | -// ) | |
55 | - | |
56 | - @Select("select ID from TK_Question where SchoolId = 885 and CorrectAnswer in('A','B','C','D') and ChapterId = #{ChapterId}") | |
57 | - List<String> getQIDS(@Param("ChapterId")String ChapterId ); | |
58 | - | |
59 | - @Select("select ID from ZY_StudentAnswer where WorkID = #{WorkID}") | |
60 | - List<String> getStudentAnsIds(@Param("WorkID")String WorkID); | |
61 | - | |
62 | - //添加学生答题记录 | |
63 | - @Insert("insert into ZY_StudentAnswer values (#{QuestionId},#{Answer},#{AnswerTime},#{CorrectAnswer},#{QuestionType},#{Pigai},#{IsCorrect},#{AppachIds},#{TeacherAppachIds},#{WorkID})") | |
64 | - void addStudentAnswer(@Param("QuestionId")String QuestionId,@Param("Answer")String Answer,@Param("AnswerTime")String AnswerTime,@Param("CorrectAnswer")String CorrectAnswer, | |
65 | - @Param("QuestionType")String QuestionType,@Param("Pigai")String Pigai,@Param("IsCorrect")String IsCorrect,@Param("AppachIds")String AppachIds, | |
66 | - @Param("TeacherAppachIds")String TeacherAppachIds,@Param("WorkID")String WorkID); | |
67 | - | |
68 | - | |
69 | - @Select("select Top(#{top}) ID from ZY_StudentAnswer where WorkID = #{WorkID} order by ID desc") | |
70 | - List<String> getTopIDs(@Param("WorkID")String WorkID,@Param("top")int top); | |
71 | - | |
72 | - @Select("select ID from ZY_HomeworkReceive where WorkId = #{WorkId} and ID >= #{ID} and ID<12054 order by ID desc") | |
73 | - List<String> get_HomeworkReceive(@Param("WorkId")String WorkId,@Param("ID")String ID); | |
74 | - | |
75 | - @Update("update ZY_HomeworkReceive set StudnetAnswerIds = #{StudnetAnswerIds} where ID = #{ID}") | |
76 | - void updateHomeWork(@Param("StudnetAnswerIds")String StudnetAnswerIds,@Param("ID")String ID); | |
77 | - | |
78 | - @Select("select * from ZY_HomeworkReceive where WorkId = #{WorkId} order by ID desc") | |
79 | - List<HomeworkReceive> get_HomeworkRec(@Param("WorkId")String WorkId); | |
80 | - | |
81 | - @Select("select Title from ZY_Homework where ID = #{ID} order by ID desc") | |
82 | - String getWorkName(@Param("ID") String workId); | |
83 | - | |
84 | - @Select("select * from ZY_StudentAnswer where WorkID = #{WorkId}") | |
85 | - List<StudentAnswer> get_stuAnswer(@Param("WorkId")String WorkId); | |
86 | - | |
87 | - @Update("update ZY_StudentAnswer set Answer = #{Answer},IsCorrect = #{IsCorrect} ,CorrectAnswer = #{CorrectAnswer} where ID = #{ID}") | |
88 | - void updateStudentAnswer(@Param("ID") String id,@Param("CorrectAnswer")String CorrectAnswer,@Param("Answer")String Answer,@Param("IsCorrect")String IsCorrect); | |
89 | - | |
90 | - @Select("select name from SZ_V_School_Student where student_id = #{student_id}") | |
91 | - String getStudentName(@Param("student_id") String studentId); | |
92 | - | |
93 | - @Select("select student_id from SZ_V_School_Student where class_id = #{class_id}") | |
94 | - List<String> getStudentIdsWithClassId(@Param("class_id") String class_id); | |
95 | - | |
96 | - @Select("select IsCorrect from ZY_StudentAnswer where ID = #{ID}") | |
97 | - int getIsCorrect(@Param("ID") String id); | |
98 | - | |
99 | - @Select("select QuestionId from ZY_StudentAnswer where WorkID = #{WorkID}") | |
100 | - List<String> getStuAnsIds(@Param("WorkID") String workId); | |
101 | - | |
102 | - @Select("select CorrectAnswer from ZY_StudentAnswer where WorkID = #{WorkID}") | |
103 | - List<String> correctAns(@Param("WorkID")String WorkID); | |
104 | - | |
105 | - | |
106 | - @Select("select * from ZY_TestPaper where CreatorUserId = #{CreateUserId} and Intime > #{Intime}") | |
107 | - List<TestPaper> getTestPapers(@Param("CreateUserId") String createUserId,@Param("Intime")String Intime); | |
108 | - | |
109 | - @Insert("insert into ZY_TestPaper values (#{addCreateUserId},#{questionIds},#{status},#{publishTime},#{name},#{isRecommend},#{state},#{intime},#{schoolId})") | |
110 | - void addTestPaper(@Param("addCreateUserId") String addCreateUserId, @Param("questionIds") String questionIds, @Param("status") int status, | |
111 | - @Param("publishTime") String publishTime, @Param("name") String name, @Param("isRecommend") int isRecommend, | |
112 | - @Param("state") int state, @Param("intime") String intime, @Param("schoolId") String schoolId); | |
113 | - | |
114 | - @Insert("insert into ZY_Homework values(#{addCreateUserId},#{id},#{name},#{s},#{s1},#{s2},#{s3},#{i},#{i1},#{i2},#{s4},#{i3},#{questionIds},#{i4},#{i5}) ") | |
115 | - void addHomework(@Param("addCreateUserId") String addCreateUserId, @Param("id") int id, @Param("name") String name, | |
116 | - @Param("s") String s, @Param("s1") String s1, @Param("s2") String s2, @Param("s3") String s3, @Param("i") int i, | |
117 | - @Param("i1") int i1, @Param("i2") int i2,@Param("s4") String s4, @Param("i3") int i3, @Param("questionIds") String questionIds, @Param("i4") int i4, @Param("i5") int i5); | |
118 | - | |
119 | - | |
120 | - @Select("select * from ZY_Homework where CreatorUserId in (select DISTINCT user_id from SZ_UserRole where school_id = 11)") | |
121 | - List<HomeBean> getCreatorUserId(); | |
122 | - | |
123 | - @Select("select * from ZY_Homework where CreatorUserId = #{CreatorUserId}") | |
124 | - List<Homework> getHomeWork(@Param("CreatorUserId") String addCreateUserId); | |
125 | - | |
126 | - @Select("select * from SZ_V_School_Student where school_id = #{school_id}") | |
127 | - List<StudentInfo> getStudents(@Param("school_id") int school_id); | |
128 | - | |
129 | - @Select("select QuestionIds from ZY_Homework where ID = #{workId}") | |
130 | - String getQuestionIds(@Param("workId") String workId); | |
131 | - | |
132 | - @Select("select CorrectAnswer from TK_Question where ID = #{questionId}") | |
133 | - String getCorrectAnswer(@Param("questionId") String questionId); | |
134 | - | |
135 | - | |
136 | - | |
137 | - | |
138 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java
... | ... | @@ -1,122 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import java.io.Serializable; | |
4 | - | |
5 | -public class TestPaper implements Serializable { | |
6 | - | |
7 | - private int ID; | |
8 | - | |
9 | - private String CreatorUserId; | |
10 | - | |
11 | - private String QuestionIds; | |
12 | - | |
13 | - private int Status; | |
14 | - | |
15 | - private String PublishTime; | |
16 | - | |
17 | - private String Name; | |
18 | - | |
19 | - private int IsRecommend; | |
20 | - | |
21 | - private int State; | |
22 | - | |
23 | - private String Intime; | |
24 | - | |
25 | - private int SchoolId; | |
26 | - | |
27 | - public String getCreatorUserId() { | |
28 | - return CreatorUserId; | |
29 | - } | |
30 | - | |
31 | - public void setCreatorUserId(String creatorUserId) { | |
32 | - CreatorUserId = creatorUserId; | |
33 | - } | |
34 | - | |
35 | - public String getQuestionIds() { | |
36 | - return QuestionIds; | |
37 | - } | |
38 | - | |
39 | - public void setQuestionIds(String questionIds) { | |
40 | - QuestionIds = questionIds; | |
41 | - } | |
42 | - | |
43 | - public int getStatus() { | |
44 | - return Status; | |
45 | - } | |
46 | - | |
47 | - public int getID() { | |
48 | - return ID; | |
49 | - } | |
50 | - | |
51 | - public void setID(int ID) { | |
52 | - this.ID = ID; | |
53 | - } | |
54 | - | |
55 | - public void setStatus(int status) { | |
56 | - Status = status; | |
57 | - } | |
58 | - | |
59 | - public String getPublishTime() { | |
60 | - return PublishTime; | |
61 | - } | |
62 | - | |
63 | - public void setPublishTime(String publishTime) { | |
64 | - PublishTime = publishTime; | |
65 | - } | |
66 | - | |
67 | - public String getName() { | |
68 | - return Name; | |
69 | - } | |
70 | - | |
71 | - public void setName(String name) { | |
72 | - Name = name; | |
73 | - } | |
74 | - | |
75 | - public int getIsRecommend() { | |
76 | - return IsRecommend; | |
77 | - } | |
78 | - | |
79 | - public void setIsRecommend(int isRecommend) { | |
80 | - IsRecommend = isRecommend; | |
81 | - } | |
82 | - | |
83 | - public int getState() { | |
84 | - return State; | |
85 | - } | |
86 | - | |
87 | - public void setState(int state) { | |
88 | - State = state; | |
89 | - } | |
90 | - | |
91 | - public String getIntime() { | |
92 | - return Intime; | |
93 | - } | |
94 | - | |
95 | - public void setIntime(String intime) { | |
96 | - Intime = intime; | |
97 | - } | |
98 | - | |
99 | - public int getSchoolId() { | |
100 | - return SchoolId; | |
101 | - } | |
102 | - | |
103 | - public void setSchoolId(int schoolId) { | |
104 | - SchoolId = schoolId; | |
105 | - } | |
106 | - | |
107 | - @Override | |
108 | - public String toString() { | |
109 | - return "TestPaper{" + | |
110 | - "ID=" + ID + | |
111 | - ", CreatorUserId='" + CreatorUserId + '\'' + | |
112 | - ", QuestionIds='" + QuestionIds + '\'' + | |
113 | - ", Status=" + Status + | |
114 | - ", PublishTime='" + PublishTime + '\'' + | |
115 | - ", Name='" + Name + '\'' + | |
116 | - ", IsRecommend=" + IsRecommend + | |
117 | - ", State=" + State + | |
118 | - ", Intime='" + Intime + '\'' + | |
119 | - ", SchoolId=" + SchoolId + | |
120 | - '}'; | |
121 | - } | |
122 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/WatchServer.java
... | ... | @@ -1,530 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | - | |
4 | -import com.sincere.common.dto.smartCampus.UserDto; | |
5 | -import com.sincere.common.dto.xiaoan.CheckInDto; | |
6 | -import com.sincere.common.dto.xiaoan.CheckOutDto; | |
7 | -import com.sincere.common.dto.xiaoan.PassFailDto; | |
8 | -import com.sincere.common.dto.xiaoan.SendMessageDto; | |
9 | -import com.sincere.common.util.DateUtils; | |
10 | -import com.sincere.weigeng.feign.SmFeign; | |
11 | -import com.sincere.weigeng.feign.XaFeign; | |
12 | -import com.sincere.weigeng.logs.LogName; | |
13 | -import com.sincere.weigeng.logs.LoggerUtils; | |
14 | -import com.sincere.weigeng.utils.WGUtils; | |
15 | -import com.sincere.weigeng.utils.WatchingShortHandler; | |
16 | -import com.sincere.weigeng.utils.WgUdpCommShort; | |
17 | -import org.apache.commons.lang3.StringUtils; | |
18 | -import org.apache.mina.core.session.IoSession; | |
19 | -import org.apache.mina.transport.socket.DatagramSessionConfig; | |
20 | -import org.apache.mina.transport.socket.nio.NioDatagramAcceptor; | |
21 | -import org.slf4j.Logger; | |
22 | -import org.springframework.beans.factory.annotation.Autowired; | |
23 | -import org.springframework.boot.ApplicationArguments; | |
24 | -import org.springframework.boot.ApplicationRunner; | |
25 | -import org.springframework.stereotype.Component; | |
26 | - | |
27 | -import java.io.IOException; | |
28 | -import java.net.InetSocketAddress; | |
29 | -import java.util.*; | |
30 | -import java.util.concurrent.ConcurrentHashMap; | |
31 | - | |
32 | -/** | |
33 | - * @author chen | |
34 | - * @version 1.0 | |
35 | - * @date 2019/10/12 0012 16:57 | |
36 | - */ | |
37 | - | |
38 | -@Component | |
39 | -public class WatchServer implements ApplicationRunner { | |
40 | - | |
41 | - private static final Logger Log_orderSuccess = LoggerUtils.Logger(LogName.orderSuccess); | |
42 | - private static final Logger Log_orderFail = LoggerUtils.Logger(LogName.orderFail); | |
43 | - private static final Logger Log_kaoInfo = LoggerUtils.Logger(LogName.kaoInfo); | |
44 | - private static final Logger Log_heartBeat = LoggerUtils.Logger(LogName.heartBeat); | |
45 | - private static final Logger Log_error = LoggerUtils.Logger(LogName.error); | |
46 | - | |
47 | - private static List<Long> snoList = new ArrayList<>(); | |
48 | - private static List<Long> indexList = new ArrayList<>(); | |
49 | - private static WatchingShortHandler watchingShortHandler ; | |
50 | - private static Queue<byte[]> queue = new LinkedList<>(); | |
51 | - private static Map<Long , IoSession> sessionMap = new ConcurrentHashMap<>(); | |
52 | - | |
53 | - @Autowired | |
54 | - SmFeign smFeign; | |
55 | - | |
56 | - @Autowired | |
57 | - XaFeign xaFeign; | |
58 | - | |
59 | - private static String ip = "172.16.3.175"; | |
60 | - private static int port = 1200; | |
61 | - | |
62 | - @Override | |
63 | - public void run(ApplicationArguments args) { | |
64 | - //启动服务监听 | |
65 | - this.WatchingServerRunning(ip,port); | |
66 | - } | |
67 | - | |
68 | - // 进入服务器监控状态 | |
69 | - public int WatchingServerRunning(String watchServerIP,int watchServerPort) { | |
70 | - watchingShortHandler = new WatchingShortHandler(queue,sessionMap); | |
71 | - // 创建UDP数据包NIO | |
72 | - NioDatagramAcceptor acceptor = new NioDatagramAcceptor(); | |
73 | - // NIO设置底层IOHandler | |
74 | - acceptor.setHandler(watchingShortHandler); | |
75 | - | |
76 | - // 设置是否重用地址? 也就是每个发过来的udp信息都是一个地址? | |
77 | - DatagramSessionConfig dcfg = acceptor.getSessionConfig(); | |
78 | - dcfg.setReuseAddress(false); | |
79 | - // 绑定端口地址 | |
80 | - try { | |
81 | - acceptor.bind(new InetSocketAddress(watchServerIP, watchServerPort)); | |
82 | - } catch (IOException e) { | |
83 | - Log_orderSuccess.info("绑定接收服务器失败...."); | |
84 | - e.printStackTrace(); | |
85 | - return 0; | |
86 | - } | |
87 | - Log_orderSuccess.info("绑定接收服务器成功...."); | |
88 | - long recordIndex = 0; | |
89 | - while(true) { | |
90 | - if (!queue.isEmpty()) { | |
91 | - byte[] recvBuff; | |
92 | - synchronized (queue) { | |
93 | - recvBuff= queue.poll(); | |
94 | - } | |
95 | - if (recvBuff[1]== 0x20) { | |
96 | - long sn = WgUdpCommShort.getLongByByte(recvBuff, 4, 4); | |
97 | - smFeign.updateLinkTime(sn+""); | |
98 | - Log_heartBeat.info("设备"+sn); | |
99 | - boolean isExist = true ; | |
100 | - long recordIndexGet = WgUdpCommShort.getLongByByte(recvBuff, 8, 4); | |
101 | - if(snoList.indexOf(sn) >= 0){ | |
102 | - int number = snoList.indexOf(sn); | |
103 | - recordIndex = indexList.get(number); | |
104 | - indexList.set(number,recordIndexGet); | |
105 | - }else { | |
106 | - snoList.add(sn); | |
107 | - recordIndex = 0 ; | |
108 | - indexList.add(recordIndexGet); | |
109 | - System.out.println("设备"+sn+"上线"); | |
110 | - isExist = false ; | |
111 | - } | |
112 | - if(isExist){ | |
113 | - if (recordIndex < recordIndexGet || (recordIndexGet - recordIndex) < -5) { | |
114 | - watching(recvBuff); | |
115 | - } | |
116 | - } | |
117 | - }else { | |
118 | - push(recvBuff); | |
119 | - } | |
120 | - } else { | |
121 | - long times = 100; | |
122 | - try { | |
123 | - Thread.sleep(times); | |
124 | - } catch (InterruptedException e) { | |
125 | - e.printStackTrace(); | |
126 | - } | |
127 | - } | |
128 | - } | |
129 | - } | |
130 | - | |
131 | - private void watching(byte[] recv){ | |
132 | - long res = 0; | |
133 | - //8-11 记录的索引号 | |
134 | - //(=0表示没有记录) 4 0x00000000 | |
135 | - int recordIndex = 0; | |
136 | - recordIndex = WGUtils.byteToInt(recv, 8, 4); | |
137 | - //12 记录类型********************************************** | |
138 | - //0=无记录 | |
139 | - //1=刷卡记录 | |
140 | - //2=门磁,按钮, 设备启动, 远程开门记录 | |
141 | - //3=报警记录 1 | |
142 | - //0xFF=表示指定索引位的记录已被覆盖掉了. 请使用索引0, 取回最早一条记录的索引值 | |
143 | - int recordType = recv[12]; | |
144 | - | |
145 | - //13 有效性(0 表示不通过, 1表示通过) 1 | |
146 | - int recordValid = recv[13]; | |
147 | - | |
148 | - //14 门号(1,2,3,4) 1 业务需要-->1出2进 | |
149 | - int recordDoorNO = recv[14]; | |
150 | - | |
151 | - //15 进门/出门(1表示进门, 2表示出门) 1 0x01 | |
152 | - //int recordInOrOut = recv[15]; | |
153 | - | |
154 | - //16-19 卡号(类型是刷卡记录时) | |
155 | - //或编号(其他类型记录) 4 | |
156 | - String cardNo = WGUtils.getCardNo(recv, 16, 4); | |
157 | - | |
158 | - //20-26 刷卡时间: | |
159 | - //年月日时分秒 (采用BCD码)见设置时间部分的说明 | |
160 | - String recordTime = "2000-01-01 00:00:00"; | |
161 | - recordTime = String.format("%02X%02X-%02X-%02X %02X:%02X:%02X", | |
162 | - recv[20], recv[21], recv[22], recv[23], recv[24], recv[25], recv[26]); | |
163 | - //2012.12.11 10:49:59 7 | |
164 | - //27 记录原因代码(可以查 “刷卡记录说明.xls”文件的ReasonNO) | |
165 | - //处理复杂信息才用 1 | |
166 | - int reason = recv[27]; | |
167 | - if (recordType == 0) { | |
168 | - Log_orderSuccess.info(String.format("索引位={0} 无记录", recordIndex)); | |
169 | - }else if (recordType == 0xff) { | |
170 | - Log_orderSuccess.info("指定索引位的记录已被覆盖掉了,请使用索引0, 取回最早一条记录的索引值"); | |
171 | - } else if (recordType == 1) { | |
172 | - long sno = 0; | |
173 | - sno = WgUdpCommShort.getLongByByte(recv, 4, 4);//解析设备号 | |
174 | - String msg = "索引位=" + recordIndex | |
175 | - + ",卡号=" + cardNo | |
176 | - +"进出=" + (recordDoorNO == 1 ? "出门" : "进门") | |
177 | - + ",有效=" + (recordValid == 1 ? "通过" : "禁止") | |
178 | - + ",时间=" + recordTime | |
179 | - + ",描述=" + WGUtils.getReasonDetailChinese(reason) + ""; | |
180 | - Log_orderSuccess.info("控制器:" + sno + msg); | |
181 | - if(recordValid == 1) { | |
182 | - //有效刷卡调考勤存储过程 | |
183 | - CheckInDto checkIn = new CheckInDto(); | |
184 | - checkIn.setDeviceId(sno+""); | |
185 | - checkIn.setCardNo(cardNo); | |
186 | - checkIn.setFunNo(8); | |
187 | - checkIn.setFlag(recordDoorNO == 1 ? 1 : 0); | |
188 | - checkIn.setCheckTime(recordTime); | |
189 | - CheckOutDto checkOutDto = xaFeign.checkIn(checkIn); | |
190 | - if(checkOutDto.getIsSuccess() == 1){ | |
191 | - //考勤成功 | |
192 | - String nowDate = DateUtils.date2String(new Date(),DateUtils.format2); | |
193 | - Log_kaoInfo.info("考勤成功!,设备:"+sno+"卡号:"+cardNo+"方向:"+(recordDoorNO == 1 ? "出门" : "进门")+"______刷卡时间"+ recordTime+";入库时间:"+nowDate); | |
194 | - }else { | |
195 | - //考勤失败 | |
196 | - Log_orderFail.error("考勤失败!,设备:"+sno+"卡号:"+cardNo + "---"+ checkOutDto.getOut()); | |
197 | - } | |
198 | - }else { | |
199 | - //判断是否请假 | |
200 | - String studentNum = smFeign.checkLeave(cardNo); | |
201 | - if (StringUtils.isNotBlank(studentNum)) { | |
202 | - int outOf = recordDoorNO == 1 ? 1 : 0; | |
203 | - //远程开门 | |
204 | - openDoor(sno,"64",recordDoorNO,cardNo); | |
205 | - Log_orderSuccess.info("请假开门成功"+cardNo); | |
206 | - } else { | |
207 | - //没有请假不做任何处理,则是刷卡异常,入库 | |
208 | - UserDto user = smFeign.selectUserByCardNum(cardNo); | |
209 | - PassFailDto passFail = new PassFailDto(); | |
210 | - passFail.setCardNum(cardNo); | |
211 | - passFail.setDeviceId(sno+""); | |
212 | - passFail.setDirection((recordDoorNO == 1 ? "出门" : "进门")); | |
213 | - passFail.setResultIntro(WGUtils.getReasonDetailChinese(reason)); | |
214 | - passFail.setInTime(DateUtils.string2Date(recordTime, DateUtils.format2)); | |
215 | - passFail.setCreateTime(new Date()); | |
216 | - passFail.setSchoolId(user.getSchoolId()); | |
217 | - xaFeign.insertPassFail(passFail); | |
218 | - } | |
219 | - } | |
220 | - } | |
221 | - } | |
222 | - | |
223 | - private void push(byte[] recv){ | |
224 | - long index = WgUdpCommShort.getXidOfCommand(recv); | |
225 | - long sno = WgUdpCommShort.getLongByByte(recv, 4, 4); | |
226 | - String functionId = WGUtils.byte2Hex(recv[1]); | |
227 | - SendMessageDto sendMessage = xaFeign.selectMessage(sno+"",index,functionId); | |
228 | - if(sendMessage != null){ | |
229 | - if(recv[8] == 1){ | |
230 | - sendMessage.setCorrect(1); | |
231 | - }else { | |
232 | - sendMessage.setCorrect(0); | |
233 | - } | |
234 | - StringBuffer result = new StringBuffer(); | |
235 | - for(byte b : recv){ | |
236 | - result.append(WGUtils.byte2Hex(b)).append("-"); | |
237 | - } | |
238 | - sendMessage.setResult(result.toString().substring(0,result.toString().length()-1)); | |
239 | - xaFeign.updateMessage(sendMessage.getId(),sendMessage.getResult(),sendMessage.getCorrect()); | |
240 | - } | |
241 | - } | |
242 | - | |
243 | - //远程开门 | |
244 | - public long openDoor(long sno , String outsideOrderId,int doorNo , String cardNo){ | |
245 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
246 | - pkt.iDevSn = sno; | |
247 | - try{ | |
248 | - int doorNO =doorNo; | |
249 | - pkt.Reset(); | |
250 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
251 | - pkt.data[0] =(byte) (doorNO & 0xff); | |
252 | - if(StringUtils.isNotBlank(cardNo)){ | |
253 | - pkt.data[20] = WGUtils.toHex(cardNo.substring(0,2)); | |
254 | - pkt.data[21] = WGUtils.toHex(cardNo.substring(2,4)); | |
255 | - pkt.data[22] = WGUtils.toHex(cardNo.substring(4,6)); | |
256 | - pkt.data[23] = WGUtils.toHex(cardNo.substring(6,8)); | |
257 | - } | |
258 | - byte[] bytes = pkt.toByte(); | |
259 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
260 | - long result = insert(sno+"",outsideOrderId,cardNo,index,bytes); | |
261 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
262 | - return result ; | |
263 | - }catch (Exception e){ | |
264 | - Log_error.error(e.toString()); | |
265 | - } | |
266 | - return 0L; | |
267 | - } | |
268 | - | |
269 | - //重置控制板时间 | |
270 | - public long setTime(long sno , String outsideOrderId){ | |
271 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
272 | - pkt.iDevSn = sno; | |
273 | - try{ | |
274 | - pkt.Reset(); | |
275 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
276 | - Calendar cal = (Calendar.getInstance()); | |
277 | - pkt.data[0] = WGUtils.toHex(String.valueOf(cal.get(Calendar.YEAR)).substring(0,2)); | |
278 | - pkt.data[1] = WGUtils.toHex(String.valueOf(cal.get(Calendar.YEAR)).substring(2,4)); | |
279 | - pkt.data[2] = WGUtils.toHex(String.valueOf(cal.get(Calendar.MONTH)+1)); | |
280 | - pkt.data[3] = WGUtils.toHex(String.valueOf(cal.get(Calendar.DATE))); | |
281 | - pkt.data[4] =WGUtils.toHex(String.valueOf(cal.get(Calendar.HOUR_OF_DAY))); | |
282 | - pkt.data[5] =WGUtils.toHex(String.valueOf(cal.get(Calendar.MINUTE))); | |
283 | - pkt.data[6] = WGUtils.toHex(String.valueOf(cal.get(Calendar.SECOND))); | |
284 | - byte[] bytes = pkt.toByte(); | |
285 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
286 | - long result = insert(sno+"",outsideOrderId,null,index,bytes); | |
287 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
288 | - return result ; | |
289 | - }catch (Exception e){ | |
290 | - Log_error.error(e.toString()); | |
291 | - } | |
292 | - return 0L; | |
293 | - } | |
294 | - | |
295 | - //设置考勤时段 | |
296 | - public List<Long> SetAttendanceTime(long sno ,String outsideOrderId, int shiduan , Date begin ,Date end , | |
297 | - int isMonDay ,int isTuesDay , int isWednesDay ,int isThursDay , int isFriday , | |
298 | - int isSaturDay , int isWeekend , String shiqu){ | |
299 | - List<Long> resultList = new ArrayList<>(); | |
300 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
301 | - pkt.iDevSn = sno; | |
302 | - try{ | |
303 | - pkt.Reset(); | |
304 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
305 | - String[] shiQuArray = shiqu.split(","); | |
306 | - int shiDuanCount = shiQuArray.length / 6 ; | |
307 | - for (int i = 0; i < shiDuanCount; i++){ | |
308 | - if (i == 0) { | |
309 | - pkt.data[0] = WGUtils.toHex(shiduan+""); | |
310 | - } else { | |
311 | - pkt.data[0] = WGUtils.toHex((shiduan+20*i)+""); | |
312 | - } | |
313 | - Calendar c = Calendar.getInstance(); | |
314 | - c.setTime(begin); | |
315 | - //开始时间 20 19 01 01 | |
316 | - pkt.data[1] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2)); | |
317 | - pkt.data[2] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4)); | |
318 | - pkt.data[3] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1)); | |
319 | - pkt.data[4] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE))); | |
320 | - //结束时间 | |
321 | - c.setTime(end); | |
322 | - pkt.data[5] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2)); | |
323 | - pkt.data[6] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4)); | |
324 | - pkt.data[7] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1)); | |
325 | - pkt.data[8] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE))); | |
326 | - //星期几 有效 | |
327 | - pkt.data[9] = WGUtils.toHex(String.valueOf(isMonDay)); | |
328 | - pkt.data[10] = WGUtils.toHex(String.valueOf(isTuesDay)); | |
329 | - pkt.data[11] = WGUtils.toHex(String.valueOf(isWednesDay)); | |
330 | - pkt.data[12] = WGUtils.toHex(String.valueOf(isThursDay)); | |
331 | - pkt.data[13] = WGUtils.toHex(String.valueOf(isFriday)); | |
332 | - pkt.data[14] = WGUtils.toHex(String.valueOf(isSaturDay)); | |
333 | - pkt.data[15] = WGUtils.toHex(String.valueOf(isWeekend)); | |
334 | - //有效时区 | |
335 | - pkt.data[16] = WGUtils.toHex(shiQuArray[i * 6 + 0].substring(0, 2)); | |
336 | - pkt.data[17] = WGUtils.toHex(shiQuArray[i * 6 + 0].substring(3, 5)); | |
337 | - | |
338 | - pkt.data[18] = WGUtils.toHex(shiQuArray[i * 6 + 1].substring(0, 2)); | |
339 | - pkt.data[19] = WGUtils.toHex(shiQuArray[i * 6 + 1].substring(3, 5)); | |
340 | - | |
341 | - pkt.data[20] = WGUtils.toHex(shiQuArray[i * 6 + 2].substring(0, 2)); | |
342 | - pkt.data[21] = WGUtils.toHex(shiQuArray[i * 6 + 2].substring(3, 5)); | |
343 | - | |
344 | - pkt.data[22] = WGUtils.toHex(shiQuArray[i * 6 + 3].substring(0, 2)); | |
345 | - pkt.data[23] = WGUtils.toHex(shiQuArray[i * 6 + 3].substring(3, 5)); | |
346 | - | |
347 | - pkt.data[24] = WGUtils.toHex(shiQuArray[i * 6 + 4].substring(0, 2)); | |
348 | - pkt.data[25] = WGUtils.toHex(shiQuArray[i * 6 + 4].substring(3, 5)); | |
349 | - | |
350 | - pkt.data[26] = WGUtils.toHex(shiQuArray[i * 6 + 5].substring(0, 2)); | |
351 | - pkt.data[27] = WGUtils.toHex(shiQuArray[i * 6 + 5].substring(3, 5)); | |
352 | - if (shiDuanCount != 1) { | |
353 | - //需要链接时段 | |
354 | - if (i != shiDuanCount - 1) { | |
355 | - //只要不是最后一个时段 | |
356 | - pkt.data[28] = WGUtils.toHex((shiduan+20*(i+1)+"")); | |
357 | - } else { | |
358 | - pkt.data[28] = 0; | |
359 | - } | |
360 | - } else { | |
361 | - pkt.data[28] = 0; | |
362 | - } | |
363 | - byte[] bytes = pkt.toByte(); | |
364 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
365 | - long result = insert(sno+"",outsideOrderId,null,index,bytes); | |
366 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
367 | - resultList.add(result); | |
368 | - } | |
369 | - return resultList ; | |
370 | - }catch (Exception e){ | |
371 | - Log_error.error(e.toString()); | |
372 | - } | |
373 | - return resultList; | |
374 | - } | |
375 | - | |
376 | - //设置权限 | |
377 | - public long SetSignalCardInfo(long sno , String outsideOrderId, String cardNo , int shiduan , Date begin , Date end){ | |
378 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
379 | - pkt.iDevSn = sno; | |
380 | - try{ | |
381 | - pkt.Reset(); | |
382 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
383 | - pkt.iDevSn = sno; | |
384 | - //0D D7 37 00 | |
385 | - pkt.data[0] = WGUtils.toHex(cardNo.substring(0,2)); | |
386 | - pkt.data[1] = WGUtils.toHex(cardNo.substring(2,4)); | |
387 | - pkt.data[2] = WGUtils.toHex(cardNo.substring(4,6)); | |
388 | - pkt.data[3] = WGUtils.toHex(cardNo.substring(6,8)); | |
389 | - | |
390 | - //20 10 01 01 起始日期: 2010年01月01日 (必须大于2001年) | |
391 | - Calendar c = Calendar.getInstance(); | |
392 | - c.setTime(begin); | |
393 | - pkt.data[4] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2)); | |
394 | - pkt.data[5] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4)); | |
395 | - pkt.data[6] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1)); | |
396 | - pkt.data[7] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE))); | |
397 | - //20 29 12 31 截止日期: 2029年12月31日 | |
398 | - c.setTime(end); | |
399 | - pkt.data[8] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2)); | |
400 | - pkt.data[9] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4)); | |
401 | - pkt.data[10] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1)); | |
402 | - pkt.data[11] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE))); | |
403 | - //01 允许通过 一号门 [对单门, 双门, 四门控制器有效] | |
404 | - pkt.data[12] = WGUtils.toHex(shiduan+""); | |
405 | - //01 允许通过 二号门 [对双门, 四门控制器有效] | |
406 | - pkt.data[13] = WGUtils.toHex(shiduan+""); | |
407 | - //01 允许通过 三号门 [对四门控制器有效] | |
408 | - pkt.data[14] = WGUtils.toHex(shiduan+""); | |
409 | - //01 允许通过 四号门 [对四门控制器有效] | |
410 | - pkt.data[15] = WGUtils.toHex(shiduan+""); | |
411 | - byte[] bytes = pkt.toByte(); | |
412 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
413 | - long result = insert(sno+"",outsideOrderId,cardNo,index,bytes); | |
414 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
415 | - return result ; | |
416 | - }catch (Exception e){ | |
417 | - Log_error.error(e.toString()); | |
418 | - } | |
419 | - return 0l; | |
420 | - } | |
421 | - | |
422 | - //删除单张卡权限 | |
423 | - public long clearSinglePower(long sno ,String outsideOrderId, String cardNo){ | |
424 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
425 | - pkt.iDevSn = sno; | |
426 | - try{ | |
427 | - pkt.Reset(); | |
428 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
429 | - pkt.iDevSn = sno; | |
430 | - pkt.data[0] = WGUtils.toHex(cardNo.substring(0,2)); | |
431 | - pkt.data[1] = WGUtils.toHex(cardNo.substring(2,4)); | |
432 | - pkt.data[2] = WGUtils.toHex(cardNo.substring(4,6)); | |
433 | - pkt.data[3] = WGUtils.toHex(cardNo.substring(6,8)); | |
434 | - byte[] bytes = pkt.toByte(); | |
435 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
436 | - long result = insert(sno+"",outsideOrderId,cardNo,index,bytes); | |
437 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
438 | - return result ; | |
439 | - }catch (Exception e){ | |
440 | - Log_error.error(e.toString()); | |
441 | - } | |
442 | - return 0l; | |
443 | - } | |
444 | - | |
445 | - //删除全部权限 | |
446 | - public long clearAllPower(long sno ,String outsideOrderId){ | |
447 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
448 | - pkt.iDevSn = sno; | |
449 | - try{ | |
450 | - pkt.Reset(); | |
451 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
452 | - pkt.iDevSn = sno; | |
453 | - pkt.data[0] = (byte) 0x55 ; | |
454 | - pkt.data[1] = (byte) 0xAA ; | |
455 | - pkt.data[2] = (byte) 0xAA ; | |
456 | - pkt.data[3] = (byte) 0x55 ; | |
457 | - byte[] bytes = pkt.toByte(); | |
458 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
459 | - long result = insert(sno+"",outsideOrderId,null,index,bytes); | |
460 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
461 | - return result ; | |
462 | - }catch (Exception e){ | |
463 | - Log_error.error(e.toString()); | |
464 | - } | |
465 | - return 0l; | |
466 | - } | |
467 | - | |
468 | - //查询卡权限 | |
469 | - public long searchPower(long sno ,String outsideOrderId, String cardNo){ | |
470 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
471 | - pkt.iDevSn = sno; | |
472 | - try{ | |
473 | - pkt.Reset(); | |
474 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
475 | - pkt.iDevSn = sno; | |
476 | - pkt.data[0] = WGUtils.toHex(cardNo.substring(0,2)); | |
477 | - pkt.data[1] = WGUtils.toHex(cardNo.substring(2,4)); | |
478 | - pkt.data[2] = WGUtils.toHex(cardNo.substring(4,6)); | |
479 | - pkt.data[3] = WGUtils.toHex(cardNo.substring(6,8)); | |
480 | - byte[] bytes = pkt.toByte(); | |
481 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
482 | - long result = insert(sno+"",outsideOrderId,cardNo,index,bytes); | |
483 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
484 | - return result ; | |
485 | - }catch (Exception e){ | |
486 | - Log_error.error(e.toString()); | |
487 | - } | |
488 | - return 0l; | |
489 | - } | |
490 | - | |
491 | - //删除时段 | |
492 | - public long clearShiDuan(long sno , String outsideOrderId){ | |
493 | - WgUdpCommShort pkt = new WgUdpCommShort(); | |
494 | - pkt.iDevSn = sno; | |
495 | - try{ | |
496 | - pkt.Reset(); | |
497 | - pkt.functionID = WGUtils.toFunctionHex(outsideOrderId); | |
498 | - pkt.iDevSn = sno; | |
499 | - pkt.data[0] = (byte) 0x55 ; | |
500 | - pkt.data[1] = (byte) 0xAA ; | |
501 | - pkt.data[2] = (byte) 0xAA ; | |
502 | - pkt.data[3] = (byte) 0x55 ; | |
503 | - byte[] bytes = pkt.toByte(); | |
504 | - long index = WgUdpCommShort.getXidOfCommand(bytes); | |
505 | - long result = insert(sno+"",outsideOrderId,null,index,bytes); | |
506 | - pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes); | |
507 | - return result ; | |
508 | - }catch (Exception e){ | |
509 | - Log_error.error(e.toString()); | |
510 | - } | |
511 | - return 0l; | |
512 | - } | |
513 | - | |
514 | - private long insert(String sn ,String functionId , String cardNo , long index , byte[] recv){ | |
515 | - | |
516 | - StringBuffer send = new StringBuffer(); | |
517 | - for(byte b : recv){ | |
518 | - send.append(WGUtils.byte2Hex(b)).append("-"); | |
519 | - } | |
520 | - SendMessageDto sendMessage = new SendMessageDto(); | |
521 | - sendMessage.setDeviceId(sn); | |
522 | - sendMessage.setFunctionId(Integer.toHexString(Integer.valueOf(functionId))); | |
523 | - sendMessage.setIndex(index); | |
524 | - sendMessage.setCardNo(cardNo); | |
525 | - sendMessage.setCreateTime(new Date()); | |
526 | - sendMessage.setSend(send.toString().substring(0,send.toString().length()-1)); | |
527 | - xaFeign.insertMessage(sendMessage); | |
528 | - return sendMessage.getId(); | |
529 | - } | |
530 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/WeigengApplication.java
... | ... | @@ -1,13 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import org.springframework.boot.SpringApplication; | |
4 | -import org.springframework.boot.autoconfigure.SpringBootApplication; | |
5 | - | |
6 | -@SpringBootApplication | |
7 | -public class WeigengApplication { | |
8 | - | |
9 | - public static void main(String[] args) { | |
10 | - SpringApplication.run(WeigengApplication.class, args); | |
11 | - } | |
12 | - | |
13 | -} |
cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java
... | ... | @@ -1,29 +0,0 @@ |
1 | -package com.sincere.weigeng.dao; | |
2 | - | |
3 | -import com.sincere.weigeng.JiaoCai; | |
4 | -import com.sincere.weigeng.Knowledge; | |
5 | -import org.apache.ibatis.annotations.*; | |
6 | -import org.springframework.stereotype.Repository; | |
7 | - | |
8 | -import java.util.List; | |
9 | - | |
10 | -@Repository | |
11 | -@Mapper | |
12 | -public interface UserDao { | |
13 | - | |
14 | -// @Insert("insert into HS_StudentUpdateCard (Card,SchoolId,StudentCode,CustomerId,StudentType,UserType,ClassId,ClassName,IsNew,UpdateType,AddTime) " + | |
15 | -// "values (#{Card},#{SchoolId},#{StudentCode},#{CustomerId},#{StudentType},#{UserType},#{ClassId},#{ClassName},#{IsNew,#{UpdateType),#{AddTime}") | |
16 | -// void addStudentUpdate(@Param("Card") String card, @Param("SchoolId") int school_id, @Param("StudentCode") String studentCode, @Param("CustomerId") String CustomerId | |
17 | -// , @Param("StudentType") String StudentType, @Param("UserType") String UserType, @Param("ClassId") String ClassId, @Param("ClassName") String ClassName, | |
18 | -// @Param("IsNew") String IsNew, @Param("UpdateType") String UpdateType, @Param("AddTime") String AddTime); | |
19 | - | |
20 | - | |
21 | - @Select ("select * from ZY_YYKnowledge where AddTime >2019 ") | |
22 | - List<Knowledge> getKnowledge(); | |
23 | - | |
24 | - @Select("select * from ZY_YYJiaoCai where ID >= 26") | |
25 | - List<JiaoCai> getJiaoCai(); | |
26 | - | |
27 | - @Insert("insert into ZY_YYJiaoCaiAndKnowledg values(#{id},#{id1},#{i},#{i1})") | |
28 | - void addKnowAndJicaoCai(@Param("id") String id, @Param("id1") String id1, @Param("i") int i, @Param("i1") int i1); | |
29 | -} |
cloud/weigeng/src/main/resources/application.yaml
... | ... | @@ -1,33 +0,0 @@ |
1 | -server: | |
2 | - port: 1200 | |
3 | - | |
4 | -spring: | |
5 | - application: | |
6 | - name: weigen-server | |
7 | - profiles: | |
8 | - active: dev | |
9 | - datasource: | |
10 | - username: szjxtuser | |
11 | - password: RQminVCJota3H1u8bBYH | |
12 | - url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus | |
13 | - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver | |
14 | -# datasource: | |
15 | -# username: szjxtuser | |
16 | -# password: RQminVCJota3H1u8bBYH | |
17 | -# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartAdmin | |
18 | - | |
19 | -eureka: | |
20 | - instance: | |
21 | - hostname: localhost | |
22 | - lease-expiration-duration-in-seconds: 60 | |
23 | - lease-renewal-interval-in-seconds: 10 | |
24 | - client: | |
25 | - service-url: | |
26 | - # defaultZone: http://localhost:8761/eureka/ | |
27 | - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
28 | - | |
29 | - | |
30 | -mybatis: | |
31 | - type-aliases-package: com.sincere.weigeng.dao | |
32 | - mapper-locations: classpath:mapper/*.xml | |
33 | - config-location: classpath:mybatis-config.xml |
cloud/weigeng/src/main/resources/mybatis-config.xml
... | ... | @@ -1,35 +0,0 @@ |
1 | -<?xml version="1.0" encoding="UTF-8"?> | |
2 | -<!DOCTYPE configuration | |
3 | - PUBLIC "-//mybatis.org//DTD Config 3.0//EN" | |
4 | - "http://mybatis.org/dtd/mybatis-3-config.dtd"> | |
5 | - | |
6 | -<configuration> | |
7 | - <properties > | |
8 | - <property name="dialect" value="mysql" /> | |
9 | - </properties> | |
10 | - <settings> | |
11 | - <!-- 这个配置使全局的映射器启用或禁用缓存。系统默认值是true,设置只是为了展示出来 --> | |
12 | - <setting name="cacheEnabled" value="true" /> | |
13 | - <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。 系统默认值是true,设置只是为了展示出来 --> | |
14 | - <setting name="lazyLoadingEnabled" value="true" /> | |
15 | - <!-- 允许或不允许多种结果集从一个单独的语句中返回(需要适合的驱动)。 系统默认值是true,设置只是为了展示出来 --> | |
16 | - <setting name="multipleResultSetsEnabled" value="true" /> | |
17 | - <!--使用列标签代替列名。不同的驱动在这方便表现不同。参考驱动文档或充分测试两种方法来决定所使用的驱动。 系统默认值是true,设置只是为了展示出来 --> | |
18 | - <setting name="useColumnLabel" value="true" /> | |
19 | - <!--允许 JDBC 支持生成的键。需要适合的驱动。如果设置为 true 则这个设置强制生成的键被使用,尽管一些驱动拒绝兼容但仍然有效(比如 | |
20 | - Derby)。 系统默认值是false,设置只是为了展示出来 --> | |
21 | - <setting name="useGeneratedKeys" value="false" /> | |
22 | - <!--配置默认的执行器。SIMPLE 执行器没有什么特别之处。REUSE 执行器重用预处理语句。BATCH 执行器重用语句和批量更新 系统默认值是SIMPLE,设置只是为了展示出来 --> | |
23 | - <setting name="defaultExecutorType" value="SIMPLE" /> | |
24 | - <!--设置超时时间,它决定驱动等待一个数据库响应的时间。 系统默认值是null,设置只是为了展示出来 --> | |
25 | - <setting name="defaultStatementTimeout" value="25000" /> | |
26 | - </settings> | |
27 | - | |
28 | - <!--<typeAliases>--> | |
29 | - <!--<typeAlias alias="user" type="com.shunzhi.mqtt2kanban.bean.User"/>--> | |
30 | - <!--</typeAliases>--> | |
31 | - | |
32 | - <!--<mappers>--> | |
33 | - <!--<control resource="mybatis/control/UserMapper.xml"/>--> | |
34 | - <!--</mappers>--> | |
35 | -</configuration> |
cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java
... | ... | @@ -1,570 +0,0 @@ |
1 | -package com.sincere.weigeng; | |
2 | - | |
3 | -import com.drew.imaging.jpeg.JpegMetadataReader; | |
4 | -import com.drew.imaging.jpeg.JpegProcessingException; | |
5 | -import com.drew.metadata.Directory; | |
6 | -import com.drew.metadata.Metadata; | |
7 | -import com.drew.metadata.Tag; | |
8 | -import com.drew.metadata.exif.ExifDirectory; | |
9 | -import com.sincere.weigeng.dao.UserDao; | |
10 | -import org.apache.poi.hssf.usermodel.HSSFCell; | |
11 | -import org.apache.poi.hssf.usermodel.HSSFRow; | |
12 | -import org.apache.poi.hssf.usermodel.HSSFSheet; | |
13 | -import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |
14 | -import org.json.JSONArray; | |
15 | -import org.json.JSONObject; | |
16 | -import org.junit.Test; | |
17 | -import org.junit.runner.RunWith; | |
18 | -import org.springframework.beans.factory.annotation.Autowired; | |
19 | -import org.springframework.boot.test.context.SpringBootTest; | |
20 | -import org.springframework.http.HttpEntity; | |
21 | -import org.springframework.http.HttpHeaders; | |
22 | -import org.springframework.http.MediaType; | |
23 | -import org.springframework.http.ResponseEntity; | |
24 | -import org.springframework.test.context.junit4.SpringRunner; | |
25 | -import org.springframework.util.LinkedMultiValueMap; | |
26 | -import org.springframework.util.MultiValueMap; | |
27 | -import org.springframework.web.client.RestTemplate; | |
28 | - | |
29 | -import javax.imageio.ImageIO; | |
30 | -import java.awt.*; | |
31 | -import java.awt.image.BufferedImage; | |
32 | -import java.io.*; | |
33 | -import java.text.SimpleDateFormat; | |
34 | -import java.util.*; | |
35 | -import java.util.List; | |
36 | - | |
37 | -@RunWith(SpringRunner.class) | |
38 | -@SpringBootTest | |
39 | -public class WeigengApplicationTests { | |
40 | - | |
41 | - @Autowired | |
42 | - TestDao testDao; | |
43 | - | |
44 | - @Test | |
45 | - public void contextLoads() { | |
46 | - | |
47 | - try { | |
48 | - BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\taohandong\\Desktop\\json.txt")); | |
49 | - String content = null; | |
50 | - StringBuilder stringBuilder = new StringBuilder(); | |
51 | - while ((content = bufferedReader.readLine()) != null) { | |
52 | - stringBuilder.append(content); | |
53 | - } | |
54 | - | |
55 | - JSONObject jsonObject = new JSONObject(stringBuilder.toString()); | |
56 | - JSONObject data = jsonObject.optJSONObject("data"); | |
57 | - JSONArray questions = data.optJSONArray("questions"); | |
58 | - for (int i = 0; i < questions.length(); i++) { | |
59 | - JSONObject question = questions.optJSONObject(i); | |
60 | - String question_text = question.optString("question_text"); | |
61 | - String answer = question.optString("answer");//答案 | |
62 | - String explanation = question.optString("explanation");//解析 | |
63 | -// <p><img src="/Web/Assets/ueditor/asp/upload/image/20190916/15686369926495741.png" title="image.png" alt="image.png"/></p> | |
64 | - explanation = "<p><img src=\"" + explanation + "\" title=\"image.png\" alt=\"image.png\"/></p>"; | |
65 | - answer = getAnswer(answer); | |
66 | - System.out.println("question_text:" + question_text + "\r\nanswer:" + answer + "\r\nexplanation:" + explanation); | |
67 | - List<QuestionBean> questionBeans = testDao.getQuestions(question_text);//获取题目 | |
68 | - for (int j = 0; j < questionBeans.size(); j++) { | |
69 | - QuestionBean questionBean = questionBeans.get(j); | |
70 | - testDao.updateQuestion(questionBean.getID(), answer, explanation); | |
71 | - } | |
72 | -// System.out.println(questionBeans.toString()); | |
73 | - } | |
74 | - | |
75 | - } catch (FileNotFoundException e) { | |
76 | - e.printStackTrace(); | |
77 | - } catch (IOException e) { | |
78 | - e.printStackTrace(); | |
79 | - } | |
80 | - | |
81 | - } | |
82 | - | |
83 | - private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=24.26683b650b73b63e0b08afa7ac36e880.2592000.1571310480.282335-15990462"; | |
84 | - | |
85 | - private String getAnswer(String imgUrl) { | |
86 | - RestTemplate restTemplate = new RestTemplate(); | |
87 | - | |
88 | - HttpHeaders headers = new HttpHeaders(); | |
89 | - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
90 | - | |
91 | - MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>(); | |
92 | -// multiValueMap.add("image", ImageUtils.ImageToBase64ByLocal("C:\\Users\\taohandong\\Desktop\\识别.png")); | |
93 | - multiValueMap.add("url", imgUrl); | |
94 | - HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(multiValueMap, | |
95 | - | |
96 | - headers); | |
97 | - | |
98 | - ResponseEntity<String> result = restTemplate.postForEntity(url, requestEntity, String.class); | |
99 | - | |
100 | - JSONObject jsonObject = new JSONObject(result.getBody()); | |
101 | -// System.out.println("result:"+result.getBody()); | |
102 | - JSONArray words_result = jsonObject.optJSONArray("words_result"); | |
103 | -// System.out.println("words_result:"+words_result); | |
104 | - StringBuilder stringBuilder = new StringBuilder(); | |
105 | - if (words_result != null) { | |
106 | - for (int i = 0; i < words_result.length(); i++) { | |
107 | - String words = words_result.optJSONObject(i).optString("words"); | |
108 | - stringBuilder.append(words + " "); | |
109 | - } | |
110 | - System.out.println("result:" + stringBuilder.toString()); | |
111 | - } | |
112 | - return stringBuilder.toString().equals("") ? "B" : stringBuilder.toString(); | |
113 | - } | |
114 | - | |
115 | - @Test | |
116 | - public void get() { | |
117 | - | |
118 | -// String url = "https://zujuan.21cnjy.com/api/question/list?xd=1&chid=3&categories=3877&knowledges=&question_channel_type=1&difficult_index=&exam_type=&kid_num=&grade_id=&sort_field=time&filterquestion=0&page=&_grade_id=&tree_type=category&version_id=&_=1568766250186"; | |
119 | -// RestTemplate restTemplate = new RestTemplate(); | |
120 | -// System.out.println(restTemplate.getForObject(url, String.class)); | |
121 | - /*String createrUserId = "zy273789", time = "2019-10-08"; | |
122 | - List<TestPaper> testPaperList = testDao.getTestPapers(createrUserId, time); | |
123 | - for (int i = 0; i < testPaperList.size(); i++) { | |
124 | - TestPaper testPaper = testPaperList.get(i); | |
125 | - int schoolId = 11; | |
126 | - testDao.addTestPaper("zy284782", testPaper.getQuestionIds(), testPaper.getStatus(), testPaper.getPublishTime(), | |
127 | - testPaper.getName(), testPaper.getIsRecommend(), testPaper.getState(), testPaper.getIntime(), schoolId + ""); | |
128 | - | |
129 | - }*/ | |
130 | - | |
131 | - } | |
132 | - | |
133 | - | |
134 | - /** | |
135 | - * 创建试卷 | |
136 | - */ | |
137 | - @Test | |
138 | - public void createTestPaper() { | |
139 | - String createUserId = "zy309728"; | |
140 | - List<TestPaper> testPaperList = testDao.getTestPapers(createUserId, "2019-09-18 16:00:00"); | |
141 | - System.out.println("testPaperList:" + testPaperList.toString()); | |
142 | - | |
143 | - String addCreateUserId = "zy411337", SchoolId = "885"; | |
144 | - /* for (int i = 1; i < testPaperList.size(); i++) { | |
145 | - TestPaper testPaper = testPaperList.get(i); | |
146 | - int ID = testPaper.getID(); | |
147 | - //添加试卷 | |
148 | - testDao.addTestPaper(addCreateUserId, testPaper.getQuestionIds(), testPaper.getStatus(), testPaper.getPublishTime() | |
149 | - , testPaper.getName(), testPaper.getIsRecommend(), testPaper.getState(), testPaper.getIntime(), SchoolId); | |
150 | - | |
151 | - //发布作业 | |
152 | - testDao.addHomework(addCreateUserId, testPaper.getID(), testPaper.getName(), "50", "2019-09-20 18:00", "2", "2019-09-19 19:10", 1, 0, 1, "2019-09-19 19:10", 0, testPaper.getQuestionIds(), 0, 0); | |
153 | - }*/ | |
154 | - /*String[] answers = new String[]{"A", "B", "C", "D"}; | |
155 | - String QuestionType = "1"; | |
156 | - String CorrectAnswer = ""; | |
157 | - List<Homework> homeworkList = testDao.getHomeWork(addCreateUserId); | |
158 | - for (int i = 0; i < homeworkList.size(); i++) { | |
159 | - Homework homework = homeworkList.get(i); | |
160 | - String[] questionIds = homework.getQuestionIds().split(","); | |
161 | - for (int j = 0; j < questionIds.length; j++) { | |
162 | - String questionId = questionIds[j]; | |
163 | - QuestionBean questionBean = testDao.getQues(questionId); | |
164 | - CorrectAnswer = questionBean.getCorrectAnswer(); | |
165 | - String answer = answers[new Random().nextInt(4)]; | |
166 | - String IsCorresct = answer.trim().equals(CorrectAnswer.trim()) ? "1" : "3"; | |
167 | - testDao.StudentAnswer(questionId, answer, CorrectAnswer, QuestionType, IsCorresct, homework.getID()); | |
168 | - } | |
169 | - | |
170 | - }*/ | |
171 | -// if (ID <= 4191 && ID >= 4187) { | |
172 | - String classId = "36398"; | |
173 | - List<Homework> homeworkList = testDao.getHomeWork(addCreateUserId); | |
174 | - for (int i = 0; i < homeworkList.size(); i++) { | |
175 | - String workId = homeworkList.get(i).getID(); | |
176 | -// List<String> stuAnsIds = testDao.getStudentAnsIds(workId); | |
177 | -// String stuAnIds = stuAnsIds.toString().replace("[", ""); | |
178 | -// stuAnIds = stuAnIds.replace("]", ""); | |
179 | - | |
180 | - List<String> strings = testDao.getStudentIdsWithClassId(classId); | |
181 | - String stuIds = strings.toString().replace("[", ""); | |
182 | - stuIds = stuIds.replace("]", ""); | |
183 | - String[] stuStrings = stuIds.split(",");//学生id | |
184 | - | |
185 | - for (int j = 0; j < stuStrings.length; j++) { | |
186 | - String studentId = stuStrings[j]; | |
187 | - | |
188 | - testDao.HomeworkReceive(workId, classId, studentId, "", "1", j + "", "2019-09-23 21:28:00", "2019-09-22 17:50:00", "1", j + ""); | |
189 | - } | |
190 | - | |
191 | - } | |
192 | - | |
193 | - } | |
194 | - | |
195 | - @Autowired | |
196 | - UserDao userDao; | |
197 | - | |
198 | - @Test | |
199 | - public void doHomeWork() { | |
200 | - StudentBean studentBean = new StudentBean(); | |
201 | - studentBean.setCard("9A1229A9"); | |
202 | - studentBean.setSchool_id(110); | |
203 | - studentBean.setStudentCode("140881200710270056"); | |
204 | - studentBean.setCustomerId("583912"); | |
205 | - | |
206 | -// userDao.addStudentUpdate(studentBean.getCard(),studentBean.getSchool_id(),studentBean.getStudentCode(),studentBean.getCustomerId(),"1","2" | |
207 | -// ,"55640","2014级(08)班","0","1","2019-09-22 16:26"); | |
208 | - | |
209 | - /* String QuestionId = "21656, 21657, 21658, 21659, 21753, 21706, 21724, 21796, 21797, 21798"; | |
210 | - String Answer = ""; | |
211 | - String CorrectAnswer = ""; | |
212 | - String QuestionType = "1"; | |
213 | - String IsCorresct = ""; | |
214 | - String WorkID = "4198"; | |
215 | - String[] questionIds = QuestionId.split(","); | |
216 | - for (int i = 0; i < questionIds.length; i++) { | |
217 | - String questionId = questionIds[i]; | |
218 | - QuestionBean questionBean = testDao.getQues(questionId); | |
219 | - CorrectAnswer = questionBean.getCorrectAnswer(); | |
220 | - Answer = "B"; | |
221 | - IsCorresct = Answer.trim().equals(CorrectAnswer.trim()) ? "1" : "3"; | |
222 | - testDao.StudentAnswer(questionId, Answer, CorrectAnswer, QuestionType, IsCorresct, WorkID); | |
223 | - }*/ | |
224 | - | |
225 | - } | |
226 | - | |
227 | - | |
228 | - @Test | |
229 | - public void HomeworkRec() { | |
230 | - String WorkID = "4198"; | |
231 | - String ClassId = ""; | |
232 | - //查询学生id | |
233 | - List<String> list = testDao.getStudentIds("4172"); | |
234 | - String StudentIds = list.toString().replace("[", ""); | |
235 | - StudentIds = StudentIds.replace("]", ""); | |
236 | - System.out.println("StudentIds:" + StudentIds); | |
237 | - String StudnetAnswerIds = testDao.getStudentAnsIds(WorkID).toString().replace("[", ""); | |
238 | - StudnetAnswerIds = StudnetAnswerIds.replace("]", ""); | |
239 | - String[] studentIds = StudentIds.split(","); | |
240 | - for (int i = 0; i < studentIds.length; i++) { | |
241 | - String studentId = studentIds[i]; | |
242 | - String finishTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | |
243 | - testDao.HomeworkReceive(WorkID, ClassId, studentId, StudnetAnswerIds, "1", i + "", "2019-09-19 16:50", finishTime | |
244 | - , "1", "" + i); | |
245 | - } | |
246 | - } | |
247 | - | |
248 | - @Test | |
249 | - public void getQIds() { | |
250 | - | |
251 | - List<Knowledge> knowledges = userDao.getKnowledge(); | |
252 | - System.out.println("knowledges:" + knowledges.toString()); | |
253 | - | |
254 | - List<JiaoCai> jiaoCais = userDao.getJiaoCai(); | |
255 | - System.out.println("jiaoCais:" + jiaoCais.toString()); | |
256 | - | |
257 | - for (int i = 0; i < 1; i++) { | |
258 | - JiaoCai jiaoCai = jiaoCais.get(i); | |
259 | - String SubjectId = jiaoCai.getSubjectId(); | |
260 | - for (int j = 0; j < knowledges.size(); j++) { | |
261 | - Knowledge knowledge = knowledges.get(j); | |
262 | - if (SubjectId.equals(knowledge.getSubjectId())) { | |
263 | - userDao.addKnowAndJicaoCai(jiaoCai.getID(), knowledge.getId(), 0, 1); | |
264 | - } | |
265 | - } | |
266 | - | |
267 | - } | |
268 | - | |
269 | - } | |
270 | - | |
271 | - @Test | |
272 | - public void tongji() { | |
273 | - | |
274 | - String[] answers = new String[]{"A", "B", "C", "D", "A", "A"}; | |
275 | - String createUserId = "zy411337"; | |
276 | - List<Homework> homeworkList = testDao.getHomeWork(createUserId);//获取布置的作业 | |
277 | - System.out.println("homeworkList:" + homeworkList); | |
278 | - for (int m = 0; m < homeworkList.size(); m++) { | |
279 | - String WorkId = homeworkList.get(m).getID(); | |
280 | - Map<String, List<String>> mapRecIDs = new HashMap<>(); | |
281 | - System.out.println("workId:" + WorkId); | |
282 | -// List<String> queIds = testDao.getStuAnsIds(WorkId); | |
283 | -// String questionIds = queIds.toString().replace("[", ""); | |
284 | -// questionIds = questionIds.replace("]", ""); | |
285 | - | |
286 | - //获取正确答案 | |
287 | -// List<String> correct = testDao.correctAns(WorkId); | |
288 | -// String corrStr = correct.toString().replace("[", ""); | |
289 | -// corrStr = corrStr.replace("]", ""); | |
290 | -// String[] correctAnser = corrStr.split(","); | |
291 | - | |
292 | - String questionIds = testDao.getQuestionIds(WorkId); | |
293 | - | |
294 | - //获取答题学生数量 | |
295 | - List<String> homeworkReceiveIds = testDao.get_HomeworkReceive(WorkId, "12012"); | |
296 | - System.out.println("homeworkReceiveIds:" + homeworkReceiveIds.size()); | |
297 | - for (int j = 0; j < homeworkReceiveIds.size(); j++) {//接收学生数量 | |
298 | - | |
299 | - String[] quesStirngs = questionIds.split(","); | |
300 | - System.out.println("quesStirngs:" + quesStirngs.length); | |
301 | - for (int i = 0; i < quesStirngs.length; i++) { | |
302 | - String questionId = quesStirngs[i]; | |
303 | - String CorrectAnswer = testDao.getCorrectAnswer(questionId); | |
304 | - int randow = new Random().nextInt(6); | |
305 | - String answer = null; | |
306 | - String isCorrsct = ""; | |
307 | - if (randow == 0 || randow == 1 || randow == 2 || randow == 3 || randow == 4) { | |
308 | - answer = CorrectAnswer.trim(); | |
309 | - isCorrsct = "1"; | |
310 | - } else { | |
311 | - answer = answers[randow]; | |
312 | - isCorrsct = "3"; | |
313 | - } | |
314 | - //插入一条新的记录 | |
315 | - testDao.addStudentAnswer(quesStirngs[i], answer.trim(), "", CorrectAnswer.trim(), "1", "", isCorrsct, "", "", WorkId); | |
316 | - } | |
317 | - //获取最新的十条记录 | |
318 | - List<String> idLists = testDao.getTopIDs(WorkId, questionIds.split(",").length); | |
319 | - System.out.println("idLists:" + idLists.toString()); | |
320 | - mapRecIDs.put(j + "", idLists); | |
321 | - } | |
322 | -// System.out.println("mapRecIDs:" + mapRecIDs.toString() + " 0:" + mapRecIDs.get("0").toString().replace("[", "")); | |
323 | - | |
324 | - for (int i = 0; i < homeworkReceiveIds.size(); i++) { | |
325 | - String homeRecId = homeworkReceiveIds.get(i); | |
326 | - System.out.println("i:" + i); | |
327 | - String ansIds = mapRecIDs.get(i + "").toString().replace("[", ""); | |
328 | - ansIds = ansIds.replace("]", ""); | |
329 | - testDao.updateHomeWork(ansIds, homeRecId); | |
330 | - } | |
331 | - | |
332 | - List<HomeworkReceive> homRecIDs = testDao.get_HomeworkRec(WorkId); | |
333 | - | |
334 | - Map<String, String> stuMap = new HashMap<>(); | |
335 | - for (int i = 0; i < homRecIDs.size(); i++) { | |
336 | - HomeworkReceive homeworkReceive = homRecIDs.get(i); | |
337 | - | |
338 | - String studentId = homeworkReceive.getStudentId(); | |
339 | - | |
340 | - String studentName = testDao.getStudentName(studentId); | |
341 | - | |
342 | - String studnetAnswerIds = homeworkReceive.getStudnetAnswerIds(); | |
343 | - | |
344 | - String[] stuIds = studnetAnswerIds.split(","); | |
345 | - | |
346 | - String isC = ""; | |
347 | - for (int j = 0; j < stuIds.length; j++) { | |
348 | - String id = stuIds[j]; | |
349 | - int idCorrect = testDao.getIsCorrect(id); | |
350 | - if (idCorrect == 1) { | |
351 | - isC += "1 "; | |
352 | - } else if (idCorrect == 3) { | |
353 | - isC += "0 "; | |
354 | - } | |
355 | - } | |
356 | - stuMap.put(studentName, isC); | |
357 | - System.out.println("" + studentName + " " + isC); | |
358 | - | |
359 | - } | |
360 | - | |
361 | - } | |
362 | - } | |
363 | - | |
364 | - private void writeToExcel(HSSFWorkbook workbook, String HomeworkTitle, Map<String, String[]> correctAns, String[] names, String title) { | |
365 | - //第二部,在workbook中创建一个sheet对应excel中的sheet | |
366 | - HSSFSheet sheet = workbook.createSheet(HomeworkTitle); | |
367 | - //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制 | |
368 | - HSSFRow row = sheet.createRow(0); | |
369 | - //第四步,创建单元格,设置表头 | |
370 | - HSSFCell cell = null; | |
371 | - for (int i = 0; i < correctAns.get(names[0]).length; i++) { | |
372 | - cell = row.createCell(i); | |
373 | - cell.setCellValue("第" + (i + 1) + ""); | |
374 | - } | |
375 | - | |
376 | - //第五步,写入数据 | |
377 | - for (int i = 0; i < names.length; i++) { | |
378 | - | |
379 | -// String oneData =correctAns[i];//姓名对应的正确率 | |
380 | - HSSFRow row1 = sheet.createRow(i + 1); | |
381 | - String[] corrects = correctAns.get(names[i]); | |
382 | - System.out.println("names:" + names[i]); | |
383 | - for (int j = 0; j < corrects.length; j++) { | |
384 | - //创建单元格设值 | |
385 | - row1.createCell(j).setCellValue(corrects[j]); | |
386 | - } | |
387 | - row1.createCell(corrects.length).setCellValue(names[i]); | |
388 | - } | |
389 | - | |
390 | - //将文件保存到指定的位置 | |
391 | - try { | |
392 | - File file = new File("C:\\Users\\taohandong\\Desktop\\文澜\\"+title+".xls"); | |
393 | - if (!file.exists())file.createNewFile(); | |
394 | - FileOutputStream fos = new FileOutputStream(file); | |
395 | - workbook.write(fos); | |
396 | - System.out.println("写入成功"); | |
397 | - fos.close(); | |
398 | - } catch (IOException e) { | |
399 | - e.printStackTrace(); | |
400 | - } | |
401 | - | |
402 | - } | |
403 | - | |
404 | - | |
405 | - @Test | |
406 | - public void getStu() { | |
407 | - //第一步,创建一个workbook对应一个excel文件 | |
408 | - HSSFWorkbook workbook = new HSSFWorkbook(); | |
409 | - | |
410 | - String createUserId = "zy595910"; | |
411 | - String title="作业"; | |
412 | - //ZY_Homework表取出要统计的作业 | |
413 | - String WorkId = "4408"; | |
414 | - String workName = testDao.getWorkName(WorkId); | |
415 | - | |
416 | - //ZY_HomeworkReceive 表获取学生作业答题情况; | |
417 | - List<HomeworkReceive> homRecIDs = testDao.get_HomeworkRec(WorkId); | |
418 | - | |
419 | - Map<String, String[]> stuMap = new HashMap<>(); | |
420 | - String[] names = new String[homRecIDs.size()]; | |
421 | - String[] isCorrect = null; | |
422 | - for (int i = 0; i < homRecIDs.size(); i++) { | |
423 | - HomeworkReceive homeworkReceive = homRecIDs.get(i); | |
424 | - | |
425 | - String studentId = homeworkReceive.getStudentId(); | |
426 | - | |
427 | - String studentName = testDao.getStudentName(studentId); | |
428 | - | |
429 | - String studnetAnswerIds = homeworkReceive.getStudnetAnswerIds(); | |
430 | -// System.out.println("studnetAnswerIds:"+studnetAnswerIds+" WorkId:"+WorkId + " StudentId:"+studentId); | |
431 | - if (null != studnetAnswerIds) { | |
432 | - names[i] = studentName; | |
433 | - String[] stuIds = studnetAnswerIds.split(","); | |
434 | - isCorrect = new String[stuIds.length]; | |
435 | - String isC = ""; | |
436 | - for (int j = 0; j < stuIds.length; j++) { | |
437 | - String id = stuIds[j]; | |
438 | - System.out.println("IsCorrectId:" + id); | |
439 | - //ZY_StudentAnswer表获取题目是否正确 | |
440 | - int idCorrect = testDao.getIsCorrect(id); | |
441 | - if (idCorrect == 1) { | |
442 | - isC += "1 "; | |
443 | - isCorrect[j] = "1"; | |
444 | - } else if (idCorrect == 3) { | |
445 | - isC += "0 "; | |
446 | - isCorrect[j] = "0"; | |
447 | - } | |
448 | - } | |
449 | - stuMap.put(studentName, isCorrect); | |
450 | - System.out.println("" + studentName + " " + isC); | |
451 | - } | |
452 | - } | |
453 | - if (names!=null&&stuMap.size()>0) | |
454 | - writeToExcel(workbook, workName, stuMap, names,title); | |
455 | -// System.out.println("stuMap:" + stuMap.toString()); | |
456 | - } | |
457 | - | |
458 | - | |
459 | - /** | |
460 | - * 旋转图片 | |
461 | - */ | |
462 | - @Test | |
463 | - public void trnImgs() { | |
464 | - | |
465 | - File file = new File("C:\\TaoHandong\\copy\\school479\\StudentCompressed"); | |
466 | - File[] files = file.listFiles(); | |
467 | - | |
468 | - List<StudentInfo> studentInfos = testDao.getStudents(479); | |
469 | - | |
470 | - List<StudentInfo> studentInfoList = new ArrayList<>(); | |
471 | - | |
472 | - for (int i = 0; i < studentInfos.size(); i++) { | |
473 | - StudentInfo studentInfo = studentInfos.get(i); | |
474 | - | |
475 | - boolean isHas = false; | |
476 | - for (int j = 0; j < files.length; j++) { | |
477 | - File img = files[j]; | |
478 | - String imgName = img.getName().split("\\.")[0]; | |
479 | - | |
480 | - if (imgName.equals(studentInfo.getStudentcode())) { | |
481 | - isHas = true; | |
482 | - break; | |
483 | - } | |
484 | - | |
485 | - } | |
486 | - | |
487 | - if (!isHas) { | |
488 | - studentInfoList.add(studentInfo); | |
489 | - } | |
490 | - | |
491 | - } | |
492 | - | |
493 | - System.out.println("studentInfoList:" + studentInfoList); | |
494 | - //第一步,创建一个workbook对应一个excel文件 | |
495 | - HSSFWorkbook workbook = new HSSFWorkbook(); | |
496 | - //第二部,在workbook中创建一个sheet对应excel中的sheet | |
497 | - HSSFSheet sheet = workbook.createSheet("缺少的学生人脸"); | |
498 | - //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制 | |
499 | - HSSFRow row = sheet.createRow(0); | |
500 | - | |
501 | - String[] titles = new String[]{"姓名", "班级", "学籍号", "号码"}; | |
502 | - //第四步,创建单元格,设置表头 | |
503 | - HSSFCell cell = null; | |
504 | - for (int i = 0; i < titles.length; i++) { | |
505 | - cell = row.createCell(i); | |
506 | - cell.setCellValue(titles[i]); | |
507 | - } | |
508 | - | |
509 | - //第五步,写入数据 | |
510 | - for (int i = 0; i < studentInfoList.size(); i++) { | |
511 | - HSSFRow row1 = sheet.createRow(i + 1); | |
512 | - for (int j = 0; j < titles.length; j++) { | |
513 | - String value = studentInfoList.get(i).getClass_name(); | |
514 | - switch (j) { | |
515 | - case 0: | |
516 | - value = studentInfoList.get(i).getName(); | |
517 | - break; | |
518 | - case 1: | |
519 | - value = studentInfoList.get(i).getClass_name(); | |
520 | - break; | |
521 | - case 2: | |
522 | - value = studentInfoList.get(i).getStudentcode(); | |
523 | - break; | |
524 | - case 3: | |
525 | - value = studentInfoList.get(i).getParentMobile(); | |
526 | - break; | |
527 | - } | |
528 | - //创建单元格设值 | |
529 | - row1.createCell(j).setCellValue(value); | |
530 | - } | |
531 | - } | |
532 | - | |
533 | - //将文件保存到指定的位置 | |
534 | - try { | |
535 | - FileOutputStream fos = new FileOutputStream("C:\\Users\\taohandong\\Desktop\\result.xls"); | |
536 | - workbook.write(fos); | |
537 | - System.out.println("写入成功"); | |
538 | - fos.close(); | |
539 | - } catch (IOException e) { | |
540 | - e.printStackTrace(); | |
541 | - } | |
542 | - | |
543 | - /* File file = new File("C:\\TaoHandong\\copy\\School1030\\Student"); | |
544 | - | |
545 | - File outFile = new File("C:\\TaoHandong\\copy\\School1030\\Student1"); | |
546 | - | |
547 | - if (!outFile.exists()) outFile.mkdirs(); | |
548 | - | |
549 | - File[] files = file.listFiles(); | |
550 | - System.out.println("files:" + files.length); | |
551 | - BufferedImage bufferedImage; | |
552 | - for (int i = 0; i < files.length; i++) { | |
553 | - File img = files[i]; | |
554 | - int ang = ImageUtils.getImgRotateAngle(img.getAbsolutePath()); | |
555 | - System.out.println(img.getName() + " ang:" + ang); | |
556 | -// try { | |
557 | -// bufferedImage = ImageIO.read(img); | |
558 | -// moveImg(bufferedImage,img,outFile); | |
559 | -// } catch (IOException e) { | |
560 | -// e.printStackTrace(); | |
561 | -// } | |
562 | - | |
563 | - }*/ | |
564 | - | |
565 | - } | |
566 | - | |
567 | - private List<String> name = new ArrayList<>(); | |
568 | - | |
569 | - | |
570 | -} |