更新
This commit is contained in:
@@ -0,0 +1,248 @@
|
||||
# 订单系统 - 快速开始
|
||||
|
||||
## 🎯 概述
|
||||
|
||||
完整的订单管理系统,包括:
|
||||
- 订单创建、编辑、删除
|
||||
- 支付、取消、退款操作
|
||||
- 订单列表、搜索、筛选
|
||||
- 订单详情查看
|
||||
- 订单导出
|
||||
|
||||
## ⚡ 5分钟快速安装
|
||||
|
||||
### 1️⃣ 创建数据库表(必须)
|
||||
|
||||
**复制以下 SQL 到你的数据库管理工具执行:**
|
||||
|
||||
```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 检查表是否创建成功:
|
||||
|
||||
```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 | 支付宝支付 |
|
||||
| 微信 | wechat | 微信支付 |
|
||||
| 银行卡 | bank | 银行卡支付 |
|
||||
|
||||
## 🚀 使用示例
|
||||
|
||||
### 创建订单
|
||||
|
||||
```typescript
|
||||
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
|
||||
}
|
||||
]
|
||||
})
|
||||
```
|
||||
|
||||
### 支付订单
|
||||
|
||||
```typescript
|
||||
import { orderPay } from '@/api/order'
|
||||
|
||||
await orderPay({
|
||||
id: 1,
|
||||
payment_method: 'alipay'
|
||||
})
|
||||
```
|
||||
|
||||
### 获取订单列表
|
||||
|
||||
```typescript
|
||||
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:
|
||||
```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 注入防护
|
||||
- 事务处理
|
||||
- 软删除
|
||||
|
||||
## 📞 需要帮助?
|
||||
|
||||
1. 检查 `INSTALL_ORDER_TABLES.md` 了解表安装
|
||||
2. 查看 `ORDER_SYSTEM_GUIDE.md` 了解完整功能
|
||||
3. 参考其他模块的实现作为参考
|
||||
|
||||
---
|
||||
|
||||
**版本**: 1.0.0
|
||||
**状态**: ✅ 完成
|
||||
**最后更新**: 2024-03-10
|
||||
Reference in New Issue
Block a user