pipIrr 智能灌溉系统
项目概述
pipIrr是一套基于Java的智能管道灌溉系统解决方案,用于实现水资源的智能化管理与灌溉控制。系统集成了远程终端控制、GIS地理信息、水资源监测与分析、微信接入等多种功能,为智慧农业和水利工程提供全面的技术支持。
系统架构
系统采用微服务架构,基于Spring Boot 3构建,主要包括以下几个核心部分:
 
 
 - 前端应用层:提供Web界面、移动应用、微信公众号等多种交互方式
  
 - 业务服务层:处理核心业务逻辑,包括灌溉管理、项目管理、数据统计等
  
 - 中间件层:提供RTU(远程终端单元)通信、第三方系统集成等功能
  
 - 基础设施层:提供数据存储、缓存、消息队列等基础服务
  
模块说明
父模块 (pipIrr-platform)
作为整个项目的父模块,管理依赖版本和构建配置。
核心子模块
 
 
 - pipIrr-common: 公共组件,提供工具类、通用配置等
  
 - pipIrr-global: 全局配置和服务
  
 - pipIrr-web: Web应用模块集合
  
 - pipIrr-web-base: 基础数据服务
  
 - pipIrr-web-sso: 单点登录服务
  
 - pipIrr-web-irrigate: 灌溉管理
  
 - pipIrr-web-gis: GIS地理信息服务
  
 - pipIrr-web-project: 项目管理
  
 - pipIrr-web-statistics: 数据统计分析
  
 - pipIrr-web-remote: 远程控制
  
 - pipIrr-web-wechat: 微信集成
  
 - pipIrr-web-app: 移动应用服务
  
 - pipIrr-web-file: 文件管理
  
 - pipIrr-web-operation: 运维管理
  
 - pipIrr-web-sell: 销售管理
  
 - pipIrr-web-temp: 临时模块
  
 - pipIrr-mw: 中间件服务
  
 - pipIrr-mw-rtu: RTU设备通信
  
 - pipIrr-mw-rtu3rd: 第三方RTU集成
  
 - pipIrr-mw-simulate-rtu: RTU模拟器
  
 - pipIrr-mwTest-server: 测试服务器
  
 - pipIrr-mwTest-client: 测试客户端
  
技术栈
 
 
 - 基础框架: Spring Boot 3.1.3
  
 - JDK版本: Java 20
  
 - Web服务: Tomcat 10.1.12
  
 - 数据库: MySQL 8.0.33
  
 - ORM框架: MyBatis-Plus 3.5.3.2
  
 - 数据库连接池: Druid 1.2.20
  
 - API文档: SpringDoc OpenAPI 2.2.0
  
 - JSON处理: FastJSON 2.0.40
  
 - 对象映射: MapStruct 1.5.5.Final
  
 - 工具集: Hutool 5.8.22
  
 - 日志框架: Log4j2 2.20.0
  
开发环境搭建
前置条件
 
 
 - JDK 20
  
 - Maven 3.8+
  
 - MySQL 8.0+
  
 - IDE推荐: IntelliJ IDEA
  
构建步骤
 
 
 克隆代码库
 bash git clone <repository-url> 
  
 导入项目到IDE
 使用IDEA导入Maven项目
  
 配置数据库
 在相应配置文件中设置数据库连接信息
  
 编译项目
 bash mvn clean package 
  
部署说明
开发环境
 
mvn spring-boot:run -Dspring.profiles.active=dev
生产环境
 
 
 打包应用
 bash mvn clean package -Dspring.profiles.active=prod 
  
 运行jar包
 bash java -jar <模块名>-<版本号>.jar 
  
项目文档
详细的项目文档位于 pipIrr-platform/文档/ 目录下,包括:
- API接口文档
- 数据库设计
- 部署指南
- 编码规范
版本信息
当前版本: 1.0.0
贡献指南
 
 
 - Fork 本仓库
  
 - 创建功能分支 (
git checkout -b feature/AmazingFeature)  
 - 提交变更 (
git commit -m 'Add some AmazingFeature')  
 - 推送到分支 (
git push origin feature/AmazingFeature)  
 - 创建Pull Request