SyncChannel.php 1.3 KB
<?php

namespace App\Console\Commands\Sync;


use App\Helper\OaGlobalsoApi;
use App\Models\Channel\Channel;
use App\Models\Channel\User;
use App\Models\Channel\Zone;
use Illuminate\Console\Command;

/**
 * 渠道信息
 * Class ChannelInfo
 * @package App\Console\Commands
 * @author zbj
 * @date 2023/6/27
 */
class SyncChannel extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'sync_channel';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = '更新渠道信息';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * @return bool
     */
    public function handle()
    {
        $api = new OaGlobalsoApi();
        $res = $api->agents_lists();
        if($res && !empty($res['data'])){
            foreach ($res['data'] as $item){
                $zone = Zone::sync($item['belong']);
                $channel = Channel::sync($item, $zone->id);
                foreach ($item['users'] as $user){
                    User::sync($user, $channel->id);
                }
            }
        }
        return true;
    }


}