# 智慧水务管理系统 **精河县供水工程综合管理平台** ## 项目概述 覆盖物联网接入→数据治理→生产管理→营业收费→巡检运维→移动端的全栈智慧水务解决方案。 ## 核心系统 - **物联网平台** — 多协议设备统一接入与感知层标准 - **数据引擎** — 数据汇聚/治理/服务全生命周期 - **供水生产管理平台** — 在线监测/GIS/水质/调度/报警/数据中心 - **营业收费系统** — 营收/报装/收费/表务/客服/微信网厅/远传集抄/工单 - **巡检管理系统** — 巡检任务/路线/统计分析/巡检APP - **移动APP** — 供水+巡检+营业收费三合一 - **大数据分析系统** — BI决策支持 - **业务流程引擎** — 跨系统流程统一编排 ## 适用场景 精河县及6个片区(精芒、八家户、托里、大镇阿合其、托托)供水管理。 ## 技术架构 架构选型详见 [docs/architecture.md](docs/architecture.md) ## 文档 - [需求规格清单](docs/requirements.md) - [工作量评估](docs/estimation.md) --- ## Docker 部署 ### 前置要求 - Docker Engine 24+ - Docker Compose v2+ - 至少 8GB 可用内存(完整部署建议 16GB) ### 快速启动 ```bash # 1. 克隆项目 git clone http://git.xayunmei.com/bot_ym/water-management-system.git cd water-management-system # 2. 配置环境变量 cp .env.example .env # 根据实际环境修改 .env 中的密码和配置 # 3. 构建并启动所有服务 docker compose up -d --build # 4. 查看启动状态 docker compose ps # 5. 查看日志 docker compose logs -f ``` ### 服务端口说明 | 服务 | 容器端口 | 宿主机端口 | 说明 | |------|---------|-----------|------| | frontend | 80 | 80 | Web 前端 | | gateway | 8080 | 8080 | API 网关 | | base | 8081 | 8091 | 基础服务 | | iot | 8082 | 8092 | 物联网服务 | | data-engine | 8083 | 8093 | 数据引擎 | | bpm | 8084 | 8094 | 业务流程 | | production | 8085 | 8095 | 生产管理 | | revenue | 8086 | 8096 | 营业收费 | | patrol | 8087 | 8097 | 巡检管理 | | bi | 8088 | 8098 | 大数据分析 | | notify | 8089 | 8099 | 消息通知 | | job | 8090 | 8100 | 定时任务 | | postgres | 5432 | 5432 | 数据库 | | redis | 6379 | 6379 | 缓存 | | emqx | 1883 | 1883 | MQTT Broker | | nacos | 8848 | 8848 | 服务注册/配置 | | minio | 9000/9001 | 9000/9001 | 对象存储 | ### 环境变量说明 所有敏感配置通过 `.env` 文件管理,参考 `.env.example`: - `POSTGRES_DB` / `POSTGRES_USER` / `POSTGRES_PASSWORD` — 数据库凭据 - `REDIS_PASSWORD` — Redis 密码 - `EMQX_ADMIN_USER` / `EMQX_ADMIN_PASSWORD` — MQTT 管理账号 - `MINIO_USER` / `MINIO_PASSWORD` — MinIO 凭据 - `SPRING_PROFILES` — Spring 激活的 Profile(默认 `docker`) - `KAFKA_ADVERTISED` — Kafka 外网访问地址 ### 开发环境(仅启动基础设施) 本地开发时,只需启动依赖服务,应用服务通过 IDE 运行: ```bash docker compose -f docker-compose.dev.yml up -d ``` ### 单独构建镜像 ```bash # 构建前端 docker build -t water/frontend -f Dockerfile.frontend . # 构建巡检服务(专用多阶段 Dockerfile) docker build -t water/wm-patrol -f Dockerfile.patrol . # 构建任意 Java 模块(通用多阶段 Dockerfile) docker build --build-arg MODULE=wm-base --build-arg PORT=8081 -t water/wm-base -f Dockerfile . ``` ### 批量构建脚本 ```bash chmod +x docker/ci/build.sh ./docker/ci/build.sh # 本地构建 ./docker/ci/build.sh --push --registry reg.example.com # 构建并推送 ``` ### 常用运维命令 ```bash # 停止所有服务 docker compose down # 停止并删除数据卷(谨慎!) docker compose down -v # 重启单个服务 docker compose restart patrol # 查看服务健康状态 docker compose ps # 查看特定服务日志 docker compose logs -f --tail=100 iot # 进入容器调试 docker exec -it wm-base sh ```