# 程序结构说明
* 整个文件夹里面有两个静态文件夹,一个是public放置所有的html的前端页面
* 另外一个是static文件夹,放置代替数据库的静态数据,在data文件夹里
## 项目简介
不良反应监测系统(buliangfanying)是一个基于Spring Boot的Java Web应用程序,主要用于食品安全监测、风险评估和预警管理。系统集成了多种数据源,提供数据可视化、统计分析、风险预警等功能。
## 技术栈
### 后端技术
- **框架**: Spring Boot 2.7.14
- **数据库**: 达梦数据库 (DM)、ClickHouse、MySQL
- **ORM**: MyBatis Plus 3.5.3.1
- **多数据源**: dynamic-datasource-spring-boot-starter
- **安全框架**: Apache Shiro 1.4.0
- **API文档**: Swagger 3.0.0
- **任务调度**: Spring Scheduling
- **日志**: SLF4J + Logback
### 工具库
- **工具类**: Hutool 5.8.10、Apache Commons Lang3
- **JSON处理**: Jackson、FastJSON 1.2.83
- **HTTP客户端**: OkHttp
- **Excel处理**: EasyExcel 3.2.1
- **中文处理**: HanLP 1.8.4
- **地理编码**: Bitlap Geocoding 1.3.1
- **JWT**: jjwt 0.9.0
### 前端技术
- **框架**: AngularJS、Vue.js
- **UI组件**: Layui、Element UI、Bootstrap
- **图表库**: ECharts 4.9.0、ECharts 5
- **地图**: 自定义地图组件
- **文件上传**: ng-file-upload
## 项目结构
```
buliangfanying/
├── src/main/java/com/example/demo/
│ ├── aspectj/ # AOP切面
│ ├── cleanData/ # 数据清洗
│ ├── config/ # 配置类
│ ├── constant/ # 常量定义
│ ├── controller/ # 控制器层
│ ├── domain/ # 领域模型
│ ├── entity/ # 实体类
│ ├── mapper/ # MyBatis映射器
│ ├── service/ # 服务层
│ ├── shiro/ # Shiro安全配置
│ └── util/ # 工具类
├── src/main/resources/
│ ├── application.yml # 主配置文件
│ ├── application-dev.yml # 开发环境配置
│ ├── application-prod.yml # 生产环境配置
│ ├── mapper/ # MyBatis XML映射文件
│ └── public/ # 前端静态资源
│ ├── app/ # AngularJS应用
│ ├── component/ # 组件库
│ ├── Content/ # 第三方库
│ ├── designmap/ # 地图设计
│ ├── fengxianpinggubi/ # 风险评估
│ ├── map/ # 地图相关
│ ├── Scripts/ # JavaScript库
│ └── vue/ # Vue.js应用
├── json/ # JSON数据文件
├── lib/ # 本地JAR包
├── predictions/ # 预测结果
└── static/ # 静态资源
```
## 主要功能模块
### 1. 数据管理
- **基础信息管理**: 企业信息、检测单位、检测项目等
- **数据导入导出**: Excel文件处理、数据清洗
- **数据统计分析**: 各类统计报表、趋势分析
### 2. 监测管理
- **检测操作管理**: 检测计划、检测执行、结果录入
- **检测项目管理**: 检测标准、检测方法管理
- **检测报告管理**: 报告生成、审核、发布
### 3. 风险评估
- **风险预警**: 实时风险监测、预警规则配置
- **风险评估**: 风险等级评定、评估报告
- **风险地图**: 地理信息可视化、风险分布展示
### 4. 统计分析
- **综合统计**: 多维度数据分析
- **专项分析**: 特定领域深度分析
- **数据可视化**: 图表展示、大屏展示
### 5. 系统管理
- **用户管理**: 用户权限、角色管理
- **日志管理**: 操作日志、系统日志
- **系统配置**: 参数配置、字典管理
## 环境要求
- **JDK**: 1.8+
- **Maven**: 3.6+
- **数据库**: 达梦数据库 8.1+ / ClickHouse / MySQL 8.0+
- **浏览器**: Chrome、Firefox、Edge (支持ES6)
## 快速开始
### 1. 环境准备
```bash
# 克隆项目
git clone [项目地址]
cd buliangfanying
# 检查Java版本
java -version
```
### 2. 数据库配置
编辑 `src/main/resources/application-dev.yml`,配置数据库连接信息:
```yaml
spring:
datasource:
dynamic:
primary: master
datasource:
master:
url: jdbc:dm://localhost:5236/buliangfanying
username: your_username
password: your_password
driver-class-name: dm.jdbc.driver.DmDriver
```
### 3. 运行项目
```bash
# 编译项目
mvn clean compile
# 运行项目
mvn spring-boot:run
# 或者打包后运行
mvn clean package
java -jar target/buliangfanying-0.0.1-SNAPSHOT.jar
```
### 4. 访问应用
- **应用地址**: http://localhost:8080
- **API文档**: http://localhost:8080/swagger-ui/
## 部署说明
### 开发环境
- 使用 `application-dev.yml` 配置
- 支持热重载和调试
### 生产环境
- 使用 `application-prod.yml` 配置
- 建议使用Docker容器化部署
- 配置反向代理(Nginx)
## 开发规范
### 代码规范
- 遵循阿里巴巴Java开发手册
- 使用Lombok简化代码
- 统一异常处理
- 规范日志输出
### 数据库规范
- 使用MyBatis Plus进行数据操作
- 配置多数据源支持
- 使用Druid连接池
### 前端规范
- 模块化开发
- 组件复用
- 响应式设计
## 常见问题
### 1. 数据库连接问题
- 检查数据库服务是否启动
- 验证连接参数是否正确
- 确认数据库驱动版本兼容性
### 2. 前端页面显示问题
- 检查静态资源路径
- 确认浏览器兼容性
- 查看浏览器控制台错误
### 3. 权限访问问题
- 检查Shiro配置
- 确认用户角色权限
- 查看系统日志
## 联系方式
如有问题或建议,请联系开发团队。
## 许可证
本项目仅供内部使用,请勿外传。