2026-09-23 15:15:02 +08:00

89 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# product/virtual/ — 网盘产品类型
## 功能概述
网盘产品类型,适用于网盘资源售卖、支付后自动发放网盘链接与提取码等场景(如电子书、课程、会员码等)。用户下单支付成功后,订单详情自动展示网盘链接与提取码。
## 核心文件
```
virtual/
├── controller/
│ ├── admin/
│ │ └── ProductController.php 网盘商品管理
│ └── user/
│ └── OrderController.php 用户端网盘订单
├── dao/
│ ├── VirtualOrderDao.php 网盘订单 DAO
│ ├── VirtualProductDao.php 网盘商品 DAO
│ └── VirtualProductSkuDao.php 网盘商品 SKU DAO
├── handler/
│ ├── VirtualOrderAdapter.php 网盘订单适配器
│ └── VirtualAfterSaleHandler.php 网盘售后规则处理器
├── listener/
│ ├── OrderPaidListener.php 支付成功自动发货
│ ├── OrderCancelListener.php 订单取消
│ ├── OrderCommentListener.php 订单评价
│ ├── OrderDeleteListener.php 订单删除
│ ├── OrderPriceChangeListener.php 改价
│ ├── OrderRefundCreateAfterListener.php 申请退款后
│ ├── OrderRefundSuccessListener.php 退款成功
│ ├── OrderRefundRefuseListener.php 拒绝退款
│ ├── OrderRefundCancelAfterListener.php 取消退款后
│ └── OrderCenterDetailExtendListener.php 订单详情注入网盘链接与提取码
├── model/
│ ├── VirtualProduct.php 网盘商品模型(eb_pt_virtual)
│ ├── VirtualProductSku.php 网盘 SKU 模型(eb_pt_virtual_sku)
│ └── VirtualOrder.php 网盘订单模型(eb_pt_virtual_order)
├── pipeline/
│ └── VirtualPipeline.php 网盘订单管线
├── route/
│ ├── admin.php 后台路由
│ └── user.php 用户端路由
├── service/
│ ├── VirtualProductServices.php 网盘商品服务
│ └── VirtualOrderServices.php 网盘订单服务
├── App.php
├── Handler.php 产品类型主处理器
├── Installer.php
├── event.php
└── plugin.json
```
## 关键事件
| 事件名 | 说明 |
|--------|------|
| `OrderPaySuccess` | 支付成功自动发货(发放网盘资源) |
| `OrderCancel` | 订单取消,检查资源是否已发放 |
| `OrderRefundCreateAfter` | 申请退款后检查资源状态 |
| `OrderRefundSuccess` | 退款成功撤销资源访问 |
| `OrderRefundRefuse` | 拒绝退款恢复资源访问 |
| `OrderRefundCancelAfter` | 取消退款后恢复资源访问 |
| `OrderComment` | 订单评价 |
| `OrderDelete` | 订单删除 |
| `OrderPriceChange` | 改价 |
| `OrderCenterDetailExtend` | 订单详情注入网盘链接与提取码(履约信息) |
## 售后规则
- 支持售后期限:24小时
- 已发放后不支持售后
- 仅支持退款类型
## 数据表
- `eb_pt_virtual` — 网盘商品扩展表
- `eb_pt_virtual_sku` — 网盘商品 SKU 表
- `eb_pt_virtual_order` — 网盘商品订单扩展表
## 插件信息
```json
{
"key": "product_virtual",
"name": "网盘产品",
"type": "product_type"
}
```