47 lines
1.4 KiB
PHP
47 lines
1.4 KiB
PHP
<?php
|
||
|
||
/**
|
||
* 文件功能:VIP 支付订单测试工厂
|
||
* 用于在测试中快速生成本地 VIP 支付订单与远端支付映射数据
|
||
*/
|
||
|
||
namespace Database\Factories;
|
||
|
||
use App\Models\User;
|
||
use App\Models\VipLevel;
|
||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||
|
||
/**
|
||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\VipPaymentOrder>
|
||
*/
|
||
class VipPaymentOrderFactory extends Factory
|
||
{
|
||
/**
|
||
* 定义默认测试数据
|
||
*
|
||
* @return array<string, mixed>
|
||
*/
|
||
public function definition(): array
|
||
{
|
||
return [
|
||
'order_no' => 'VPO'.fake()->unique()->numerify('##########'),
|
||
'merchant_order_no' => 'VPO'.fake()->unique()->numerify('##########'),
|
||
'user_id' => User::factory(),
|
||
'vip_level_id' => VipLevel::factory(),
|
||
'status' => 'pending',
|
||
'amount' => 30.00,
|
||
'subject' => '购买 VIP 会员 - 测试套餐',
|
||
'payment_order_no' => 'PO'.fake()->unique()->numerify('############'),
|
||
'provider' => 'alipay',
|
||
'provider_trade_no' => null,
|
||
'vip_name' => '测试会员',
|
||
'vip_duration_days' => 30,
|
||
'sync_return_payload' => null,
|
||
'async_notify_payload' => null,
|
||
'paid_at' => null,
|
||
'opened_vip_at' => null,
|
||
'meta' => ['username' => fake()->userName()],
|
||
];
|
||
}
|
||
}
|