|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @remark :
|
|
|
|
* @name :UpdateRoute.php
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/11/20 15:07
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Console\Commands\UpgradeKeyword;
|
|
|
|
|
|
|
|
use App\Helper\Arr;
|
|
|
|
use App\Helper\Translate;
|
|
|
|
use App\Models\CustomModule\CustomModuleCategory;
|
|
|
|
use App\Models\CustomModule\CustomModuleContent;
|
|
|
|
use App\Models\Product\CategoryRelated;
|
|
|
|
use App\Models\Product\Keyword;
|
|
|
|
use App\Models\Product\Product;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\RouteMap\RouteMap;
|
|
|
|
use App\Models\Template\BTemplate;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :更新所有项目的路由
|
|
|
|
* @name :UpdateRoute
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/11/20 15:08
|
|
|
|
*/
|
|
|
|
class UpdateKeyword extends Command
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'update_keyword_route';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $description = '升级项目-关键字路由与其他路由重复时,删除关键字';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :统一更新路由
|
|
|
|
* @name :handle
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/11/20 15:13
|
|
|
|
*/
|
|
|
|
public function handle(){
|
|
|
|
$projectModel = new Project();
|
|
|
|
$list = $projectModel->list(['is_upgrade'=>1,'delete_status'=>0]);
|
|
|
|
|
|
|
|
foreach ($list as $v){
|
|
|
|
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
|
|
|
|
ProjectServer::useProject($v['id']);
|
|
|
|
$this->getRouteMap();
|
|
|
|
DB::disconnect('custom_mysql');
|
|
|
|
}
|
|
|
|
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :升级项目查看路由是否有重复路由
|
|
|
|
* @name :getRouteMap
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/1/4 11:53
|
|
|
|
*/
|
|
|
|
public function getRouteMap(){
|
|
|
|
$routeMapModel = new RouteMap();
|
|
|
|
$list = $routeMapModel->list(['source'=>'product_keyword']);
|
|
|
|
foreach ($list as $k => $v){
|
|
|
|
$routeInfo = $routeMapModel->read(['source'=>['!=','product_keyword'],'route'=>$v['route']]);
|
|
|
|
if($routeInfo !== false){
|
|
|
|
try {
|
|
|
|
$keywordModel = new Keyword();
|
|
|
|
$keywordModel->del(['id'=>$v['source_id']]);
|
|
|
|
$routeMapModel->del(['id'=>$v['id']]);
|
|
|
|
}catch (\Exception $e){
|
|
|
|
echo date('Y-m-d H:i:s') . '关键字id:'.$v['source_id'] . PHP_EOL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|