<?php

namespace App\Generated\V1_1\DTOs;

use App\Generated\V1_1\Enums\Gender;
use Kamicloud\StubApi\Concerns\ValueHelper;
use Kamicloud\StubApi\DTOs\DTO;
use App\Generated\V1_1\Enums\RecommendPairApplyListContactLockState;
use Kamicloud\StubApi\Utils\Constants;
use App\Generated\V1_1\Enums\WorkState;
use App\Generated\V1_1\Enums\Constellation;
use App\Generated\V1_1\Enums\RecommendPairApplyListContactInviteState;

class RecommendPairApplyListContactDTO extends DTO
{
    use ValueHelper;

    protected $uid;
    protected $headimgurl;
    protected $nickname;
    protected $age;
    protected $sex;
    protected $star;
    protected $workState;
    protected $matchScore;
    protected $lockState;
    protected $inviteState;

    /**
     * 用户id
     * @return int
     */
    public function getUid()
    {
        return $this->uid;
    }

    /**
     * 头像
     * @return string
     */
    public function getHeadimgurl()
    {
        return $this->headimgurl;
    }

    /**
     * 昵称
     * @return string
     */
    public function getNickname()
    {
        return $this->nickname;
    }

    /**
     * 年龄
     * @return int
     */
    public function getAge()
    {
        return $this->age;
    }

    /**
     * 性别
     * @return mixed
     */
    public function getSex()
    {
        return $this->sex;
    }

    /**
     * 星座
     * @return mixed
     */
    public function getStar()
    {
        return $this->star;
    }

    /**
     * 工作状态
     * @return mixed
     */
    public function getWorkState()
    {
        return $this->workState;
    }

    /**
     * 匹配度
     * @return int
     */
    public function getMatchScore()
    {
        return $this->matchScore;
    }

    /**
     * 解锁状态
     * @return mixed
     */
    public function getLockState()
    {
        return $this->lockState;
    }

    /**
     * 邀请状态
     * @return mixed
     */
    public function getInviteState()
    {
        return $this->inviteState;
    }

    public function setUid($uid)
    {
        $this->uid = $uid;
    }

    public function setHeadimgurl($headimgurl)
    {
        $this->headimgurl = $headimgurl;
    }

    public function setNickname($nickname)
    {
        $this->nickname = $nickname;
    }

    public function setAge($age)
    {
        $this->age = $age;
    }

    public function setSex($sex)
    {
        $this->sex = $sex;
    }

    public function setStar($star)
    {
        $this->star = $star;
    }

    public function setWorkState($workState)
    {
        $this->workState = $workState;
    }

    public function setMatchScore($matchScore)
    {
        $this->matchScore = $matchScore;
    }

    public function setLockState($lockState)
    {
        $this->lockState = $lockState;
    }

    public function setInviteState($inviteState)
    {
        $this->inviteState = $inviteState;
    }

    public function getAttributeMap()
    {
        return [
            ['uid', 'uid', 'bail|integer', Constants::INTEGER, null],
            ['headimgurl', 'headimgurl', 'bail|string', Constants::STRING, null],
            ['nickname', 'nickname', 'bail|string', Constants::STRING, null],
            ['age', 'age', 'bail|integer', Constants::INTEGER, null],
            ['sex', 'sex', Gender::class, Constants::ENUM, null],
            ['star', 'star', Constellation::class, Constants::ENUM, null],
            ['workState', 'work_state', WorkState::class, Constants::ENUM, null],
            ['matchScore', 'match_score', 'bail|integer', Constants::INTEGER, null],
            ['lockState', 'lock_state', RecommendPairApplyListContactLockState::class, Constants::ENUM, null],
            ['inviteState', 'invite_state', RecommendPairApplyListContactInviteState::class, Constants::ENUM, null],
        ];
    }

}
