zhzf/server/README.md

97 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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