Merge pull request 'dev' (#10) from dev into master

Reviewed-on: #10
This commit is contained in:
bunny 2024-07-28 03:03:28 +08:00
commit 9cba8615ef
10 changed files with 55 additions and 48 deletions

View File

@ -17,6 +17,15 @@
</modules> </modules>
<dependencies> <dependencies>
<dependency>
<groupId>cn.bunny</groupId>
<artifactId>dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.datatype</groupId> <groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId> <artifactId>jackson-datatype-jsr310</artifactId>
@ -30,12 +39,7 @@
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
</dependency> </dependency>
<!-- fastjson2 --> <!-- mysql连接驱动 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>
<!--mysql-->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>

View File

@ -17,15 +17,6 @@
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>cn.bunny</groupId>
<artifactId>dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 解决 javax.xml.bind 错误 --> <!-- 解决 javax.xml.bind 错误 -->
<dependency> <dependency>
<groupId>javax.xml.bind</groupId> <groupId>javax.xml.bind</groupId>

View File

@ -20,7 +20,7 @@ public class Knife4jConfig {
// 使用协议 // 使用协议
License license = new License().name("MIT").url("http://MUT.com"); License license = new License().name("MIT").url("http://MUT.com");
// 相关信息 // 相关信息
Info info = new Info().title("Bunny-Java-Template").description("Bunny的Java模板").version("v1.0.0").contact(contact).license(license).termsOfService("记得给我start"); Info info = new Info().title("Bunny-Java-Template").description("Bunny的Java模板").version("v1.0.0").contact(contact).license(license).termsOfService("维护不易~求个start");
return new OpenAPI().info(info).externalDocs(new ExternalDocumentation()); return new OpenAPI().info(info).externalDocs(new ExternalDocumentation());
} }

View File

@ -30,9 +30,11 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
log.info("WebMvcConfiguration===>开始注册自定义拦截器..."); // log.info("WebMvcConfiguration===>开始注册自定义拦截器...");
String[] excludeList = {"/api/checkCode", "/api/sendEmailCode", "/api/register", "/api/login",}; // TODO Spring Security 和这个拦截器任选一个
String[] excludeList = {"/", "/test/**", "/*.html", "/*/*/noAuth/**", "/*/noAuth/**", "/favicon.ico",
"/swagger-resources/**", "/swagger-ui.html/**", "/admin/login", "/v3/**", "/api/**"};
registry.addInterceptor(userTokenInterceptor).excludePathPatterns(excludeList); registry.addInterceptor(userTokenInterceptor).excludePathPatterns(excludeList);
// TODO 如果想使用普通JWT可以使用这个不使用 SpringSecurity6 // TODO 如果想使用普通JWT可以使用这个不使用 SpringSecurity6

View File

@ -33,6 +33,11 @@
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
</dependency> </dependency>
<!-- fastjson2 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>
<!-- 实体类注解 --> <!-- 实体类注解 -->
<dependency> <dependency>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>

View File

@ -88,8 +88,8 @@ public class WebSecurityConfig {
// 排出鉴定路径 // 排出鉴定路径
@Bean @Bean
public WebSecurityCustomizer webSecurityCustomizer() { public WebSecurityCustomizer webSecurityCustomizer() {
String[] annotations = {"/", "/test/**", "/*.html", "/*/*/noAuth/**", "/*/noAuth/**", "/favicon.ico", "/swagger-resources/**", "/swagger-ui.html/**", String[] annotations = {"/", "/test/**", "/admin/login", "/*.html", "/*/*/noAuth/**", "/*/noAuth/**", "/favicon.ico",
"/api/**" "/swagger-resources/**", "/swagger-ui.html/**", "/v3/**", "/api/**"
}; };
return web -> web.ignoring().requestMatchers(annotations); return web -> web.ignoring().requestMatchers(annotations);
} }

View File

@ -1,5 +1,6 @@
package cn.bunny.service.service.impl; package cn.bunny.service.service.impl;
import cn.bunny.common.service.exception.BunnyException;
import cn.bunny.common.service.utils.EmptyUtil; import cn.bunny.common.service.utils.EmptyUtil;
import cn.bunny.common.service.utils.JwtHelper; import cn.bunny.common.service.utils.JwtHelper;
import cn.bunny.dto.user.LoginDto; import cn.bunny.dto.user.LoginDto;
@ -23,6 +24,7 @@ import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha; import cn.hutool.captcha.CircleCaptcha;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springdoc.core.service.OperationService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@ -51,6 +53,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
private EmailUsersMapper emailUsersMapper; private EmailUsersMapper emailUsersMapper;
@Autowired @Autowired
private RedisTemplate<String, Object> redisTemplate; private RedisTemplate<String, Object> redisTemplate;
@Autowired
private OperationService operationBuilder;
/** /**
* 前台用户登录接口 * 前台用户登录接口
@ -68,6 +72,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
String password = DigestUtils.md5DigestAsHex(loginDto.getPassword().getBytes()); String password = DigestUtils.md5DigestAsHex(loginDto.getPassword().getBytes());
// 查询数据库用户对应的角色权限 // 查询数据库用户对应的角色权限
User user = baseMapper.login(username, password); User user = baseMapper.login(username, password);
if (user == null) {
throw new BunnyException(ExceptionConstant.USER_NOT_FOUND_Exception);
}
Long userId = user.getId(); Long userId = user.getId();
// 查询用户所有的角色信息 // 查询用户所有的角色信息

View File

@ -7,9 +7,9 @@ bunny:
password: "02120212" password: "02120212"
redis: redis:
host: 1192.168.3.100 host: 192.168.3.100
port: 6379 port: 6379
database: 3 database: 0
password: "123456" password: "123456"
minio: minio:

View File

@ -1,15 +1,15 @@
bunny: bunny:
datasource: datasource:
host: 192.168.1.4 host: 192.168.3.100
port: 3306 port: 3306
sqlData: bunny_docs sqlData: bunny_docs
username: root username: root
password: "02120212" password: "02120212"
redis: redis:
host: 192.168.1.4 host: 192.168.3.100
port: 6379 port: 6379
database: 3 database: 0
password: "123456" password: "123456"
minio: minio:

View File

@ -1,5 +1,5 @@
server: server:
port: 8800 port: 8080
spring: spring:
profiles: profiles:
@ -8,28 +8,24 @@ spring:
name: bunny-service name: bunny-service
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource # type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver # driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true # url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
username: ${bunny.datasource.username} # username: ${bunny.datasource.username}
password: ${bunny.datasource.password} # password: ${bunny.datasource.password}
# dynamic: dynamic:
# primary: master #设置默认的数据源或者数据源组,默认值即为master primary: master #设置默认的数据源或者数据源组,默认值即为master
# strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
# grace-destroy: false #是否优雅关闭数据源默认为false设置为true时关闭数据源时如果数据源中还存在活跃连接至多等待10s后强制关闭 grace-destroy: false #是否优雅关闭数据源默认为false设置为true时关闭数据源时如果数据源中还存在活跃连接至多等待10s后强制关闭
# datasource: datasource:
# master: master:
# driver-class-name: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
# url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true driver-class-name: com.mysql.cj.jdbc.Driver
# username: ${bunny.datasource.username} url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
# password: ${bunny.datasource.password} username: ${bunny.datasource.username}
# i18n: password: ${bunny.datasource.password}
# url: jdbc:mysql://${bunny.datasource2.host}:${bunny.datasource2.port}/${bunny.datasource2.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true aop:
# username: ${bunny.datasource2.username} enabled: true
# password: ${bunny.datasource2.password}
# driver-class-name: com.zaxxer.hikari.HikariDataSource
# aop:
# enabled: true
data: data:
redis: redis: