<?php

namespace app\model;

use Exception;
use think\exception\ValidateException;
use think\model\relation\HasOne;

class Account extends Base
{

    public const type_visitor       = -1;//游客
    public const type_consumer      = 0;//普通用户
    public const type_business      = 1;//商家
    public const type_staff         = 2;//员工


    // 默认头像
    public const DEFAULT_AVATAR         = '/static/images/default-avatar.png';



    public static function accountTypeDescList(): array
    {
        return [
            (string) self::type_visitor     => '游客',
            (string) self::type_consumer    => '普通用户',
            (string) self::type_business    => '商家',
            (string) self::type_staff       => '员工',
        ];
    }

    public function tag()
    {
        return $this->hasOne(Tag::class,"id","tag_id");
    }

    /**
     * 关联的商户信息
     * @return HasOne
     */
    public function business()
    {
        return $this->hasOne(Business::class, 'code', 'business_code');
    }

    /**
     * 关联的上级用户
     */
    public function parent()
    {
        return $this->hasOne(self::class, 'user_code', 'main_code');
    }
}
