<?php


namespace App\Http\Services;


use App\Http\Controllers\Filter\SupplierAccountFilter;
use App\Http\Transformers\SupplierAccountTransformer;
use App\Model\LogModel;
use App\Model\SupplierChannelModel;
use App\Model\SupplierContactModel;
use Carbon\Carbon;
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

class SupplierAccountService
{
    public function getSupplierAccountList($request)
    {
        $limit = $request->get('limit', 10);
        $filter = new SupplierAccountFilter();
        $query = $filter->listFilter($request);
        $list = $query->paginate($limit)->toArray();
        $transformer = new SupplierAccountTransformer();
        $list['data'] = $transformer->transformList($list['data']);
        return $list;
    }

    //推送队列告诉搜索要去初始化数据
    public function pushToInitData($supplierCode)
    {
        return true;
        //还要去推送给搜索做品牌初始化任务
        $conn = new AMQPStreamConnection(config('database.connections.rabbitmq.host'),
            config('database.connections.rabbitmq.port'),
            config('database.connections.rabbitmq.login'),
            config('database.connections.rabbitmq.password'));
        $channel = $conn->channel();
        $channel->queue_declare('yunxin_supplier_add', false, true, false, false);
        $time = strtotime("2021-01-01 00:00:00");
        $body = json_encode([
            'canal' => $supplierCode,
            'update_time' => $time
        ]);
        $msg = new AMQPMessage($body,
            ['content_type' => 'text/plain', 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT]);
        $result = $channel->basic_publish($msg, '', 'yunxin_supplier_add');
        $channel->close();
        $conn->close();
    }
}