<?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 Kamicloud\StubApi\Utils\Constants;
use App\Generated\V1_1\Enums\WorkState;
use App\Generated\V1_1\Enums\Constellation;

class ContactUserDTO extends DTO
{
    use ValueHelper;

    protected $uid;
    protected $headimgurl;
    protected $nickname;
    protected $note;
    protected $im_account;
    protected $age;
    protected $sex;
    protected $star;
    protected $work_state;
    protected $weixin;
    protected $qq;
    protected $identity_auth;
    protected $wx_auth;
    protected $be_vip_at;
    protected $supvip_endat;

    /**
     * 用户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 string|null
     */
    public function getNote()
    {
        return $this->note;
    }

    /**
     * imAccount
     * @return string|null
     */
    public function getIm_account()
    {
        return $this->im_account;
    }

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

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

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

    /**
     * 工作状态
     * @return mixed|null
     */
    public function getWork_state()
    {
        return $this->work_state;
    }

    /**
     * @return string|null
     */
    public function getWeixin()
    {
        return $this->weixin;
    }

    /**
     * @return string|null
     */
    public function getQq()
    {
        return $this->qq;
    }

    /**
     * @return string|null
     */
    public function getIdentity_auth()
    {
        return $this->identity_auth;
    }

    /**
     * 微信认证
     * @return int
     */
    public function getWx_auth()
    {
        return $this->wx_auth;
    }

    /**
     * 成为会员时间
     * @return int
     */
    public function getBe_vip_at()
    {
        return $this->be_vip_at;
    }

    /**
     * 超级会员到期时间
     * @return int
     */
    public function getSupvip_endat()
    {
        return $this->supvip_endat;
    }

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

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

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

    public function setNote($note)
    {
        $this->note = $note;
    }

    public function setIm_account($im_account)
    {
        $this->im_account = $im_account;
    }

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

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

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

    public function setWork_state($work_state)
    {
        $this->work_state = $work_state;
    }

    public function setWeixin($weixin)
    {
        $this->weixin = $weixin;
    }

    public function setQq($qq)
    {
        $this->qq = $qq;
    }

    public function setIdentity_auth($identity_auth)
    {
        $this->identity_auth = $identity_auth;
    }

    public function setWx_auth($wx_auth)
    {
        $this->wx_auth = $wx_auth;
    }

    public function setBe_vip_at($be_vip_at)
    {
        $this->be_vip_at = $be_vip_at;
    }

    public function setSupvip_endat($supvip_endat)
    {
        $this->supvip_endat = $supvip_endat;
    }

    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],
            ['note', 'note', 'bail|nullable|string', Constants::STRING | Constants::OPTIONAL, null],
            ['im_account', 'im_account', 'bail|nullable|string', Constants::STRING | Constants::OPTIONAL, null],
            ['age', 'age', 'bail|nullable|string', Constants::STRING | Constants::OPTIONAL, null],
            ['sex', 'sex', Gender::class, Constants::ENUM | Constants::OPTIONAL, null],
            ['star', 'star', Constellation::class, Constants::ENUM | Constants::OPTIONAL, null],
            ['work_state', 'work_state', WorkState::class, Constants::ENUM | Constants::OPTIONAL, null],
            ['weixin', 'weixin', 'bail|nullable|string', Constants::STRING | Constants::OPTIONAL, null],
            ['qq', 'qq', 'bail|nullable|string', Constants::STRING | Constants::OPTIONAL, null],
            ['identity_auth', 'identity_auth', 'bail|nullable|string', Constants::STRING | Constants::OPTIONAL, null],
            ['wx_auth', 'wx_auth', 'bail|integer', Constants::INTEGER, null],
            ['be_vip_at', 'be_vip_at', 'bail|integer', Constants::INTEGER, null],
            ['supvip_endat', 'supvip_endat', 'bail|integer', Constants::INTEGER, null],
        ];
    }

}
