<?php

namespace app\common\model;

class SettingModel extends BaseModel
{
    // 设置表名
    protected $name = 'setting';

    // 短信配置
    const SMS      = [
        'sms_chuanglan_appkey',
        'sms_chuanglan_secret',
        'sms_type',
        'sms_verify_expire',
    ];
    const SYSTEM   = [
        'site_name',
    ];
    const SMS_TYPE = [
        ['value' => '\\chuanglan\\Chuanglan', 'text' => '创蓝短信'],
    ];
    const TALENT   = [
        'talent_level_1',
        'talent_level_2',
        'talent_level_3',
        'talent_level_4',
        'talent_level_5',
        'talent_level_6',
        'talent_level_7',
        'talent_industry_trade',
        'talent_industry_goods',
        'talent_industry_clothing',
        'talent_industry_drug',
        'talent_industry_medical',
        'talent_industry_hotel',
        'talent_industry_traffic',
        'talent_industry_other',
        'talent_age_1',
        'talent_age_2',
        'talent_age_3',
        'talent_age_4',
        'talent_education_1',
        'talent_education_2',
        'talent_education_3',
        'talent_total',
    ];

    public static function getConfigValue($code)
    {
        $res = [];
        if (is_array($code)) {
            $list = self::where('code', 'in', $code)->select();
            if ($list->isEmpty()) {
                return [];
            }
            foreach ($list as $v) {
                $res[$v['code']] = $v['value'];
            }
        } elseif (is_string($code)) {
            $info = self::where('code', $code)->find();
            if (empty($info)) {
                return '';
            }
            $res = $info['value'];
        }

        return $res;
    }

    public static function setConfigValue($code, $value = '')
    {
        if (is_array($code)) {
            foreach ($code as $k => $v) {
                self::setConfigValueSingle($k, $v);
            }
        } elseif (is_string($code)) {
            self::setConfigValueSingle($code, $value);
        }
    }

    public static function setConfigValueSingle($code, $value = '')
    {
        $info = self::where('code', $code)->find();
        if (empty($info)) {
            self::create(['code' => $code, 'value' => $value]);
        } else {
            $info->value = $value;
            $info->save();
        }
    }
}