Commit 02110c12d96125dd587d076b9f7f7bd439ed8bbf
0 parents
Exists in
master
and in
1 other branch
初始化问诊项目
Showing 27 changed files with 1392 additions and 0 deletions
- pom.xml
- talkonlineweb/.gitignore
- talkonlineweb/.mvn/wrapper/MavenWrapperDownloader.java
- talkonlineweb/.mvn/wrapper/maven-wrapper.jar
- talkonlineweb/.mvn/wrapper/maven-wrapper.properties
- talkonlineweb/README.md
- talkonlineweb/mvnw
- talkonlineweb/mvnw.cmd
- talkonlineweb/pom.xml
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/TalkonlinewebApplication.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/annotation/TokenRequired.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyBatisConfigs.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebConfig.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/UserContoller.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsUser.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsUserMapper.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/result/BaseResponse.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/result/CheckResult.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsUserService.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsUserServiceImpl.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/Constant.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/JwtUtils.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/TokenUtil.java
- talkonlineweb/src/main/resources/application.yml
- talkonlineweb/src/test/java/com/lyms/talkonlineweb/TalkonlinewebApplicationTests.java
pom.xml
View file @
02110c1
... | ... | @@ -0,0 +1,19 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" | |
3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
4 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
5 | + <modelVersion>4.0.0</modelVersion> | |
6 | + | |
7 | + <groupId>org.lyms</groupId> | |
8 | + <artifactId>talkonline</artifactId> | |
9 | + <version>1.0-SNAPSHOT</version> | |
10 | + | |
11 | + <properties> | |
12 | + <maven.compiler.source>8</maven.compiler.source> | |
13 | + <maven.compiler.target>8</maven.compiler.target> | |
14 | + </properties> | |
15 | + | |
16 | + <modules> | |
17 | + <module>talkonlineweb</module> | |
18 | + </modules> | |
19 | +</project> | |
0 | 20 | \ No newline at end of file |
talkonlineweb/.gitignore
View file @
02110c1
... | ... | @@ -0,0 +1,31 @@ |
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/ |
talkonlineweb/.mvn/wrapper/MavenWrapperDownloader.java
View file @
02110c1
... | ... | @@ -0,0 +1,118 @@ |
1 | +/* | |
2 | + * Copyright 2007-present the original author or authors. | |
3 | + * | |
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | + * you may not use this file except in compliance with the License. | |
6 | + * You may obtain a copy of the License at | |
7 | + * | |
8 | + * https://www.apache.org/licenses/LICENSE-2.0 | |
9 | + * | |
10 | + * Unless required by applicable law or agreed to in writing, software | |
11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | + * See the License for the specific language governing permissions and | |
14 | + * limitations under the License. | |
15 | + */ | |
16 | + | |
17 | +import java.net.*; | |
18 | +import java.io.*; | |
19 | +import java.nio.channels.*; | |
20 | +import java.util.Properties; | |
21 | + | |
22 | +public class MavenWrapperDownloader { | |
23 | + | |
24 | + private static final String WRAPPER_VERSION = "0.5.6"; | |
25 | + /** | |
26 | + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. | |
27 | + */ | |
28 | + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" | |
29 | + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; | |
30 | + | |
31 | + /** | |
32 | + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to | |
33 | + * use instead of the default one. | |
34 | + */ | |
35 | + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = | |
36 | + ".mvn/wrapper/maven-wrapper.properties"; | |
37 | + | |
38 | + /** | |
39 | + * Path where the maven-wrapper.jar will be saved to. | |
40 | + */ | |
41 | + private static final String MAVEN_WRAPPER_JAR_PATH = | |
42 | + ".mvn/wrapper/maven-wrapper.jar"; | |
43 | + | |
44 | + /** | |
45 | + * Name of the property which should be used to override the default download url for the wrapper. | |
46 | + */ | |
47 | + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; | |
48 | + | |
49 | + public static void main(String args[]) { | |
50 | + System.out.println("- Downloader started"); | |
51 | + File baseDirectory = new File(args[0]); | |
52 | + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); | |
53 | + | |
54 | + // If the maven-wrapper.properties exists, read it and check if it contains a custom | |
55 | + // wrapperUrl parameter. | |
56 | + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); | |
57 | + String url = DEFAULT_DOWNLOAD_URL; | |
58 | + if (mavenWrapperPropertyFile.exists()) { | |
59 | + FileInputStream mavenWrapperPropertyFileInputStream = null; | |
60 | + try { | |
61 | + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); | |
62 | + Properties mavenWrapperProperties = new Properties(); | |
63 | + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); | |
64 | + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); | |
65 | + } catch (IOException e) { | |
66 | + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); | |
67 | + } finally { | |
68 | + try { | |
69 | + if (mavenWrapperPropertyFileInputStream != null) { | |
70 | + mavenWrapperPropertyFileInputStream.close(); | |
71 | + } | |
72 | + } catch (IOException e) { | |
73 | + // Ignore ... | |
74 | + } | |
75 | + } | |
76 | + } | |
77 | + System.out.println("- Downloading from: " + url); | |
78 | + | |
79 | + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); | |
80 | + if (!outputFile.getParentFile().exists()) { | |
81 | + if (!outputFile.getParentFile().mkdirs()) { | |
82 | + System.out.println( | |
83 | + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); | |
84 | + } | |
85 | + } | |
86 | + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); | |
87 | + try { | |
88 | + downloadFileFromURL(url, outputFile); | |
89 | + System.out.println("Done"); | |
90 | + System.exit(0); | |
91 | + } catch (Throwable e) { | |
92 | + System.out.println("- Error downloading"); | |
93 | + e.printStackTrace(); | |
94 | + System.exit(1); | |
95 | + } | |
96 | + } | |
97 | + | |
98 | + private static void downloadFileFromURL(String urlString, File destination) throws Exception { | |
99 | + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { | |
100 | + String username = System.getenv("MVNW_USERNAME"); | |
101 | + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); | |
102 | + Authenticator.setDefault(new Authenticator() { | |
103 | + @Override | |
104 | + protected PasswordAuthentication getPasswordAuthentication() { | |
105 | + return new PasswordAuthentication(username, password); | |
106 | + } | |
107 | + }); | |
108 | + } | |
109 | + URL website = new URL(urlString); | |
110 | + ReadableByteChannel rbc; | |
111 | + rbc = Channels.newChannel(website.openStream()); | |
112 | + FileOutputStream fos = new FileOutputStream(destination); | |
113 | + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); | |
114 | + fos.close(); | |
115 | + rbc.close(); | |
116 | + } | |
117 | + | |
118 | +} |
talkonlineweb/.mvn/wrapper/maven-wrapper.jar
View file @
02110c1
talkonlineweb/.mvn/wrapper/maven-wrapper.properties
View file @
02110c1
talkonlineweb/README.md
View file @
02110c1
talkonlineweb/mvnw
View file @
02110c1
... | ... | @@ -0,0 +1,310 @@ |
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 | +# Maven 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 | +fi | |
118 | + | |
119 | +if [ -z "$JAVA_HOME" ]; then | |
120 | + javaExecutable="`which javac`" | |
121 | + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then | |
122 | + # readlink(1) is not available as standard on Solaris 10. | |
123 | + readLink=`which readlink` | |
124 | + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then | |
125 | + if $darwin ; then | |
126 | + javaHome="`dirname \"$javaExecutable\"`" | |
127 | + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" | |
128 | + else | |
129 | + javaExecutable="`readlink -f \"$javaExecutable\"`" | |
130 | + fi | |
131 | + javaHome="`dirname \"$javaExecutable\"`" | |
132 | + javaHome=`expr "$javaHome" : '\(.*\)/bin'` | |
133 | + JAVA_HOME="$javaHome" | |
134 | + export JAVA_HOME | |
135 | + fi | |
136 | + fi | |
137 | +fi | |
138 | + | |
139 | +if [ -z "$JAVACMD" ] ; then | |
140 | + if [ -n "$JAVA_HOME" ] ; then | |
141 | + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | |
142 | + # IBM's JDK on AIX uses strange locations for the executables | |
143 | + JAVACMD="$JAVA_HOME/jre/sh/java" | |
144 | + else | |
145 | + JAVACMD="$JAVA_HOME/bin/java" | |
146 | + fi | |
147 | + else | |
148 | + JAVACMD="`which java`" | |
149 | + fi | |
150 | +fi | |
151 | + | |
152 | +if [ ! -x "$JAVACMD" ] ; then | |
153 | + echo "Error: JAVA_HOME is not defined correctly." >&2 | |
154 | + echo " We cannot execute $JAVACMD" >&2 | |
155 | + exit 1 | |
156 | +fi | |
157 | + | |
158 | +if [ -z "$JAVA_HOME" ] ; then | |
159 | + echo "Warning: JAVA_HOME environment variable is not set." | |
160 | +fi | |
161 | + | |
162 | +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher | |
163 | + | |
164 | +# traverses directory structure from process work directory to filesystem root | |
165 | +# first directory with .mvn subdirectory is considered project base directory | |
166 | +find_maven_basedir() { | |
167 | + | |
168 | + if [ -z "$1" ] | |
169 | + then | |
170 | + echo "Path not specified to find_maven_basedir" | |
171 | + return 1 | |
172 | + fi | |
173 | + | |
174 | + basedir="$1" | |
175 | + wdir="$1" | |
176 | + while [ "$wdir" != '/' ] ; do | |
177 | + if [ -d "$wdir"/.mvn ] ; then | |
178 | + basedir=$wdir | |
179 | + break | |
180 | + fi | |
181 | + # workaround for JBEAP-8937 (on Solaris 10/Sparc) | |
182 | + if [ -d "${wdir}" ]; then | |
183 | + wdir=`cd "$wdir/.."; pwd` | |
184 | + fi | |
185 | + # end of workaround | |
186 | + done | |
187 | + echo "${basedir}" | |
188 | +} | |
189 | + | |
190 | +# concatenates all lines of a file | |
191 | +concat_lines() { | |
192 | + if [ -f "$1" ]; then | |
193 | + echo "$(tr -s '\n' ' ' < "$1")" | |
194 | + fi | |
195 | +} | |
196 | + | |
197 | +BASE_DIR=`find_maven_basedir "$(pwd)"` | |
198 | +if [ -z "$BASE_DIR" ]; then | |
199 | + exit 1; | |
200 | +fi | |
201 | + | |
202 | +########################################################################################## | |
203 | +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | |
204 | +# This allows using the maven wrapper in projects that prohibit checking in binary data. | |
205 | +########################################################################################## | |
206 | +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then | |
207 | + if [ "$MVNW_VERBOSE" = true ]; then | |
208 | + echo "Found .mvn/wrapper/maven-wrapper.jar" | |
209 | + fi | |
210 | +else | |
211 | + if [ "$MVNW_VERBOSE" = true ]; then | |
212 | + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." | |
213 | + fi | |
214 | + if [ -n "$MVNW_REPOURL" ]; then | |
215 | + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | |
216 | + else | |
217 | + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | |
218 | + fi | |
219 | + while IFS="=" read key value; do | |
220 | + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; | |
221 | + esac | |
222 | + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" | |
223 | + if [ "$MVNW_VERBOSE" = true ]; then | |
224 | + echo "Downloading from: $jarUrl" | |
225 | + fi | |
226 | + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" | |
227 | + if $cygwin; then | |
228 | + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` | |
229 | + fi | |
230 | + | |
231 | + if command -v wget > /dev/null; then | |
232 | + if [ "$MVNW_VERBOSE" = true ]; then | |
233 | + echo "Found wget ... using wget" | |
234 | + fi | |
235 | + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then | |
236 | + wget "$jarUrl" -O "$wrapperJarPath" | |
237 | + else | |
238 | + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" | |
239 | + fi | |
240 | + elif command -v curl > /dev/null; then | |
241 | + if [ "$MVNW_VERBOSE" = true ]; then | |
242 | + echo "Found curl ... using curl" | |
243 | + fi | |
244 | + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then | |
245 | + curl -o "$wrapperJarPath" "$jarUrl" -f | |
246 | + else | |
247 | + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f | |
248 | + fi | |
249 | + | |
250 | + else | |
251 | + if [ "$MVNW_VERBOSE" = true ]; then | |
252 | + echo "Falling back to using Java to download" | |
253 | + fi | |
254 | + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" | |
255 | + # For Cygwin, switch paths to Windows format before running javac | |
256 | + if $cygwin; then | |
257 | + javaClass=`cygpath --path --windows "$javaClass"` | |
258 | + fi | |
259 | + if [ -e "$javaClass" ]; then | |
260 | + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | |
261 | + if [ "$MVNW_VERBOSE" = true ]; then | |
262 | + echo " - Compiling MavenWrapperDownloader.java ..." | |
263 | + fi | |
264 | + # Compiling the Java class | |
265 | + ("$JAVA_HOME/bin/javac" "$javaClass") | |
266 | + fi | |
267 | + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | |
268 | + # Running the downloader | |
269 | + if [ "$MVNW_VERBOSE" = true ]; then | |
270 | + echo " - Running MavenWrapperDownloader.java ..." | |
271 | + fi | |
272 | + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") | |
273 | + fi | |
274 | + fi | |
275 | + fi | |
276 | +fi | |
277 | +########################################################################################## | |
278 | +# End of extension | |
279 | +########################################################################################## | |
280 | + | |
281 | +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} | |
282 | +if [ "$MVNW_VERBOSE" = true ]; then | |
283 | + echo $MAVEN_PROJECTBASEDIR | |
284 | +fi | |
285 | +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" | |
286 | + | |
287 | +# For Cygwin, switch paths to Windows format before running java | |
288 | +if $cygwin; then | |
289 | + [ -n "$M2_HOME" ] && | |
290 | + M2_HOME=`cygpath --path --windows "$M2_HOME"` | |
291 | + [ -n "$JAVA_HOME" ] && | |
292 | + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` | |
293 | + [ -n "$CLASSPATH" ] && | |
294 | + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` | |
295 | + [ -n "$MAVEN_PROJECTBASEDIR" ] && | |
296 | + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` | |
297 | +fi | |
298 | + | |
299 | +# Provide a "standardized" way to retrieve the CLI args that will | |
300 | +# work with both Windows and non-Windows executions. | |
301 | +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" | |
302 | +export MAVEN_CMD_LINE_ARGS | |
303 | + | |
304 | +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | |
305 | + | |
306 | +exec "$JAVACMD" \ | |
307 | + $MAVEN_OPTS \ | |
308 | + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ | |
309 | + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ | |
310 | + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
talkonlineweb/mvnw.cmd
View file @
02110c1
... | ... | @@ -0,0 +1,182 @@ |
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 Maven 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 keystroke 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 by 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.5.6/maven-wrapper-0.5.6.jar" | |
124 | + | |
125 | +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( | |
126 | + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B | |
127 | +) | |
128 | + | |
129 | +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | |
130 | +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. | |
131 | +if exist %WRAPPER_JAR% ( | |
132 | + if "%MVNW_VERBOSE%" == "true" ( | |
133 | + echo Found %WRAPPER_JAR% | |
134 | + ) | |
135 | +) else ( | |
136 | + if not "%MVNW_REPOURL%" == "" ( | |
137 | + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" | |
138 | + ) | |
139 | + if "%MVNW_VERBOSE%" == "true" ( | |
140 | + echo Couldn't find %WRAPPER_JAR%, downloading it ... | |
141 | + echo Downloading from: %DOWNLOAD_URL% | |
142 | + ) | |
143 | + | |
144 | + powershell -Command "&{"^ | |
145 | + "$webclient = new-object System.Net.WebClient;"^ | |
146 | + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ | |
147 | + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ | |
148 | + "}"^ | |
149 | + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ | |
150 | + "}" | |
151 | + if "%MVNW_VERBOSE%" == "true" ( | |
152 | + echo Finished downloading %WRAPPER_JAR% | |
153 | + ) | |
154 | +) | |
155 | +@REM End of extension | |
156 | + | |
157 | +@REM Provide a "standardized" way to retrieve the CLI args that will | |
158 | +@REM work with both Windows and non-Windows executions. | |
159 | +set MAVEN_CMD_LINE_ARGS=%* | |
160 | + | |
161 | +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* | |
162 | +if ERRORLEVEL 1 goto error | |
163 | +goto end | |
164 | + | |
165 | +:error | |
166 | +set ERROR_CODE=1 | |
167 | + | |
168 | +:end | |
169 | +@endlocal & set ERROR_CODE=%ERROR_CODE% | |
170 | + | |
171 | +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost | |
172 | +@REM check for post script, once with legacy .bat ending and once with .cmd ending | |
173 | +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" | |
174 | +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" | |
175 | +:skipRcPost | |
176 | + | |
177 | +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' | |
178 | +if "%MAVEN_BATCH_PAUSE%" == "on" pause | |
179 | + | |
180 | +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% | |
181 | + | |
182 | +exit /B %ERROR_CODE% |
talkonlineweb/pom.xml
View file @
02110c1
... | ... | @@ -0,0 +1,163 @@ |
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 | + <groupId>com.lyms</groupId> | |
6 | + <artifactId>talkonlineweb</artifactId> | |
7 | + <version>0.0.1-SNAPSHOT</version> | |
8 | + <name>talkonlineweb</name> | |
9 | + <description>talkonlineweb</description> | |
10 | + | |
11 | + <properties> | |
12 | + <java.version>1.8</java.version> | |
13 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
14 | + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | |
15 | + <spring-boot.version>2.3.12.RELEASE</spring-boot.version> | |
16 | + </properties> | |
17 | + | |
18 | + <dependencies> | |
19 | + <dependency> | |
20 | + <groupId>org.springframework.boot</groupId> | |
21 | + <artifactId>spring-boot-starter-web</artifactId> | |
22 | + </dependency> | |
23 | + <dependency> | |
24 | + <groupId>com.alibaba</groupId> | |
25 | + <artifactId>fastjson</artifactId> | |
26 | + <version>1.2.72</version> | |
27 | + </dependency> | |
28 | + <dependency> | |
29 | + <groupId>com.baomidou</groupId> | |
30 | + <artifactId>mybatis-plus-boot-starter</artifactId> | |
31 | + <version>3.4.2</version> | |
32 | + </dependency> | |
33 | + <dependency> | |
34 | + <groupId>commons-io</groupId> | |
35 | + <artifactId>commons-io</artifactId> | |
36 | + <version>2.6</version> | |
37 | + </dependency> | |
38 | + <!-- MySQL jdbc driver --> | |
39 | + <dependency> | |
40 | + <groupId>mysql</groupId> | |
41 | + <artifactId>mysql-connector-java</artifactId> | |
42 | + <version>5.1.34</version> | |
43 | + </dependency> | |
44 | + <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --> | |
45 | + <dependency> | |
46 | + <groupId>com.alibaba</groupId> | |
47 | + <artifactId>druid-spring-boot-starter</artifactId> | |
48 | + <version>1.1.22</version> | |
49 | + </dependency> | |
50 | + | |
51 | + | |
52 | + <dependency> | |
53 | + <groupId>org.springframework.boot</groupId> | |
54 | + <artifactId>spring-boot-devtools</artifactId> | |
55 | + <scope>runtime</scope> | |
56 | + <optional>true</optional> | |
57 | + </dependency> | |
58 | + <dependency> | |
59 | + <groupId>org.projectlombok</groupId> | |
60 | + <artifactId>lombok</artifactId> | |
61 | + <optional>true</optional> | |
62 | + </dependency> | |
63 | + <dependency> | |
64 | + <groupId>log4j</groupId> | |
65 | + <artifactId>log4j</artifactId> | |
66 | + <version>1.2.15</version> | |
67 | + <exclusions> | |
68 | + <exclusion> | |
69 | + <groupId>javax.mail</groupId> | |
70 | + <artifactId>mail</artifactId> | |
71 | + </exclusion> | |
72 | + <exclusion> | |
73 | + <groupId>javax.jms</groupId> | |
74 | + <artifactId>jms</artifactId> | |
75 | + </exclusion> | |
76 | + <exclusion> | |
77 | + <groupId>com.sun.jdmk</groupId> | |
78 | + <artifactId>jmxtools</artifactId> | |
79 | + </exclusion> | |
80 | + <exclusion> | |
81 | + <groupId>com.sun.jmx</groupId> | |
82 | + <artifactId>jmxri</artifactId> | |
83 | + </exclusion> | |
84 | + </exclusions> | |
85 | + <scope>compile</scope> | |
86 | + </dependency> | |
87 | +<!-- <dependency>--> | |
88 | +<!-- <groupId>com.auth0</groupId>--> | |
89 | +<!-- <artifactId>java-jwt</artifactId>--> | |
90 | +<!-- <version>3.4.0</version>--> | |
91 | +<!-- </dependency>--> | |
92 | +<!-- <dependency>--> | |
93 | +<!-- <groupId>com.google.guava</groupId>--> | |
94 | +<!-- <artifactId>guava</artifactId>--> | |
95 | +<!-- <version>19.0-rc2</version>--> | |
96 | +<!-- </dependency>--> | |
97 | + <dependency> | |
98 | + <groupId>com.auth0</groupId> | |
99 | + <artifactId>java-jwt</artifactId> | |
100 | + <version>3.2.0</version> | |
101 | + </dependency> | |
102 | + <dependency> | |
103 | + <groupId>io.jsonwebtoken</groupId> | |
104 | + <artifactId>jjwt</artifactId> | |
105 | + <version>0.7.0</version> | |
106 | + </dependency> | |
107 | + <dependency> | |
108 | + <groupId>org.springframework.boot</groupId> | |
109 | + <artifactId>spring-boot-starter-test</artifactId> | |
110 | + <scope>test</scope> | |
111 | + <exclusions> | |
112 | + <exclusion> | |
113 | + <groupId>org.junit.vintage</groupId> | |
114 | + <artifactId>junit-vintage-engine</artifactId> | |
115 | + </exclusion> | |
116 | + </exclusions> | |
117 | + </dependency> | |
118 | + </dependencies> | |
119 | + | |
120 | + <dependencyManagement> | |
121 | + <dependencies> | |
122 | + <dependency> | |
123 | + <groupId>org.springframework.boot</groupId> | |
124 | + <artifactId>spring-boot-dependencies</artifactId> | |
125 | + <version>${spring-boot.version}</version> | |
126 | + <type>pom</type> | |
127 | + <scope>import</scope> | |
128 | + </dependency> | |
129 | + </dependencies> | |
130 | + </dependencyManagement> | |
131 | + | |
132 | + <build> | |
133 | + <plugins> | |
134 | + <plugin> | |
135 | + <groupId>org.apache.maven.plugins</groupId> | |
136 | + <artifactId>maven-compiler-plugin</artifactId> | |
137 | + <version>3.8.1</version> | |
138 | + <configuration> | |
139 | + <source>1.8</source> | |
140 | + <target>1.8</target> | |
141 | + <encoding>UTF-8</encoding> | |
142 | + </configuration> | |
143 | + </plugin> | |
144 | + <plugin> | |
145 | + <groupId>org.springframework.boot</groupId> | |
146 | + <artifactId>spring-boot-maven-plugin</artifactId> | |
147 | + <version>2.3.12.RELEASE</version> | |
148 | + <configuration> | |
149 | + <mainClass>com.lyms.talkonlineweb.TalkonlinewebApplication</mainClass> | |
150 | + </configuration> | |
151 | + <executions> | |
152 | + <execution> | |
153 | + <id>repackage</id> | |
154 | + <goals> | |
155 | + <goal>repackage</goal> | |
156 | + </goals> | |
157 | + </execution> | |
158 | + </executions> | |
159 | + </plugin> | |
160 | + </plugins> | |
161 | + </build> | |
162 | + | |
163 | +</project> |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/TalkonlinewebApplication.java
View file @
02110c1
... | ... | @@ -0,0 +1,15 @@ |
1 | +package com.lyms.talkonlineweb; | |
2 | + | |
3 | +import org.mybatis.spring.annotation.MapperScan; | |
4 | +import org.springframework.boot.SpringApplication; | |
5 | +import org.springframework.boot.autoconfigure.SpringBootApplication; | |
6 | + | |
7 | +@SpringBootApplication | |
8 | +@MapperScan("com.lyms.talkonlineweb.mapper") | |
9 | +public class TalkonlinewebApplication { | |
10 | + | |
11 | + public static void main(String[] args) { | |
12 | + SpringApplication.run(TalkonlinewebApplication.class, args); | |
13 | + } | |
14 | + | |
15 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/annotation/TokenRequired.java
View file @
02110c1
... | ... | @@ -0,0 +1,15 @@ |
1 | +package com.lyms.talkonlineweb.annotation; | |
2 | + | |
3 | + | |
4 | +import java.lang.annotation.ElementType; | |
5 | +import java.lang.annotation.Retention; | |
6 | +import java.lang.annotation.RetentionPolicy; | |
7 | +import java.lang.annotation.Target; | |
8 | + | |
9 | +/** | |
10 | + * Created by Administrator on 2015/9/25 0025. | |
11 | + */ | |
12 | +@Target({ElementType.TYPE, ElementType.METHOD}) | |
13 | +@Retention(RetentionPolicy.RUNTIME) | |
14 | +public @interface TokenRequired { | |
15 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyBatisConfigs.java
View file @
02110c1
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.lyms.talkonlineweb.config; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.annotation.DbType; | |
4 | +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; | |
5 | +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; | |
6 | +import org.springframework.context.annotation.Bean; | |
7 | +import org.springframework.context.annotation.Configuration; | |
8 | + | |
9 | +@Configuration | |
10 | +public class MyBatisConfigs { | |
11 | + | |
12 | +// @Bean | |
13 | +// public MybatisPlusInterceptor mybatisPlusInterceptor() { | |
14 | +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); | |
15 | +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); | |
16 | +// return interceptor; | |
17 | +// } | |
18 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebConfig.java
View file @
02110c1
... | ... | @@ -0,0 +1,19 @@ |
1 | +package com.lyms.talkonlineweb.config; | |
2 | + | |
3 | +import org.springframework.beans.factory.annotation.Value; | |
4 | +import org.springframework.context.annotation.Configuration; | |
5 | +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; | |
6 | +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; | |
7 | + | |
8 | +@Configuration | |
9 | +public class MyWebConfig implements WebMvcConfigurer { | |
10 | + | |
11 | + @Value("${excludePath}") | |
12 | + private String excludePath; | |
13 | + | |
14 | + @Override | |
15 | + public void addInterceptors(InterceptorRegistry registry) { | |
16 | +// WebMvcConfigurer.super.addInterceptors(registry); | |
17 | + registry.addInterceptor(new MyWebInterceptor(excludePath)); | |
18 | + } | |
19 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java
View file @
02110c1
... | ... | @@ -0,0 +1,49 @@ |
1 | +package com.lyms.talkonlineweb.config; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.annotation.TokenRequired; | |
4 | +import lombok.extern.java.Log; | |
5 | +import org.springframework.beans.factory.annotation.Value; | |
6 | +import org.springframework.web.method.HandlerMethod; | |
7 | +import org.springframework.web.servlet.HandlerInterceptor; | |
8 | + | |
9 | +import javax.servlet.http.HttpServletRequest; | |
10 | +import javax.servlet.http.HttpServletResponse; | |
11 | +import java.lang.annotation.Annotation; | |
12 | + | |
13 | +@Log | |
14 | +public class MyWebInterceptor implements HandlerInterceptor { | |
15 | + | |
16 | +// 拦截路径 | |
17 | + private String excludePath; | |
18 | + | |
19 | + public MyWebInterceptor(String excludePath){ | |
20 | + this.excludePath=excludePath; | |
21 | + } | |
22 | + @Override | |
23 | + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { | |
24 | + log.info("excludePath:"+excludePath); | |
25 | + System.out.println(request.getPathInfo()); | |
26 | + System.out.println(request.getServletPath()); | |
27 | + System.out.println(handler); | |
28 | + | |
29 | + | |
30 | + TokenRequired clientRequired = findAnnotation((HandlerMethod) handler, TokenRequired.class); | |
31 | + if (null == clientRequired) | |
32 | + return true; | |
33 | + | |
34 | + return validateToken(request, response); | |
35 | + | |
36 | +// return HandlerInterceptor.super.preHandle(request, response, handler); | |
37 | + } | |
38 | + | |
39 | + private boolean validateToken(HttpServletRequest request, HttpServletResponse response) { | |
40 | + return true; | |
41 | + } | |
42 | + | |
43 | + private <T extends Annotation> T findAnnotation(HandlerMethod handler, Class<T> annotationType) { | |
44 | + T annotation = handler.getBeanType().getAnnotation(annotationType); | |
45 | + if (annotation != null) | |
46 | + return annotation; | |
47 | + return handler.getMethodAnnotation(annotationType); | |
48 | + } | |
49 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java
View file @
02110c1
... | ... | @@ -0,0 +1,26 @@ |
1 | +package com.lyms.talkonlineweb.controller; | |
2 | + | |
3 | + | |
4 | +import com.lyms.talkonlineweb.domain.LymsUser; | |
5 | +import com.lyms.talkonlineweb.service.LymsUserService; | |
6 | +import lombok.extern.java.Log; | |
7 | +import org.springframework.beans.factory.annotation.Autowired; | |
8 | +import org.springframework.web.bind.annotation.GetMapping; | |
9 | +import org.springframework.web.bind.annotation.RestController; | |
10 | + | |
11 | +import java.util.List; | |
12 | + | |
13 | +@RestController | |
14 | +@Log | |
15 | +public class TestController { | |
16 | + | |
17 | + | |
18 | + @Autowired | |
19 | + private LymsUserService lymsUserService; | |
20 | + | |
21 | + @GetMapping("lstUser") | |
22 | + public List<LymsUser> listUser(){ | |
23 | + log.info("List user!!"); | |
24 | + return lymsUserService.list(); | |
25 | + } | |
26 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/UserContoller.java
View file @
02110c1
... | ... | @@ -0,0 +1,51 @@ |
1 | +package com.lyms.talkonlineweb.controller; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |
5 | +import com.lyms.talkonlineweb.domain.LymsUser; | |
6 | +import com.lyms.talkonlineweb.mapper.LymsUserMapper; | |
7 | +import com.lyms.talkonlineweb.result.BaseResponse; | |
8 | +import com.lyms.talkonlineweb.service.LymsUserService; | |
9 | +import com.lyms.talkonlineweb.util.Constant; | |
10 | +import com.lyms.talkonlineweb.util.JwtUtils; | |
11 | +import lombok.extern.log4j.Log4j; | |
12 | +import org.springframework.beans.factory.annotation.Autowired; | |
13 | +import org.springframework.web.bind.annotation.GetMapping; | |
14 | +import org.springframework.web.bind.annotation.RestController; | |
15 | + | |
16 | +import java.util.HashMap; | |
17 | +import java.util.List; | |
18 | +import java.util.Map; | |
19 | +import java.util.concurrent.TimeUnit; | |
20 | + | |
21 | +@RestController | |
22 | +@Log4j | |
23 | +public class UserContoller { | |
24 | +// public static Cache<String, Object> cache = CacheBuilder.newBuilder() | |
25 | +// .expireAfterAccess(20, TimeUnit.HOURS) | |
26 | +// .build(); | |
27 | + @Autowired | |
28 | + private LymsUserService lymsUserService; | |
29 | + | |
30 | + @Autowired | |
31 | + private LymsUserMapper lymsUserMapper; | |
32 | + | |
33 | + @GetMapping("login") | |
34 | + public BaseResponse login(String username,String passwd){ | |
35 | +// QueryWrapper queryWrapper= Wrappers.query(LymsUser.class); | |
36 | + log.info(">>>>>"); | |
37 | + BaseResponse baseResponse=new BaseResponse(); | |
38 | + Map<String,Object> tMap=new HashMap<>(); | |
39 | + tMap.put("token",""); | |
40 | + | |
41 | + List<LymsUser> uLst=lymsUserMapper.sltUser(username,passwd); | |
42 | + | |
43 | + if(uLst.size()>0){ | |
44 | + String JWT = JwtUtils.createJWT("1", username, Constant.JWT_TTL); | |
45 | + tMap.put("token",JWT); | |
46 | + } | |
47 | + baseResponse.setObject(tMap); | |
48 | + baseResponse.setErrorcode(0); | |
49 | + return baseResponse; | |
50 | + } | |
51 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsUser.java
View file @
02110c1
... | ... | @@ -0,0 +1,133 @@ |
1 | +package com.lyms.talkonlineweb.domain; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.annotation.IdType; | |
4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import java.io.Serializable; | |
8 | +import java.util.Date; | |
9 | +import lombok.Data; | |
10 | + | |
11 | +/** | |
12 | + * 用户 | |
13 | + * @TableName lyms_user | |
14 | + */ | |
15 | +@TableName(value ="lyms_user") | |
16 | +@Data | |
17 | +public class LymsUser implements Serializable { | |
18 | + /** | |
19 | + * 用户标识 | |
20 | + */ | |
21 | + @TableId(value = "uid", type = IdType.AUTO) | |
22 | + private Integer uid; | |
23 | + | |
24 | + /** | |
25 | + * 姓名 | |
26 | + */ | |
27 | + @TableField(value = "uname") | |
28 | + private String uname; | |
29 | + | |
30 | + /** | |
31 | + * 登录账号 | |
32 | + */ | |
33 | + @TableField(value = "login") | |
34 | + private String login; | |
35 | + | |
36 | + /** | |
37 | + * 登录密码 | |
38 | + */ | |
39 | + @TableField(value = "passwd") | |
40 | + private String passwd; | |
41 | + | |
42 | + /** | |
43 | + * 环信id | |
44 | + */ | |
45 | + @TableField(value = "hxid") | |
46 | + private Integer hxid; | |
47 | + | |
48 | + /** | |
49 | + * 创建人 | |
50 | + */ | |
51 | + @TableField(value = "createdby") | |
52 | + private Integer createdby; | |
53 | + | |
54 | + /** | |
55 | + * 创建时间 | |
56 | + */ | |
57 | + @TableField(value = "createdtime") | |
58 | + private Date createdtime; | |
59 | + | |
60 | + /** | |
61 | + * 更新人 | |
62 | + */ | |
63 | + @TableField(value = "updatedby") | |
64 | + private Integer updatedby; | |
65 | + | |
66 | + /** | |
67 | + * 更新时间 | |
68 | + */ | |
69 | + @TableField(value = "updated_time") | |
70 | + private Date updatedTime; | |
71 | + | |
72 | + @TableField(exist = false) | |
73 | + private static final long serialVersionUID = 1L; | |
74 | + | |
75 | + @Override | |
76 | + public boolean equals(Object that) { | |
77 | + if (this == that) { | |
78 | + return true; | |
79 | + } | |
80 | + if (that == null) { | |
81 | + return false; | |
82 | + } | |
83 | + if (getClass() != that.getClass()) { | |
84 | + return false; | |
85 | + } | |
86 | + LymsUser other = (LymsUser) that; | |
87 | + return (this.getUid() == null ? other.getUid() == null : this.getUid().equals(other.getUid())) | |
88 | + && (this.getUname() == null ? other.getUname() == null : this.getUname().equals(other.getUname())) | |
89 | + && (this.getLogin() == null ? other.getLogin() == null : this.getLogin().equals(other.getLogin())) | |
90 | + && (this.getPasswd() == null ? other.getPasswd() == null : this.getPasswd().equals(other.getPasswd())) | |
91 | + && (this.getHxid() == null ? other.getHxid() == null : this.getHxid().equals(other.getHxid())) | |
92 | + && (this.getCreatedby() == null ? other.getCreatedby() == null : this.getCreatedby().equals(other.getCreatedby())) | |
93 | + && (this.getCreatedtime() == null ? other.getCreatedtime() == null : this.getCreatedtime().equals(other.getCreatedtime())) | |
94 | + && (this.getUpdatedby() == null ? other.getUpdatedby() == null : this.getUpdatedby().equals(other.getUpdatedby())) | |
95 | + && (this.getUpdatedTime() == null ? other.getUpdatedTime() == null : this.getUpdatedTime().equals(other.getUpdatedTime())); | |
96 | + } | |
97 | + | |
98 | + @Override | |
99 | + public int hashCode() { | |
100 | + final int prime = 31; | |
101 | + int result = 1; | |
102 | + result = prime * result + ((getUid() == null) ? 0 : getUid().hashCode()); | |
103 | + result = prime * result + ((getUname() == null) ? 0 : getUname().hashCode()); | |
104 | + result = prime * result + ((getLogin() == null) ? 0 : getLogin().hashCode()); | |
105 | + result = prime * result + ((getPasswd() == null) ? 0 : getPasswd().hashCode()); | |
106 | + result = prime * result + ((getHxid() == null) ? 0 : getHxid().hashCode()); | |
107 | + result = prime * result + ((getCreatedby() == null) ? 0 : getCreatedby().hashCode()); | |
108 | + result = prime * result + ((getCreatedtime() == null) ? 0 : getCreatedtime().hashCode()); | |
109 | + result = prime * result + ((getUpdatedby() == null) ? 0 : getUpdatedby().hashCode()); | |
110 | + result = prime * result + ((getUpdatedTime() == null) ? 0 : getUpdatedTime().hashCode()); | |
111 | + return result; | |
112 | + } | |
113 | + | |
114 | + @Override | |
115 | + public String toString() { | |
116 | + StringBuilder sb = new StringBuilder(); | |
117 | + sb.append(getClass().getSimpleName()); | |
118 | + sb.append(" ["); | |
119 | + sb.append("Hash = ").append(hashCode()); | |
120 | + sb.append(", uid=").append(uid); | |
121 | + sb.append(", uname=").append(uname); | |
122 | + sb.append(", login=").append(login); | |
123 | + sb.append(", passwd=").append(passwd); | |
124 | + sb.append(", hxid=").append(hxid); | |
125 | + sb.append(", createdby=").append(createdby); | |
126 | + sb.append(", createdtime=").append(createdtime); | |
127 | + sb.append(", updatedby=").append(updatedby); | |
128 | + sb.append(", updatedTime=").append(updatedTime); | |
129 | + sb.append(", serialVersionUID=").append(serialVersionUID); | |
130 | + sb.append("]"); | |
131 | + return sb.toString(); | |
132 | + } | |
133 | +} | |
0 | 134 | \ No newline at end of file |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsUserMapper.java
View file @
02110c1
... | ... | @@ -0,0 +1,23 @@ |
1 | +package com.lyms.talkonlineweb.mapper; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.domain.LymsUser; | |
4 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
5 | +import org.apache.ibatis.annotations.Param; | |
6 | +import org.apache.ibatis.annotations.Select; | |
7 | + | |
8 | +import java.util.List; | |
9 | + | |
10 | +/** | |
11 | + * @Entity generator.domain.LymsUser | |
12 | + */ | |
13 | +public interface LymsUserMapper extends BaseMapper<LymsUser> { | |
14 | + | |
15 | + @Select("select * from lyms_user where login=#{login} and passwd=password(#{passwd}) ") | |
16 | + public List<LymsUser> sltUser(@Param("login") String login, @Param("passwd") String passwd); | |
17 | + | |
18 | + | |
19 | +} | |
20 | + | |
21 | + | |
22 | + | |
23 | + |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/result/BaseResponse.java
View file @
02110c1
talkonlineweb/src/main/java/com/lyms/talkonlineweb/result/CheckResult.java
View file @
02110c1
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsUserService.java
View file @
02110c1
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsUserServiceImpl.java
View file @
02110c1
... | ... | @@ -0,0 +1,20 @@ |
1 | +package com.lyms.talkonlineweb.service.impl; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
4 | +import com.lyms.talkonlineweb.domain.LymsUser; | |
5 | +import com.lyms.talkonlineweb.service.LymsUserService; | |
6 | +import com.lyms.talkonlineweb.mapper.LymsUserMapper; | |
7 | +import org.springframework.stereotype.Service; | |
8 | + | |
9 | +/** | |
10 | + * | |
11 | + */ | |
12 | +@Service | |
13 | +public class LymsUserServiceImpl extends ServiceImpl<LymsUserMapper, LymsUser> | |
14 | + implements LymsUserService{ | |
15 | + | |
16 | +} | |
17 | + | |
18 | + | |
19 | + | |
20 | + |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/Constant.java
View file @
02110c1
... | ... | @@ -0,0 +1,8 @@ |
1 | +package com.lyms.talkonlineweb.util; | |
2 | + | |
3 | +public class Constant { | |
4 | + public static final String JWT_SECERT = "bHltc3dlbnpoZW5waW5ndGFpMjEwODMw"; | |
5 | + public static final int JWT_ERRCODE_EXPIRE = 500; | |
6 | + public static final int JWT_ERRCODE_FAIL = 501; | |
7 | + public static final long JWT_TTL=24*60*60*1000;//1天 | |
8 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/JwtUtils.java
View file @
02110c1
... | ... | @@ -0,0 +1,88 @@ |
1 | +package com.lyms.talkonlineweb.util; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.result.CheckResult; | |
4 | +import io.jsonwebtoken.*; | |
5 | +import org.bouncycastle.util.encoders.Base64; | |
6 | + | |
7 | +import javax.crypto.SecretKey; | |
8 | +import javax.crypto.spec.SecretKeySpec; | |
9 | +import java.util.Date; | |
10 | + | |
11 | +public class JwtUtils { | |
12 | + /** | |
13 | + * 签发JWT | |
14 | + * | |
15 | + * @param id | |
16 | + * @param subject 可以是JSON数据 尽可能少 | |
17 | + * @param ttlMillis | |
18 | + * @return String | |
19 | + * | |
20 | + */ | |
21 | + public static String createJWT(String id, String subject, long ttlMillis) { | |
22 | + SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; | |
23 | + long nowMillis = System.currentTimeMillis(); | |
24 | + Date now = new Date(nowMillis); | |
25 | + SecretKey secretKey = generalKey(); | |
26 | + JwtBuilder builder = Jwts.builder().setId(id).setSubject(subject) // 主题 | |
27 | + .setIssuer("lyms") // 签发者 | |
28 | + .setIssuedAt(now) // 签发时间 | |
29 | + .signWith(signatureAlgorithm, secretKey); // 签名算法以及密匙 | |
30 | + if (ttlMillis >= 0) { | |
31 | + long expMillis = nowMillis + ttlMillis; | |
32 | + Date expDate = new Date(expMillis); | |
33 | + builder.setExpiration(expDate); // 过期时间 | |
34 | + } | |
35 | + return builder.compact(); | |
36 | + } | |
37 | + | |
38 | + /** | |
39 | + * 验证JWT | |
40 | + * | |
41 | + * @param jwtStr | |
42 | + * @return | |
43 | + */ | |
44 | + public static CheckResult validateJWT(String jwtStr) { | |
45 | + CheckResult checkResult = new CheckResult(); | |
46 | + Claims claims = null; | |
47 | + try { | |
48 | + claims = parseJWT(jwtStr); | |
49 | + checkResult.setSuccess(true); | |
50 | + checkResult.setClaims(claims); | |
51 | + } catch (ExpiredJwtException e) { | |
52 | + checkResult.setErrCode(Constant.JWT_ERRCODE_EXPIRE); | |
53 | + checkResult.setSuccess(false); | |
54 | + } catch (SignatureException e) { | |
55 | + checkResult.setErrCode(Constant.JWT_ERRCODE_FAIL); | |
56 | + checkResult.setSuccess(false); | |
57 | + } catch (Exception e) { | |
58 | + checkResult.setErrCode(Constant.JWT_ERRCODE_FAIL); | |
59 | + checkResult.setSuccess(false); | |
60 | + } | |
61 | + return checkResult; | |
62 | + } | |
63 | + | |
64 | + public static SecretKey generalKey() { | |
65 | + byte[] encodedKey = Base64.decode(Constant.JWT_SECERT); | |
66 | + SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES"); | |
67 | + return key; | |
68 | + } | |
69 | + | |
70 | + /** | |
71 | + * | |
72 | + * 解析JWT字符串 | |
73 | + * | |
74 | + * @param jwt | |
75 | + * @return | |
76 | + * @throws Exception | |
77 | + */ | |
78 | + public static Claims parseJWT(String jwt) throws Exception { | |
79 | + SecretKey secretKey = generalKey(); | |
80 | + return Jwts.parser().setSigningKey(secretKey).parseClaimsJws(jwt).getBody(); | |
81 | + } | |
82 | + | |
83 | + public static void main(String[] args) { | |
84 | + | |
85 | + System.out.println(new String(Base64.encode("lymswenzhenpingtai210830".getBytes()))); | |
86 | + System.out.println("ffffff"); | |
87 | + } | |
88 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/TokenUtil.java
View file @
02110c1
... | ... | @@ -0,0 +1,17 @@ |
1 | +//package com.lyms.talkonlineweb.util; | |
2 | +// | |
3 | +//import com.auth0.jwt.JWT; | |
4 | +//import com.auth0.jwt.algorithms.Algorithm; | |
5 | +// | |
6 | +//public class TokenUtil { | |
7 | +// public String getToken(Object user) { | |
8 | +// | |
9 | +// String id=""; | |
10 | +// String passwd=""; | |
11 | +// | |
12 | +// String token=""; | |
13 | +// token= JWT.create().withAudience(id) | |
14 | +// .sign(Algorithm.HMAC256(passwd)); | |
15 | +// return token; | |
16 | +// } | |
17 | +//} |
talkonlineweb/src/main/resources/application.yml
View file @
02110c1
... | ... | @@ -0,0 +1,16 @@ |
1 | +debug: false | |
2 | +server: | |
3 | + port: 8080 | |
4 | +spring: | |
5 | + application: | |
6 | + name: talkonlineweb | |
7 | + datasource: | |
8 | + driver-class-name: com.mysql.jdbc.Driver | |
9 | + url: jdbc:mysql://119.90.57.26:3306/talkonline?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8 | |
10 | + username: platform | |
11 | + password: platform123 | |
12 | +# profiles: | |
13 | +# active: | |
14 | + | |
15 | + | |
16 | +excludePath: login,test1,test2 | |
0 | 17 | \ No newline at end of file |
talkonlineweb/src/test/java/com/lyms/talkonlineweb/TalkonlinewebApplicationTests.java
View file @
02110c1
... | ... | @@ -0,0 +1,31 @@ |
1 | +package com.lyms.talkonlineweb; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.mapper.LymsUserMapper; | |
4 | +import com.lyms.talkonlineweb.service.LymsUserService; | |
5 | +import org.junit.jupiter.api.Test; | |
6 | +import org.springframework.beans.factory.annotation.Autowired; | |
7 | +import org.springframework.boot.test.context.SpringBootTest; | |
8 | + | |
9 | +import java.util.List; | |
10 | + | |
11 | +@SpringBootTest | |
12 | +class TalkonlinewebApplicationTests { | |
13 | + | |
14 | + @Autowired | |
15 | + private LymsUserMapper lymsUserMapper; | |
16 | + | |
17 | + @Autowired | |
18 | + private LymsUserService lymsUserService; | |
19 | + | |
20 | + @Test | |
21 | + void testSlt() { | |
22 | + List uLst=lymsUserMapper.selectList(null); | |
23 | + System.out.println(uLst.size()); | |
24 | + uLst.forEach(e->{ | |
25 | + System.out.println(e); | |
26 | + }); | |
27 | + System.out.println("############################"); | |
28 | + lymsUserService.list().forEach(e-> System.out.println(e)); | |
29 | + } | |
30 | + | |
31 | +} |