# HOT交通安全管理清单平台 后端服务 **项目概览** - 基于 `Spring Boot 3.5.7`、`Java 17` 的后端服务,提供系统管理、代码生成、工作流等能力。 - 项目坐标:`com.hotwj:hot-platform:1.0.0`(pom.xml:15-17),构件名:`hot-backend`(pom.xml:18)。 - 默认打包为可执行 `jar`(build.finalName 为 `hot-platform`,pom.xml:409-411)。 **技术栈** - Web与容器:`spring-boot-starter-web`(Undertow 容器,pom.xml:336-351),`spring-webmvc`(pom.xml:157-160)。 - ORM与数据源:`mybatis-plus`(pom.xml:162-175)、`dynamic-datasource`(pom.xml:232-237)。 - 安全与认证:`Sa-Token`(pom.xml:303-322),JWT 集成。 - 缓存与并发:`redisson`(pom.xml:284-289)、`lock4j`(pom.xml:291-295)、`caffeine`(pom.xml:297-301)。 - 文档与OpenAPI:`springdoc-openapi`(pom.xml:134-138、400-405)。 - 任务与调度:`snail-job` 客户端(pom.xml:192-203)。 - 工作流:`warm-flow`(pom.xml:377-386)。 - 存储与工具:`AWS S3 SDK`(pom.xml:246-282)、`hutool`(pom.xml:115-119)、`mapstruct-plus`(pom.xml:121-125)。 - 其他:`velocity` 模板引擎(pom.xml:358-363)、`ip2region`(pom.xml:127-132)、`JustAuth` 社交登录(pom.xml:330-334)、`jakarta.mail`(pom.xml:223-230)。 **环境要求** - `JDK 17+`(pom.xml:26)。 - `Maven 3.9+`。 - 数据库:`MySQL 8.0.x`(pom.xml:58、72-77)。 **快速开始** - 配置环境:`application.yml` 默认激活 `dev`(src/main/resources/application.yml:73)。 - 开发运行: - 使用 Maven 插件直接运行:`mvn spring-boot:run -Dspring-boot.run.profiles=dev` - 或打包运行: - `mvn clean package -DskipTests=true` - `java -jar target/hot-platform.jar --spring.profiles.active=dev` - 生产运行:`java -jar target/hot-platform.jar --spring.profiles.active=prod` **构建说明** - 默认打包跳过测试(pom.xml:65-67),如需执行测试:`mvn clean package -DskipTests=false`。 - 生成的可执行包名为 `hot-platform.jar`(由 `finalName` 决定,pom.xml:409-411)。 - 支持 `spring-boot-maven-plugin` 重打包(pom.xml:412-422),可用 `spring-boot:run` 快速启动。 **配置要点** - 端口与上下文:`server.port=8080`、`context-path=/`(src/main/resources/application.yml:3-7)。 - Undertow 线程与缓冲配置(src/main/resources/application.yml:8-21)。 - 日志:`logback-plus.xml`(src/main/resources/application.yml:43)。 - 国际化:`spring.messages.basename=i18n/messages`(src/main/resources/application.yml:69-71)。 - 模块扫描分组(系统/代码生成/工作流 等,src/main/resources/application.yml:211-216)。 - 安全与令牌:`sa-token`(src/main/resources/application.yml:98-108)。 - WebSocket/SSE:`sse.enabled`、`websocket.enabled`(src/main/resources/application.yml:239-259)。 - 工作流:`warm-flow.*`(src/main/resources/application.yml:260-275)。 **常用端点** - Actuator 健康检查:`/actuator/health`(src/main/resources/application.yml:268-279)。 - OpenAPI 文档:`/v3/api-docs`,Swagger UI:`/swagger-ui/index.html`(由 springdoc 依赖启用,pom.xml:400-405)。 **Docker 运行** - 项目提供 `Dockerfile`(Dockerfile:1-31),基础镜像为 `JDK 17`(Dockerfile:1)。 - 镜像构建前需确保 `target` 下存在打包产物。 - 当前 `Dockerfile` 的 `ADD` 指向 `ruoyi-admin.jar`(Dockerfile:17),如使用本项目构件,请将其改为 `hot-platform.jar` 或生成同名文件。 **常用命令** - 清理并打包:`mvn clean package -DskipTests=true` - 执行测试:`mvn test` - 启动(开发):`mvn spring-boot:run -Dspring-boot.run.profiles=dev` - 启动(Jar):`java -jar target/hot-platform.jar --spring.profiles.active=dev`