Commit 02110c12d96125dd587d076b9f7f7bd439ed8bbf

Authored by changpengfei
0 parents
Exists in master and in 1 other branch dev

初始化问诊项目

Showing 27 changed files with 1392 additions and 0 deletions

... ... @@ -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

No preview for this file type

talkonlineweb/.mvn/wrapper/maven-wrapper.properties View file @ 02110c1
... ... @@ -0,0 +1,2 @@
  1 +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
  2 +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
talkonlineweb/README.md View file @ 02110c1
... ... @@ -0,0 +1,4 @@
  1 +# 工程简介
  2 +
  3 +# 延伸阅读
  4 +
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
... ... @@ -0,0 +1,12 @@
  1 +package com.lyms.talkonlineweb.result;
  2 +
  3 +import lombok.Data;
  4 +
  5 +@Data
  6 +public class BaseResponse {
  7 + private static final long serialVersionUID = 1L;
  8 +
  9 + protected String errormsg;
  10 + protected int errorcode;
  11 + private Object object;
  12 +}
talkonlineweb/src/main/java/com/lyms/talkonlineweb/result/CheckResult.java View file @ 02110c1
... ... @@ -0,0 +1,11 @@
  1 +package com.lyms.talkonlineweb.result;
  2 +
  3 +import io.jsonwebtoken.Claims;
  4 +import lombok.Data;
  5 +
  6 +@Data
  7 +public class CheckResult {
  8 + boolean success;
  9 + int errCode;
  10 + Claims claims;
  11 +}
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsUserService.java View file @ 02110c1
... ... @@ -0,0 +1,11 @@
  1 +package com.lyms.talkonlineweb.service;
  2 +
  3 +import com.lyms.talkonlineweb.domain.LymsUser;
  4 +import com.baomidou.mybatisplus.extension.service.IService;
  5 +
  6 +/**
  7 + *
  8 + */
  9 +public interface LymsUserService extends IService<LymsUser> {
  10 +
  11 +}
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 +}