Files
2026-03-13 13:50:56 +08:00

88 lines
5.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Model;
use Hyperf\DbConnection\Model\Model;
use OpenApi\Attributes as OA;
/**
* @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 退款完成时间
* @property array $raw 平台返回的原始子项数据
* @property array $ext 扩展字段
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
* @mixin \App_Model_RefundItem
*/
#[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'),
]
)]
class RefundItem extends Model
{
/**
* The table associated with the model.
*/
protected ?string $table = 'refund_items';
/**
* The attributes that are mass assignable.
*/
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'];
/**
* The attributes that should be cast to native types.
*/
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'];
}