6.4 KiB
6.4 KiB
订单系统 - 快速开始
🎯 概述
完整的订单管理系统,包括:
- 订单创建、编辑、删除
- 支付、取消、退款操作
- 订单列表、搜索、筛选
- 订单详情查看
- 订单导出
⚡ 5分钟快速安装
1️⃣ 创建数据库表(必须)
复制以下 SQL 到你的数据库管理工具执行:
-- 订单表
CREATE TABLE IF NOT EXISTS `la_order` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`order_no` varchar(50) NOT NULL COMMENT '订单号',
`patient_id` int(11) NOT NULL COMMENT '患者ID',
`creator_id` int(11) NOT NULL COMMENT '创建人ID(推广ID)',
`order_type` tinyint(1) NOT NULL COMMENT '订单类型 1-挂号费 2-问诊费 3-药品费用',
`amount` decimal(10, 2) NOT NULL COMMENT '订单金额',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '订单状态 1-待支付 2-已支付 3-已取消 4-已退款',
`payment_method` varchar(20) DEFAULT NULL COMMENT '支付方式 alipay-支付宝 wechat-微信 bank-银行卡',
`payment_time` datetime DEFAULT NULL COMMENT '支付时间',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order_no` (`order_no`),
KEY `idx_patient` (`patient_id`),
KEY `idx_creator` (`creator_id`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
-- 订单详情表
CREATE TABLE IF NOT EXISTS `la_order_detail` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`order_id` int(11) NOT NULL COMMENT '订单ID',
`related_type` varchar(20) NOT NULL COMMENT '关联类型 appointment-挂号 diagnosis-问诊 medicine-药品',
`related_id` int(11) NOT NULL COMMENT '关联ID',
`quantity` int(11) DEFAULT '1' COMMENT '数量',
`unit_price` decimal(10, 2) NOT NULL COMMENT '单价',
`total_price` decimal(10, 2) NOT NULL COMMENT '总价',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_order` (`order_id`),
KEY `idx_related` (`related_type`, `related_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单详情表';
2️⃣ 验证表创建
执行以下 SQL 检查表是否创建成功:
SHOW TABLES LIKE 'la_order%';
DESC la_order;
DESC la_order_detail;
3️⃣ 添加权限节点
在后端权限管理系统中添加以下权限:
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 - 导出订单
4️⃣ 完成!
现在你可以访问订单页面了。
📂 文件位置
前端
admin/src/api/order.ts # API 接口
admin/src/views/order/index.vue # 列表页面
后端
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
🔌 API 端点
GET /order.order/lists - 订单列表
GET /order.order/detail - 订单详情
POST /order.order/create - 创建订单
POST /order.order/edit - 编辑订单
POST /order.order/pay - 支付订单
POST /order.order/cancel - 取消订单
POST /order.order/refund - 退款订单
POST /order.order/delete - 删除订单
GET /order.order/export - 导出订单
📋 订单类型
| 类型 | 值 | 说明 |
|---|---|---|
| 挂号费 | 1 | 医生挂号费用 |
| 问诊费 | 2 | 医生问诊费用 |
| 药品费用 | 3 | 药品购买费用 |
📊 订单状态
| 状态 | 值 | 说明 |
|---|---|---|
| 待支付 | 1 | 订单已创建,等待支付 |
| 已支付 | 2 | 订单已支付 |
| 已取消 | 3 | 订单已取消 |
| 已退款 | 4 | 订单已退款 |
💳 支付方式
| 方式 | 值 | 说明 |
|---|---|---|
| 支付宝 | alipay | 支付宝支付 |
| 微信 | 微信支付 | |
| 银行卡 | bank | 银行卡支付 |
🚀 使用示例
创建订单
import { orderCreate } from '@/api/order'
const result = await orderCreate({
patient_id: 1,
order_type: 1,
amount: 100.00,
remark: '挂号费',
details: [
{
related_type: 'appointment',
related_id: 1,
quantity: 1,
unit_price: 100.00,
total_price: 100.00
}
]
})
支付订单
import { orderPay } from '@/api/order'
await orderPay({
id: 1,
payment_method: 'alipay'
})
获取订单列表
import { orderLists } from '@/api/order'
const result = await orderLists({
page_no: 1,
page_size: 15,
order_type: 1,
status: 1
})
❓ 常见问题
Q: 表不存在错误?
A: 执行上面的 SQL 脚本创建表。
Q: 控制器找不到?
A: 确保文件在 server/app/adminapi/controller/order/ 目录中。
Q: 权限不足?
A: 在权限管理系统中添加相应的权限节点。
Q: 如何删除表?
A: 执行以下 SQL:
DROP TABLE IF EXISTS la_order_detail;
DROP TABLE IF EXISTS la_order;
📚 详细文档
ORDER_SYSTEM_GUIDE.md- 完整系统指南ORDER_SETUP.md- 安装指南INSTALL_ORDER_TABLES.md- 表安装指南ORDER_IMPLEMENTATION_COMPLETE.md- 实现完成说明
✨ 特性
✅ 完整的 CRUD 操作 ✅ 支付状态管理 ✅ 订单详情关联 ✅ 创建人追踪(推广 ID) ✅ 软删除支持 ✅ 事务处理 ✅ 完整的验证规则 ✅ 搜索和筛选 ✅ 数据导出
🔒 安全特性
- 权限验证
- 输入验证
- SQL 注入防护
- 事务处理
- 软删除
📞 需要帮助?
- 检查
INSTALL_ORDER_TABLES.md了解表安装 - 查看
ORDER_SYSTEM_GUIDE.md了解完整功能 - 参考其他模块的实现作为参考
版本: 1.0.0 状态: ✅ 完成 最后更新: 2024-03-10