zhzf/server/README.md

97 lines
3.4 KiB
Markdown
Raw Normal View History

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