97 lines
3.4 KiB
Markdown
97 lines
3.4 KiB
Markdown
# 综合执法系统后端服务
|
||
|
||
基于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 在线文档
|