From 5ca86891aa20a12feca9cb1bba8463ae0e8f34f8 Mon Sep 17 00:00:00 2001 From: tianyuan <2861334240@qq.com> Date: Sun, 30 Nov 2025 23:38:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BE=9D=E8=B5=96=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../com/campus/water/config/MqttConfig.java | 4 ++ .../water/config/MqttInboundConfig.java | 3 +- .../water/controller/LoginController.java | 2 +- .../java/com/campus/water/entity/Alert.java | 2 +- .../java/com/campus/water/entity/Area.java | 2 +- .../java/com/campus/water/entity/Device.java | 2 +- .../water/entity/DeviceTerminalMapping.java | 2 +- .../water/entity/DrinkRecommendation.java | 2 +- .../com/campus/water/entity/DrinkRecord.java | 2 +- .../campus/water/entity/InspectionRecord.java | 2 +- .../campus/water/entity/MaintenancePlan.java | 2 +- .../com/campus/water/entity/MessagePush.java | 2 +- .../com/campus/water/entity/RepairerAuth.java | 2 +- .../com/campus/water/entity/Repairman.java | 2 +- .../water/entity/TerminalUsageStats.java | 2 +- .../java/com/campus/water/entity/User.java | 2 +- .../water/entity/WaterMakerRealtimeData.java | 2 +- .../water/entity/WaterQualityHistory.java | 2 +- .../water/entity/WaterSupplyRealtimeData.java | 2 +- .../com/campus/water/entity/WorkOrder.java | 2 +- .../entity/dto/request/LoginRequest.java | 2 +- .../com/campus/water/entity/po/AdminPO.java | 2 +- .../water/entity/po/RepairerAuthPO.java | 2 +- .../com/campus/water/entity/po/UserPO.java | 2 +- .../water/service/MqttSensorReceiver.java | 2 +- src/main/resources/application.yml | 52 +++++++++++-------- 27 files changed, 59 insertions(+), 48 deletions(-) diff --git a/pom.xml b/pom.xml index 82594e2..246cfe8 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.18 + 3.3.5 diff --git a/src/main/java/com/campus/water/config/MqttConfig.java b/src/main/java/com/campus/water/config/MqttConfig.java index e0e57e8..c096b2d 100644 --- a/src/main/java/com/campus/water/config/MqttConfig.java +++ b/src/main/java/com/campus/water/config/MqttConfig.java @@ -42,6 +42,10 @@ public class MqttConfig { options.setAutomaticReconnect(true); // 断线自动重连 options.setCleanSession(true); // 断开后清除会话 + // 在 MqttConfig 的 mqttClientFactory() 中增强连接选项 + options.setAutomaticReconnect(true); // 启用自动重连 + options.setMaxReconnectDelay(5000); // 重连间隔(毫秒,与原 5 秒一致) + factory.setConnectionOptions(options); return factory; } diff --git a/src/main/java/com/campus/water/config/MqttInboundConfig.java b/src/main/java/com/campus/water/config/MqttInboundConfig.java index eacbac3..ba546c4 100644 --- a/src/main/java/com/campus/water/config/MqttInboundConfig.java +++ b/src/main/java/com/campus/water/config/MqttInboundConfig.java @@ -5,6 +5,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter; import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter; + @Configuration public class MqttInboundConfig { @@ -27,8 +28,6 @@ public class MqttInboundConfig { adapter.setQos(mqttConfig.QOS); // 订阅QOS等级与发送端一致 adapter.setOutputChannel(mqttConfig.mqttInputChannel()); // 消息转发到接收通道 - // 开启异常重试(避免网络波动导致消息丢失) - adapter.setRecoveryInterval(5000); // 重试间隔5秒 return adapter; } diff --git a/src/main/java/com/campus/water/controller/LoginController.java b/src/main/java/com/campus/water/controller/LoginController.java index 48f2ee8..9728a21 100644 --- a/src/main/java/com/campus/water/controller/LoginController.java +++ b/src/main/java/com/campus/water/controller/LoginController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.validation.Valid; +import jakarta.validation.Valid; /** * 登录接口控制器(公共接口) diff --git a/src/main/java/com/campus/water/entity/Alert.java b/src/main/java/com/campus/water/entity/Alert.java index 3ae7e19..2510cc4 100644 --- a/src/main/java/com/campus/water/entity/Alert.java +++ b/src/main/java/com/campus/water/entity/Alert.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/Area.java b/src/main/java/com/campus/water/entity/Area.java index dddbd04..45a1da0 100644 --- a/src/main/java/com/campus/water/entity/Area.java +++ b/src/main/java/com/campus/water/entity/Area.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/Device.java b/src/main/java/com/campus/water/entity/Device.java index 3d9e48b..e9469b0 100644 --- a/src/main/java/com/campus/water/entity/Device.java +++ b/src/main/java/com/campus/water/entity/Device.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/campus/water/entity/DeviceTerminalMapping.java b/src/main/java/com/campus/water/entity/DeviceTerminalMapping.java index 2e3e18a..22f4a9a 100644 --- a/src/main/java/com/campus/water/entity/DeviceTerminalMapping.java +++ b/src/main/java/com/campus/water/entity/DeviceTerminalMapping.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/campus/water/entity/DrinkRecommendation.java b/src/main/java/com/campus/water/entity/DrinkRecommendation.java index f1a09b8..cd1adb3 100644 --- a/src/main/java/com/campus/water/entity/DrinkRecommendation.java +++ b/src/main/java/com/campus/water/entity/DrinkRecommendation.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/campus/water/entity/DrinkRecord.java b/src/main/java/com/campus/water/entity/DrinkRecord.java index a51d510..5a28579 100644 --- a/src/main/java/com/campus/water/entity/DrinkRecord.java +++ b/src/main/java/com/campus/water/entity/DrinkRecord.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/InspectionRecord.java b/src/main/java/com/campus/water/entity/InspectionRecord.java index 1311b24..8440772 100644 --- a/src/main/java/com/campus/water/entity/InspectionRecord.java +++ b/src/main/java/com/campus/water/entity/InspectionRecord.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/MaintenancePlan.java b/src/main/java/com/campus/water/entity/MaintenancePlan.java index ac08897..6bc5c89 100644 --- a/src/main/java/com/campus/water/entity/MaintenancePlan.java +++ b/src/main/java/com/campus/water/entity/MaintenancePlan.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/campus/water/entity/MessagePush.java b/src/main/java/com/campus/water/entity/MessagePush.java index 58cda06..ef6f9de 100644 --- a/src/main/java/com/campus/water/entity/MessagePush.java +++ b/src/main/java/com/campus/water/entity/MessagePush.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/RepairerAuth.java b/src/main/java/com/campus/water/entity/RepairerAuth.java index 875d7d3..8ae987b 100644 --- a/src/main/java/com/campus/water/entity/RepairerAuth.java +++ b/src/main/java/com/campus/water/entity/RepairerAuth.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/Repairman.java b/src/main/java/com/campus/water/entity/Repairman.java index 766d988..7f86269 100644 --- a/src/main/java/com/campus/water/entity/Repairman.java +++ b/src/main/java/com/campus/water/entity/Repairman.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/TerminalUsageStats.java b/src/main/java/com/campus/water/entity/TerminalUsageStats.java index 65ca04d..220c9f8 100644 --- a/src/main/java/com/campus/water/entity/TerminalUsageStats.java +++ b/src/main/java/com/campus/water/entity/TerminalUsageStats.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/src/main/java/com/campus/water/entity/User.java b/src/main/java/com/campus/water/entity/User.java index 57b5c82..3f1cf90 100644 --- a/src/main/java/com/campus/water/entity/User.java +++ b/src/main/java/com/campus/water/entity/User.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/WaterMakerRealtimeData.java b/src/main/java/com/campus/water/entity/WaterMakerRealtimeData.java index 05dd509..95dbe1c 100644 --- a/src/main/java/com/campus/water/entity/WaterMakerRealtimeData.java +++ b/src/main/java/com/campus/water/entity/WaterMakerRealtimeData.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/WaterQualityHistory.java b/src/main/java/com/campus/water/entity/WaterQualityHistory.java index 7477408..df0f21d 100644 --- a/src/main/java/com/campus/water/entity/WaterQualityHistory.java +++ b/src/main/java/com/campus/water/entity/WaterQualityHistory.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/WaterSupplyRealtimeData.java b/src/main/java/com/campus/water/entity/WaterSupplyRealtimeData.java index ac0a344..50b1c7e 100644 --- a/src/main/java/com/campus/water/entity/WaterSupplyRealtimeData.java +++ b/src/main/java/com/campus/water/entity/WaterSupplyRealtimeData.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/WorkOrder.java b/src/main/java/com/campus/water/entity/WorkOrder.java index 298123b..d3fe05a 100644 --- a/src/main/java/com/campus/water/entity/WorkOrder.java +++ b/src/main/java/com/campus/water/entity/WorkOrder.java @@ -6,7 +6,7 @@ package com.campus.water.entity; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.LocalDateTime; @Data diff --git a/src/main/java/com/campus/water/entity/dto/request/LoginRequest.java b/src/main/java/com/campus/water/entity/dto/request/LoginRequest.java index b96e757..4e56ed3 100644 --- a/src/main/java/com/campus/water/entity/dto/request/LoginRequest.java +++ b/src/main/java/com/campus/water/entity/dto/request/LoginRequest.java @@ -2,7 +2,7 @@ package com.campus.water.entity.dto.request; import lombok.Data; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; @Data public class LoginRequest { // 命名改为Request,符合dto/request分类 diff --git a/src/main/java/com/campus/water/entity/po/AdminPO.java b/src/main/java/com/campus/water/entity/po/AdminPO.java index f7dcf8d..e8258c7 100644 --- a/src/main/java/com/campus/water/entity/po/AdminPO.java +++ b/src/main/java/com/campus/water/entity/po/AdminPO.java @@ -1,7 +1,7 @@ package com.campus.water.entity.po; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; @Data @Entity diff --git a/src/main/java/com/campus/water/entity/po/RepairerAuthPO.java b/src/main/java/com/campus/water/entity/po/RepairerAuthPO.java index 14e6590..847cd86 100644 --- a/src/main/java/com/campus/water/entity/po/RepairerAuthPO.java +++ b/src/main/java/com/campus/water/entity/po/RepairerAuthPO.java @@ -1,7 +1,7 @@ package com.campus.water.entity.po; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; @Data @Entity diff --git a/src/main/java/com/campus/water/entity/po/UserPO.java b/src/main/java/com/campus/water/entity/po/UserPO.java index ae9ade7..3525476 100644 --- a/src/main/java/com/campus/water/entity/po/UserPO.java +++ b/src/main/java/com/campus/water/entity/po/UserPO.java @@ -1,7 +1,7 @@ package com.campus.water.entity.po; import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; @Data @Entity diff --git a/src/main/java/com/campus/water/service/MqttSensorReceiver.java b/src/main/java/com/campus/water/service/MqttSensorReceiver.java index c73df0a..92f358d 100644 --- a/src/main/java/com/campus/water/service/MqttSensorReceiver.java +++ b/src/main/java/com/campus/water/service/MqttSensorReceiver.java @@ -18,7 +18,7 @@ import org.springframework.integration.mqtt.support.MqttHeaders; import org.springframework.messaging.handler.annotation.Header; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.time.LocalDateTime; @Service diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index da194dc..ecb29cd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,25 +1,33 @@ -# MQTT?????????? -mqtt.enabled=false +# MQTT 配置(是否启用 + 连接参数) +mqtt: + enabled: true # 是否启用 MQTT 客户端 -# ??Bean???? -spring.main.allow-bean-definition-overriding=true -# Database Configuration -spring.datasource.url=jdbc:mysql://localhost:3306/campus_water_management?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8 -spring.datasource.username=root -spring.datasource.password=wl1113 -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +# Spring 核心配置:允许 Bean 定义覆盖(解决 Bean 重复定义冲突) +spring: + main: + allow-bean-definition-overriding: true # 缩进在 spring 下,作为子配置 + # 数据库配置 + datasource: + url: jdbc:mysql://localhost:3306/campus_water_management?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8 + username: root + password: wl1113 + driver-class-name: com.mysql.cj.jdbc.Driver + # JPA 配置 + jpa: + hibernate: + ddl-auto: update # 自动更新表结构(开发环境用,生产环境建议改为 none) + show-sql: true # 打印 SQL 语句 + properties: + hibernate: + format_sql: true # 格式化 SQL 语句 + jdbc.lob.non_contextual_creation: true # 解决 LOB 字段创建警告 + dialect: org.hibernate.dialect.MySQL8Dialect # MySQL 8 方言 -# JPA Configuration -spring.jpa.hibernate.ddl-auto=update -spring.jpa.show-sql=true -spring.jpa.properties.hibernate.format_sql=true -spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true - -# Database Dialect -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect - -# ???? -server.servlet.encoding.charset=UTF-8 -server.servlet.encoding.enabled=true -server.servlet.encoding.force=true \ No newline at end of file +# 服务器编码配置 +server: + servlet: + encoding: + charset: UTF-8 + enabled: true + force: true # 移除末尾多余的 zs \ No newline at end of file -- 2.34.1