# 医院物业 SaaS 管理后台 > 多租户医院物业管理平台,涵盖报修、巡检、保洁、考勤、合同、招标等核心业务模块,支持蓝牙打卡、微信小程序端操作。 ## 技术栈 | 类别 | 技术 | |------|------| | 语言 | Java 17 | | 框架 | Spring Boot 3.2.5 | | ORM | MyBatis-Plus 3.5.5 | | 安全 | Spring Security + JWT | | 数据库 | MariaDB 10.6+ | | 缓存 | Redis 7 | | API 文档 | SpringDoc / Swagger | | 构建工具 | Maven 3.9+ | | 容器化 | Docker + Docker Compose | ## 项目结构 ``` backend/ ├── src/main/java/com/hospital/mgmt/ │ ├── common/ # 通用组件 │ │ ├── annotation/ # 自定义注解(@AuditLog, @ReadOnly) │ │ ├── base/ # 基础实体类 │ │ ├── context/ # 租户上下文(ThreadLocal) │ │ ├── exception/ # 全局异常处理 │ │ └── result/ # 统一响应封装 │ ├── config/ # 配置类 │ ├── security/ # 安全模块(JWT、认证、租户拦截) │ └── modules/ # 业务模块 │ ├── auth/ # 认证(登录/刷新Token) │ ├── org/ # 组织架构(医院/物业/班组/员工) │ ├── permission/ # 权限管理(用户/角色/权限配置) │ ├── repair/ # 在线报修 │ ├── inspection/ # 巡检管理 │ ├── cleaning/ # 保洁管理 │ ├── evaluation/ # 服务评价 │ ├── attendance/ # 考勤打卡 │ ├── contract/ # 合同管理 │ ├── bidding/ # 分段招标 │ ├── device/ # 蓝牙设备管理 │ ├── audit/ # 操作日志 │ ├── system/ # 系统管理(字典/版本/模板) │ └── plugin/ # IModulePlugin 扩展接口 ├── src/main/resources/ │ ├── application.yml # 默认配置 │ ├── application-prod.yml # 生产配置 │ └── db/init.sql # 数据库初始化脚本 ├── Dockerfile └── pom.xml ``` ## 快速开始 ### 前置条件 - JDK 17+ - Maven 3.9+ - MariaDB 10.6+ - Redis 7+ ### 1. 本地开发 ```bash # 克隆项目 git clone cd 医院后勤管理 # 初始化数据库 mysql -uroot -proot < backend/src/main/resources/db/init.sql # 修改配置(如需要) # 编辑 backend/src/main/resources/application.yml 中的数据库和Redis连接信息 # 编译运行 cd backend mvn clean package -DskipTests java -jar target/hospital-mgmt-1.0.0.jar ``` 应用启动后访问: - API 基地址:`http://localhost:8080/api/v1` - Swagger UI:`http://localhost:8080/api/v1/swagger-ui.html` ### 2. Docker Compose 部署(推荐) ```bash # 复制环境变量模板并修改 cp .env.example .env # 一键启动(MariaDB + Redis + 后端) docker compose up -d # 查看日志 docker compose logs -f backend # 停止 docker compose down ``` ### 3. 仅构建后端镜像 ```bash cd backend docker build -t hospital-mgmt:1.0.0 . ``` ## 环境变量 | 变量 | 说明 | 默认值 | |------|------|--------| | `DB_HOST` | MariaDB 主机 | localhost | | `DB_PORT` | MariaDB 端口 | 3306 | | `DB_NAME` | 数据库名 | hospital_mgmt | | `DB_USER` | 数据库用户 | root | | `DB_PASSWORD` | 数据库密码 | root | | `REDIS_HOST` | Redis 主机 | localhost | | `REDIS_PORT` | Redis 端口 | 6379 | | `REDIS_PASSWORD` | Redis 密码 | (空) | | `JWT_SECRET` | JWT 签名密钥 | (内置默认值) | | `JAVA_OPTS` | JVM 参数 | -Xms256m -Xmx512m | | `SPRING_PROFILES_ACTIVE` | Spring Profile | prod | ## 默认账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 超级管理员 | superadmin | admin123 | ## 核心功能模块 ### 在线报修 - 工单全生命周期:提交 → 智能派单 → 接单 → 处理 → 验收 → 评价 - 支持紧急催单、延期申请、协助工单 - 补录机制(需审批) ### 巡检管理 - 自定义巡检区域与计划 - 支持日/周/月/自定义频率 - 蓝牙打卡验证巡检人员位置 - 异常自动转报修工单 ### 保洁管理 - 五级区域树结构管理 - 日保/深度/临时任务类型 - 排班与任务自动生成 - 抽检功能 ### 考勤打卡 - 基于蓝牙 Beacon 的近距离验证 - 灵活配置上下班规则 - 异常申诉与补录审批 ### 合同管理 - 合同全生命周期 - 付款节点管理与到期预警 - 合同变更审批流 ### 分段招标 - 招标计划与标段管理 - 供应商资质审核 - 黑名单机制 ### 服务评价 - 多模块统一评价体系 - 低评分自动通知 - 评价回复机制 ### 权限管理 - RBAC + 四级数据权限(全院/医院/班组/个人) - 用户级权限覆盖 - Redis 实时权限变更广播 ### 蓝牙策略 - 各院区独立配置打卡策略 - 必选/可选/禁用三级配置 - 策略审批生效机制 ### 扩展接口 (IModulePlugin) - SPI 机制支持模块热插拔 - 自定义菜单、路由、权限、数据表 - 运行时模块启用/禁用 ## API 规范 - RESTful 风格 - 统一响应格式:`{ code, message, data, timestamp }` - 分页响应:`{ list, pagination: { page, pageSize, total, totalPages } }` - 错误码:5 位数字(4xxxx 客户端错误,5xxxx 服务端错误) ## License Private — Internal Use Only