Spring {@code @Scheduled} 已由 {@code ApplicationConfig} 统一开启,不再依赖本配置。
* * @author opensnail * @date 2024-05-17 */ @AutoConfiguration @ConditionalOnProperty(prefix = "snail-job", name = "enabled", havingValue = "true") -@EnableScheduling @EnableSnailJob public class SnailJobConfig { diff --git a/backend/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java b/backend/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java index df524b28..b687ad9d 100644 --- a/backend/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java +++ b/backend/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java @@ -160,11 +160,13 @@ public class TenantHelper { * @param global 是否全局生效 */ public static void setDynamic(String tenantId, boolean global) { + // 传入非空时一律先校验格式,避免租户开关关闭时仍把脏数据带入后续逻辑 + if (StringUtils.isNotBlank(tenantId)) { + checkTenantIdFormat(tenantId); + } if (!isEnable()) { return; } - // 动态租户一律做格式白名单校验,覆盖 login/register/config 等所有 TenantHelper.dynamic 入口 - checkTenantIdFormat(tenantId); if (!LoginHelper.isLogin() || !global) { TEMP_DYNAMIC_TENANT.set(tenantId); return; diff --git a/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod-local.yml b/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod-local.yml index fdfc034f..fa4c91d4 100644 --- a/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod-local.yml +++ b/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod-local.yml @@ -21,22 +21,25 @@ spring: title: RuoYi-Vue-Plus服务监控中心 context-path: /admin ---- # Actuator 监控端点的配置项 +--- # Actuator 全关(不使用) management: endpoints: + enabled-by-default: false web: exposure: - include: '*' + include: "" endpoint: health: - show-details: ALWAYS + enabled: false + heapdump: + enabled: false logfile: external-file: ./logs/ruoyi-monitor-admin.log --- # 监控配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false # 设置 Spring Boot Admin Server 地址 url: http://47.121.125.41:9090/admin instance: diff --git a/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod.yml b/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod.yml index 019f80d8..752c8ee2 100644 --- a/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod.yml +++ b/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application-prod.yml @@ -23,22 +23,25 @@ spring: # 配置公网访问地址,确保重定向和静态资源路径包含正确的端口号 # public-url: http://web.hzdyjsxy.cn:18081/admin ---- # Actuator 监控端点的配置项 +--- # Actuator 全关(不使用) management: endpoints: + enabled-by-default: false web: exposure: - include: '*' + include: "" endpoint: health: - show-details: ALWAYS + enabled: false + heapdump: + enabled: false logfile: external-file: ./logs/ruoyi-monitor-admin.log --- # 监控配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false # 设置 Spring Boot Admin Server 地址 url: http://172.16.0.67:9090/admin instance: diff --git a/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml b/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml index 86766d7a..1cbe8a4b 100644 --- a/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml +++ b/backend/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml @@ -21,22 +21,25 @@ spring: title: RuoYi-Vue-Plus服务监控中心 context-path: /admin ---- # Actuator 监控端点的配置项 +--- # Actuator 全关(不使用) management: endpoints: + enabled-by-default: false web: exposure: - include: '*' + include: "" endpoint: health: - show-details: ALWAYS + enabled: false + heapdump: + enabled: false logfile: external-file: ./logs/ruoyi-monitor-admin.log --- # 监控配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false # 设置 Spring Boot Admin Server 地址 url: http://127.0.0.1:9090/admin instance: diff --git a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml index 5dd063ff..bebce895 100644 --- a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml +++ b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml @@ -3,8 +3,8 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://47.99.164.66:3306/hzdyjs_xg?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - username: root - password: hn02le.34lkdLKD + username: hzdyjs_app + password: Hzdyjs@App#n4SQi8AfPHldNj49 hikari: connection-timeout: 30000 validation-timeout: 5000 @@ -29,7 +29,7 @@ snail-job: --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false url: http://localhost:9090/admin instance: service-host-type: IP diff --git a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod-local.yml b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod-local.yml index 0f731ab7..9e949361 100644 --- a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod-local.yml +++ b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod-local.yml @@ -3,8 +3,8 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://47.99.164.66:3306/hzdyjs_xg?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - username: root - password: hn02le.34lkdLKD + username: hzdyjs_app + password: Hzdyjs@App#n4SQi8AfPHldNj49 hikari: connection-timeout: 30000 validation-timeout: 5000 @@ -29,7 +29,7 @@ snail-job: --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false url: http://47.121.125.41:9090/admin instance: service-host-type: IP diff --git a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml index a0059e7d..414e91b9 100644 --- a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml +++ b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml @@ -3,8 +3,8 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://172.16.0.67:3306/hzdyjs_xg?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - username: root - password: Hzdyjs@Root@123456 + username: hzdyjs_app + password: Hzdyjs@App#n4SQi8AfPHldNj49 hikari: connection-timeout: 30000 validation-timeout: 5000 @@ -29,7 +29,7 @@ snail-job: --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false url: http://172.16.0.67:9090/admin instance: service-host-type: IP diff --git a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml index ba6df45f..8c019805 100644 --- a/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml +++ b/backend/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml @@ -29,11 +29,14 @@ logging: management: endpoints: + enabled-by-default: false web: exposure: - include: '*' + include: "" endpoint: health: - show-details: ALWAYS + enabled: false + heapdump: + enabled: false logfile: external-file: ./logs/ruoyi-snailjob-server/console.log diff --git a/backend/ruoyi-modules/ruoyi-aqbw/pom.xml b/backend/ruoyi-modules/ruoyi-aqbw/pom.xml index 10119be5..ab382f80 100644 --- a/backend/ruoyi-modules/ruoyi-aqbw/pom.xml +++ b/backend/ruoyi-modules/ruoyi-aqbw/pom.xml @@ -92,11 +92,13 @@替代原 SnailJob surveyEndTimeJobExecutor:每小时将 end_time 已过期的问卷 status 更新为 2(已结束)。
+ */ +@Slf4j +@Component +@RequiredArgsConstructor +public class HqSatSurveyExpireTask { + + private static final String LOCK_KEY = "hq:sat:survey:expire:lock"; + private static final Duration LOCK_TTL = Duration.ofMinutes(10); + + private final IHqSatSurveyService satSurveyService; + + /** + * 每小时整点执行(与原 SnailJob 3600 秒间隔对齐) + */ + @Scheduled(cron = "0 0 * * * ?") + public void updateExpiredSurveys() { + boolean locked = RedisUtils.setObjectIfAbsent(LOCK_KEY, "1", LOCK_TTL); + if (!locked) { + log.debug("满意度调查过期扫描跳过:其他实例正在执行"); + return; + } + try { + log.info("开始执行满意度调查过期扫描"); + int updatedCount = satSurveyService.updateExpiredSurveys(); + log.info("满意度调查过期扫描完成,更新数量: {}", updatedCount); + } catch (Exception e) { + log.error("满意度调查过期扫描失败", e); + } finally { + RedisUtils.deleteObject(LOCK_KEY); + } + } +} diff --git a/backend/ruoyi-modules/ruoyi-jcbt/pom.xml b/backend/ruoyi-modules/ruoyi-jcbt/pom.xml index d294f710..b0e6f5e5 100644 --- a/backend/ruoyi-modules/ruoyi-jcbt/pom.xml +++ b/backend/ruoyi-modules/ruoyi-jcbt/pom.xml @@ -92,11 +92,13 @@