# hospital-inventory **Repository Path**: elfbobo_admin_admin/hospital-inventory ## Basic Information - **Project Name**: hospital-inventory - **Description**: 医疗项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-10-07 - **Last Updated**: 2026-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 医生朋友 · 健康医疗平台(后端) 「医生朋友」是北京怡安医疗科技有限公司推出的一站式 AI 驱动健康管理平台,主打 AI 驱动与全流程健康管理,对标京东健康 / 阿里健康。 核心业务链路:**找医生 → 问诊 → 开处方 → 买药/挂号 → 随访管理**。 ## 技术栈 | 层 | 选型 | |---|---| | JDK | 21 | | 框架 | Spring Boot 3.2.12 | | 微服务 | Spring Cloud 2023.0.3 + Spring Cloud Alibaba 2023.0.3.2 | | 注册/配置中心 | Nacos(`39.98.51.159:8848`,命名空间 `health`) | | 持久层 | MyBatis-Plus 3.5.7 + MySQL 8(库 `health_platform`) | | 缓存 | Redis 7 | | 鉴权 | Spring Security 6 + JWT(jjwt 0.12) | | 数据库连接池 | Druid | ## 模块与负责人 | 模块 | 端口 | 负责人 | 职责 | |---|---|---|---| | health-gateway | 8081 | **wg(组长)** | 路由转发、全局鉴权(JWT)、限流、跨域 | | health-auth | 9500 | **wg** | 注册/登录、JWT 签发与校验、OAuth(已实现登录) | | health-member | 9501 | **wg** | 会员/患者信息、就诊人、收货地址、系统消息 | | health-pay | 9508 | **wg** | 支付渠道对接、支付记录、退费管理、费用分摊(涉及钱,组长把关) | | health-consult | 9503 | **xpp** | 发起问诊、实时沟通(文字/图片/语音)、消息提醒、接诊工作台、病历记录 | | health-doctor | 9502 | 共享 | 医院/科室/医生档案/排班号源(问诊 xpp、挂号 lxl 共用) | | health-rx | 9504 | **jx** | 电子处方录入(非审核部分)、药师审核工作流 | | health-admin | 9512 | **jx** | 医生资质审核、药品目录维护、订单后台查询、财务对账 | | health-chronic | 9510 | **jx** | 健康档案、体征记录(血压/血糖)、随访计划 | | health-content | 9509 | **jx** | 科普文章管理 | | health-drug | 9505 | **lxl** | 药品目录、库存、价格 | | health-order | 9506 | **lxl** | 购物车、订单管理、物流追踪 | | health-appt | 9507 | **lxl** | 科室/医生排班查询、号源锁定、预约/取消 | | health-aics | 9511 | 待定 | 智能客服 AI(RAG 问答、意图识别、人工转接) | | health-common | — | **wg(基建)** | 统一返回结果、基础实体、全局异常、常量、JWT 工具 | > 端口注意:8080 被 Nacos 占用、9200 被 Elasticsearch 占用;服务端口统一用 9500-9512 段,避开 QQ 等桌面软件常用端口。本地若仍冲突,启动时加 `--server.port=xxxx` 覆盖即可。 ## 每个业务模块的统一包结构 ``` health-xxx/ ├── pom.xml └── src/main/java/com/yian/health/ ├── XxxApplication.java # 启动类(带模块注释) └── xxx/ ├── controller/ # REST 接口层,返回 Result ├── service/ # 业务逻辑层(接口 + impl 实现) ├── mapper/ # MyBatis-Plus 数据访问(继承 BaseMapper) └── entity/ # 数据库实体(继承 BaseEntity) ``` ## 代码规范(必读) - **统一返回**:所有接口返回 `Result`(`com.yian.health.common.domain.Result`),成功 `Result.ok(data)`,失败 `Result.fail(msg)`。 - **基础实体**:实体继承 `BaseEntity`,自动带 `id / createTime / updateTime / delFlag`(逻辑删除已全局配置,`del_flag` 由 MyBatis-Plus 自动处理)。 - **Mapper**:继承 `com.baomidou.mybatisplus.core.mapper.BaseMapper`,简单 CRUD 无需写 SQL。 - **异常**:业务异常抛 `ServiceException`,由全局 `GlobalExceptionHandler` 统一转成 `Result`。 - **配置**:本地 `resources` 只有 `application.yml`(放 Nacos 地址/命名空间 + `spring.config.import`),**数据源/Redis/端口等真实配置只放 Nacos** 的 `health` 命名空间下,dataId 为 `{模块名}-dev.yml`。 - **鉴权**:登录后前端带 `Authorization: Bearer `;网关 `AuthGlobalFilter` 白名单外统一校验 JWT。 ## 已实现的参考代码(照这个写) - 登录全链路已跑通:`health-auth` 的 `SysUser` / `AuthService` / `AuthController`(注册、登录、JWT、BCrypt)。 - 网关鉴权:`health-gateway` 的 `AuthGlobalFilter`。 - 前端原型:`health-ui/index.html`(登录 → 患者首页空间)。 ## 测试账号 - 管理员:`admin` / `admin123` - 患者:`patient` / `123456` ## 本地运行 1. 确保能连上 Nacos `39.98.51.159:8848`(命名空间 `health`)。 2. 项目要求 JDK 21。Windows 下直接执行 `build.cmd`,脚本会自动查找本机 JDK 21,并使用项目自带的 Maven Wrapper 完成全部模块构建,不需要单独安装 Maven。 3. 启动单个模块:`run-module.cmd health-auth`。也可以追加 Spring Boot 参数,例如:`run-module.cmd health-auth --server.port=9600`。 也可以手动使用 Maven Wrapper: ```bat mvnw.cmd clean package -DskipTests mvnw.cmd -pl health-auth -am package -DskipTests java -jar health-auth\target\health-auth-1.0.0.jar ``` 在 IDEA 中请将 Project SDK、Maven Runner JRE 都设置为 JDK 21,然后从根目录 `pom.xml` 重新加载 Maven 项目。每个业务模块中的 `XxxApplication` 都可以直接运行;`health-common` 是公共依赖模块,没有启动类。