2026-02-10 13:04:38 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace App\Model;
|
|
|
|
|
|
|
|
|
|
use Hyperf\DbConnection\Model\Model;
|
2026-03-13 13:50:56 +08:00
|
|
|
use OpenApi\Attributes as OA;
|
2026-02-10 13:04:38 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @property int $id 主键
|
|
|
|
|
* @property int $company_id 公司 ID
|
|
|
|
|
* @property int $platform_id 平台 ID
|
|
|
|
|
* @property int $store_id 店铺 ID
|
|
|
|
|
* @property int $refund_id 关联本地 refunds 表 ID,业务层保证约束
|
|
|
|
|
* @property string $platform_parent_refund_id 平台父退款 ID, Tmall 售后单体系中的无此信息,使用默认值
|
|
|
|
|
* @property string $platform_refund_id 平台退款子项 ID,如 Tmall 售后单 ID
|
|
|
|
|
* @property int $refund_status_id 退款状态 ID
|
|
|
|
|
* @property int $refund_type_id 退款类型:1 仅退款 2 退货退款 3 补偿退款
|
|
|
|
|
* @property string $reason 退款原因
|
|
|
|
|
* @property string $currency 币种
|
|
|
|
|
* @property string $buyer_user_id 平台买家 ID
|
|
|
|
|
* @property string $platform_order_id 平台订单 ID
|
|
|
|
|
* @property string $platform_sub_order_id 平台子订单 ID
|
|
|
|
|
* @property string $platform_product_id 平台商品 ID
|
|
|
|
|
* @property int $quantity 退款商品数量
|
|
|
|
|
* @property string $refund_amount 该子项退款金额
|
|
|
|
|
* @property string $order_created_date 关联订单的创建时间
|
|
|
|
|
* @property string $order_paid_date 关联订单的付款时间
|
|
|
|
|
* @property string $created_date 退款单在平台的创建时间
|
|
|
|
|
* @property string $updated_date 退款单在平台的更新时间
|
|
|
|
|
* @property string $completed_date 退款完成时间
|
2026-02-10 13:07:55 +08:00
|
|
|
* @property array $raw 平台返回的原始子项数据
|
|
|
|
|
* @property array $ext 扩展字段
|
|
|
|
|
* @property \Carbon\Carbon $created_at
|
|
|
|
|
* @property \Carbon\Carbon $updated_at
|
2026-02-10 13:04:38 +08:00
|
|
|
* @mixin \App_Model_RefundItem
|
|
|
|
|
*/
|
2026-03-13 13:50:56 +08:00
|
|
|
#[OA\Schema(
|
|
|
|
|
schema: 'RefundItem',
|
|
|
|
|
type: 'object',
|
|
|
|
|
properties: [
|
|
|
|
|
new OA\Property(property: 'id', type: 'integer', example: 1),
|
|
|
|
|
new OA\Property(property: 'company_id', type: 'integer', example: 1),
|
|
|
|
|
new OA\Property(property: 'platform_id', type: 'integer', example: 2),
|
|
|
|
|
new OA\Property(property: 'store_id', type: 'integer', example: 100),
|
|
|
|
|
new OA\Property(property: 'refund_id', type: 'integer', example: 50),
|
|
|
|
|
new OA\Property(property: 'platform_parent_refund_id', type: 'string', nullable: true, example: 'PRF-001'),
|
|
|
|
|
new OA\Property(property: 'platform_refund_id', type: 'string', example: 'RF-ITEM-001'),
|
|
|
|
|
new OA\Property(property: 'refund_status_id', type: 'integer', example: 1),
|
|
|
|
|
new OA\Property(property: 'refund_type_id', type: 'integer', example: 2),
|
|
|
|
|
new OA\Property(property: 'reason', type: 'string', nullable: true, example: '商品质量问题'),
|
|
|
|
|
new OA\Property(property: 'currency', type: 'string', example: 'CNY'),
|
|
|
|
|
new OA\Property(property: 'buyer_user_id', type: 'string', nullable: true, example: 'buyer_123'),
|
|
|
|
|
new OA\Property(property: 'platform_order_id', type: 'string', example: 'ORD-20260101-001'),
|
|
|
|
|
new OA\Property(property: 'platform_sub_order_id', type: 'string', nullable: true, example: 'SUB-001'),
|
|
|
|
|
new OA\Property(property: 'platform_product_id', type: 'string', nullable: true, example: 'PROD-001'),
|
|
|
|
|
new OA\Property(property: 'quantity', type: 'integer', example: 1),
|
|
|
|
|
new OA\Property(property: 'refund_amount', type: 'number', format: 'decimal', example: 99.99),
|
|
|
|
|
new OA\Property(property: 'raw', type: 'object', nullable: true, description: '平台原始子项数据'),
|
|
|
|
|
new OA\Property(property: 'ext', type: 'object', nullable: true, description: '扩展字段'),
|
|
|
|
|
new OA\Property(property: 'order_created_date', type: 'string', format: 'date-time', nullable: true),
|
|
|
|
|
new OA\Property(property: 'order_paid_date', type: 'string', format: 'date-time', nullable: true),
|
|
|
|
|
new OA\Property(property: 'created_date', type: 'string', format: 'date-time'),
|
|
|
|
|
new OA\Property(property: 'updated_date', type: 'string', format: 'date-time', nullable: true),
|
|
|
|
|
new OA\Property(property: 'completed_date', type: 'string', format: 'date-time', nullable: true),
|
|
|
|
|
new OA\Property(property: 'created_at', type: 'string', format: 'date-time'),
|
|
|
|
|
new OA\Property(property: 'updated_at', type: 'string', format: 'date-time'),
|
|
|
|
|
]
|
|
|
|
|
)]
|
2026-02-10 13:04:38 +08:00
|
|
|
class RefundItem extends Model
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* The table associated with the model.
|
|
|
|
|
*/
|
|
|
|
|
protected ?string $table = 'refund_items';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The attributes that are mass assignable.
|
|
|
|
|
*/
|
2026-02-10 13:07:55 +08:00
|
|
|
protected array $fillable = ['id', 'company_id', 'platform_id', 'store_id', 'refund_id', 'platform_parent_refund_id', 'platform_refund_id', 'refund_status_id', 'refund_type_id', 'reason', 'currency', 'buyer_user_id', 'platform_order_id', 'platform_sub_order_id', 'platform_product_id', 'quantity', 'refund_amount', 'order_created_date', 'order_paid_date', 'created_date', 'updated_date', 'completed_date', 'raw', 'ext', 'created_at', 'updated_at'];
|
2026-02-10 13:04:38 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The attributes that should be cast to native types.
|
|
|
|
|
*/
|
2026-02-10 13:07:55 +08:00
|
|
|
protected array $casts = ['id' => 'integer', 'company_id' => 'integer', 'platform_id' => 'integer', 'store_id' => 'integer', 'refund_id' => 'integer', 'refund_status_id' => 'integer', 'refund_type_id' => 'integer', 'quantity' => 'integer', 'raw' => 'json', 'ext' => 'json', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
|
2026-02-10 13:04:38 +08:00
|
|
|
}
|