作者 lyh

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

... ... @@ -172,8 +172,8 @@ class SyncInquiryProject extends Command
ProjectServer::useProject($val->id);
//排除白帽个人服务器项目
$seo_type = WebSetting::where('project_id', $val->id)->value('seo_type');
if ($seo_type == 2) {
$web_setting = WebSetting::where('project_id', $val->id)->first();
if (isset($web_setting->seo_type) && $web_setting->seo_type == 2) {
DB::disconnect('custom_mysql');
continue;
}
... ...
... ... @@ -63,7 +63,7 @@ class KeywordPageAiContent extends Command
while (true) {
$task = ProjectKeywordAiTask::getPendingTask();
if (!$task) {
sleep(10);
sleep(60);
continue;
}
$project_id = $task->project_id;
... ... @@ -78,7 +78,17 @@ class KeywordPageAiContent extends Command
ProjectKeywordAiTask::finish($task->id, $update_rows);
$update_rows && $this->sendNotify($project_id);
// $update_rows && $this->sendNotify($project_id);
if($update_rows){
//缓存 在发送页面更新的项目数据 id
$notify_cache_key = "keyword_page_ai_content_notify_{$project_id}";
if(Redis::setnx($notify_cache_key, 1)){
Redis::expire($notify_cache_key, 120);
$this->sendNotify($project_id); //通知主站按需更新
}
}
} catch (ValidateException $e) {
echo getmypid() . ' ' . date('Y-m-d H:i:s') . 'line: ' . $e->getLine() . ' error: ' . $project_id . '->' . $e->getMessage() . PHP_EOL;
... ...
... ... @@ -221,7 +221,7 @@ class UpdateSeoTdk extends Command
while (true) {
$task = ProjectUpdateTdk::getPendingTask();
if (!$task) {
sleep(10);
sleep(60);
continue;
}
$project_id = $task->project_id;
... ... @@ -462,7 +462,16 @@ class UpdateSeoTdk extends Command
//通知C端更新界面
// $notify_master && $this->sendNotify($project_id, 1); //通知主站更新
// $notify_keyword && $this->sendNotify($project_id, 4); //通知聚合页更新
$notify_master && $this->sendNotify($project_id, 2); //通知主站按需更新
if($notify_master){
//缓存 在发送页面更新的项目数据 id
$notify_cache_key = "seo_tdk_update_notify_{$project_id}";
if(Redis::setnx($notify_cache_key, 1)){
Redis::expire($notify_cache_key, 120);
$this->sendNotify($project_id, 2); //通知主站按需更新
}
}
}
public function getPrompt($project_id, $prompt, $table, $data, $field){
... ...
... ... @@ -14,6 +14,7 @@ use App\Models\Devops\ServerConfig;
use App\Models\Devops\ServersIp;
use App\Models\Domain\DomainCreateTask;
use App\Models\Domain\DomainInfo;
use App\Models\Geo\GeoConf;
use App\Models\Inquiry\InquiryInfo;
use App\Models\Inquiry\InquiryRelayAi;
use App\Models\Product\Category;
... ... @@ -53,6 +54,46 @@ class Temp extends Command
}
/**
* geo项目匹配项目负责人
* @author Akun
* @date 2025/11/10 11:16
*/
public function geoProjectMatchOptimist()
{
$project_list = DeployBuild::select('project_id')->where('seo_plan', '>', 0)->get();
foreach ($project_list as $value) {
$project_id = $value['project_id'];
$optimize_info = DeployOptimize::select(['optimist_mid', 'assist_mid'])->where('project_id', $project_id)->first();
if ($optimize_info) {
$manager_id = 0;
if (isset($optimize_info->assist_mid) && $optimize_info->assist_mid) {
$manager_id = $optimize_info->assist_mid;
}
if (isset($optimize_info->optimist_mid) && $optimize_info->optimist_mid) {
$manager_id = $optimize_info->optimist_mid;
}
if ($manager_id) {
$geo_conf = GeoConf::where('project_id', $project_id)->first();
if (!$geo_conf) {
$geo_conf = new GeoConf();
$geo_conf->project_id = $project_id;
$geo_conf->manager_id = $manager_id;
} elseif (empty($geo_conf['manager_id'])) {
$geo_conf->manager_id = $manager_id;
}
$geo_conf->save();
}
}
$this->output('project_id:' . $project_id . ',success');
}
}
/**
* 4301项目特殊产品数据导入
* @return bool
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
... ...
... ... @@ -50,11 +50,9 @@ class EnterpriseProductLogic extends BaseLogic
/**
* @remark :批量保存外链数据
* @name :saveLinkData
* @author :lyh
* @method :post
* @time :2025/4/2 9:08
* 批量保存外链数据
* TODO 约定参数, 验证参数, 参数兼容
* @return array
*/
public function saveLinkData(){
$linkModel = new GeoLink();
... ... @@ -69,7 +67,7 @@ class EnterpriseProductLogic extends BaseLogic
$data[] = [
'url'=>$v['url'],
'type'=>$linkModel::TYPE_LINK,
'da_values'=>$v['da_values'],
'da'=>$v['da'] ?? 0, // FIXME 确定数据库字段
'project_id'=>$this->param['project_id'],
'send_time'=>$v['send_time'] ?? date('Y-m-d H:i:s')
];
... ...
... ... @@ -563,7 +563,7 @@ class RankDataLogic extends BaseLogic
$without_project_ids = []; //不用处理排名的项目
$without_extension_project_ids = [658]; //是否达标只统计主词的
$extension_project_ids = [354]; //扩展词也到达标的
$compliance_project_ids = [2163,257,823,1750,497,1006,2663]; //直接达标处理的
$compliance_project_ids = [2163,257,823,1750,497,1006,2663,255]; //直接达标处理的
$ceaseProjectId = [354, 378, 649, 1226, 1283, 1703, 1893, 2066, 2250,2193,2399,1685, 3931,2273,3647,1934];//暂停的项目
$uptimeProjectId = [1434,1812,276,2414,2974];//按上线时间统计的项目
//一个项目多个api_no
... ...
... ... @@ -54,12 +54,12 @@ class ProjectUpdateTdk extends Base
$project_id = Redis::rpop('updateSeoTdk');
$data = [];
if($project_id){
$data = self::where('status', self::STATUS_PENDING)->where('project_id', $project_id)->orderBy('id', 'asc')->first();
$data = self::select(['id','project_id'])->where('status', self::STATUS_PENDING)->where('project_id', $project_id)->orderBy('id', 'asc')->first();
}
if($data){
return $data;
}
return self::where('status', self::STATUS_PENDING)->orderBy('id', 'asc')->first();
return self::select(['id','project_id'])->where('status', self::STATUS_PENDING)->orderBy('id', 'asc')->first();
}
/**
... ...