作者 lyh

gx

... ... @@ -51,14 +51,14 @@ class UpdateRoute extends Command
*/
public function handle(){
$projectModel = new Project();
$list = $projectModel->list(['id'=>475]);
$list = $projectModel->list(['type'=>['!=',0]]);
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
ProjectServer::useProject($v['id']);
// $this->getProduct();
// $this->setProductKeyword();
$this->setProductKeyword();
// $this->getRouteMap();
$this->getProductCategory();
// $this->getProductCategory();
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
... ... @@ -76,15 +76,15 @@ class UpdateRoute extends Command
$lists = $keywordModel->list();
if(!empty($lists)){
foreach ($lists as $v){
if(!empty($v['route'])){
$tag = "-tag";
if (!(substr($v['route'], -strlen($tag)) === $tag)) {
$route = $v['route'].$tag;
// 如果不是以 '-tag' 结尾,则拼接上 '-tag'
$route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT_KEYWORD, $v['id'], $v['project_id']);
$keywordModel->edit(['route'=>$route],['id'=>$v['id']]);
}
}else{
if(empty($v['route'])){
// $tag = "-tag";
// if (!(substr($v['route'], -strlen($tag)) === $tag)) {
// $route = $v['route'].$tag;
// // 如果不是以 '-tag' 结尾,则拼接上 '-tag'
// $route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT_KEYWORD, $v['id'], $v['project_id']);
// $keywordModel->edit(['route'=>$route],['id'=>$v['id']]);
// }
// }else{
echo date('Y-m-d H:i:s') . 'id :'.$v['id'] . PHP_EOL;
$route = RouteMap::setRoute($v['title'], RouteMap::SOURCE_PRODUCT_KEYWORD, $v['id'], $v['project_id']);
$keywordModel->edit(['route'=>$route],['id'=>$v['id']]);
... ... @@ -101,24 +101,24 @@ class UpdateRoute extends Command
* @method :post
* @time :2023/12/8 11:13
*/
// public function getProductKeyword(){
// $keywordModel = new Keyword();
// $lists = $keywordModel->list(['status'=>1,'route'=>'']);
// if(!empty($lists)){
// foreach ($lists as $v){
// $tag = "-tag";
// if (!(substr($v['route'], -strlen($tag)) === $tag)) {
// echo date('Y-m-d H:i:s') . '拼接'.$tag . PHP_EOL;
// $route = $v['route'].$tag;
// // 如果不是以 '-tag' 结尾,则拼接上 '-tag'
// $routeModel = new RouteMap();
// $routeModel->edit(['route'=>$route],['source'=>RouteMap::SOURCE_PRODUCT_KEYWORD,'source_id'=>$v['id']]);
// $keywordModel->edit(['route'=>$route],['id'=>$v['id']]);
// echo date('Y-m-d H:i:s') . 'end'.$v['id'] . PHP_EOL;
// }
// }
// }
// }
public function getProductKeyword(){
$keywordModel = new Keyword();
$lists = $keywordModel->list(['status'=>1,'route'=>'']);
if(!empty($lists)){
foreach ($lists as $v){
$tag = "-tag";
if (!(substr($v['route'], -strlen($tag)) === $tag)) {
echo date('Y-m-d H:i:s') . '拼接'.$tag . PHP_EOL;
$route = $v['route'].$tag;
// 如果不是以 '-tag' 结尾,则拼接上 '-tag'
$routeModel = new RouteMap();
$routeModel->edit(['route'=>$route],['source'=>RouteMap::SOURCE_PRODUCT_KEYWORD,'source_id'=>$v['id']]);
$keywordModel->edit(['route'=>$route],['id'=>$v['id']]);
echo date('Y-m-d H:i:s') . 'end'.$v['id'] . PHP_EOL;
}
}
}
}
public function getProduct(){
$productModel = new Product();
... ...
... ... @@ -148,14 +148,16 @@ class KeywordLogic extends BaseLogic
$this->model = new Keyword();
$info = $this->model->read(['title'=>$v]);
if($info === false){
$route = $this->specialRouteCheck($v);
$param['project_id'] = $this->user['project_id'];
$param['created_at'] = date('Y-m-d H:i:s');
$param['updated_at'] = $param['created_at'];
$param['title'] = $v;
$param['route'] = $route;
$id = $this->model->insertGetId($param);
$route = RouteMap::setRoute($route_array[$k], RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $this->user['project_id']);
// $this->curlDelRoute(['new_route'=>$route]);
$this->model->edit(['route'=>$route],['id'=>$id]);
$route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $this->user['project_id']);
//// $this->curlDelRoute(['new_route'=>$route]);
// $this->model->edit(['route'=>$route],['id'=>$id]);
}
}
}catch (\Exception $e){
... ... @@ -165,6 +167,32 @@ class KeywordLogic extends BaseLogic
}
/**
* @remark :
* @name :specialRouteCheck
* @author :lyh
* @method :post
* @time :2024/1/6 14:50
*/
public function specialRouteCheck($title)
{
if(preg_match('/[\x{4e00}-\x{9fa5}]/u', $title)){
$title = Translate::tran($title, 'en');
}
$suffix = '-tag';
$i = 1;
$sign = generateRoute($title);
$route = $sign . $suffix;
resetRoute:
$log = RouteMap::getRouteInfo($route, $this->user['project_id']);
if ($log) {
$route = $sign .'-'.$i.$suffix;
$i++;
goto resetRoute;
}
return $route;
}
/**
* @remark :删除标签
* @name :keywordDelete
* @author :lyh
... ...