| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace App\Module\UrsPromotion\Dtos;
- use App\Module\UrsPromotion\Models\UrsUserReferral;
- use UCore\Dto\BaseDto;
- /**
- * URS用户推荐关系数据传输对象
- *
- * 用于在服务层返回URS用户推荐关系信息,避免直接暴露模型对象
- */
- class UrsUserReferralDto extends BaseDto
- {
- /**
- * @var int 推荐关系ID
- */
- public int $id;
- /**
- * @var int URS用户ID
- */
- public int $ursUserId;
- /**
- * @var int URS推荐人ID
- */
- public int $ursReferrerId;
- /**
- * @var string 推荐时间
- */
- public string $referralTime;
- /**
- * @var int 状态
- */
- public int $status;
- /**
- * @var string 状态文本
- */
- public string $statusText;
- /**
- * @var string 创建时间
- */
- public string $createdAt;
- /**
- * @var string 更新时间
- */
- public string $updatedAt;
- /**
- * 从模型创建DTO
- *
- * @param UrsUserReferral $model URS用户推荐关系模型
- * @return self
- */
- public static function fromModel(UrsUserReferral $model): self
- {
- $dto = new self();
- $dto->id = $model->id;
- $dto->ursUserId = $model->urs_user_id;
- $dto->ursReferrerId = $model->urs_referrer_id;
- $dto->referralTime = $model->referral_time ? $model->referral_time->toDateTimeString() : '';
- $dto->status = $model->status;
- $dto->statusText = UrsUserReferral::$statusMap[$model->status] ?? '未知';
- $dto->createdAt = $model->created_at ? $model->created_at->toDateTimeString() : '';
- $dto->updatedAt = $model->updated_at ? $model->updated_at->toDateTimeString() : '';
- return $dto;
- }
- }
|