From 33c72dc7e42a842c60d49461695f9497e34ee5de Mon Sep 17 00:00:00 2001 From: 2991692032 Date: Sat, 3 May 2025 17:05:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=B8=BAspringboot3,?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BC=80=E5=8F=91=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unilife-server/pom.xml | 104 +++++++++++------- .../java/com/unilife/config/WebMvcConfig.java | 6 +- .../unilife/controller/UserController.java | 38 +++---- .../unilife/interceptor/JwtInterceptor.java | 5 +- .../unilife/service/IPLocationService.java | 3 +- .../java/com/unilife/service/UserService.java | 5 +- .../service/impl/IPLocationServicelmpl.java | 6 +- .../unilife/service/impl/UserServiceImpl.java | 7 +- .../src/main/resources/application.yml | 9 +- 9 files changed, 105 insertions(+), 78 deletions(-) diff --git a/unilife-server/pom.xml b/unilife-server/pom.xml index b10e4b3..a0bdd72 100644 --- a/unilife-server/pom.xml +++ b/unilife-server/pom.xml @@ -1,115 +1,145 @@ - + 4.0.0 + com.example unilife-server 0.0.1-SNAPSHOT backend backend + - 1.8 + 17 + 3.4.3 UTF-8 UTF-8 - 2.7.6 + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + org.springframework.boot spring-boot-starter-web + + org.mybatis.spring.boot mybatis-spring-boot-starter - 2.3.0 + 3.0.4 + com.mysql mysql-connector-j + 8.0.33 runtime + + org.projectlombok lombok 1.18.36 - true + provided + org.lionsoul ip2region 2.7.0 + - org.springframework.boot - spring-boot-starter-test - test + cn.hutool + hutool-all + 5.8.16 + + com.github.xiaoymin - knife4j-openapi2-spring-boot-starter + knife4j-openapi3-jakarta-spring-boot-starter 4.4.0 + + - cn.hutool - hutool-all - 5.8.16 + io.jsonwebtoken + jjwt-api + 0.11.5 - io.jsonwebtoken - jjwt - 0.9.1 + jjwt-impl + 0.11.5 + runtime - + + io.jsonwebtoken + jjwt-jackson + 0.11.5 + runtime + + + org.springframework.boot spring-boot-starter-data-redis - + + org.springframework.boot spring-boot-starter-mail + + + org.springframework.boot + spring-boot-starter-test + test + - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - + org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.11.0 - 1.8 - 1.8 + ${java.version} + ${java.version} UTF-8 + + org.springframework.boot spring-boot-maven-plugin ${spring-boot.version} - - com.example.unilife.BackendApplication - true - - repackage repackage diff --git a/unilife-server/src/main/java/com/unilife/config/WebMvcConfig.java b/unilife-server/src/main/java/com/unilife/config/WebMvcConfig.java index e59ecf6..2484e46 100644 --- a/unilife-server/src/main/java/com/unilife/config/WebMvcConfig.java +++ b/unilife-server/src/main/java/com/unilife/config/WebMvcConfig.java @@ -21,9 +21,11 @@ public class WebMvcConfig implements WebMvcConfigurer { "/users/code", "/users/login/code", "/swagger-resources/**", - "/v2/api-docs/**", + "/v3/api-docs/**", "/doc.html", - "/webjars/**" + "/webjars/**", + "/favicon.ico", + "/knife4j/**" ); } diff --git a/unilife-server/src/main/java/com/unilife/controller/UserController.java b/unilife-server/src/main/java/com/unilife/controller/UserController.java index 5496c03..e26704c 100644 --- a/unilife-server/src/main/java/com/unilife/controller/UserController.java +++ b/unilife-server/src/main/java/com/unilife/controller/UserController.java @@ -9,8 +9,8 @@ import com.unilife.model.vo.LoginVO; import com.unilife.service.UserService; import com.unilife.utils.BaseContext; import com.unilife.utils.JwtUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -18,10 +18,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; - -@Api(tags = "用户管理") +@Tag(name = "用户管理") @RestController @RequestMapping("/users") @Slf4j @@ -32,42 +31,39 @@ public class UserController { @Autowired private JwtUtil jwtUtil; - @ApiOperation(value = "用户注册") + @Operation(summary = "用户注册") @PostMapping("register") public Result register(@RequestBody RegisterDTO registerDTO, HttpServletRequest request) { - return userService.register(registerDTO,request); + return userService.register(registerDTO, request); } - @ApiOperation(value = "用户登录") + @Operation(summary = "用户登录") @PostMapping("login") - public Result login(@RequestBody LoginDTO loginDTO,HttpServletRequest request) { - Result login = userService.login(loginDTO,request); - //登陆成功后生成jwt令牌 - LoginVO vo=(LoginVO) login.getData(); + public Result login(@RequestBody LoginDTO loginDTO, HttpServletRequest request) { + Result login = userService.login(loginDTO, request); + LoginVO vo = (LoginVO) login.getData(); if (vo == null) { return login; } Long id = vo.getId(); String token = jwtUtil.generateToken(id); vo.setToken(token); - - //Threadlocal保存当前用户id BaseContext.setId(id); return Result.success(vo); } - @ApiOperation(value = "获取邮箱验证码") + @Operation(summary = "获取邮箱验证码") @PostMapping("code") - public Result getCode(@RequestBody EmailDTO emailDto,HttpServletRequest request) { - String email=emailDto.getEmail(); + public Result getCode(@RequestBody EmailDTO emailDto, HttpServletRequest request) { + String email = emailDto.getEmail(); log.debug("收到的原始邮箱: {}", email); - return userService.sendVerificationCode(email,request); + return userService.sendVerificationCode(email, request); } - @ApiOperation(value = "邮箱验证码登录") + @Operation(summary = "邮箱验证码登录") @PostMapping("login/code") - public Result loginWithEmailCode(@RequestBody LoginEmailDTO loginEmailDTO,HttpServletRequest request) { - return userService.loginWithEmail(loginEmailDTO,request); + public Result loginWithEmailCode(@RequestBody LoginEmailDTO loginEmailDTO, HttpServletRequest request) { + return userService.loginWithEmail(loginEmailDTO, request); } } diff --git a/unilife-server/src/main/java/com/unilife/interceptor/JwtInterceptor.java b/unilife-server/src/main/java/com/unilife/interceptor/JwtInterceptor.java index 33bcea9..5230f15 100644 --- a/unilife-server/src/main/java/com/unilife/interceptor/JwtInterceptor.java +++ b/unilife-server/src/main/java/com/unilife/interceptor/JwtInterceptor.java @@ -3,14 +3,15 @@ package com.unilife.interceptor; import cn.hutool.core.util.StrUtil; import com.unilife.utils.BaseContext; import com.unilife.utils.JwtUtil; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; + @Component @Slf4j diff --git a/unilife-server/src/main/java/com/unilife/service/IPLocationService.java b/unilife-server/src/main/java/com/unilife/service/IPLocationService.java index bed401e..d27ab96 100644 --- a/unilife-server/src/main/java/com/unilife/service/IPLocationService.java +++ b/unilife-server/src/main/java/com/unilife/service/IPLocationService.java @@ -1,7 +1,6 @@ package com.unilife.service; -import com.unilife.model.dto.LoginDTO; +import jakarta.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequest; public interface IPLocationService { public String getIPLocation(String ip); diff --git a/unilife-server/src/main/java/com/unilife/service/UserService.java b/unilife-server/src/main/java/com/unilife/service/UserService.java index 6752f6f..9b4a078 100644 --- a/unilife-server/src/main/java/com/unilife/service/UserService.java +++ b/unilife-server/src/main/java/com/unilife/service/UserService.java @@ -4,14 +4,13 @@ import com.unilife.common.result.Result; import com.unilife.model.dto.LoginDTO; import com.unilife.model.dto.LoginEmailDTO; import com.unilife.model.dto.RegisterDTO; - -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; public interface UserService { Result register(RegisterDTO registerDTO, HttpServletRequest request); - Result login(LoginDTO loginDTO,HttpServletRequest request); + Result login(LoginDTO loginDTO, HttpServletRequest request); Result sendVerificationCode(String email,HttpServletRequest request); diff --git a/unilife-server/src/main/java/com/unilife/service/impl/IPLocationServicelmpl.java b/unilife-server/src/main/java/com/unilife/service/impl/IPLocationServicelmpl.java index 3f1377f..8b7f3e8 100644 --- a/unilife-server/src/main/java/com/unilife/service/impl/IPLocationServicelmpl.java +++ b/unilife-server/src/main/java/com/unilife/service/impl/IPLocationServicelmpl.java @@ -1,13 +1,11 @@ package com.unilife.service.impl; - - import com.unilife.service.IPLocationService; +import jakarta.servlet.http.HttpServletRequest; import org.lionsoul.ip2region.xdb.Searcher; import org.springframework.stereotype.Service; -import org.springframework.util.ReflectionUtils; import org.springframework.util.ResourceUtils; -import javax.servlet.http.HttpServletRequest; + import java.io.File; import java.io.IOException; import java.io.FileNotFoundException; diff --git a/unilife-server/src/main/java/com/unilife/service/impl/UserServiceImpl.java b/unilife-server/src/main/java/com/unilife/service/impl/UserServiceImpl.java index 6df5ada..2867527 100644 --- a/unilife-server/src/main/java/com/unilife/service/impl/UserServiceImpl.java +++ b/unilife-server/src/main/java/com/unilife/service/impl/UserServiceImpl.java @@ -15,6 +15,9 @@ import com.unilife.service.IPLocationService; import com.unilife.service.UserService; import com.unilife.utils.JwtUtil; import com.unilife.utils.RegexUtils; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.MimeMessage; +import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -24,9 +27,7 @@ import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; -import javax.servlet.http.HttpServletRequest; + import java.time.Duration; import java.util.HashMap; diff --git a/unilife-server/src/main/resources/application.yml b/unilife-server/src/main/resources/application.yml index a4cc4fe..f57384a 100644 --- a/unilife-server/src/main/resources/application.yml +++ b/unilife-server/src/main/resources/application.yml @@ -4,7 +4,7 @@ spring: datasource: url: jdbc:mysql://localhost:3306/UniLife?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8 username: root - password: zhong20050428 + password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver mail: host: smtp.163.com @@ -20,9 +20,10 @@ spring: socketFactory: port: 465 class: javax.net.ssl.SSLSocketFactory - redis: - host: 127.0.0.1 - port: 6379 + data: + redis: + port: 6379 + host: 127.0.0.1 knife4j: enable: true openapi: