GeoConf.php 1.3 KB
<?php
/**
 * Created by PhpStorm.
 * User: zhl
 * Date: 2025/10/22
 * Time: 17:01
 */
namespace App\Models\Geo;

use App\Models\Base;
use App\Models\Manage\ManageHr;
use Illuminate\Support\Facades\Cache;

/**
 * GEO 相关配置
 * Class GeoConf
 * @package App\Models\Geo
 */
class GeoConf extends Base
{
    /**
     * @var string table
     */
    protected $table = 'gl_project_geo_conf';


    public function geoManage($name = '')
    {
        $key = 'geo_manage_list_' . date('Ymd');
        $optimize = Cache::get($key);

        if (empty($optimize)) {
            $optimize = ManageHr::where(['status' => ManageHr::STATUS_ONE, 'entry_position' => 46])->pluck('name', 'id')->toArray();
            $optimize[11] = '陶婵';
            $optimize[207] = '吴雨静';
            $optimize[875] = '艾媛媛';
            $optimize[893] = '杨汀';
            ksort($optimize);
            Cache::put($key, $optimize, 3600);
        }
        // 如果传入了name,则返回对应的id+name
        if ($name !== null) {
            $id = array_search($name, $optimize);
            if ($id !== false) {
                // 按照原有格式返回,即 [id => name] 的数组格式
                return [$id => $name];
            }
            return [];
        }
        return $optimize;
    }
}