<?php
/**
 * Created by PhpStorm.
 * User: LYY
 * Date: 2020.10.22
 */

namespace common\models;

//use yii\db\ActiveRecord;
class ListNav extends Common
{
    public function rules()
    {
        return [
            ['list_id', 'in', 'range' => [1, 2, 3, 4]],
            [['sort', 'state', 'information', 'title', 'city', 'news','brand','knowledgelabel', 'url'], 'safe']
        ];
        /**
         * list_id:[
         * 1:pc端首页区域推送位
         * 2:pc端首页资讯栏目推送
         * 3:首页房产资讯下热搜楼盘词
         * 4:首页房产资讯下团购优惠看房团
         * ]
         */
    }
//+++++++++++++++++++++++++++++++++++++++++++++区域类型推送=============================================================
    //获取推送区域数据列表
    public function getListCity($input)
    {
        $select = [
            'pfg_list_nav.*',
            'pfg_category_city.city_name'
        ];
        $query = self::find();
        $query->select($select);
        $query->where(['pfg_list_nav.list_id' => $input['list_id']]);
        $query->leftJoin('pfg_category_city', 'pfg_category_city.id = pfg_list_nav.city');
        $count = $query->count();
        if (!empty($input['page'])) {
            $query->offset(--$input['page'] * $input['limit']);
        }
        if (!empty($input['limit'])) {
            $query->limit($input['limit']);
        }
        $data = $query->orderBy(['pfg_list_nav.state' => SORT_ASC, 'pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
        foreach ($data as &$val) {
            $val['create_at'] = date('Y-m-d H:i:s');
        }
        return ['msg' => '成功', 'count' => $count, 'data' => $data];
    }

    //获取前端区域推送数据
    public function getPcPushCityList($list_id, $limit = null)
    {
        $select = [
            'pfg_list_nav.*',
            'pfg_category_city.city_name'
        ];
        $query = self::find();
        $query->select($select);
        $query->where(['pfg_list_nav.list_id' => $list_id, 'pfg_list_nav.state' => 1]);
        $query->leftJoin('pfg_category_city', 'pfg_category_city.id = pfg_list_nav.city');
        if (!empty($limit)) {
            $query->limit($limit);
        }
        $data = $query->orderBy(['pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
        return $data;
    }

    //++++++++++++++++++++++++++++++栏目类型推送========================================================================
    //    获取推送栏目数据列表
    public function getListNews($input)
    {
        $select = [
            'pfg_list_nav.*',
            'pfg_category_news.news_name'
        ];
        $query = self::find();
        $query->select($select);
        $query->where(['pfg_list_nav.list_id' => $input['list_id']]);
        $query->leftJoin('pfg_category_news', 'pfg_category_news.id = pfg_list_nav.news');
        $count = $query->count();
        if (!empty($input['page'])) {
            $query->offset(--$input['page'] * $input['limit']);
        }
        if (!empty($input['limit'])) {
            $query->limit($input['limit']);
        }
        $data = $query->orderBy(['pfg_list_nav.state' => SORT_ASC, 'pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
        foreach ($data as &$val) {
            $val['create_at'] = date('Y-m-d H:i:s');
        }
        return ['msg' => '成功', 'count' => $count, 'data' => $data];
    }

    public function getPcListNews($list_id, $limit = null)
    {
        $select = [
            'pfg_category_news.id',
            'pfg_category_news.news_name'
        ];
        $query = self::find();
        $query->select($select);
        $query->where(['pfg_list_nav.list_id' => $list_id, 'pfg_list_nav.state' => 1]);
        $query->leftJoin('pfg_category_news', 'pfg_category_news.id = pfg_list_nav.news');
        if (!empty($limit)) {
            $query->limit($limit);
        }
        return $query->orderBy(['pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
    }

    //++++++++++++++++++++++++++++++自定义导航推送信息==================================================================
    public function getListTitle($input)
    {
        $select = [
            '*',
        ];
        $query = self::find();
        $query->select($select);
        $query->where(['list_id' => $input['list_id']]);
        $count = $query->count();
        if (!empty($input['page'])) {
            $query->offset(--$input['page'] * $input['limit']);
        }
        if (!empty($input['limit'])) {
            $query->limit($input['limit']);
        }
        $data = $query->orderBy(['state' => SORT_ASC, 'sort' => SORT_DESC])->asArray()->all();
        foreach ($data as &$val) {
            $val['create_at'] = date('Y-m-d H:i:s');
        }
        return ['msg' => '成功', 'count' => $count, 'data' => $data];
    }

    public function getPcPushTitle($list_id,$limit=null)
    {
        $select = [
            'title',
            'url'
        ];
        $query = self::find();
        $query->select($select);
        $query->where(['list_id' => $list_id, 'state' => 1]);
        if (!empty($limit)) {
            $query->limit($limit);
        }
        return $query->orderBy(['sort' => SORT_DESC])->asArray()->all();
    }
}