作者 李宇航

合并分支 'lyh-server' 到 'master'

Lyh server



查看合并请求 !1439
@@ -16,7 +16,9 @@ use App\Models\CustomModule\CustomModuleContent; @@ -16,7 +16,9 @@ use App\Models\CustomModule\CustomModuleContent;
16 use App\Models\Product\CategoryRelated; 16 use App\Models\Product\CategoryRelated;
17 use App\Models\Product\Keyword; 17 use App\Models\Product\Keyword;
18 use App\Models\Product\Product; 18 use App\Models\Product\Product;
  19 +use App\Models\Project\DeployOptimize;
19 use App\Models\Project\Project; 20 use App\Models\Project\Project;
  21 +use App\Models\RankData\RankDataLog;
20 use App\Models\RouteMap\RouteMap; 22 use App\Models\RouteMap\RouteMap;
21 use App\Models\WebSetting\WebSetting; 23 use App\Models\WebSetting\WebSetting;
22 use App\Services\ProjectServer; 24 use App\Services\ProjectServer;
@@ -58,28 +60,29 @@ class UpdateRoute extends Command @@ -58,28 +60,29 @@ class UpdateRoute extends Command
58 * @time :2023/11/20 15:13 60 * @time :2023/11/20 15:13
59 */ 61 */
60 public function handle(){ 62 public function handle(){
61 - $projectModel = new Project();  
62 - $lists = $projectModel->list(['delete_status'=>0],'id',['id']);  
63 - foreach ($lists as $v){  
64 - echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;  
65 - ProjectServer::useProject($v['id']);  
66 - $webSettingModel = new WebSetting();  
67 - $settingInfo = $webSettingModel->read(['project_id'=>$v['id']]);  
68 - if($settingInfo === false){  
69 - echo date('Y-m-d H:i:s') . '当前项目的设置数据不存在:'.$v['id'] . PHP_EOL;  
70 - //新增一条数据  
71 - $data = [  
72 - 'anchor_setting'=>'["3","4","5"]',  
73 - 'anchor_is_enable'=>1,  
74 - 'anchor_page_num'=>1,  
75 - 'anchor_num'=>2,  
76 - 'anchor_keyword_is_enable'=>1,  
77 - 'project_id'=>$v['id']  
78 - ];  
79 - $webSettingModel->add($data);  
80 - }  
81 - DB::disconnect('custom_mysql');  
82 - } 63 + $this->updateProjectOp();
  64 +// $projectModel = new Project();
  65 +// $lists = $projectModel->list(['delete_status'=>0],'id',['id']);
  66 +// foreach ($lists as $v){
  67 +// echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
  68 +// ProjectServer::useProject($v['id']);
  69 +// $webSettingModel = new WebSetting();
  70 +// $settingInfo = $webSettingModel->read(['project_id'=>$v['id']]);
  71 +// if($settingInfo === false){
  72 +// echo date('Y-m-d H:i:s') . '当前项目的设置数据不存在:'.$v['id'] . PHP_EOL;
  73 +// //新增一条数据
  74 +// $data = [
  75 +// 'anchor_setting'=>'["3","4","5"]',
  76 +// 'anchor_is_enable'=>1,
  77 +// 'anchor_page_num'=>1,
  78 +// 'anchor_num'=>2,
  79 +// 'anchor_keyword_is_enable'=>1,
  80 +// 'project_id'=>$v['id']
  81 +// ];
  82 +// $webSettingModel->add($data);
  83 +// }
  84 +// DB::disconnect('custom_mysql');
  85 +// }
83 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; 86 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
84 } 87 }
85 88
@@ -482,4 +485,27 @@ class UpdateRoute extends Command @@ -482,4 +485,27 @@ class UpdateRoute extends Command
482 } 485 }
483 return true; 486 return true;
484 } 487 }
  488 +
  489 + /**
  490 + * @remark :更新优化设置表
  491 + * @name :updateProjectOp
  492 + * @author :lyh
  493 + * @method :post
  494 + * @time :2025/3/14 10:29
  495 + */
  496 + public function updateProjectOp(){
  497 + //查询优化中台数据
  498 + $projectModel = new Project();
  499 + $list = $projectModel->list(['type'=>2],['id']);
  500 + $rankDataModel = new RankDataLog();
  501 + $opModel = new DeployOptimize();
  502 + foreach ($list as $v){
  503 + $rankInfo = $rankDataModel->where('project_id', $v['id'])->where('is_compliance',1)->where('lang','')->orderBy('created_at', 'asc')->select('id', 'date' ,'project_id','is_compliance' ,'created_at')->first();
  504 + if(!empty($rankInfo)){
  505 + echo date('Y-m-d H:i:s') . '项目id:'.$v['id'] .'首次达标时间'. $rankInfo['date'] . PHP_EOL;
  506 + $opModel->edit(['first_compliance_time'=>$rankInfo['date']],['project_id'=>$v['id']]);
  507 + }
  508 + }
  509 + return true;
  510 + }
485 } 511 }
@@ -490,18 +490,7 @@ class RankDataLogic extends BaseLogic @@ -490,18 +490,7 @@ class RankDataLogic extends BaseLogic
490 $without_extension_project_ids = [658]; //是否达标只统计主词的 490 $without_extension_project_ids = [658]; //是否达标只统计主词的
491 $extension_project_ids = [354]; //扩展词也到达标的 491 $extension_project_ids = [354]; //扩展词也到达标的
492 $compliance_project_ids = [2163,257]; //直接达标处理的 492 $compliance_project_ids = [2163,257]; //直接达标处理的
493 - $ceaseProjectId = [  
494 - 47,  
495 - 354,  
496 - 378,  
497 - 649,  
498 - 1226,  
499 - 1283,  
500 - 1703,  
501 - 1893,  
502 - 2066,  
503 - ];//暂停项目id  
504 - 493 + $ceaseProjectId = [47, 354, 378, 649, 1226, 1283, 1703, 1893, 2066,];//暂停项目id
505 //一个项目多个api_no 494 //一个项目多个api_no
506 $multiple_api_no_project_ids = [ 495 $multiple_api_no_project_ids = [
507 2104 => [ 496 2104 => [
@@ -515,15 +504,6 @@ class RankDataLogic extends BaseLogic @@ -515,15 +504,6 @@ class RankDataLogic extends BaseLogic
515 $g_top_first_page_extension_num = 0; 504 $g_top_first_page_extension_num = 0;
516 foreach ($data as &$ranks){ 505 foreach ($data as &$ranks){
517 ksort($ranks); 506 ksort($ranks);
518 -// foreach ($ranks as &$rank){  
519 -// //处理排名  
520 -// if(!in_array($project_id, $without_project_ids)){  
521 -// if($rank['position'] >= 10){  
522 -// $rank['position'] -= 5;  
523 -// }  
524 -// //todo 需要特殊处理排名的项目  
525 -// }  
526 -// }  
527 $last = Arr::last($ranks); 507 $last = Arr::last($ranks);
528 //第一名 508 //第一名
529 if($last['position'] == 1){ 509 if($last['position'] == 1){
@@ -586,6 +566,9 @@ class RankDataLogic extends BaseLogic @@ -586,6 +566,9 @@ class RankDataLogic extends BaseLogic
586 if (($model->updated_date != date('Y-m-d') || empty($model_is_compliance)) && !$lang) { 566 if (($model->updated_date != date('Y-m-d') || empty($model_is_compliance)) && !$lang) {
587 $compliance_day = Project::where(['id' => $project_id])->value('finish_remain_day') ?: 0; 567 $compliance_day = Project::where(['id' => $project_id])->value('finish_remain_day') ?: 0;
588 if(!in_array($project_id,$ceaseProjectId)){ 568 if(!in_array($project_id,$ceaseProjectId)){
  569 + if($compliance_day == 0){//达标天数为0并当天达标 记录当前达标时间
  570 + DeployOptimize::where(['project_id'=>$project_id])->update(['first_compliance_time'=>date('Y-m-d')]);
  571 + }
589 //多api_no项目 要api_no都分别达标才算 572 //多api_no项目 要api_no都分别达标才算
590 if(in_array($project_id, array_keys($multiple_api_no_project_ids))){ 573 if(in_array($project_id, array_keys($multiple_api_no_project_ids))){
591 $api_nos = array_keys($multiple_api_no_project_ids[$project_id]); 574 $api_nos = array_keys($multiple_api_no_project_ids[$project_id]);