# 综合执法系统后端服务 基于Spring Boot 3.1构建的企业级执法管理系统后端,采用模块化架构设计。 ## 模块架构 ### 1. 核心模块 (core) ``` src/main/java/com/aisino/iles/core/ ├── config/ # 全局配置 │ ├── WebConfig.java # Web MVC配置 │ └── RedisConfig.java # Redis缓存配置 ├── controller/ # 核心控制器 │ ├── StreetInfoController.java # 街道信息管理 │ └── CacheAdminController.java # 缓存管理 ├── service/ # 核心业务服务 │ ├── UserService.java # 用户服务 │ └── PermissionService.java # 权限管理 ├── repository/ # 数据访问层 │ ├── UserRepo.java # 用户数据访问 │ └── StreetInfoRepo.java # 街道信息访问 ├── model/ # 数据模型 │ ├── BaseModel.java # 基础实体 │ └── UserDTO.java # 用户传输对象 └── util/ # 核心工具 └── CacheUtils.java # 缓存工具类 ``` ### 2. 公共模块 (common) ``` src/main/java/com/aisino/iles/common/ ├── util/ # 通用工具 │ ├── ExportExcelHelper.java # Excel导出 │ └── BufferedBlockingQueue.java # 缓冲队列 ├── config/ # 公共配置 │ └── SwaggerConfig.java # API文档配置 ├── service/ # 公共服务 │ ├── AwsS3Service.java # 文件存储服务 │ └── FtpService.java # 文件上传下载服务(对awsS3Service进行封装) └── exception/ # 异常处理 └── GlobalExceptionHandler.java # 全局异常处理 ``` ### 3. 执法业务模块 (lawenforcement) ``` src/main/java/com/aisino/iles/lawenforcement/ ├── service/ # 执法业务服务 │ ├── CaseService.java # 案件管理 │ └── EvidenceService.java # 证据管理 ├── controller/ # 执法控制器 │ ├── CaseController.java # 案件API │ └── EvidenceController.java # 证据API └── model/ # 业务模型 ├── CaseDTO.java # 案件传输对象 └── EvidenceVO.java # 证据展示对象 ``` ## 技术栈 - **核心框架**: Spring Boot 3.1.12 - **持久层**: Spring Data JPA + Hibernate 6.2 - **数据库**: MySQL 8.0 / 达梦 DM8 - **缓存**: Redis 7.0 + Redisson 3.23 - **文件存储**: AWS S3 + FTP - **API文档**: Springdoc OpenAPI 3.0 ## 环境配置 ```yaml # application-dev.yml redisson: config: classpath:application-redisson-cache.yml spring: datasource: url: jdbc:h2:mem:testdb driver-class-name: org.h2.Driver # application-prod.yml spring: datasource: url: jdbc:kingbase8://db:54321/iles_db username: ${DB_USER} password: ${DB_PWD} ``` ## 依赖管理 ```bash mvn install:install-file -DgroupId=com.smartlx -DartifactId=sso-client -Dversion=1.0 -Dpackaging=jar -Dfile=./lib/sso-client-1.0.jar mvn install:install-file -DgroupId=com.aisino.kingbase -DartifactId=KesDialect-for-hibernate6.2 -Dversion=2.0.0 -Dpackaging=jar -Dfile=./lib/KesDialect-for-hibernate6.2-2.0.0.jar mvn install:install-file -DgroupId=com.aisino.sm4Interface -DartifactId=kms-sdk -Dversion=1.2 -Dpackaging=jar -Dfile=./lib/kms-sdk-1.2-SNAPSHOT.jar ``` ## 构建运行 ```bash mvn clean package -DskipTests java -jar target/iles-1.0.0.jar --spring.profiles.active=prod ``` ## API文档 - apifox 在线文档