<?php

namespace App\Generated\V1\Messages\User;

use App\Generated\V1\DTOs\FpdxProfileDTO;
use App\Generated\V1\DTOs\BannerDTO;
use Kamicloud\StubApi\Concerns\ValueHelper;
use Kamicloud\StubApi\Http\Messages\Message;
use App\Generated\V1\DTOs\SupvipDTO;
use Kamicloud\StubApi\Utils\Constants;
use App\Generated\V1\DTOs\BlackDTO;

class GetFpdxProfileMessage extends Message
{
    use ValueHelper;

    protected $user;
    protected $supvip;
    protected $bindFpdxfwh;
    protected $lockCard;
    protected $banner;
    protected $black;
    protected $appSignAt;
    protected $course;
    protected $tags;

    public function requestRules()
    {
        return [
        ];
    }

    public function responseRules()
    {
        return [
            ['user', 'user', FpdxProfileDTO::class, Constants::MODEL, null],
            ['supvip', 'supvip', SupvipDTO::class, Constants::MODEL | Constants::OPTIONAL, null],
            ['bindFpdxfwh', 'bind_fpdxfwh', 'bail|boolean', Constants::BOOLEAN, null],
            ['lockCard', 'lock_card', 'bail|boolean', Constants::BOOLEAN, null],
            ['banner', 'banner', BannerDTO::class, Constants::MODEL, null],
            ['black', 'black', BlackDTO::class, Constants::MODEL, null],
            ['appSignAt', 'app_sign_at', 'bail|integer', Constants::INTEGER, null],
            ['course', 'course', 'bail|integer', Constants::INTEGER, null],
            ['tags', 'tags', 'bail', null, null],
        ];
    }

    public function setResponse($user, $supvip, $bindFpdxfwh, $lockCard, $banner, $black, $appSignAt, $course, $tags)
    {
        $this->user = $user;
        $this->supvip = $supvip;
        $this->bindFpdxfwh = $bindFpdxfwh;
        $this->lockCard = $lockCard;
        $this->banner = $banner;
        $this->black = $black;
        $this->appSignAt = $appSignAt;
        $this->course = $course;
        $this->tags = $tags;
    }

}
