作者 lyh

Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6 into lyh-server

... ... @@ -141,29 +141,45 @@ class RerunSeoTdk extends Command
// }
// }
/**
* 判断异常
* @author zbj
* @date 2025/4/12
*/
public function judgeAnomalies($project_id){
//获取当前项目的所有分类
$categories = NewsCategory::pluck('alias', 'id')->toArray();
//新闻 seo_keyword 和 分类名一样的
$news_ids = [];
foreach ($categories as $category){
$ids = News::WhereRaw("FIND_IN_SET('{$category}', `seo_keywords`)")->pluck('id')->toArray();
$news_ids = array_unique(array_merge($news_ids, $ids));
}
// /**
// * 判断异常
// * @author zbj
// * @date 2025/4/12
// */
// public function judgeAnomalies($project_id){
// //获取当前项目的所有分类
// $categories = NewsCategory::pluck('alias', 'id')->toArray();
// //新闻 seo_keyword 和 分类名一样的
// $news_ids = [];
// foreach ($categories as $category){
// $ids = News::WhereRaw("FIND_IN_SET('{$category}', `seo_keywords`)")->pluck('id')->toArray();
// $news_ids = array_unique(array_merge($news_ids, $ids));
// }
//
// $count = count($news_ids);
// if($count){
// echo "项目{$project_id},共{$count}条需要重跑";
// News::whereIn('id', $news_ids)->update(['seo_keywords' => '']);
// ProjectUpdateTdk::add_task($project_id);
// }
// }
$count = count($news_ids);
if($count){
echo "项目{$project_id},共{$count}条需要重跑";
News::whereIn('id', $news_ids)->update(['seo_keywords' => '']);
ProjectUpdateTdk::add_task($project_id);
public function judgeAnomalies($project_id)
{
$page_title = Keyword::where('keyword_title', 'like', '%qz_1%')->orWhere('keyword_title', 'like', '%qz_2%')->update(['keyword_title' => '']);
$page_content = Keyword::where('keyword_content', 'like', '%qz_1%')->orWhere('keyword_content', 'like', '%qz_2%')->update(['keyword_content' => '']);
$seo_description = Keyword::where('seo_description', 'like', '%qz_1%')->orWhere('seo_description', 'like', '%qz_2%')->update(['seo_description' => '']);
if($page_title || $page_content || $seo_description){
echo "项目{$project_id},需要重跑";
dump($page_title);
dump($page_content);
dump($seo_description);
}
}
public function getAllPrefix($type, int $project_id = 0){
$cache_key = 'AllPrefix_' . $type . '_' . $project_id;
$data = Cache::get($cache_key);
... ... @@ -173,4 +189,6 @@ class RerunSeoTdk extends Command
}
return $data;
}
}
... ...
... ... @@ -507,29 +507,36 @@ class UpdateSeoTdk extends Command
}
$project = Project::find($project_id);
#TODO 2025-05-16 发现{qz_x}{hz_x} 已经应用到其他指令里面,去掉限制
if (!in_array(8, explode(',', $project->deploy_optimize->special))) {
// 前缀关键词
if (preg_match_all("/\{qz_(\d+)\}/", $prompt, $matches)) {
foreach ($matches[0] as $key => $val) {
// 前缀关键词
if (preg_match_all("/\{qz_(\d+)\}/", $prompt, $matches)) {
foreach ($matches[0] as $key => $val) {
//特殊关键词项目 不适用前后缀关键词
if(in_array(8, explode(',', $project->deploy_optimize->special))){
$keyword = '';
}else{
$keyword = $this->getPrefixKeyword($project_id, 'prefix', $matches[1][$key]);
if (!$keyword) {
echo getmypid() . ' ' . '前缀关键词为空 跳过' . PHP_EOL;
return false;
}
$prompt = str_replace($val, $keyword, $prompt);
}
$prompt = str_replace($val, $keyword, $prompt);
}
// 后缀关键词
if (preg_match_all("/\{hz_(\d+)\}/", $prompt, $matches)) {
foreach ($matches[0] as $key => $val) {
}
// 后缀关键词
if (preg_match_all("/\{hz_(\d+)\}/", $prompt, $matches)) {
foreach ($matches[0] as $key => $val) {
//特殊关键词项目 不适用前后缀关键词
if(in_array(8, explode(',', $project->deploy_optimize->special))){
$keyword = '';
}else {
$keyword = $this->getPrefixKeyword($project_id, 'suffix', $matches[1][$key]);
if (!$keyword) {
echo getmypid() . ' ' . '前缀关键词为空 跳过' . PHP_EOL;
return false;
}
$prompt = str_replace($val, $keyword, $prompt);
}
$prompt = str_replace($val, $keyword, $prompt);
}
}
... ...
... ... @@ -1153,7 +1153,10 @@ class ProjectController extends BaseController
if($this->param['site_status'] == 1){
//关闭站点:通知C端
curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website');
$re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website');
if(isset($re['status']) && $re['status'] !== 200){
$this->fail($re['message']);
}
}else{
//开启站点:创建建站任务
$serverIpModel = new ServersIp();
... ... @@ -1170,24 +1173,26 @@ class ProjectController extends BaseController
//创建更新站点证书任务
$domainCreateTaskModel = new DomainCreateTask();
$task_info = $domainCreateTaskModel->read(['type' => $type, 'domain_id' => $domainInfo['id'], 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);
$task_info = $domainCreateTaskModel->read(['type' => $type, 'domain_id' => $domainInfo['id'], 'is_open' => DomainCreateTask::IS_OPEN, 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);
if (!$task_info) {
$domainCreateTaskModel->add([
'server_id' => $serversIpInfo['servers_id'],
'project_id' => $this->param['id'],
'domain_id' => $domainInfo['id'],
'type' => $type
'type' => $type,
'is_open' => DomainCreateTask::IS_OPEN
]);
}
if($domainInfo['amp_status']){
$task_info_amp = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_AMP, 'domain_id' => $domainInfo['id'], 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);
$task_info_amp = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_AMP, 'domain_id' => $domainInfo['id'], 'is_open' => DomainCreateTask::IS_OPEN, 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);
if (!$task_info_amp) {
$domainCreateTaskModel->add([
'server_id' => $serversIpInfo['servers_id'],
'project_id' => $this->param['id'],
'domain_id' => $domainInfo['id'],
'type' => DomainCreateTask::TYPE_AMP
'type' => DomainCreateTask::TYPE_AMP,
'is_open' => DomainCreateTask::IS_OPEN
]);
}
}
... ...
... ... @@ -17,4 +17,6 @@ class DomainCreateTask extends Base
const TYPE_AMP = 2;
const TYPE_CUSTOM = 3;
const TYPE_BLOG = 4;
const IS_OPEN = 1;
}
... ...