chore(config): 清理配置和更新依赖
- 删除未使用的 CacheConfig.java - 更新 pom.xml 依赖版本 - 优化应用配置文件 - 更新前端配置管理页面 - 更新 package-lock.json
This commit is contained in:
@@ -133,7 +133,7 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<mainClass>cn.novalon.manage.app.ManageApplication</mainClass>
|
||||
<mainClass>cn.novalon.gym.manage.app.ManageApplication</mainClass>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
@@ -1,14 +1,26 @@
|
||||
spring:
|
||||
cache:
|
||||
type: none
|
||||
r2dbc:
|
||||
url: r2dbc:postgresql://localhost:55432/manage_system
|
||||
username: novalon
|
||||
password: novalon123
|
||||
pool:
|
||||
initial-size: 5
|
||||
max-size: 20
|
||||
max-idle-time: 10m
|
||||
max-life-time: 30m
|
||||
acquire-timeout: 3s
|
||||
flyway:
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
validate-on-migrate: true
|
||||
|
||||
jwt:
|
||||
secret: novalon-gym-manage-jwt-secret-key-for-development-only-2026
|
||||
expiration: 86400000
|
||||
|
||||
rate:
|
||||
limit:
|
||||
limit-for-period: 10000
|
||||
|
||||
@@ -6,7 +6,7 @@ spring:
|
||||
r2dbc:
|
||||
url: r2dbc:postgresql://localhost:55432/manage_system
|
||||
username: novalon
|
||||
password: novalon123
|
||||
password: 123456
|
||||
pool:
|
||||
initial-size: 5
|
||||
max-size: 20
|
||||
@@ -16,7 +16,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:postgresql://localhost:55432/manage_system
|
||||
username: novalon
|
||||
password: novalon123
|
||||
password: 123456
|
||||
driver-class-name: org.postgresql.Driver
|
||||
flyway:
|
||||
enabled: true
|
||||
|
||||
@@ -4,6 +4,13 @@ server:
|
||||
spring:
|
||||
application:
|
||||
name: gym-manage-api
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
cache:
|
||||
type: none
|
||||
autoconfigure:
|
||||
exclude:
|
||||
- org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration
|
||||
r2dbc:
|
||||
url: r2dbc:postgresql://${DB_HOST:localhost}:${DB_PORT:55432}/${DB_NAME:manage_system}
|
||||
username: ${DB_USERNAME:postgres}
|
||||
|
||||
@@ -29,14 +29,6 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-cache</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||
<artifactId>caffeine</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
package cn.novalon.gym.manage.common.config;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
import org.springframework.cache.caffeine.CaffeineCacheManager;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 缓存配置类
|
||||
*
|
||||
* @author 张翔
|
||||
* @date 2026-03-13
|
||||
*/
|
||||
@Configuration
|
||||
@EnableCaching
|
||||
public class CacheConfig {
|
||||
|
||||
@Bean
|
||||
public CacheManager cacheManager() {
|
||||
CaffeineCacheManager cacheManager = new CaffeineCacheManager();
|
||||
cacheManager.setCaffeine(caffeineCacheBuilder());
|
||||
return cacheManager;
|
||||
}
|
||||
|
||||
private Caffeine<Object, Object> caffeineCacheBuilder() {
|
||||
return Caffeine.newBuilder()
|
||||
.initialCapacity(100)
|
||||
.maximumSize(500)
|
||||
.expireAfterWrite(30, TimeUnit.MINUTES)
|
||||
.recordStats();
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -1,2 +1 @@
|
||||
cn.novalon.gym.manage.common.config.CacheConfig
|
||||
cn.novalon.gym.manage.common.config.JwtProperties
|
||||
cn.novalon.gym.manage.common.config.JwtProperties
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<mainClass>cn.novalon.manage.gateway.GatewayApplication</mainClass>
|
||||
<mainClass>cn.novalon.gym.manage.gateway.GatewayApplication</mainClass>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
||||
+4
@@ -198,6 +198,8 @@ public class JwtKeyServiceImpl implements JwtKeyService {
|
||||
try {
|
||||
String initialKey;
|
||||
|
||||
logger.info("Configured JWT secret: {}", configuredSecret != null ? "present (length: " + configuredSecret.length() + ")" : "null");
|
||||
|
||||
if (configuredSecret != null && !configuredSecret.isEmpty()) {
|
||||
if (configuredSecret.startsWith("enc:")) {
|
||||
initialKey = decryptKey(configuredSecret.substring(4));
|
||||
@@ -216,6 +218,8 @@ public class JwtKeyServiceImpl implements JwtKeyService {
|
||||
logger.info("Generated new secure JWT key");
|
||||
}
|
||||
|
||||
logger.info("JWT key length: {}", initialKey.length());
|
||||
|
||||
SecretKey signingKey = new SecretKeySpec(
|
||||
initialKey.getBytes(StandardCharsets.UTF_8),
|
||||
KEY_ALGORITHM
|
||||
|
||||
@@ -7,6 +7,18 @@ spring:
|
||||
predicates:
|
||||
- Path=/api/**
|
||||
|
||||
jwt:
|
||||
secret: novalon-gym-manage-jwt-secret-key-for-development-only-2026
|
||||
expiration: 86400000
|
||||
|
||||
signature:
|
||||
enabled: false
|
||||
|
||||
resilience:
|
||||
timeout:
|
||||
enabled: true
|
||||
duration: 10s
|
||||
|
||||
logging:
|
||||
level:
|
||||
org.springframework.cloud.gateway: TRACE
|
||||
|
||||
+4
-6
@@ -3,8 +3,6 @@ package cn.novalon.gym.manage.sys.core.service.impl;
|
||||
import cn.novalon.gym.manage.sys.core.domain.SysConfig;
|
||||
import cn.novalon.gym.manage.sys.core.repository.ISysConfigRepository;
|
||||
import cn.novalon.gym.manage.sys.core.service.ISysConfigService;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -30,25 +28,25 @@ public class SysConfigService implements ISysConfigService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(value = "sysConfig", key = "#id")
|
||||
// @Cacheable(value = "sysConfig", key = "#id")
|
||||
public Mono<SysConfig> findById(Long id) {
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(value = "sysConfig", key = "#configKey")
|
||||
// @Cacheable(value = "sysConfig", key = "#configKey")
|
||||
public Mono<SysConfig> findByConfigKey(String configKey) {
|
||||
return repository.findByConfigKeyAndDeletedAtIsNull(configKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
@CacheEvict(value = "sysConfig", allEntries = true)
|
||||
// @CacheEvict(value = "sysConfig", allEntries = true)
|
||||
public Mono<SysConfig> save(SysConfig config) {
|
||||
return repository.save(config);
|
||||
}
|
||||
|
||||
@Override
|
||||
@CacheEvict(value = "sysConfig", key = "#id")
|
||||
// @CacheEvict(value = "sysConfig", key = "#id")
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return repository.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user