KeywordsLogic.php 2.1 KB
<?php

namespace App\Http\Logic\Aside\Optimize;

use App\Http\Logic\Aside\BaseLogic;
use App\Models\Product\Keyword;
use App\Models\Project\Project;
use App\Models\RouteMap;

/**
 * @remark :关键词查案例
 * @class  :KeywordsLogic.php
 * @author :lyh
 * @time   :2023/7/22 11:44
 */
class KeywordsLogic extends BaseLogic
{
    const ISSET_TYPE = 1;//去重时写入默认值

    public function __construct()
    {
        parent::__construct();
        $this->routeMapModel = new RouteMap();
        $this->productKeywordModel = new Keyword();
        $this->param = $this->requestAll;
    }

    /**
     * @remark :关键字查询案例
     * @name   :keySearchList
     * @author :lyh
     * @method :post
     * @time   :2023/7/22 11:46
     */
    public function keySearchList($map){
        $data = [];
        $data = $this->searchRouteMap($map,$data);//查询菜单信息表
        $data = $this->searchProductKeyword($map,$data);//查询产品关键词表
        $data = array_unique($data);
        $lists = [];
        if(!empty($project_id)){
            $projectModel = new Project();
            $lists = $projectModel->formatQuery(['id'=>['in',$data]])->with('deploy_build')->with('deploy_optimize')->get();
        }
        return $this->success($lists);
    }

    /**
     * @remark :菜单表中查询route关键字
     * @name   :searchRouteMap
     * @author :lyh
     * @method :post
     * @time   :2023/7/22 16:46
     */
    public function searchRouteMap($map,&$data){
        $keyList = $this->routeMapModel->list(['route'=>$map['search']],'created_at');
        foreach ($keyList as $v){
            $data[] = $v['project_id'];
        }
        return $data;
    }

    /**
     * @remark :搜索产品关键字
     * @name   :searchProductKeyword
     * @author :lyh
     * @method :post
     * @time   :2023/7/22 16:52
     */
    public function searchProductKeyword($map,&$data){
        $keyList = $this->productKeywordModel->list(['title'=>$map['search']]);
        foreach ($keyList as $v){
            $data[] = $v['project_id'];
        }
        return $data;
    }
}