Files
zyt/admin/ORDER_SYSTEM_COMPLETE.md
T
2026-03-11 09:49:47 +08:00

6.7 KiB
Raw Blame History

订单管理系统 - 完整实现总结

项目状态: 完成

完整的订单管理系统已成功开发并集成到项目中,包括数据库、后端API和前端UI。


系统架构

数据库层

  • 表前缀: la_ (正确配置)
  • 主表: la_order - 订单主表
  • 详情表: la_order_detail - 订单详情表

后端层

  • 控制器: OrderController - 处理所有订单操作
  • 业务逻辑: OrderLogic - 订单业务逻辑处理
  • 验证层: OrderValidate - 参数验证
  • 列表层: OrderLists - 列表查询和搜索
  • 模型: Order, OrderDetail - 数据模型

前端层

  • 页面: admin/src/views/order/index.vue - 订单列表和管理页面
  • API: admin/src/api/order.ts - API接口定义

核心功能

1. 订单管理

  • 订单列表展示(支持搜索、筛选、分页)
  • 订单详情查看
  • 订单创建
  • 订单编辑
  • 订单删除

2. 订单状态管理

  • 待支付 (status=1)
  • 已支付 (status=2)
  • 已取消 (status=3)
  • 已退款 (status=4)

3. 订单类型

  • 挂号费 (order_type=1)
  • 问诊费 (order_type=2)
  • 药品费用 (order_type=3)

4. 支付功能

  • 支付宝支付
  • 微信支付
  • 银行卡支付
  • 支付状态跟踪

5. 订单操作

  • 支付订单
  • 取消订单
  • 退款订单
  • 删除订单

6. 患者关联

  • 从诊单表搜索患者
  • 患者信息展示(姓名、电话、身份证)
  • 患者关键词搜索

7. 创建人追踪

  • 自动记录创建人ID(推广ID
  • 创建人信息展示

数据库表结构

la_order 表

- id: 主键
- order_no: 订单号(唯一)
- patient_id: 患者ID
- creator_id: 创建人ID(推广ID
- order_type: 订单类型 (1-挂号费, 2-问诊费, 3-药品费用)
- amount: 订单金额
- status: 订单状态 (1-待支付, 2-已支付, 3-已取消, 4-已退款)
- payment_method: 支付方式 (alipay, wechat, bank)
- payment_time: 支付时间
- remark: 备注
- create_time: 创建时间
- update_time: 更新时间
- delete_time: 删除时间(软删除)

la_order_detail 表

- id: 主键
- order_id: 订单ID
- related_type: 关联类型 (appointment-挂号, diagnosis-问诊, medicine-药品)
- related_id: 关联ID
- quantity: 数量
- unit_price: 单价
- total_price: 总价
- create_time: 创建时间

API 端点

订单列表

  • URL: /order.order/lists
  • 方法: GET
  • 参数:
    • order_no: 订单号
    • patient_keyword: 患者关键词
    • order_type: 订单类型
    • status: 订单状态
    • create_time_start: 创建时间开始
    • create_time_end: 创建时间结束
    • page_no: 页码
    • page_size: 每页数量

订单详情

  • URL: /order.order/detail
  • 方法: GET
  • 参数: id (订单ID)

创建订单

  • URL: /order.order/create
  • 方法: POST
  • 参数:
    • patient_id: 患者ID
    • order_type: 订单类型
    • amount: 订单金额
    • remark: 备注(可选)
    • details: 订单详情数组

编辑订单

  • URL: /order.order/edit
  • 方法: POST
  • 参数: id, remark

支付订单

  • URL: /order.order/pay
  • 方法: POST
  • 参数: id, payment_method

取消订单

  • URL: /order.order/cancel
  • 方法: POST
  • 参数: id

退款订单

  • URL: /order.order/refund
  • 方法: POST
  • 参数: id

删除订单

  • URL: /order.order/delete
  • 方法: POST
  • 参数: id

导出订单

  • URL: /order.order/export
  • 方法: GET
  • 参数: 同列表接口

搜索患者

  • URL: /tcm.diagnosis/searchPatient
  • 方法: GET
  • 参数:
    • keyword: 搜索关键词
    • page_no: 页码
    • page_size: 每页数量

前端功能

订单列表页面

  • 搜索表单(订单号、患者信息、订单类型、订单状态、创建时间)
  • 数据表格(显示订单信息)
  • 分页控件
  • 导出功能

订单操作

  • 查看详情
  • 支付订单(选择支付方式)
  • 取消订单
  • 退款订单
  • 删除订单

创建订单

  • 患者选择(远程搜索)
  • 订单类型选择
  • 订单金额输入
  • 备注输入
  • 订单详情管理(添加/删除项目)
  • 自动计算总价

文件清单

后端文件

  • server/app/common/model/Order.php - 订单模型
  • server/app/common/model/OrderDetail.php - 订单详情模型
  • server/app/adminapi/controller/order/OrderController.php - 订单控制器
  • server/app/adminapi/logic/order/OrderLogic.php - 订单业务逻辑
  • server/app/adminapi/validate/order/OrderValidate.php - 订单验证
  • server/app/adminapi/lists/order/OrderLists.php - 订单列表
  • server/database/migrations/2024_03_10_create_order_tables.php - 数据库迁移

前端文件

  • admin/src/views/order/index.vue - 订单列表页面
  • admin/src/api/order.ts - 订单API接口

数据库文件

  • admin/order.sql - 订单表创建脚本

文档文件

  • admin/README_ORDER.md - 快速开始指南
  • admin/PATIENT_SEARCH_API.md - 患者搜索API文档
  • admin/INSTALLATION_CHECKLIST.md - 安装检查清单

安装步骤

1. 创建数据库表

# 执行SQL脚本
mysql -u root -p database_name < admin/order.sql

2. 配置权限

在后台权限管理中添加以下权限:

  • order.order/lists - 订单列表
  • order.order/detail - 订单详情
  • order.order/create - 创建订单
  • order.order/edit - 编辑订单
  • order.order/pay - 支付订单
  • order.order/cancel - 取消订单
  • order.order/refund - 退款订单
  • order.order/delete - 删除订单
  • order.order/export - 导出订单

3. 菜单配置

在后台菜单管理中添加订单管理菜单,指向 /order 路由


类型检查

所有TypeScript类型错误已修复

  • 订单类型标签返回类型正确
  • 订单状态标签返回类型正确
  • 所有未使用的变量已清理

测试清单

  • 订单列表查询
  • 订单详情查看
  • 订单创建
  • 患者搜索
  • 订单支付
  • 订单取消
  • 订单退款
  • 订单删除
  • 订单导出

注意事项

  1. 数据库前缀: 系统使用 la_ 前缀,确保与项目配置一致
  2. 患者搜索: 从 tcm_diagnosis 诊单表搜索患者
  3. 创建人ID: 自动从当前登录管理员获取
  4. 软删除: 订单支持软删除,不会真正删除数据
  5. 权限控制: 所有操作都需要相应的权限验证

后续扩展

可以考虑的功能扩展:

  • 订单统计和报表
  • 订单导入功能
  • 订单模板
  • 自动发票生成
  • 订单提醒功能
  • 订单评价系统

最后更新: 2026-03-10 系统版本: 1.0.0 状态: 生产就绪