commit
8d56591cf5
@ -0,0 +1,34 @@ |
|||||||
|
HELP.md |
||||||
|
.gradle |
||||||
|
build/ |
||||||
|
!gradle/wrapper/gradle-wrapper.jar |
||||||
|
!**/src/main/** |
||||||
|
!**/src/test/** |
||||||
|
|
||||||
|
### STS ### |
||||||
|
.apt_generated |
||||||
|
.classpath |
||||||
|
.factorypath |
||||||
|
.project |
||||||
|
.settings |
||||||
|
.springBeans |
||||||
|
.sts4-cache |
||||||
|
|
||||||
|
### IntelliJ IDEA ### |
||||||
|
.idea |
||||||
|
*.iws |
||||||
|
*.iml |
||||||
|
*.ipr |
||||||
|
out/ |
||||||
|
|
||||||
|
### NetBeans ### |
||||||
|
/nbproject/private/ |
||||||
|
/nbbuild/ |
||||||
|
/dist/ |
||||||
|
/nbdist/ |
||||||
|
/.nb-gradle/ |
||||||
|
|
||||||
|
### VS Code ### |
||||||
|
.vscode/ |
||||||
|
/lib/ |
||||||
|
/logs/ |
@ -0,0 +1,24 @@ |
|||||||
|
# Getting Started |
||||||
|
|
||||||
|
### Reference Documentation |
||||||
|
For further reference, please consider the following sections: |
||||||
|
|
||||||
|
* [Official Gradle documentation](https://docs.gradle.org) |
||||||
|
* [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/gradle-plugin/reference/html/) |
||||||
|
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/gradle-plugin/reference/html/#build-image) |
||||||
|
* [Spring Web](https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/reference/htmlsingle/#boot-features-developing-web-applications) |
||||||
|
* [MyBatis Framework](https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/) |
||||||
|
|
||||||
|
### Guides |
||||||
|
The following guides illustrate how to use some features concretely: |
||||||
|
|
||||||
|
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/) |
||||||
|
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/) |
||||||
|
* [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/) |
||||||
|
* [MyBatis Quick Start](https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start) |
||||||
|
|
||||||
|
### Additional Links |
||||||
|
These additional references should also help you: |
||||||
|
|
||||||
|
* [Gradle Build Scans – insights for your project's build](https://scans.gradle.com#gradle) |
||||||
|
|
@ -0,0 +1,34 @@ |
|||||||
|
plugins { |
||||||
|
id 'org.springframework.boot' version '2.3.0.RELEASE' |
||||||
|
id 'io.spring.dependency-management' version '1.0.9.RELEASE' |
||||||
|
id 'java' |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
group = 'com.share' |
||||||
|
version = '0.0.1-SNAPSHOT' |
||||||
|
|
||||||
|
repositories { |
||||||
|
maven {url 'https://maven.aliyun.com/repository/public'} |
||||||
|
maven {url 'https://maven.aliyun.com/repository/jcenter'} |
||||||
|
mavenCentral() |
||||||
|
} |
||||||
|
|
||||||
|
dependencies { |
||||||
|
implementation 'org.springframework.boot:spring-boot-starter-web' |
||||||
|
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2' |
||||||
|
implementation group: 'commons-io', name: 'commons-io', version: '2.6' |
||||||
|
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.20' |
||||||
|
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: '2.3.0.RELEASE' |
||||||
|
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 |
||||||
|
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.10' |
||||||
|
testImplementation('org.springframework.boot:spring-boot-starter-test') { |
||||||
|
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
test { |
||||||
|
useJUnitPlatform() |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
org.gradle.caching=true |
Binary file not shown.
@ -0,0 +1,6 @@ |
|||||||
|
#Sat May 16 23:11:09 CST 2020 |
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip |
||||||
|
distributionBase=GRADLE_USER_HOME |
||||||
|
distributionPath=wrapper/dists |
||||||
|
zipStorePath=wrapper/dists |
||||||
|
zipStoreBase=GRADLE_USER_HOME |
@ -0,0 +1,183 @@ |
|||||||
|
#!/usr/bin/env sh |
||||||
|
|
||||||
|
# |
||||||
|
# Copyright 2015 the original author or authors. |
||||||
|
# |
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
# you may not use this file except in compliance with the License. |
||||||
|
# You may obtain a copy of the License at |
||||||
|
# |
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
# |
||||||
|
# Unless required by applicable law or agreed to in writing, software |
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
# See the License for the specific language governing permissions and |
||||||
|
# limitations under the License. |
||||||
|
# |
||||||
|
|
||||||
|
############################################################################## |
||||||
|
## |
||||||
|
## Gradle start up script for UN*X |
||||||
|
## |
||||||
|
############################################################################## |
||||||
|
|
||||||
|
# Attempt to set APP_HOME |
||||||
|
# Resolve links: $0 may be a link |
||||||
|
PRG="$0" |
||||||
|
# Need this for relative symlinks. |
||||||
|
while [ -h "$PRG" ] ; do |
||||||
|
ls=`ls -ld "$PRG"` |
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'` |
||||||
|
if expr "$link" : '/.*' > /dev/null; then |
||||||
|
PRG="$link" |
||||||
|
else |
||||||
|
PRG=`dirname "$PRG"`"/$link" |
||||||
|
fi |
||||||
|
done |
||||||
|
SAVED="`pwd`" |
||||||
|
cd "`dirname \"$PRG\"`/" >/dev/null |
||||||
|
APP_HOME="`pwd -P`" |
||||||
|
cd "$SAVED" >/dev/null |
||||||
|
|
||||||
|
APP_NAME="Gradle" |
||||||
|
APP_BASE_NAME=`basename "$0"` |
||||||
|
|
||||||
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. |
||||||
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' |
||||||
|
|
||||||
|
# Use the maximum available, or set MAX_FD != -1 to use that value. |
||||||
|
MAX_FD="maximum" |
||||||
|
|
||||||
|
warn () { |
||||||
|
echo "$*" |
||||||
|
} |
||||||
|
|
||||||
|
die () { |
||||||
|
echo |
||||||
|
echo "$*" |
||||||
|
echo |
||||||
|
exit 1 |
||||||
|
} |
||||||
|
|
||||||
|
# OS specific support (must be 'true' or 'false'). |
||||||
|
cygwin=false |
||||||
|
msys=false |
||||||
|
darwin=false |
||||||
|
nonstop=false |
||||||
|
case "`uname`" in |
||||||
|
CYGWIN* ) |
||||||
|
cygwin=true |
||||||
|
;; |
||||||
|
Darwin* ) |
||||||
|
darwin=true |
||||||
|
;; |
||||||
|
MINGW* ) |
||||||
|
msys=true |
||||||
|
;; |
||||||
|
NONSTOP* ) |
||||||
|
nonstop=true |
||||||
|
;; |
||||||
|
esac |
||||||
|
|
||||||
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar |
||||||
|
|
||||||
|
# Determine the Java command to use to start the JVM. |
||||||
|
if [ -n "$JAVA_HOME" ] ; then |
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then |
||||||
|
# IBM's JDK on AIX uses strange locations for the executables |
||||||
|
JAVACMD="$JAVA_HOME/jre/sh/java" |
||||||
|
else |
||||||
|
JAVACMD="$JAVA_HOME/bin/java" |
||||||
|
fi |
||||||
|
if [ ! -x "$JAVACMD" ] ; then |
||||||
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME |
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the |
||||||
|
location of your Java installation." |
||||||
|
fi |
||||||
|
else |
||||||
|
JAVACMD="java" |
||||||
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. |
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the |
||||||
|
location of your Java installation." |
||||||
|
fi |
||||||
|
|
||||||
|
# Increase the maximum file descriptors if we can. |
||||||
|
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then |
||||||
|
MAX_FD_LIMIT=`ulimit -H -n` |
||||||
|
if [ $? -eq 0 ] ; then |
||||||
|
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then |
||||||
|
MAX_FD="$MAX_FD_LIMIT" |
||||||
|
fi |
||||||
|
ulimit -n $MAX_FD |
||||||
|
if [ $? -ne 0 ] ; then |
||||||
|
warn "Could not set maximum file descriptor limit: $MAX_FD" |
||||||
|
fi |
||||||
|
else |
||||||
|
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" |
||||||
|
fi |
||||||
|
fi |
||||||
|
|
||||||
|
# For Darwin, add options to specify how the application appears in the dock |
||||||
|
if $darwin; then |
||||||
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" |
||||||
|
fi |
||||||
|
|
||||||
|
# For Cygwin or MSYS, switch paths to Windows format before running java |
||||||
|
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then |
||||||
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"` |
||||||
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` |
||||||
|
JAVACMD=`cygpath --unix "$JAVACMD"` |
||||||
|
|
||||||
|
# We build the pattern for arguments to be converted via cygpath |
||||||
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` |
||||||
|
SEP="" |
||||||
|
for dir in $ROOTDIRSRAW ; do |
||||||
|
ROOTDIRS="$ROOTDIRS$SEP$dir" |
||||||
|
SEP="|" |
||||||
|
done |
||||||
|
OURCYGPATTERN="(^($ROOTDIRS))" |
||||||
|
# Add a user-defined pattern to the cygpath arguments |
||||||
|
if [ "$GRADLE_CYGPATTERN" != "" ] ; then |
||||||
|
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" |
||||||
|
fi |
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh |
||||||
|
i=0 |
||||||
|
for arg in "$@" ; do |
||||||
|
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` |
||||||
|
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option |
||||||
|
|
||||||
|
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition |
||||||
|
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` |
||||||
|
else |
||||||
|
eval `echo args$i`="\"$arg\"" |
||||||
|
fi |
||||||
|
i=`expr $i + 1` |
||||||
|
done |
||||||
|
case $i in |
||||||
|
0) set -- ;; |
||||||
|
1) set -- "$args0" ;; |
||||||
|
2) set -- "$args0" "$args1" ;; |
||||||
|
3) set -- "$args0" "$args1" "$args2" ;; |
||||||
|
4) set -- "$args0" "$args1" "$args2" "$args3" ;; |
||||||
|
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; |
||||||
|
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; |
||||||
|
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; |
||||||
|
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; |
||||||
|
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; |
||||||
|
esac |
||||||
|
fi |
||||||
|
|
||||||
|
# Escape application args |
||||||
|
save () { |
||||||
|
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done |
||||||
|
echo " " |
||||||
|
} |
||||||
|
APP_ARGS=`save "$@"` |
||||||
|
|
||||||
|
# Collect all arguments for the java command, following the shell quoting and substitution rules |
||||||
|
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" |
||||||
|
|
||||||
|
exec "$JAVACMD" "$@" |
@ -0,0 +1,103 @@ |
|||||||
|
@rem |
||||||
|
@rem Copyright 2015 the original author or authors. |
||||||
|
@rem |
||||||
|
@rem Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
|
@rem you may not use this file except in compliance with the License. |
||||||
|
@rem You may obtain a copy of the License at |
||||||
|
@rem |
||||||
|
@rem https://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
@rem |
||||||
|
@rem Unless required by applicable law or agreed to in writing, software |
||||||
|
@rem distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
@rem See the License for the specific language governing permissions and |
||||||
|
@rem limitations under the License. |
||||||
|
@rem |
||||||
|
|
||||||
|
@if "%DEBUG%" == "" @echo off |
||||||
|
@rem ########################################################################## |
||||||
|
@rem |
||||||
|
@rem Gradle startup script for Windows |
||||||
|
@rem |
||||||
|
@rem ########################################################################## |
||||||
|
|
||||||
|
@rem Set local scope for the variables with windows NT shell |
||||||
|
if "%OS%"=="Windows_NT" setlocal |
||||||
|
|
||||||
|
set DIRNAME=%~dp0 |
||||||
|
if "%DIRNAME%" == "" set DIRNAME=. |
||||||
|
set APP_BASE_NAME=%~n0 |
||||||
|
set APP_HOME=%DIRNAME% |
||||||
|
|
||||||
|
@rem Resolve any "." and ".." in APP_HOME to make it shorter. |
||||||
|
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi |
||||||
|
|
||||||
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. |
||||||
|
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" |
||||||
|
|
||||||
|
@rem Find java.exe |
||||||
|
if defined JAVA_HOME goto findJavaFromJavaHome |
||||||
|
|
||||||
|
set JAVA_EXE=java.exe |
||||||
|
%JAVA_EXE% -version >NUL 2>&1 |
||||||
|
if "%ERRORLEVEL%" == "0" goto init |
||||||
|
|
||||||
|
echo. |
||||||
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. |
||||||
|
echo. |
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the |
||||||
|
echo location of your Java installation. |
||||||
|
|
||||||
|
goto fail |
||||||
|
|
||||||
|
:findJavaFromJavaHome |
||||||
|
set JAVA_HOME=%JAVA_HOME:"=% |
||||||
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe |
||||||
|
|
||||||
|
if exist "%JAVA_EXE%" goto init |
||||||
|
|
||||||
|
echo. |
||||||
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% |
||||||
|
echo. |
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the |
||||||
|
echo location of your Java installation. |
||||||
|
|
||||||
|
goto fail |
||||||
|
|
||||||
|
:init |
||||||
|
@rem Get command-line arguments, handling Windows variants |
||||||
|
|
||||||
|
if not "%OS%" == "Windows_NT" goto win9xME_args |
||||||
|
|
||||||
|
:win9xME_args |
||||||
|
@rem Slurp the command line arguments. |
||||||
|
set CMD_LINE_ARGS= |
||||||
|
set _SKIP=2 |
||||||
|
|
||||||
|
:win9xME_args_slurp |
||||||
|
if "x%~1" == "x" goto execute |
||||||
|
|
||||||
|
set CMD_LINE_ARGS=%* |
||||||
|
|
||||||
|
:execute |
||||||
|
@rem Setup the command line |
||||||
|
|
||||||
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar |
||||||
|
|
||||||
|
@rem Execute Gradle |
||||||
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% |
||||||
|
|
||||||
|
:end |
||||||
|
@rem End local scope for the variables with windows NT shell |
||||||
|
if "%ERRORLEVEL%"=="0" goto mainEnd |
||||||
|
|
||||||
|
:fail |
||||||
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of |
||||||
|
rem the _cmd.exe /c_ return code! |
||||||
|
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 |
||||||
|
exit /b 1 |
||||||
|
|
||||||
|
:mainEnd |
||||||
|
if "%OS%"=="Windows_NT" endlocal |
||||||
|
|
||||||
|
:omega |
@ -0,0 +1,11 @@ |
|||||||
|
//plugins{ |
||||||
|
// id "com.gradle.enterprise" version "3.2" |
||||||
|
//} |
||||||
|
//gradleEnterprise { |
||||||
|
// buildScan { |
||||||
|
// termsOfServiceUrl = 'https://gradle.com/terms-of-service' |
||||||
|
// termsOfServiceAgree = 'yes' |
||||||
|
// allowUntrustedServer = true |
||||||
|
// } |
||||||
|
//} |
||||||
|
rootProject.name = 'help' |
@ -0,0 +1,15 @@ |
|||||||
|
package com.share.help; |
||||||
|
|
||||||
|
/** |
||||||
|
* 常量 |
||||||
|
*/ |
||||||
|
public class Constants { |
||||||
|
|
||||||
|
//用户接口前缀
|
||||||
|
public static final String USER_INTERFACE="/api/user"; |
||||||
|
|
||||||
|
//用户注册接口
|
||||||
|
public static final String USER_INTERFACE_REGISTER="/register"; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package com.share.help; |
||||||
|
|
||||||
|
import org.mybatis.spring.annotation.MapperScan; |
||||||
|
import org.mybatis.spring.annotation.MapperScans; |
||||||
|
import org.springframework.boot.SpringApplication; |
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||||
|
|
||||||
|
@SpringBootApplication |
||||||
|
@MapperScans(@MapperScan("com.share.help.dao")) |
||||||
|
public class HelpApplication { |
||||||
|
|
||||||
|
public static void main(String[] args) { |
||||||
|
SpringApplication.run(HelpApplication.class, args); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
package com.share.help.config; |
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Value; |
||||||
|
import org.springframework.boot.web.servlet.FilterRegistrationBean; |
||||||
|
import org.springframework.context.annotation.Bean; |
||||||
|
import org.springframework.context.annotation.Configuration; |
||||||
|
import org.springframework.web.cors.CorsConfiguration; |
||||||
|
import org.springframework.web.cors.UrlBasedCorsConfigurationSource; |
||||||
|
import org.springframework.web.filter.CorsFilter; |
||||||
|
|
||||||
|
@Configuration |
||||||
|
public class CrosConfiguration { |
||||||
|
|
||||||
|
@Value("${cros.allow-origin}") |
||||||
|
private String allowOrigin; |
||||||
|
|
||||||
|
@Bean |
||||||
|
public FilterRegistrationBean<CorsFilter> corsFilter() { |
||||||
|
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); |
||||||
|
CorsConfiguration config = new CorsConfiguration(); |
||||||
|
config.setAllowCredentials(true); |
||||||
|
config.addAllowedOrigin(allowOrigin); |
||||||
|
config.addAllowedHeader("*"); |
||||||
|
config.addAllowedMethod("*"); |
||||||
|
source.registerCorsConfiguration("/api/**", config); |
||||||
|
FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<>(new CorsFilter(source)); |
||||||
|
bean.setOrder(0); |
||||||
|
return bean; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
package com.share.help.controller; |
||||||
|
|
||||||
|
import com.share.help.Constants; |
||||||
|
import com.share.help.form.UserRegisterForm; |
||||||
|
import com.share.help.res.JSONResponse; |
||||||
|
import com.share.help.res.Result; |
||||||
|
import com.share.help.res.account.RegisterRes; |
||||||
|
import com.share.help.service.UserService; |
||||||
|
import org.apache.commons.lang3.ObjectUtils; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.web.bind.annotation.PutMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* 用户接口 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping(Constants.USER_INTERFACE) |
||||||
|
public class UserController { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UserService userService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 注册 |
||||||
|
* @param userRegisterForm 注册表单 |
||||||
|
* @return 响应注册结果 |
||||||
|
*/ |
||||||
|
@PutMapping(Constants.USER_INTERFACE_REGISTER) |
||||||
|
public JSONResponse<RegisterRes,Void> register(UserRegisterForm userRegisterForm){ |
||||||
|
if(StringUtils.isNoneEmpty(userRegisterForm.getUserId(),userRegisterForm.getPassword(), |
||||||
|
userRegisterForm.getName(),userRegisterForm.getSex(),userRegisterForm.getAddress(), |
||||||
|
userRegisterForm.getServiceAddress(),userRegisterForm.getUserType(), |
||||||
|
userRegisterForm.getEmail(),userRegisterForm.getInfo())&& |
||||||
|
ObjectUtils.allNotNull(userRegisterForm.getMobile(),userRegisterForm.getImgFile())){ |
||||||
|
return userService.register(userRegisterForm); |
||||||
|
}else { |
||||||
|
return new JSONResponse<>(RegisterRes.ok, Result.OK); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,78 @@ |
|||||||
|
package com.share.help.dao; |
||||||
|
|
||||||
|
import com.share.help.entity.UserEntity; |
||||||
|
import org.apache.ibatis.annotations.*; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 用户数据接口 |
||||||
|
*/ |
||||||
|
public interface UserMapper { |
||||||
|
|
||||||
|
/** |
||||||
|
* 添加用户 |
||||||
|
* @param user 用户信息 |
||||||
|
*/ |
||||||
|
@Insert("insert into user(user_id,password,name,sex,head_img,address,service_address,user_type,mobile,email,info,time_score,chat_status)value(#{userId},#{password},#{name},#{sex},#{headImg},#{address},#{serviceAddress},#{userType},#{mobile},#{email},#{info},#{timeScore},#{chatStatus})") |
||||||
|
boolean insert(UserEntity user); |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据用户账号删除用户 |
||||||
|
* @param userId 用户账号 |
||||||
|
*/ |
||||||
|
@Delete("delete from user where user_id=#{userId}") |
||||||
|
boolean delete(@Param("userId") String userId); |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据用户账号查找用户 |
||||||
|
* @param userId 用户id |
||||||
|
* @return 返回用户 |
||||||
|
*/ |
||||||
|
@Select("select * from user where user_id=#{userId}") |
||||||
|
@ResultMap("userMap") |
||||||
|
UserEntity findOne(@Param("userId") String userId); |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据用户账号密码查找用户 |
||||||
|
* @param userId 用户id |
||||||
|
* @param password 密码 |
||||||
|
* @return 返回用户 |
||||||
|
*/ |
||||||
|
@Select("select * from user where user_id=#{userId} and password=#{password}") |
||||||
|
@ResultMap("userMap") |
||||||
|
UserEntity findOneWithPwd(@Param("userId") String userId, @Param("password") String password); |
||||||
|
|
||||||
|
/** |
||||||
|
* |
||||||
|
* @param userEntity 更新用户 |
||||||
|
* @return 返回更新结果 |
||||||
|
*/ |
||||||
|
@Update("update user set password=#{password} where user_id=#{userId}") |
||||||
|
boolean update(UserEntity userEntity); |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据用户id判断用户是否存在 |
||||||
|
* @param userId 用户id |
||||||
|
* @return true存在,false不存在 |
||||||
|
*/ |
||||||
|
@Select("select count(*) from user where user_id=#{userId}") |
||||||
|
boolean hasUser(@Param("userId") String userId); |
||||||
|
/** |
||||||
|
* |
||||||
|
* @return 获取所有用户 |
||||||
|
*/ |
||||||
|
@Select("select * from user") |
||||||
|
@ResultMap("userMap") |
||||||
|
List<UserEntity> getAll(); |
||||||
|
|
||||||
|
/** |
||||||
|
* 分页查询用户 |
||||||
|
* @param start 起始索引 |
||||||
|
* @param count 查询个数 |
||||||
|
* @return 返回用户列表 |
||||||
|
*/ |
||||||
|
@Select("select * from user limit #{start},#{count}") |
||||||
|
@ResultMap("userMap") |
||||||
|
List<UserEntity> getPage(@Param("start") long start,@Param("count") long count); |
||||||
|
} |
@ -0,0 +1,138 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.sql.Timestamp; |
||||||
|
import java.util.Collection; |
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class ActivityEntity { |
||||||
|
private Long activityId; |
||||||
|
private String title; |
||||||
|
private String content; |
||||||
|
private Timestamp seekHelpTime; |
||||||
|
private Timestamp activityStartTime; |
||||||
|
private Timestamp activityEndTime; |
||||||
|
private String activityImg; |
||||||
|
private String serviceAddress; |
||||||
|
private Collection<ActivityHistoryEntity> activityHistoriesByActivityId; |
||||||
|
private Collection<LeaveWordEntity> leaveWordsByActivityId; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getActivityId() { |
||||||
|
return activityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityId(Long activityId) { |
||||||
|
this.activityId = activityId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getTitle() { |
||||||
|
return title; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTitle(String title) { |
||||||
|
this.title = title; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getContent() { |
||||||
|
return content; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContent(String content) { |
||||||
|
this.content = content; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Timestamp getSeekHelpTime() { |
||||||
|
return seekHelpTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSeekHelpTime(Timestamp seekHelpTime) { |
||||||
|
this.seekHelpTime = seekHelpTime; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Timestamp getActivityStartTime() { |
||||||
|
return activityStartTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityStartTime(Timestamp activityStartTime) { |
||||||
|
this.activityStartTime = activityStartTime; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Timestamp getActivityEndTime() { |
||||||
|
return activityEndTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityEndTime(Timestamp activityEndTime) { |
||||||
|
this.activityEndTime = activityEndTime; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getActivityImg() { |
||||||
|
return activityImg; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityImg(String activityImg) { |
||||||
|
this.activityImg = activityImg; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getServiceAddress() { |
||||||
|
return serviceAddress; |
||||||
|
} |
||||||
|
|
||||||
|
public void setServiceAddress(String serviceAddress) { |
||||||
|
this.serviceAddress = serviceAddress; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
ActivityEntity that = (ActivityEntity) o; |
||||||
|
return Objects.equals(activityId, that.activityId) && |
||||||
|
Objects.equals(title, that.title) && |
||||||
|
Objects.equals(content, that.content) && |
||||||
|
Objects.equals(seekHelpTime, that.seekHelpTime) && |
||||||
|
Objects.equals(activityStartTime, that.activityStartTime) && |
||||||
|
Objects.equals(activityEndTime, that.activityEndTime) && |
||||||
|
Objects.equals(activityImg, that.activityImg) && |
||||||
|
Objects.equals(serviceAddress, that.serviceAddress); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(activityId, title, content, seekHelpTime, activityStartTime, activityEndTime, activityImg, serviceAddress); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<ActivityHistoryEntity> getActivityHistoriesByActivityId() { |
||||||
|
return activityHistoriesByActivityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityHistoriesByActivityId(Collection<ActivityHistoryEntity> activityHistoriesByActivityId) { |
||||||
|
this.activityHistoriesByActivityId = activityHistoriesByActivityId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<LeaveWordEntity> getLeaveWordsByActivityId() { |
||||||
|
return leaveWordsByActivityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLeaveWordsByActivityId(Collection<LeaveWordEntity> leaveWordsByActivityId) { |
||||||
|
this.leaveWordsByActivityId = leaveWordsByActivityId; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,127 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.sql.Timestamp; |
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class ActivityHistoryEntity { |
||||||
|
private Long historyId; |
||||||
|
private Long activityId; |
||||||
|
private String userId; |
||||||
|
private String activityStatus; |
||||||
|
private Timestamp createTime; |
||||||
|
private Long activityScore; |
||||||
|
private Integer timeScore; |
||||||
|
private ActivityEntity activityByActivityId; |
||||||
|
private UserEntity userByUserId; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getHistoryId() { |
||||||
|
return historyId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setHistoryId(Long historyId) { |
||||||
|
this.historyId = historyId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getActivityId() { |
||||||
|
return activityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityId(Long activityId) { |
||||||
|
this.activityId = activityId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getUserId() { |
||||||
|
return userId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserId(String userId) { |
||||||
|
this.userId = userId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getActivityStatus() { |
||||||
|
return activityStatus; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityStatus(String activityStatus) { |
||||||
|
this.activityStatus = activityStatus; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Timestamp getCreateTime() { |
||||||
|
return createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateTime(Timestamp createTime) { |
||||||
|
this.createTime = createTime; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getActivityScore() { |
||||||
|
return activityScore; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityScore(Long activityScore) { |
||||||
|
this.activityScore = activityScore; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getTimeScore() { |
||||||
|
return timeScore; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTimeScore(Integer timeScore) { |
||||||
|
this.timeScore = timeScore; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
ActivityHistoryEntity that = (ActivityHistoryEntity) o; |
||||||
|
return Objects.equals(historyId, that.historyId) && |
||||||
|
Objects.equals(activityId, that.activityId) && |
||||||
|
Objects.equals(userId, that.userId) && |
||||||
|
Objects.equals(activityStatus, that.activityStatus) && |
||||||
|
Objects.equals(createTime, that.createTime) && |
||||||
|
Objects.equals(activityScore, that.activityScore) && |
||||||
|
Objects.equals(timeScore, that.timeScore); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(historyId, activityId, userId, activityStatus, createTime, activityScore, timeScore); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public ActivityEntity getActivityByActivityId() { |
||||||
|
return activityByActivityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityByActivityId(ActivityEntity activityByActivityId) { |
||||||
|
this.activityByActivityId = activityByActivityId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserByUserId() { |
||||||
|
return userByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserByUserId(UserEntity userByUserId) { |
||||||
|
this.userByUserId = userByUserId; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,103 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.sql.Timestamp; |
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class ChatHistoryEntity { |
||||||
|
private Long chatId; |
||||||
|
private String sourceUserId; |
||||||
|
private String targetUserId; |
||||||
|
private Timestamp sendTime; |
||||||
|
private String content; |
||||||
|
private UserEntity userBySourceUserId; |
||||||
|
private UserEntity userByTargetUserId; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getChatId() { |
||||||
|
return chatId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setChatId(Long chatId) { |
||||||
|
this.chatId = chatId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getSourceUserId() { |
||||||
|
return sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSourceUserId(String sourceUserId) { |
||||||
|
this.sourceUserId = sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getTargetUserId() { |
||||||
|
return targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTargetUserId(String targetUserId) { |
||||||
|
this.targetUserId = targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Timestamp getSendTime() { |
||||||
|
return sendTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSendTime(Timestamp sendTime) { |
||||||
|
this.sendTime = sendTime; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getContent() { |
||||||
|
return content; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContent(String content) { |
||||||
|
this.content = content; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
ChatHistoryEntity that = (ChatHistoryEntity) o; |
||||||
|
return Objects.equals(chatId, that.chatId) && |
||||||
|
Objects.equals(sourceUserId, that.sourceUserId) && |
||||||
|
Objects.equals(targetUserId, that.targetUserId) && |
||||||
|
Objects.equals(sendTime, that.sendTime) && |
||||||
|
Objects.equals(content, that.content); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(chatId, sourceUserId, targetUserId, sendTime, content); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserBySourceUserId() { |
||||||
|
return userBySourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserBySourceUserId(UserEntity userBySourceUserId) { |
||||||
|
this.userBySourceUserId = userBySourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserByTargetUserId() { |
||||||
|
return userByTargetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserByTargetUserId(UserEntity userByTargetUserId) { |
||||||
|
this.userByTargetUserId = userByTargetUserId; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,67 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class FriendEntity { |
||||||
|
private String sourceUserId; |
||||||
|
private String targetUserId; |
||||||
|
private UserEntity userBySourceUserId; |
||||||
|
private UserEntity userByTargetUserId; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getSourceUserId() { |
||||||
|
return sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSourceUserId(String sourceUserId) { |
||||||
|
this.sourceUserId = sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getTargetUserId() { |
||||||
|
return targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTargetUserId(String targetUserId) { |
||||||
|
this.targetUserId = targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
FriendEntity that = (FriendEntity) o; |
||||||
|
return Objects.equals(sourceUserId, that.sourceUserId) && |
||||||
|
Objects.equals(targetUserId, that.targetUserId); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(sourceUserId, targetUserId); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserBySourceUserId() { |
||||||
|
return userBySourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserBySourceUserId(UserEntity userBySourceUserId) { |
||||||
|
this.userBySourceUserId = userBySourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserByTargetUserId() { |
||||||
|
return userByTargetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserByTargetUserId(UserEntity userByTargetUserId) { |
||||||
|
this.userByTargetUserId = userByTargetUserId; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
public class FriendEntityPK implements Serializable { |
||||||
|
private String sourceUserId; |
||||||
|
private String targetUserId; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getSourceUserId() { |
||||||
|
return sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSourceUserId(String sourceUserId) { |
||||||
|
this.sourceUserId = sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getTargetUserId() { |
||||||
|
return targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTargetUserId(String targetUserId) { |
||||||
|
this.targetUserId = targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
FriendEntityPK that = (FriendEntityPK) o; |
||||||
|
return Objects.equals(sourceUserId, that.sourceUserId) && |
||||||
|
Objects.equals(targetUserId, that.targetUserId); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(sourceUserId, targetUserId); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,113 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class LeaveWordEntity { |
||||||
|
private Long leaveWordId; |
||||||
|
private String type; |
||||||
|
private String sourceUserId; |
||||||
|
private String targetUserId; |
||||||
|
private Long activityId; |
||||||
|
private UserEntity userBySourceUserId; |
||||||
|
private UserEntity userByTargetUserId; |
||||||
|
private ActivityEntity activityByActivityId; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getLeaveWordId() { |
||||||
|
return leaveWordId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLeaveWordId(Long leaveWordId) { |
||||||
|
this.leaveWordId = leaveWordId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getType() { |
||||||
|
return type; |
||||||
|
} |
||||||
|
|
||||||
|
public void setType(String type) { |
||||||
|
this.type = type; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getSourceUserId() { |
||||||
|
return sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSourceUserId(String sourceUserId) { |
||||||
|
this.sourceUserId = sourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getTargetUserId() { |
||||||
|
return targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTargetUserId(String targetUserId) { |
||||||
|
this.targetUserId = targetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getActivityId() { |
||||||
|
return activityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityId(Long activityId) { |
||||||
|
this.activityId = activityId; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
LeaveWordEntity that = (LeaveWordEntity) o; |
||||||
|
return Objects.equals(leaveWordId, that.leaveWordId) && |
||||||
|
Objects.equals(type, that.type) && |
||||||
|
Objects.equals(sourceUserId, that.sourceUserId) && |
||||||
|
Objects.equals(targetUserId, that.targetUserId) && |
||||||
|
Objects.equals(activityId, that.activityId); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(leaveWordId, type, sourceUserId, targetUserId, activityId); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserBySourceUserId() { |
||||||
|
return userBySourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserBySourceUserId(UserEntity userBySourceUserId) { |
||||||
|
this.userBySourceUserId = userBySourceUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserEntity getUserByTargetUserId() { |
||||||
|
return userByTargetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserByTargetUserId(UserEntity userByTargetUserId) { |
||||||
|
this.userByTargetUserId = userByTargetUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public ActivityEntity getActivityByActivityId() { |
||||||
|
return activityByActivityId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityByActivityId(ActivityEntity activityByActivityId) { |
||||||
|
this.activityByActivityId = activityByActivityId; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class ManagerEntity { |
||||||
|
private String managerId; |
||||||
|
private String password; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getManagerId() { |
||||||
|
return managerId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setManagerId(String managerId) { |
||||||
|
this.managerId = managerId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getPassword() { |
||||||
|
return password; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPassword(String password) { |
||||||
|
this.password = password; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
ManagerEntity that = (ManagerEntity) o; |
||||||
|
return Objects.equals(managerId, that.managerId) && |
||||||
|
Objects.equals(password, that.password); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(managerId, password); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,247 @@ |
|||||||
|
package com.share.help.entity; |
||||||
|
|
||||||
|
import java.util.Collection; |
||||||
|
import java.util.Objects; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class UserEntity { |
||||||
|
private String userId; |
||||||
|
private String password; |
||||||
|
private String name; |
||||||
|
private String sex; |
||||||
|
private String headImg; |
||||||
|
private String address; |
||||||
|
private String serviceAddress; |
||||||
|
private String userType; |
||||||
|
private Long mobile; |
||||||
|
private String email; |
||||||
|
private String info; |
||||||
|
private Integer timeScore; |
||||||
|
private Boolean chatStatus; |
||||||
|
private Collection<ActivityHistoryEntity> activityHistoriesByUserId; |
||||||
|
private Collection<ChatHistoryEntity> chatHistoriesByUserId; |
||||||
|
private Collection<ChatHistoryEntity> chatHistoriesByUserId_0; |
||||||
|
private Collection<FriendEntity> friendsByUserId; |
||||||
|
private Collection<FriendEntity> friendsByUserId_0; |
||||||
|
private Collection<LeaveWordEntity> leaveWordsByUserId; |
||||||
|
private Collection<LeaveWordEntity> leaveWordsByUserId_0; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getUserId() { |
||||||
|
return userId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserId(String userId) { |
||||||
|
this.userId = userId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getPassword() { |
||||||
|
return password; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPassword(String password) { |
||||||
|
this.password = password; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getSex() { |
||||||
|
return sex; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSex(String sex) { |
||||||
|
this.sex = sex; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getHeadImg() { |
||||||
|
return headImg; |
||||||
|
} |
||||||
|
|
||||||
|
public void setHeadImg(String headImg) { |
||||||
|
this.headImg = headImg; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getAddress() { |
||||||
|
return address; |
||||||
|
} |
||||||
|
|
||||||
|
public void setAddress(String address) { |
||||||
|
this.address = address; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getServiceAddress() { |
||||||
|
return serviceAddress; |
||||||
|
} |
||||||
|
|
||||||
|
public void setServiceAddress(String serviceAddress) { |
||||||
|
this.serviceAddress = serviceAddress; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getUserType() { |
||||||
|
return userType; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUserType(String userType) { |
||||||
|
this.userType = userType; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Long getMobile() { |
||||||
|
return mobile; |
||||||
|
} |
||||||
|
|
||||||
|
public void setMobile(Long mobile) { |
||||||
|
this.mobile = mobile; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getEmail() { |
||||||
|
return email; |
||||||
|
} |
||||||
|
|
||||||
|
public void setEmail(String email) { |
||||||
|
this.email = email; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getInfo() { |
||||||
|
return info; |
||||||
|
} |
||||||
|
|
||||||
|
public void setInfo(String info) { |
||||||
|
this.info = info; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getTimeScore() { |
||||||
|
return timeScore; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTimeScore(Integer timeScore) { |
||||||
|
this.timeScore = timeScore; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Boolean getChatStatus() { |
||||||
|
return chatStatus; |
||||||
|
} |
||||||
|
|
||||||
|
public void setChatStatus(Boolean chatStatus) { |
||||||
|
this.chatStatus = chatStatus; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
if (this == o) return true; |
||||||
|
if (o == null || getClass() != o.getClass()) return false; |
||||||
|
UserEntity that = (UserEntity) o; |
||||||
|
return Objects.equals(userId, that.userId) && |
||||||
|
Objects.equals(password, that.password) && |
||||||
|
Objects.equals(name, that.name) && |
||||||
|
Objects.equals(sex, that.sex) && |
||||||
|
Objects.equals(headImg, that.headImg) && |
||||||
|
Objects.equals(address, that.address) && |
||||||
|
Objects.equals(serviceAddress, that.serviceAddress) && |
||||||
|
Objects.equals(userType, that.userType) && |
||||||
|
Objects.equals(mobile, that.mobile) && |
||||||
|
Objects.equals(email, that.email) && |
||||||
|
Objects.equals(info, that.info) && |
||||||
|
Objects.equals(timeScore, that.timeScore) && |
||||||
|
Objects.equals(chatStatus, that.chatStatus); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return Objects.hash(userId, password, name, sex, headImg, address, serviceAddress, userType, mobile, email, info, timeScore, chatStatus); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<ActivityHistoryEntity> getActivityHistoriesByUserId() { |
||||||
|
return activityHistoriesByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setActivityHistoriesByUserId(Collection<ActivityHistoryEntity> activityHistoriesByUserId) { |
||||||
|
this.activityHistoriesByUserId = activityHistoriesByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<ChatHistoryEntity> getChatHistoriesByUserId() { |
||||||
|
return chatHistoriesByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setChatHistoriesByUserId(Collection<ChatHistoryEntity> chatHistoriesByUserId) { |
||||||
|
this.chatHistoriesByUserId = chatHistoriesByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<ChatHistoryEntity> getChatHistoriesByUserId_0() { |
||||||
|
return chatHistoriesByUserId_0; |
||||||
|
} |
||||||
|
|
||||||
|
public void setChatHistoriesByUserId_0(Collection<ChatHistoryEntity> chatHistoriesByUserId_0) { |
||||||
|
this.chatHistoriesByUserId_0 = chatHistoriesByUserId_0; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<FriendEntity> getFriendsByUserId() { |
||||||
|
return friendsByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setFriendsByUserId(Collection<FriendEntity> friendsByUserId) { |
||||||
|
this.friendsByUserId = friendsByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<FriendEntity> getFriendsByUserId_0() { |
||||||
|
return friendsByUserId_0; |
||||||
|
} |
||||||
|
|
||||||
|
public void setFriendsByUserId_0(Collection<FriendEntity> friendsByUserId_0) { |
||||||
|
this.friendsByUserId_0 = friendsByUserId_0; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<LeaveWordEntity> getLeaveWordsByUserId() { |
||||||
|
return leaveWordsByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLeaveWordsByUserId(Collection<LeaveWordEntity> leaveWordsByUserId) { |
||||||
|
this.leaveWordsByUserId = leaveWordsByUserId; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public Collection<LeaveWordEntity> getLeaveWordsByUserId_0() { |
||||||
|
return leaveWordsByUserId_0; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLeaveWordsByUserId_0(Collection<LeaveWordEntity> leaveWordsByUserId_0) { |
||||||
|
this.leaveWordsByUserId_0 = leaveWordsByUserId_0; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
package com.share.help.form; |
||||||
|
|
||||||
|
import com.share.help.entity.UserEntity; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
/** |
||||||
|
* 注册表单 |
||||||
|
*/ |
||||||
|
public class UserRegisterForm extends UserEntity { |
||||||
|
//头像文件
|
||||||
|
private MultipartFile imgFile; |
||||||
|
|
||||||
|
public MultipartFile getImgFile() { |
||||||
|
return imgFile; |
||||||
|
} |
||||||
|
|
||||||
|
public void setImgFile(MultipartFile imgFile) { |
||||||
|
this.imgFile = imgFile; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
package com.share.help.res; |
||||||
|
|
||||||
|
public interface CustomInterface { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
package com.share.help.res; |
||||||
|
|
||||||
|
/** |
||||||
|
* 响应json |
||||||
|
* @param <E> |
||||||
|
* @param <L> |
||||||
|
*/ |
||||||
|
public class JSONResponse<E extends Enum<E>,L> { |
||||||
|
/** |
||||||
|
* 响应信息 |
||||||
|
*/ |
||||||
|
private Enum<E> customResult; |
||||||
|
|
||||||
|
/** |
||||||
|
* 响应状态 |
||||||
|
*/ |
||||||
|
private Result result; |
||||||
|
|
||||||
|
/** |
||||||
|
* 响应数据 |
||||||
|
*/ |
||||||
|
private L body; |
||||||
|
|
||||||
|
public Enum<E> getCustomResult() { |
||||||
|
return customResult; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCustomResult(Enum<E> customResult) { |
||||||
|
this.customResult = customResult; |
||||||
|
} |
||||||
|
|
||||||
|
public Result getResult() { |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
public void setResult(Result result) { |
||||||
|
this.result = result; |
||||||
|
} |
||||||
|
|
||||||
|
public L getBody() { |
||||||
|
return body; |
||||||
|
} |
||||||
|
|
||||||
|
public void setBody(L body) { |
||||||
|
this.body = body; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONResponse(Enum<E> customResult, Result result) { |
||||||
|
this.customResult = customResult; |
||||||
|
this.result = result; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@ |
|||||||
|
package com.share.help.res; |
||||||
|
|
||||||
|
/** |
||||||
|
* 响应结果 |
||||||
|
*/ |
||||||
|
public enum Result { |
||||||
|
OK, |
||||||
|
FAIL |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package com.share.help.res.account; |
||||||
|
|
||||||
|
public enum RegisterRes { |
||||||
|
//注册成功
|
||||||
|
ok, |
||||||
|
//系统异常,注册失败
|
||||||
|
fail, |
||||||
|
//用户id重复
|
||||||
|
user_repeat, |
||||||
|
//表单解析错误
|
||||||
|
form_parse_error |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
package com.share.help.service; |
||||||
|
|
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.beans.factory.annotation.Value; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
import java.io.File; |
||||||
|
import java.io.IOException; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
enum ImageType{ |
||||||
|
jpg, |
||||||
|
jpeg, |
||||||
|
png |
||||||
|
} |
||||||
|
|
||||||
|
public abstract class ImageService { |
||||||
|
private Logger logger = LoggerFactory.getLogger(ImageService.class); |
||||||
|
|
||||||
|
@Value("${spring.resources.static-locations}") |
||||||
|
private String imgPath; |
||||||
|
/** |
||||||
|
* 保存头像文件到本地 |
||||||
|
* @param file 头像文件 |
||||||
|
* @return 返回头像文件名 |
||||||
|
*/ |
||||||
|
protected String saveImg(MultipartFile file){ |
||||||
|
String fileName; |
||||||
|
//判断图片类型
|
||||||
|
if(file.getContentType()==null){ |
||||||
|
return null; |
||||||
|
}else if(file.getContentType().contains(ImageType.jpg.name())){ |
||||||
|
fileName= UUID.randomUUID()+"."+ImageType.jpg.name(); |
||||||
|
}else if(file.getContentType().contains(ImageType.jpeg.name())){ |
||||||
|
fileName= UUID.randomUUID()+"."+ImageType.jpeg.name(); |
||||||
|
}else if (file.getContentType().contains(ImageType.png.name())) { |
||||||
|
fileName= UUID.randomUUID()+"."+ImageType.png.name(); |
||||||
|
} else { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
File loadFile = new File(getClass().getResource("/").getFile() + imgPath.replace("classpath:/", ""), fileName); |
||||||
|
try { |
||||||
|
file.transferTo(loadFile); |
||||||
|
return fileName; |
||||||
|
} catch (IOException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
logger.error(String.valueOf(e)); |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
package com.share.help.service; |
||||||
|
|
||||||
|
import com.share.help.dao.UserMapper; |
||||||
|
import com.share.help.entity.UserEntity; |
||||||
|
import com.share.help.form.UserRegisterForm; |
||||||
|
import com.share.help.res.JSONResponse; |
||||||
|
import com.share.help.res.Result; |
||||||
|
import com.share.help.res.account.RegisterRes; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.beans.factory.annotation.Value; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
import org.springframework.util.DigestUtils; |
||||||
|
|
||||||
|
@Service |
||||||
|
public class UserService extends ImageService{ |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UserMapper userMapper; |
||||||
|
|
||||||
|
@Value("${user.register.time-score}") |
||||||
|
private int timeScore; |
||||||
|
|
||||||
|
/** |
||||||
|
* 注册 |
||||||
|
* @param userRegisterForm 注册表单 |
||||||
|
* @return 返回注册结果 |
||||||
|
*/ |
||||||
|
public JSONResponse<RegisterRes,Void> register(UserRegisterForm userRegisterForm){ |
||||||
|
if(userMapper.hasUser(userRegisterForm.getUserId())){ |
||||||
|
return new JSONResponse<>(RegisterRes.user_repeat,Result.FAIL); |
||||||
|
} |
||||||
|
|
||||||
|
UserEntity userEntity=new UserEntity(); |
||||||
|
userEntity.setUserId(userRegisterForm.getUserId()); |
||||||
|
//MD5密码
|
||||||
|
String newPassword=DigestUtils.md5DigestAsHex(userRegisterForm.getPassword().getBytes()); |
||||||
|
userEntity.setPassword(newPassword); |
||||||
|
userEntity.setName(userRegisterForm.getName()); |
||||||
|
userEntity.setSex(userRegisterForm.getSex()); |
||||||
|
//保存头像
|
||||||
|
String imageName=saveImg(userRegisterForm.getImgFile()); |
||||||
|
if(imageName==null){ |
||||||
|
return new JSONResponse<>(RegisterRes.fail, Result.FAIL); |
||||||
|
} |
||||||
|
userEntity.setHeadImg(imageName); |
||||||
|
userEntity.setAddress(userRegisterForm.getAddress()); |
||||||
|
userEntity.setServiceAddress(userRegisterForm.getServiceAddress()); |
||||||
|
userEntity.setUserType(userRegisterForm.getUserType()); |
||||||
|
userEntity.setMobile(userRegisterForm.getMobile()); |
||||||
|
userEntity.setEmail(userRegisterForm.getEmail()); |
||||||
|
userEntity.setInfo(userRegisterForm.getInfo()); |
||||||
|
userEntity.setTimeScore(timeScore); |
||||||
|
userEntity.setChatStatus(false); |
||||||
|
return userMapper.insert(userEntity)?new JSONResponse<>(RegisterRes.ok, Result.OK):new JSONResponse<>(RegisterRes.fail, Result.FAIL); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,27 @@ |
|||||||
|
spring: |
||||||
|
#数据库配置 |
||||||
|
datasource: |
||||||
|
username: sukura |
||||||
|
password: 123456 |
||||||
|
url: jdbc:mysql://localhost:3306/help |
||||||
|
#静态资源目录 |
||||||
|
mvc: |
||||||
|
static-path-pattern: /image/** |
||||||
|
resources: |
||||||
|
static-locations: classpath:/resources/static/image |
||||||
|
#mybatis配置 |
||||||
|
mybatis: |
||||||
|
mapper-locations: classpath:mapping/*.xml |
||||||
|
#日志配置 |
||||||
|
logging: |
||||||
|
level: |
||||||
|
root: info |
||||||
|
#跨域配置 |
||||||
|
cros: |
||||||
|
allow-origin: 'http://localhost:3000' |
||||||
|
#用户 |
||||||
|
user: |
||||||
|
#注册 |
||||||
|
register: |
||||||
|
#初始时间币 |
||||||
|
time-score: 20 |
@ -0,0 +1,41 @@ |
|||||||
|
<configuration debug="true"> |
||||||
|
|
||||||
|
<include resource="org/springframework/boot/logging/logback/defaults.xml" /> |
||||||
|
|
||||||
|
<property name="APP_NAME" value="Logback"/> |
||||||
|
<property name="LOG_HOME_PATH" value="logs"/> |
||||||
|
<property name="DEBUG_LOG_FILE" value="${LOG_HOME_PATH}/debug/${APP_NAME}_debug" /> |
||||||
|
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}" /> |
||||||
|
|
||||||
|
|
||||||
|
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||||
|
<encoder> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||||
|
<FileNamePattern>${DEBUG_LOG_FILE}.%d{yyyy-MM-dd}.log</FileNamePattern> |
||||||
|
<MaxHistory>60</MaxHistory> |
||||||
|
</rollingPolicy> |
||||||
|
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
||||||
|
<level>DEBUG</level> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
|
||||||
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
||||||
|
<encoder> |
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern> |
||||||
|
</encoder> |
||||||
|
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
||||||
|
<level>INFO</level> |
||||||
|
</filter> |
||||||
|
</appender> |
||||||
|
|
||||||
|
|
||||||
|
<root level="DEBUG"> |
||||||
|
<appender-ref ref="DEBUG_FILE" /> |
||||||
|
<appender-ref ref="CONSOLE" /> |
||||||
|
</root> |
||||||
|
</configuration> |
@ -0,0 +1,15 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||||
|
<!DOCTYPE mapper |
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.share.help.dao.UserMapper"> |
||||||
|
<resultMap id="userMap" type="com.share.help.entity.UserEntity"> |
||||||
|
<id property="userId" column="user_id"/> |
||||||
|
<result property="userId" column="user_id"/> |
||||||
|
<result property="headImg" column="head_img"/> |
||||||
|
<result property="serviceAddress" column="service_address"/> |
||||||
|
<result property="userType" column="user_type"/> |
||||||
|
<result property="timeScore" column="time_score"/> |
||||||
|
<result property="chatStatus" column="chat_status"/> |
||||||
|
</resultMap> |
||||||
|
</mapper> |
@ -0,0 +1,17 @@ |
|||||||
|
package com.share.help; |
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
|
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class DefaultTest { |
||||||
|
|
||||||
|
private Logger logger = LoggerFactory.getLogger(HelpApplicationTests.class); |
||||||
|
|
||||||
|
@Test |
||||||
|
public void test() { |
||||||
|
logger.info(UUID.randomUUID().toString().length()+""); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,113 @@ |
|||||||
|
package com.share.help; |
||||||
|
|
||||||
|
import com.share.help.dao.UserMapper; |
||||||
|
import com.share.help.entity.UserEntity; |
||||||
|
import org.junit.jupiter.api.Assertions; |
||||||
|
import org.junit.jupiter.api.BeforeEach; |
||||||
|
import org.junit.jupiter.api.Test; |
||||||
|
import org.mybatis.spring.annotation.MapperScan; |
||||||
|
import org.mybatis.spring.annotation.MapperScans; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.boot.test.context.SpringBootTest; |
||||||
|
import org.springframework.test.web.servlet.MockMvc; |
||||||
|
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; |
||||||
|
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; |
||||||
|
import org.springframework.test.web.servlet.result.MockMvcResultHandlers; |
||||||
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders; |
||||||
|
import org.springframework.web.context.WebApplicationContext; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
@SpringBootTest |
||||||
|
@MapperScans(@MapperScan("com.share.help.dao")) |
||||||
|
class HelpApplicationTests { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private WebApplicationContext context; |
||||||
|
|
||||||
|
protected MockMvc mvc; |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private UserMapper userMapper; |
||||||
|
|
||||||
|
private Logger logger = LoggerFactory.getLogger(HelpApplicationTests.class); |
||||||
|
|
||||||
|
@BeforeEach |
||||||
|
public void setUp() { |
||||||
|
mvc = MockMvcBuilders.webAppContextSetup(context).build(); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
void contextLoads() { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void testAnsi(){ |
||||||
|
logger.info(UUID.randomUUID().toString().length()+""); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
*测试增删查改 |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testUser(){ |
||||||
|
String userId="fff"; |
||||||
|
String password="123456"; |
||||||
|
UserEntity userEntity=new UserEntity(); |
||||||
|
userEntity.setUserId(userId); |
||||||
|
userEntity.setPassword(password); |
||||||
|
userEntity.setName("张三"); |
||||||
|
userEntity.setSex("男"); |
||||||
|
userEntity.setHeadImg("/test.jpg"); |
||||||
|
userEntity.setAddress("广州"); |
||||||
|
userEntity.setServiceAddress("广州"); |
||||||
|
userEntity.setUserType("服务发起者"); |
||||||
|
userEntity.setMobile(15920722180L); |
||||||
|
userEntity.setEmail("admin@qq.com"); |
||||||
|
userEntity.setInfo("自我介绍"); |
||||||
|
userEntity.setTimeScore(0); |
||||||
|
userEntity.setChatStatus(true); |
||||||
|
|
||||||
|
|
||||||
|
userMapper.insert(userEntity); |
||||||
|
|
||||||
|
userEntity=userMapper.findOne(userId); |
||||||
|
|
||||||
|
Assertions.assertEquals(password,userEntity.getPassword(),"添加成功"); |
||||||
|
|
||||||
|
String newPassword="22222"; |
||||||
|
|
||||||
|
userEntity.setPassword(newPassword); |
||||||
|
|
||||||
|
Assertions.assertTrue(userMapper.update(userEntity),"更新成功"); |
||||||
|
|
||||||
|
userEntity=userMapper.findOne(userId); |
||||||
|
|
||||||
|
Assertions.assertEquals(newPassword,userEntity.getPassword()); |
||||||
|
|
||||||
|
userEntity=userMapper.findOneWithPwd(userId,newPassword); |
||||||
|
|
||||||
|
Assertions.assertNotNull(userEntity); |
||||||
|
|
||||||
|
List<UserEntity> u=userMapper.getAll(); |
||||||
|
|
||||||
|
Assertions.assertEquals(1,u.size()); |
||||||
|
|
||||||
|
Assertions.assertTrue(userMapper.hasUser(userId)); |
||||||
|
|
||||||
|
Assertions.assertTrue(userMapper.delete(userId),"删除成功"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 测试用户接口 |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testUserRegisterInterface() throws Exception { |
||||||
|
MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.post(Constants.USER_INTERFACE+Constants.USER_INTERFACE_REGISTER); |
||||||
|
mvc.perform(builder).andDo(MockMvcResultHandlers.print()); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue