正在显示
7 个修改的文件
包含
62 行增加
和
15 行删除
| @@ -86,7 +86,7 @@ class RemainDay extends Command | @@ -86,7 +86,7 @@ class RemainDay extends Command | ||
| 86 | * @time :2025/4/2 10:48 | 86 | * @time :2025/4/2 10:48 |
| 87 | */ | 87 | */ |
| 88 | public function saveRemainDay(){ | 88 | public function saveRemainDay(){ |
| 89 | - $list = $this->project->list(['extend_type'=>Project::TYPE_ZERO,'type'=>['in',[Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR]]],'id',['id','type','uptime','remain_day','is_remain_today','pause_days','finish_remain_day']); | 89 | + $list = $this->project->list(['extend_type'=>Project::TYPE_ZERO,'type'=>['in',[Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR,Project::TYPE_SIX]]],'id',['id','type','uptime','remain_day','is_remain_today','pause_days','finish_remain_day','bm_finish_remain_day']); |
| 90 | foreach ($list as $item){ | 90 | foreach ($list as $item){ |
| 91 | $deploy_build = $this->deployBuild->read(['project_id'=>$item['id']],['service_duration','seo_service_duration','plan','seo_plan']); | 91 | $deploy_build = $this->deployBuild->read(['project_id'=>$item['id']],['service_duration','seo_service_duration','plan','seo_plan']); |
| 92 | echo 'start->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; | 92 | echo 'start->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; |
| @@ -123,19 +123,15 @@ class RemainDay extends Command | @@ -123,19 +123,15 @@ class RemainDay extends Command | ||
| 123 | //白帽版本的系统 | 123 | //白帽版本的系统 |
| 124 | if($deploy_build['seo_plan'] == 1){ | 124 | if($deploy_build['seo_plan'] == 1){ |
| 125 | if($deploy_build['seo_service_duration'] != 0){ | 125 | if($deploy_build['seo_service_duration'] != 0){ |
| 126 | - if($item['uptime']){ | ||
| 127 | - $diff = time() - strtotime($item['uptime']); | ||
| 128 | - $compliance_day = floor($diff / (60 * 60 * 24)); | 126 | + if($item['bm_finish_remain_day']){ |
| 127 | + $compliance_day = (int)$item['bm_finish_remain_day']; | ||
| 129 | $seo_remain_day = $deploy_build['seo_service_duration'] - $compliance_day; | 128 | $seo_remain_day = $deploy_build['seo_service_duration'] - $compliance_day; |
| 130 | }else{ | 129 | }else{ |
| 131 | $seo_remain_day = $deploy_build['seo_service_duration']; | 130 | $seo_remain_day = $deploy_build['seo_service_duration']; |
| 132 | } | 131 | } |
| 133 | -// if($seo_remain_day < 0){ | ||
| 134 | -// $seo_remain_day = 0; | ||
| 135 | -// } | ||
| 136 | if($deploy_build['plan'] == 0 && $seo_remain_day < 0 && $deploy_build['seo_service_duration'] != 0){//只有白帽版本的项目且剩余服务时常为0,放入未续费中 | 132 | if($deploy_build['plan'] == 0 && $seo_remain_day < 0 && $deploy_build['seo_service_duration'] != 0){//只有白帽版本的项目且剩余服务时常为0,放入未续费中 |
| 137 | // $this->project->edit(['seo_remain_day'=>$seo_remain_day,'finish_remain_day'=>$compliance_day ?? 0,'extend_type'=>Project::TYPE_FIVE],['id'=>$item['id']]); | 133 | // $this->project->edit(['seo_remain_day'=>$seo_remain_day,'finish_remain_day'=>$compliance_day ?? 0,'extend_type'=>Project::TYPE_FIVE],['id'=>$item['id']]); |
| 138 | - $this->project->edit(['seo_remain_day'=>$seo_remain_day,'finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); | 134 | + $this->project->edit(['seo_remain_day'=>$seo_remain_day,'bm_finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); |
| 139 | }else{ | 135 | }else{ |
| 140 | //同时包括白帽版本+默认版本的项目 | 136 | //同时包括白帽版本+默认版本的项目 |
| 141 | $this->project->edit(['seo_remain_day'=>$seo_remain_day],['id'=>$item['id']]); | 137 | $this->project->edit(['seo_remain_day'=>$seo_remain_day],['id'=>$item['id']]); |
| @@ -79,11 +79,11 @@ class RankDataLog extends BaseCommands | @@ -79,11 +79,11 @@ class RankDataLog extends BaseCommands | ||
| 79 | $this->output('保存排名数据:ID'.$log->project_id . ',APINO' . $log->api_no); | 79 | $this->output('保存排名数据:ID'.$log->project_id . ',APINO' . $log->api_no); |
| 80 | if(Str::endsWith($log->api_no, '_bmseo')){ | 80 | if(Str::endsWith($log->api_no, '_bmseo')){ |
| 81 | //白帽版 | 81 | //白帽版 |
| 82 | - (new RankDataLogic())->save_rank_bmseo($log->project_id, $log->api_no, $res); | 82 | + $is_compliance = (new RankDataLogic())->save_rank_bmseo($log->project_id, $log->api_no, $res); |
| 83 | }else{ | 83 | }else{ |
| 84 | $is_compliance = (new RankDataLogic())->save_rank($log->project_id, $log->api_no, $res, null, $log->lang); | 84 | $is_compliance = (new RankDataLogic())->save_rank($log->project_id, $log->api_no, $res, null, $log->lang); |
| 85 | - $log->is_compliance = $is_compliance; | ||
| 86 | } | 85 | } |
| 86 | + $log->is_compliance = $is_compliance; | ||
| 87 | $log->status = 1; | 87 | $log->status = 1; |
| 88 | $log->save(); | 88 | $log->save(); |
| 89 | 89 |
| @@ -4,12 +4,16 @@ namespace App\Console\Commands\Tdk; | @@ -4,12 +4,16 @@ namespace App\Console\Commands\Tdk; | ||
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | use App\Helper\Arr; | 6 | use App\Helper\Arr; |
| 7 | +use App\Models\Blog\BlogCategory; | ||
| 8 | +use App\Models\CustomModule\CustomModuleCategory; | ||
| 7 | use App\Models\News\News; | 9 | use App\Models\News\News; |
| 8 | use App\Models\News\NewsCategory; | 10 | use App\Models\News\NewsCategory; |
| 11 | +use App\Models\Product\Category; | ||
| 9 | use App\Models\Product\Keyword; | 12 | use App\Models\Product\Keyword; |
| 10 | use App\Models\Project\KeywordPrefix; | 13 | use App\Models\Project\KeywordPrefix; |
| 11 | use App\Models\Project\Project; | 14 | use App\Models\Project\Project; |
| 12 | use App\Models\Project\ProjectUpdateTdk; | 15 | use App\Models\Project\ProjectUpdateTdk; |
| 16 | +use App\Models\Template\BCustomTemplate; | ||
| 13 | use App\Services\ProjectServer; | 17 | use App\Services\ProjectServer; |
| 14 | use App\Utils\LogUtils; | 18 | use App\Utils\LogUtils; |
| 15 | use Illuminate\Console\Command; | 19 | use Illuminate\Console\Command; |
| @@ -55,11 +59,14 @@ class RerunSeoTdk extends Command | @@ -55,11 +59,14 @@ class RerunSeoTdk extends Command | ||
| 55 | */ | 59 | */ |
| 56 | public function handle() | 60 | public function handle() |
| 57 | { | 61 | { |
| 58 | - $project_ids = Project::where('type', Project::TYPE_TWO)->pluck('id')->toArray(); | 62 | + $where = [ |
| 63 | + 'id' => 624 | ||
| 64 | + ]; | ||
| 65 | + $project_ids = Project::where('type', Project::TYPE_TWO)->where($where)->pluck('id')->toArray(); | ||
| 59 | foreach ($project_ids as $project_id){ | 66 | foreach ($project_ids as $project_id){ |
| 60 | try { | 67 | try { |
| 61 | ProjectServer::useProject($project_id); | 68 | ProjectServer::useProject($project_id); |
| 62 | - $this->judgeAnomalies($project_id); | 69 | + $this->changeCompanyName($project_id); |
| 63 | DB::disconnect('custom_mysql'); | 70 | DB::disconnect('custom_mysql'); |
| 64 | }catch (\Exception $e){ | 71 | }catch (\Exception $e){ |
| 65 | dump($e->getMessage()); | 72 | dump($e->getMessage()); |
| @@ -68,6 +75,25 @@ class RerunSeoTdk extends Command | @@ -68,6 +75,25 @@ class RerunSeoTdk extends Command | ||
| 68 | } | 75 | } |
| 69 | 76 | ||
| 70 | /** | 77 | /** |
| 78 | + * 换了公司英文名的 | ||
| 79 | + * @author zbj | ||
| 80 | + * @date 2025/7/18 | ||
| 81 | + */ | ||
| 82 | + public function changeCompanyName($project_id){ | ||
| 83 | + $row1 = BCustomTemplate::where('description', 'like', '%BlueQ Biotechnology%')->update(['description' => '']); | ||
| 84 | + $row2 = Category::where('seo_des', 'like', '%BlueQ Biotechnology%')->update(['seo_des' => '']); | ||
| 85 | + $row3 = Keyword::where('seo_description', 'like', '%BlueQ Biotechnology%')->update(['seo_description' => '']); | ||
| 86 | + $row4 = Keyword::where('keyword_content', 'like', '%BlueQ Biotechnology%')->update(['keyword_content' => '']); | ||
| 87 | + $row5 = BlogCategory::where('seo_des', 'like', '%BlueQ Biotechnology%')->update(['seo_des' => '']); | ||
| 88 | + $row6 = NewsCategory::where('seo_des', 'like', '%BlueQ Biotechnology%')->update(['seo_des' => '']); | ||
| 89 | + $row7 = CustomModuleCategory::where('seo_description', 'like', '%BlueQ Biotechnology%')->update(['seo_description' => '']); | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + dump($row1,$row2,$row3,$row4,$row5,$row6,$row7); | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + | ||
| 96 | + /** | ||
| 71 | * 判断seo_title 前缀有wholesale或cheap或buy的词,后缀也有 manufacturer,factory,exporter,company | 97 | * 判断seo_title 前缀有wholesale或cheap或buy的词,后缀也有 manufacturer,factory,exporter,company |
| 72 | * 判断关键词最后一个词是前缀的词,前后缀都不拼 | 98 | * 判断关键词最后一个词是前缀的词,前后缀都不拼 |
| 73 | * @author zbj | 99 | * @author zbj |
| @@ -24,6 +24,7 @@ class Kernel extends ConsoleKernel | @@ -24,6 +24,7 @@ class Kernel extends ConsoleKernel | ||
| 24 | $schedule->command('sync_channel')->dailyAt('06:00')->withoutOverlapping(1); // 渠道信息,每天执行一次 | 24 | $schedule->command('sync_channel')->dailyAt('06:00')->withoutOverlapping(1); // 渠道信息,每天执行一次 |
| 25 | $schedule->command('inquiry_count')->dailyAt('01:00')->withoutOverlapping(1); // 询盘统计数据,每天凌晨执行一次 | 25 | $schedule->command('inquiry_count')->dailyAt('01:00')->withoutOverlapping(1); // 询盘统计数据,每天凌晨执行一次 |
| 26 | $schedule->command('share_user')->dailyAt('01:20')->withoutOverlapping(1);// 每天凌晨1点执行一次 | 26 | $schedule->command('share_user')->dailyAt('01:20')->withoutOverlapping(1);// 每天凌晨1点执行一次 |
| 27 | + $schedule->command('ai_domain')->dailyAt('01:20')->withoutOverlapping(1);// 每天凌晨1点执行一次(同步ai域名) | ||
| 27 | $schedule->command('last_inquiry')->dailyAt('04:00')->withoutOverlapping(1);// 最近一次询盘信息 | 28 | $schedule->command('last_inquiry')->dailyAt('04:00')->withoutOverlapping(1);// 最近一次询盘信息 |
| 28 | $schedule->command('update_seo_tdk_crontab')->dailyAt('20:00')->withoutOverlapping(1); //更新上线项目TDK | 29 | $schedule->command('update_seo_tdk_crontab')->dailyAt('20:00')->withoutOverlapping(1); //更新上线项目TDK |
| 29 | $schedule->command('sync_manager')->dailyAt('01:00')->withoutOverlapping(1); //TODO::手机号码同步 每天执行一次 | 30 | $schedule->command('sync_manager')->dailyAt('01:00')->withoutOverlapping(1); //TODO::手机号码同步 每天执行一次 |
| @@ -320,7 +320,8 @@ class NewsController extends BaseController | @@ -320,7 +320,8 @@ class NewsController extends BaseController | ||
| 320 | ],[ | 320 | ],[ |
| 321 | 'keyword.required' => 'keyword不能为空', | 321 | 'keyword.required' => 'keyword不能为空', |
| 322 | ]); | 322 | ]); |
| 323 | - $data = curl_get('http://gnews.globalso.com/gnews_news.php?keyword='.$this->param['keyword'],true); | 323 | + |
| 324 | + $data = curl_get('http://gnews.globalso.com/gnews_news.php?keyword='.str_replace(' ', '+', $this->param['keyword']),true); | ||
| 324 | if(isset($data['data']['p'][0]) && !empty($data['data']['p'][0])){ | 325 | if(isset($data['data']['p'][0]) && !empty($data['data']['p'][0])){ |
| 325 | $data['data']['p'][0] = str_replace(' ' ,' ',$data['data']['p'][0]); | 326 | $data['data']['p'][0] = str_replace(' ' ,' ',$data['data']['p'][0]); |
| 326 | } | 327 | } |
| @@ -174,7 +174,7 @@ class CustomTemplateLogic extends BaseLogic | @@ -174,7 +174,7 @@ class CustomTemplateLogic extends BaseLogic | ||
| 174 | $six_read = $this->param['six_read'] ?? 0;//5.0数据时,是否按6.0显示 | 174 | $six_read = $this->param['six_read'] ?? 0;//5.0数据时,是否按6.0显示 |
| 175 | if($is_upgrade == 0 || $six_read == 0) { | 175 | if($is_upgrade == 0 || $six_read == 0) { |
| 176 | $this->param['url'] = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']); | 176 | $this->param['url'] = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_PAGE, $id, $this->user['project_id']); |
| 177 | - if(($this->param['url'] == 'news') || ($this->param['url'] == 'product') || ($this->param['url'] == 'blog')){ | 177 | + if(($this->param['url'] == 'news') || ($this->param['url'] == 'products') || ($this->param['url'] == 'blog')){ |
| 178 | $this->fail('不允许创建路由为:'.$this->param['url']); | 178 | $this->fail('不允许创建路由为:'.$this->param['url']); |
| 179 | } | 179 | } |
| 180 | } | 180 | } |
| @@ -22,6 +22,7 @@ use App\Models\RankData\IndexedPages; | @@ -22,6 +22,7 @@ use App\Models\RankData\IndexedPages; | ||
| 22 | use App\Models\RankData\IndexedPages as IndexedPagesModel; | 22 | use App\Models\RankData\IndexedPages as IndexedPagesModel; |
| 23 | use App\Models\RankData\RankData; | 23 | use App\Models\RankData\RankData; |
| 24 | use App\Models\RankData\RankDataBmseo; | 24 | use App\Models\RankData\RankDataBmseo; |
| 25 | +use App\Models\RankData\RankDataLog; | ||
| 25 | use App\Models\RankData\RankWeek; | 26 | use App\Models\RankData\RankWeek; |
| 26 | use App\Models\RankData\RankWeek as RankWeekModel; | 27 | use App\Models\RankData\RankWeek as RankWeekModel; |
| 27 | use App\Models\RankData\RecommDomain; | 28 | use App\Models\RankData\RecommDomain; |
| @@ -709,6 +710,28 @@ class RankDataLogic extends BaseLogic | @@ -709,6 +710,28 @@ class RankDataLogic extends BaseLogic | ||
| 709 | $first_ten_pages_num ++; | 710 | $first_ten_pages_num ++; |
| 710 | } | 711 | } |
| 711 | } | 712 | } |
| 713 | + | ||
| 714 | + //保证关键词数 | ||
| 715 | + $keyword_num = DeployBuild::where('project_id', $project_id)->value('keyword_num'); | ||
| 716 | + if($keyword_num){ | ||
| 717 | + $is_compliance = $first_page_num >= $keyword_num; | ||
| 718 | + }else{ | ||
| 719 | + $is_compliance = 0; | ||
| 720 | + } | ||
| 721 | + | ||
| 722 | + if ($keyword_num && $is_compliance) { | ||
| 723 | + Log::channel('rank_data')->info('项目' . $project_id . '白帽版:关键词达标'. $keyword_num .' - ' . $first_page_num); | ||
| 724 | + | ||
| 725 | + $compliance_log = RankDataLog::where('api_no', $api_no)->where('date', date('Y-m-d'))->where('is_compliance', 1)->first(); | ||
| 726 | + if (!$compliance_log) { | ||
| 727 | + $compliance_day = Project::where(['id' => $project_id])->value('finish_remain_day') ?: 0; | ||
| 728 | + Project::where('id', $project_id)->update(['bm_is_remain_today' => 1, 'bm_finish_remain_day' => $compliance_day + 1]); | ||
| 729 | + Log::channel('rank_data')->info('项目' . $project_id . '白帽版:达标天数+1:' . ($compliance_day + 1)); | ||
| 730 | + } | ||
| 731 | + }else { | ||
| 732 | + Log::channel('rank_data')->info('项目' . $project_id . '白帽版:关键词未达标'. $keyword_num .' - ' . $first_page_num); | ||
| 733 | + } | ||
| 734 | + | ||
| 712 | $where = [ | 735 | $where = [ |
| 713 | 'project_id' => $project_id, | 736 | 'project_id' => $project_id, |
| 714 | 'api_no' => $api_no, | 737 | 'api_no' => $api_no, |
| @@ -728,7 +751,7 @@ class RankDataLogic extends BaseLogic | @@ -728,7 +751,7 @@ class RankDataLogic extends BaseLogic | ||
| 728 | $model->updated_date = date('Y-m-d'); | 751 | $model->updated_date = date('Y-m-d'); |
| 729 | $model->save(); | 752 | $model->save(); |
| 730 | 753 | ||
| 731 | - return true; | 754 | + return $is_compliance; |
| 732 | } | 755 | } |
| 733 | 756 | ||
| 734 | /** | 757 | /** |
-
请 注册 或 登录 后发表评论