# 预约挂号 **Repository Path**: sun_zhengxun/cloud-yygh ## Basic Information - **Project Name**: 预约挂号 - **Description**: 预约挂号微服务项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-31 - **Last Updated**: 2026-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 预约挂号管理系统 ## 项目简介 cloud-yygh 是一个基于 **Vue.js** 和 **Spring Boot** 构建的医院预约挂号管理系统。该项目旨在为医院提供一套完整的后台管理解决方案,涵盖了医院信息管理、排班设置、数据字典维护以及预约订单处理等核心业务功能。 系统采用了前后端分离的架构模式,前端基于成熟的 `vue-admin-template` 模板开发,界面简洁美观;后端基于 Spring Boot 生态构建,利用 MyBatis-Plus 进行高效的数据持久化操作,并集成了 Redis 用于数据缓存及接口签名校验。 ## 技术栈 ### 前端 (yygh-admin) * **核心框架**: Vue.js * **UI 组件库**: Element UI * **状态管理**: Vuex * **路由管理**: Vue Router * **构建工具**: Webpack ### 后端 (yygh-parent) * **核心框架**: Spring Boot * **ORM 框架**: MyBatis-Plus * **数据库**: MySQL * **缓存**: Redis * **API 文档**: Swagger2 * **工具库**: Lombok, Hutool ## 项目结构 ``` yygh-admin/ ├── yygh-admin/ # 前端项目目录 │ ├── src/ │ │ ├── api/ # 接口封装 (dict, hosp, hospset, schedule) │ │ ├── components/ # 公共组件 (SvgIcon, Breadcrumb, Hamburger) │ │ ├── router/ # 路由配置 │ │ ├── store/ # Vuex 状态管理 │ │ ├── utils/ # 工具函数 (Auth, Request) │ │ └── views/ # 页面视图 (Hosp, Dict, Schedule, Login) │ └── index.html # 入口 HTML │ ├── yygh-parent/ # Maven 父项目 │ ├── common/ # 公共模块 │ │ ├── common-util/ # 通用工具类 (Result 响应体, Exception 异常) │ │ └── service-util/ # 服务通用配置 (Redis, Swagger, HttpHelper) │ │ │ └── hospital-manage/ # 医院管理业务模块 │ ├── controller/ # 控制器 (ApiController, HospitalController) │ ├── service/ # 服务层 (ApiService, HospitalService) │ ├── mapper/ # 数据访问层 │ └── model/ # 实体类 (HospitalSet, Schedule, OrderInfo) │ └── LICENSE # 开源协议 ``` ## 核心功能 1. **医院设置管理 (`hospset`)**: 维护医院的 API 对接密钥 (`signKey`) 和编码信息,支持医院数据的增删改查。 2. **医院数据管理 (`hosp`)**: 同步和管理医院基础信息、科室信息 (`department`) 以及排班计划 (`schedule`)。 3. **数据字典 (`dict`)**: 统一管理系统中使用的各类枚举值和配置项。 4. **接口聚合网关 (`ApiController`)**: 提供统一的数据接收与转发接口,用于与第三方医院系统进行数据交互。 5. **订单处理 (`HospitalController`)**: 处理预约挂号订单,包括下单 (`submitOrder`)、支付状态更新 (`updatePayStatus`) 和取消订单 (`updateCancelStatus`)。 6. **权限控制**: 基于 Token 的用户认证机制,确保后台访问安全。 ## 环境搭建与运行 ### 1. 环境准备 * JDK 1.8+ * Maven 3.x * Node.js & npm (建议 v14+) * MySQL 5.7+ / 8.0+ * Redis 3.x+ ### 2. 后端部署 (yygh-parent) **配置数据库:** 创建数据库 `yygh_hospital`,并执行 SQL 脚本初始化表结构。 修改 `yygh-parent/hospital-manage/src/main/resources/application.yml` 中的数据库连接配置。 **配置 Redis:** 确保本地 Redis 服务已启动,并在配置文件中正确配置 Redis 地址。 **编译运行:** ```bash # 进入父项目目录 cd yygh-parent # 编译安装 mvn clean install # 运行服务 (hospital-manage) cd hospital-manage mvn spring-boot:run ``` 服务启动后,可通过 Swagger 文档 (通常为 `http://localhost:8080/swagger-ui.html`) 查看后端接口文档。 ### 3. 前端部署 (yygh-admin) ```bash # 进入前端目录 cd yygh-admin # 安装依赖 npm install # 启动开发服务器 (默认端口 9528) npm run dev ``` 启动成功后,访问 `http://localhost:9528` 即可进入登录界面。 ## API 接口说明 系统后端提供了一套基于 HTTP 的 API 用于数据同步,主要由 `ApiController` 和 `HospitalController` 提供: * `POST /hospital/save`: 保存/更新医院信息。 * `POST /department/save`: 维护科室数据。 * `POST /schedule/save`: 同步排班数据。 * `POST /order/submitOrder`: 接收预约订单请求。 * `POST /order/updatePayStatus`: 更新支付状态。 所有接口均包含签名校验机制,密钥在医院设置 (`hospital_set`) 表中配置。 ## 许可证 本项目遵循 [MIT](LICENSE) 开源协议。