初始化
This commit is contained in:
56
docs/projects/xk-api-yii/architecture.md
Normal file
56
docs/projects/xk-api-yii/architecture.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# xk-api-yii 基类架构
|
||||
|
||||
## 多应用结构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph 应用层
|
||||
ADMIN[admin/<br/>管理后台]
|
||||
MEMBER[member/<br/>会员端]
|
||||
PLATFORM[platform/<br/>平台端]
|
||||
SERVICE[service/<br/>服务端]
|
||||
CONSOLE[console/<br/>控制台]
|
||||
end
|
||||
|
||||
subgraph 共享层 common/
|
||||
MODELS[models/<br/>共享模型]
|
||||
SERVICES[services/<br/>业务服务]
|
||||
COMPONENTS[components/<br/>共享组件]
|
||||
JOBS[jobs/<br/>队列任务]
|
||||
EVENTS[events/<br/>事件]
|
||||
HANDLERS[handlers/<br/>事件处理器]
|
||||
end
|
||||
|
||||
ADMIN --> MODELS
|
||||
MEMBER --> MODELS
|
||||
PLATFORM --> MODELS
|
||||
SERVICE --> MODELS
|
||||
CONSOLE --> MODELS
|
||||
```
|
||||
|
||||
## 目录说明
|
||||
|
||||
| 目录 | 说明 |
|
||||
|------|------|
|
||||
| `common/models/` | 共享数据模型(对应 z_o_xk 库表) |
|
||||
| `common/modelsgii/` | Gii 自动生成的模型 |
|
||||
| `common/services/` | 业务服务层 |
|
||||
| `common/components/` | 共享组件(支付、短信等) |
|
||||
| `common/jobs/` | 队列任务 |
|
||||
| `common/events/` | 事件定义 |
|
||||
| `common/handlers/` | 事件处理器 |
|
||||
| `common/validators/` | 自定义验证器 |
|
||||
| `common/enums/` | 枚举定义 |
|
||||
| `common/foundation/` | 基础类 |
|
||||
| `console/` | 定时任务、控制台命令 |
|
||||
|
||||
## 数据库
|
||||
|
||||
使用 `z_o_xk` 库,Yii2 风格表名(`yii_*` 前缀)。
|
||||
|
||||
## 与 xk-api 的关系
|
||||
|
||||
xk-api-yii 是旧系统,xk-api 是新系统。两套系统通过以下方式共存:
|
||||
- 共享同一个 `z_o_xk` 数据库
|
||||
- xk-api 通过 `OldApiClient` 调用 xk-api-yii 的接口
|
||||
- 新功能在 xk-api 中开发,旧功能逐步迁移
|
||||
35
docs/projects/xk-api-yii/design.md
Normal file
35
docs/projects/xk-api-yii/design.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# xk-api-yii 设计思路
|
||||
|
||||
## 架构决策
|
||||
|
||||
### Yii2 Advanced
|
||||
|
||||
选择 Yii2 Advanced 作为旧系统框架:
|
||||
- 成熟的 PHP 框架,适合企业级应用
|
||||
- 多应用模式(admin/member/platform/service)
|
||||
- 内置 RBAC 权限体系
|
||||
- Gii 代码生成器
|
||||
|
||||
### 多应用分离
|
||||
|
||||
每个应用独立部署,共享 common 代码:
|
||||
- 减少单应用复杂度
|
||||
- 各应用可独立扩展
|
||||
- 共享模型和服务层
|
||||
|
||||
### 迁移策略
|
||||
|
||||
旧系统向新系统迁移的策略:
|
||||
1. **共享数据库**:两套系统操作同一个 `z_o_xk` 库
|
||||
2. **接口桥接**:xk-api 通过 `OldApiClient` 调用旧接口
|
||||
3. **渐进迁移**:新功能在 xk-api 开发,旧功能逐步迁移
|
||||
4. **数据同步**:通过 Open API 同步关键数据
|
||||
|
||||
## 与 xk-api 的关系
|
||||
|
||||
| 维度 | xk-api-yii | xk-api |
|
||||
|------|------------|--------|
|
||||
| 框架 | Yii2 | Laravel 12 |
|
||||
| 数据库 | z_o_xk | z_xk + z_o_xk |
|
||||
| 状态 | 维护模式 | 活跃开发 |
|
||||
| 功能 | 旧功能 | 新功能 + 迁移功能 |
|
||||
140
docs/projects/xk-api-yii/models.md
Normal file
140
docs/projects/xk-api-yii/models.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# xk-api-yii 模型分析
|
||||
|
||||
所有模型对应 `z_o_xk` 库的 `yii_*` 表。
|
||||
|
||||
## 配置/系统 (config/)
|
||||
|
||||
| 模型 | 表名 | 说明 |
|
||||
|------|------|------|
|
||||
| `AdminModel` | `yii_admin` | 管理员 |
|
||||
| `AdminAccessTokenModel` | `yii_admin_access_token` | 管理员令牌 |
|
||||
| `AdminRoleModel` | `yii_admin_role` | 管理员角色关联 |
|
||||
| `AttachmentModel` | `yii_attachment` | 文件附件 |
|
||||
| `AttachmentGroupModel` | `yii_attachment_group` | 附件分组 |
|
||||
| `AuthAssignmentModel` | `yii_auth_assignment` | RBAC 分配 |
|
||||
| `AuthItemModel` | `yii_auth_item` | RBAC 项 |
|
||||
| `AuthItemChildModel` | `yii_auth_item_child` | RBAC 层级 |
|
||||
| `AuthRoleModel` | `yii_auth_role` | 认证角色 |
|
||||
| `AuthRuleModel` | `yii_auth_rule` | 认证规则(菜单/权限) |
|
||||
| `BaseConfigModel` | `yii_base_config` | 基础配置(协议) |
|
||||
| `BillsModel` | `yii_bills` | 账单 |
|
||||
| `CallbackModel` | `yii_callback` | 回调记录 |
|
||||
| `CategoriesModel` | `yii_categories` | 分类 |
|
||||
| `ConfigModel` | `yii_config` | 系统配置 |
|
||||
| `MenuModel` | `yii_menu` | 菜单 |
|
||||
| `NavModel` | `yii_nav` | 轮播图 |
|
||||
| `PayConfigModel` | `yii_pay_config` | 支付配置 |
|
||||
| `PlatformModel` | `yii_platform` | 平台配置 |
|
||||
| `PlateModel` | `yii_plate` | 平台(旧) |
|
||||
| `RegionModel` | `yii_region` | 地区 |
|
||||
| `RoleModel` | `yii_role` | 角色 |
|
||||
| `RoleMenuModel` | `yii_role_menu` | 角色-菜单 |
|
||||
| `SystemConfigModel` | `yii_system_config` | 系统配置 |
|
||||
| `SystemNoticeModel` | `yii_system_notice` | 系统通知 |
|
||||
|
||||
## 医生 (doctor/)
|
||||
|
||||
| 模型 | 表名 | 说明 |
|
||||
|------|------|------|
|
||||
| `DoctorInfoModel` | `yii_doctor_info` | 医生基本信息 |
|
||||
| `DoctorServiceModel` | `yii_doctor_service` | 医生服务设置 |
|
||||
| `DoctorIdentityModel` | `yii_doctor_identity` | 医生身份验证 |
|
||||
| `DoctorPracticingModel` | `yii_doctor_practicing` | 医生执业证书 |
|
||||
| `DoctorRegisterModel` | `yii_doctor_register` | 医生挂号 |
|
||||
| `DoctorRosteringModel` | `yii_doctor_rostering` | 医生排班 |
|
||||
| `DoctorNoticeModel` | `yii_doctor_notice` | 医生停诊通知 |
|
||||
| `DoctorPatientModel` | `yii_doctor_patient` | 医生患者列表 |
|
||||
| `DoctorPatientRemarkModel` | `yii_doctor_patient_remark` | 患者备注 |
|
||||
| `DoctorArticleModel` | `yii_doctor_article` | 医生文章 |
|
||||
| `DoctorApplyModel` | `yii_doctor_apply` | 医生升级申请 |
|
||||
| `DoctorCommonModel` | `yii_doctor_common` | 医生常用药品 |
|
||||
| `DoctorTagIllModel` | `yii_doctor_tag_ill` | 医生疾病标签 |
|
||||
| `DoctorTagWordModel` | `yii_doctor_tag_word` | 医生常用语 |
|
||||
| `DoctorTitleModel` | `yii_doctor_title` | 医生职称 |
|
||||
| `DoctorStoreModel` | `yii_store_doctor` | 门店-医生关联 |
|
||||
| `DepartmentModel` | `yii_department` | 科室 |
|
||||
| `DiagnoseCommonModel` | `yii_diagnose_common` | 常用医嘱 |
|
||||
| `DiseaseModel` | `yii_disease` | 疾病库 |
|
||||
| `DiseaseCommonModel` | `yii_disease_common` | 常用疾病 |
|
||||
| `PharmacistIdentityModel` | `yii_pharmacist_identity` | 药师身份验证 |
|
||||
|
||||
## 药品 (drug/)
|
||||
|
||||
| 模型 | 表名 | 说明 |
|
||||
|------|------|------|
|
||||
| `DrugModel` | `yii_drug` | 药品主表 |
|
||||
| `DrugCategoriesModel` | `yii_drug_categories` | 药品分类 |
|
||||
| `DrugStoreRelationsModel` | `yii_drug_store_relations` | 药品-门店定价 |
|
||||
| `DrugNatureModel` | `yii_drug_nature` | 药品配伍(十八反十九畏) |
|
||||
| `DrugDosageModel` | `yii_drug_dosage` | 中药剂量 |
|
||||
| `DrugUseFrequencyModel` | `yii_drug_use_frequency` | 用药频率 |
|
||||
| `DrugUseNumModel` | `yii_drug_use_num` | 用药数量 |
|
||||
| `DrugUseTimeModel` | `yii_drug_use_time` | 用药时间 |
|
||||
| `DrugUseTypeModel` | `yii_drug_use_type` | 用药方式 |
|
||||
| `DrugUseWayModel` | `yii_drug_use_way` | 煎煮方式 |
|
||||
| `DrugStoreModel` | `yii_drugstore` | 药品仓库 |
|
||||
| `DrugStoreDrugModel` | `yii_drugstore_drug` | 仓库药品 |
|
||||
| `CartModel` | `yii_carts` | 购物车 |
|
||||
| `PackageMethodModel` | `package_method` | 包装方式 |
|
||||
| `ProcessRuleModel` | `yii_process_rule` | 加工规则 |
|
||||
| `ProcessRuleNoteModel` | `yii_process_rule_note` | 加工规则说明 |
|
||||
| `WestUnitModel` | `yii_west_unit` | 西药单位 |
|
||||
|
||||
## 订单 (order/)
|
||||
|
||||
| 模型 | 表名 | 说明 |
|
||||
|------|------|------|
|
||||
| `OrderModel` | `yii_order` | 咨询订单 |
|
||||
| `ProductOrderModel` | `yii_product_order` | 产品订单 |
|
||||
| `ProductOrderItemsModel` | `yii_product_order_items` | 订单明细 |
|
||||
| `RegisterOrderModel` | `yii_register` | 挂号订单 |
|
||||
| `OrderRefundModel` | `yii_order_refund` | 咨询退款 |
|
||||
| `RegisterRefundModel` | `yii_register_refund` | 挂号退款 |
|
||||
| `ProductOrderRefundModel` | `yii_product_order_refund` | 产品退款 |
|
||||
| `OrderNumberChangeModel` | `yii_order_number_change` | 回复次数变更 |
|
||||
| `OrderVideoInfoModel` | `yii_order_video_info` | 视频通话信息 |
|
||||
| `PaymentOrderModel` | `yii_payment_order` | 咨询支付记录 |
|
||||
| `PaymentProductOrderModel` | `yii_payment_product_order` | 产品支付记录 |
|
||||
| `PaymentRegisterModel` | `yii_payment_register` | 挂号支付记录 |
|
||||
| `PaymentRefundModel` | `yii_payment_refund` | 咨询退款记录 |
|
||||
| `PaymentProductRefundModel` | `yii_payment_product_refund` | 产品退款记录 |
|
||||
| `PaymentRegisterRefundModel` | `yii_payment_register_refund` | 挂号退款记录 |
|
||||
| `RefundReasonModel` | `yii_refund_reason` | 退款原因 |
|
||||
|
||||
## 处方 (prescription/)
|
||||
|
||||
| 模型 | 表名 | 说明 |
|
||||
|------|------|------|
|
||||
| `PrescriptionModel` | `yii_prescription` | 主处方表 |
|
||||
| `PrescriptionChineseModel` | `yii_prescription_chinese` | 中药处方 |
|
||||
| `PrescriptionWestModel` | `yii_prescription_west` | 西药处方 |
|
||||
| `PrescriptionGranularModel` | `yii_prescription_granular` | 颗粒处方 |
|
||||
| `PrescriptionServerModel` | `yii_prescription_server` | 服务包处方 |
|
||||
| `TransferPrescriptionModel` | `yii_transfer_prescription` | 转诊处方 |
|
||||
| `PrescripOrderLogModel` | `yii_prescrip_order_log` | 处方订单日志 |
|
||||
| `PrescripOrderRefundModel` | `yii_prescrip_order_refund` | 处方订单退款 |
|
||||
|
||||
## 财务 (finacne/)
|
||||
|
||||
| 模型 | 表名 | 说明 |
|
||||
|------|------|------|
|
||||
| `LedgerModel` | `yii_ledger` | 分账记录 |
|
||||
| `LedgerLogModel` | `yii_ledger_log` | 分账变更日志 |
|
||||
| `CashAccountModel` | `yii_cash_account` | 提现账户 |
|
||||
| `CashApplyModel` | `yii_cash_apply` | 提现申请 |
|
||||
| `ChargeCashPayRecordModel` | `yii_charge_cash_pay_record` | 代理付款记录 |
|
||||
| `FundWaterModel` | `yii_fund_water` | 资金流水 |
|
||||
| `ReconciliationModel` | `yii_reconciliation` | 对账记录 |
|
||||
| `RefundBillsModel` | `yii_refund_bills` | 退款账单 |
|
||||
|
||||
## 其他
|
||||
|
||||
| 目录 | 主要模型 | 说明 |
|
||||
|------|----------|------|
|
||||
| `user/` | `UserModel`, `ServiceUserModel`, `UserPatientModel` | 用户、服务用户、患者 |
|
||||
| `recipe/` | `ChineseRecipeModel`, `WestRecipeModel`, `GranularRecipeModel` | 处方笺 |
|
||||
| `hospital/` | `HospitalModel`, `HospitalYardModel` | 医院、院区 |
|
||||
| `im/` | `ImMessageModel`, `ImMessageSessionModel` | 即时通讯 |
|
||||
| `log/` | `LogModel`, `OldOpLogModel` | 日志 |
|
||||
| `physical/` | `PhysicalPackageModel`, `PhysicalReserveModel` | 体检 |
|
||||
| `express/` | `ExpressFeesModel` | 快递费用 |
|
||||
29
docs/projects/xk-api-yii/modules/admin.md
Normal file
29
docs/projects/xk-api-yii/modules/admin.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 管理后台模块
|
||||
|
||||
## 模块说明
|
||||
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| 管理员管理 | 管理员 CRUD、角色分配 |
|
||||
| RBAC 权限 | 基于 Yii2 RBAC 的权限体系 |
|
||||
| 系统配置 | 键值对配置管理 |
|
||||
| 菜单管理 | 动态菜单配置 |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
admin/
|
||||
├── controllers/ # 控制器
|
||||
├── models/ # 模型
|
||||
├── views/ # 视图
|
||||
└── config/ # 配置
|
||||
```
|
||||
|
||||
## RBAC 权限体系
|
||||
|
||||
Yii2 内置 RBAC:
|
||||
- `yii_auth_item` — 权限项
|
||||
- `yii_auth_item_child` — 权限层级
|
||||
- `yii_auth_assignment` — 权限分配
|
||||
- `yii_role` — 角色定义
|
||||
- `yii_role_menu` — 角色-菜单绑定
|
||||
14
docs/projects/xk-api-yii/modules/index.md
Normal file
14
docs/projects/xk-api-yii/modules/index.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# xk-api-yii 功能模块
|
||||
|
||||
::: warning 状态说明
|
||||
xk-api-yii 是旧系统,核心功能已逐步迁移到 xk-api (Laravel)。以下模块仍可能在旧系统中运行。
|
||||
:::
|
||||
|
||||
## 模块清单
|
||||
|
||||
| 模块 | 说明 | 页面 |
|
||||
|------|------|------|
|
||||
| 管理后台 | 管理员、RBAC、配置 | [管理后台](./admin.md) |
|
||||
| 会员端 | 用户、患者、购物车、订单 | [会员端](./member.md) |
|
||||
| 平台端 | 门店、医生、药品、财务 | [平台端](./platform.md) |
|
||||
| 服务端 | 医生工作台、药师审方、IM | [服务端](./service.md) |
|
||||
33
docs/projects/xk-api-yii/modules/member.md
Normal file
33
docs/projects/xk-api-yii/modules/member.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 会员端模块
|
||||
|
||||
## 模块说明
|
||||
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| 用户管理 | 用户注册、登录、信息管理 |
|
||||
| 患者管理 | 就诊人管理、病历 |
|
||||
| 购物车 | 药品购物车 |
|
||||
| 产品订单 | 产品订单管理 |
|
||||
| 挂号订单 | 挂号预约管理 |
|
||||
| 处方查看 | 处方记录查看 |
|
||||
| 健康资讯 | 健康文章浏览 |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
member/
|
||||
├── controllers/ # 控制器
|
||||
├── models/ # 模型
|
||||
├── views/ # 视图
|
||||
└── config/ # 配置
|
||||
```
|
||||
|
||||
## 主要功能
|
||||
|
||||
- 用户注册/登录
|
||||
- 就诊人管理
|
||||
- 药品浏览/购物车
|
||||
- 订单管理
|
||||
- 挂号预约
|
||||
- 处方查看
|
||||
- 健康资讯
|
||||
33
docs/projects/xk-api-yii/modules/platform.md
Normal file
33
docs/projects/xk-api-yii/modules/platform.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 平台端模块
|
||||
|
||||
## 模块说明
|
||||
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| 门店管理 | 门店审核、配置 |
|
||||
| 医生管理 | 医生审核、信息管理 |
|
||||
| 药师管理 | 药师审核 |
|
||||
| 药品管理 | 药品上架、下架、定价 |
|
||||
| 订单管理 | 订单处理、发货 |
|
||||
| 财务管理 | 分账、结算、提现 |
|
||||
| 数据统计 | 业务数据统计 |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
platform/
|
||||
├── controllers/ # 控制器
|
||||
├── models/ # 模型
|
||||
├── views/ # 视图
|
||||
└── config/ # 配置
|
||||
```
|
||||
|
||||
## 主要功能
|
||||
|
||||
- 门店审核/管理
|
||||
- 医生审核/管理
|
||||
- 药师审核/管理
|
||||
- 药品管理
|
||||
- 订单处理
|
||||
- 财务结算
|
||||
- 数据统计
|
||||
27
docs/projects/xk-api-yii/modules/service.md
Normal file
27
docs/projects/xk-api-yii/modules/service.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 服务端模块
|
||||
|
||||
## 模块说明
|
||||
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| 医生工作台 | 接诊、开方、患者管理 |
|
||||
| 药师审方 | 处方审核 |
|
||||
| 即时通讯 | 医患聊天 |
|
||||
| 常用处方 | 处方模板管理 |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
service/
|
||||
├── controllers/ # 控制器
|
||||
├── models/ # 模型
|
||||
├── views/ # 视图
|
||||
└── config/ # 配置
|
||||
```
|
||||
|
||||
## 主要功能
|
||||
|
||||
- 医生接诊/开方
|
||||
- 药师审方
|
||||
- 医患聊天
|
||||
- 处方模板
|
||||
60
docs/projects/xk-api-yii/overview.md
Normal file
60
docs/projects/xk-api-yii/overview.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# xk-api-yii 概览
|
||||
|
||||
xk-api-yii 是 XK 系统的旧 API 服务,基于 Yii2 Advanced 构建。目前处于维护状态,核心业务逻辑已逐步迁移到 xk-api (Laravel)。
|
||||
|
||||
## 基本信息
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| 框架 | Yii2 Advanced |
|
||||
| PHP 版本 | >= 7.4 \| 8.0.2 |
|
||||
| 包管理 | Composer |
|
||||
| 队列 | yii2-queue |
|
||||
| 微信 | overtrue/wechat 5.x |
|
||||
| 支付 | 易票联 |
|
||||
| 短信 | overtrue/easy-sms |
|
||||
| Redis | yii2-redis |
|
||||
| Excel | phpoffice/phpexcel |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
xk-api-yii/
|
||||
├── admin/ # 管理后台应用
|
||||
├── common/ # 共享代码
|
||||
│ ├── components/ # 共享组件
|
||||
│ ├── config/ # 共享配置
|
||||
│ ├── core/ # 核心逻辑
|
||||
│ ├── enums/ # 枚举
|
||||
│ ├── events/ # 事件
|
||||
│ ├── forms/ # 表单模型
|
||||
│ ├── foundation/ # 基础类
|
||||
│ ├── handlers/ # 事件处理器
|
||||
│ ├── helpers/ # 辅助函数
|
||||
│ ├── jobs/ # 队列任务
|
||||
│ ├── mail/ # 邮件
|
||||
│ ├── models/ # 共享模型
|
||||
│ ├── modelsgii/ # Gii 生成的模型
|
||||
│ ├── services/ # 业务服务
|
||||
│ ├── validators/ # 自定义验证器
|
||||
│ └── tests/ # 测试
|
||||
├── console/ # 控制台应用
|
||||
├── environments/ # 环境配置
|
||||
├── member/ # 会员应用
|
||||
├── platform/ # 平台应用
|
||||
├── service/ # 服务应用
|
||||
├── web/ # Web 入口
|
||||
│ ├── admin/ # 管理后台入口
|
||||
│ ├── member/ # 会员入口
|
||||
│ ├── platform/ # 平台入口
|
||||
│ └── service/ # 服务入口
|
||||
└── yii # CLI 入口
|
||||
```
|
||||
|
||||
## 多应用架构
|
||||
|
||||
Yii2 Advanced 采用多应用模式:
|
||||
- **admin**: 管理后台
|
||||
- **member**: 会员端
|
||||
- **platform**: 平台端
|
||||
- **service**: 服务端(医生/药师)
|
||||
Reference in New Issue
Block a user