Xboard/app/Http/Resources/CouponResource.php

39 lines
1.1 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Resources;
2025-02-07 09:39:31 -05:00
use App\Models\Coupon;
use App\Services\CouponService;
use App\Services\PlanService;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* 优惠券资源类
*
* @property array|null $limit_plan_ids 限制可用的套餐ID列表
*/
class CouponResource extends JsonResource
{
/**
* 将资源转换为数组
*
* @param Request $request 请求实例
* @return array<string, mixed> 转换后的数组
*/
public function toArray(Request $request): array
{
return [
...$this->resource->toArray(),
2025-02-07 09:55:45 -05:00
'limit_plan_ids' => empty($this->limit_plan_ids) ? null : collect($this->limit_plan_ids)
->map(fn(mixed $id): string => (string) $id)
->values()
->all(),
'limit_period' => empty($this->limit_period) ? null : collect($this->limit_period)
->map(fn(mixed $period): string => (string) PlanService::convertToLegacyPeriod($period))
->values()
->all(),
];
}
}