正在显示
3 个修改的文件
包含
55 行增加
和
0 行删除
| @@ -10,6 +10,7 @@ namespace App\Console\Commands\Product; | @@ -10,6 +10,7 @@ namespace App\Console\Commands\Product; | ||
| 10 | use App\Models\Domain\DomainInfo; | 10 | use App\Models\Domain\DomainInfo; |
| 11 | use App\Models\Product\Keyword; | 11 | use App\Models\Product\Keyword; |
| 12 | use App\Models\Project\Project; | 12 | use App\Models\Project\Project; |
| 13 | +use App\Models\RankData\RankDataLog; | ||
| 13 | use App\Services\ProjectServer; | 14 | use App\Services\ProjectServer; |
| 14 | use Illuminate\Console\Command; | 15 | use Illuminate\Console\Command; |
| 15 | use Illuminate\Support\Facades\DB; | 16 | use Illuminate\Support\Facades\DB; |
| @@ -53,6 +54,12 @@ class ExternalLinkMake extends Command | @@ -53,6 +54,12 @@ class ExternalLinkMake extends Command | ||
| 53 | continue; | 54 | continue; |
| 54 | } | 55 | } |
| 55 | 56 | ||
| 57 | + $yesterday = RankDataLog::where(['project_id' => $project->id, 'date' => date('Y-m-d', '-1 day')])->first(); | ||
| 58 | + if (FALSE == empty($yesterday) && $yesterday->is_compliance == 1){ | ||
| 59 | + $this->output('项目昨日达标: ' . $project->id . ', 跳过'); | ||
| 60 | + continue; | ||
| 61 | + } | ||
| 62 | + | ||
| 56 | if(empty($project->deploy_optimize['start_date']) || $project->deploy_optimize['start_date'] > $date){ | 63 | if(empty($project->deploy_optimize['start_date']) || $project->deploy_optimize['start_date'] > $date){ |
| 57 | $this->output('项目推广不到75天: ' . $project->id . ', 推广开始时间:' . $project->deploy_optimize['start_date']); | 64 | $this->output('项目推广不到75天: ' . $project->id . ', 推广开始时间:' . $project->deploy_optimize['start_date']); |
| 58 | continue; | 65 | continue; |
| @@ -568,4 +568,48 @@ class PrivateController extends BaseController | @@ -568,4 +568,48 @@ class PrivateController extends BaseController | ||
| 568 | return $this->error('项目未匹配到域名'); | 568 | return $this->error('项目未匹配到域名'); |
| 569 | return $this->success(['domain' => $domain->domain]); | 569 | return $this->success(['domain' => $domain->domain]); |
| 570 | } | 570 | } |
| 571 | + | ||
| 572 | + /** | ||
| 573 | + * 根据域名获取外链 | ||
| 574 | + * @param Request $request | ||
| 575 | + * @return false|string | ||
| 576 | + */ | ||
| 577 | + public function getProjectExternalLink(Request $request) | ||
| 578 | + { | ||
| 579 | + $domain = trim($request->input('domain')); | ||
| 580 | + $domain_parse = parse_url($domain); | ||
| 581 | + $domain = $domain_parse['host'] ?? $domain; | ||
| 582 | + | ||
| 583 | + if (empty($domain)) { | ||
| 584 | + return $this->error('非法参数!'); | ||
| 585 | + } | ||
| 586 | + | ||
| 587 | + $project = Project::getProjectByDomain($domain); | ||
| 588 | + if (empty($project)) { | ||
| 589 | + return $this->error('未找到当前域名对应的项目!'); | ||
| 590 | + } | ||
| 591 | + | ||
| 592 | + ProjectServer::useProject($project->id); | ||
| 593 | + $keywords = Keyword::select(['id', 'title', 'route', 'seo_title'])->where('route', '<>', null)->orderBy('id', 'desc')->limit(500)->get(); | ||
| 594 | + $host = 'https://' . $domain . '/'; | ||
| 595 | + $data = []; | ||
| 596 | + foreach ($keywords as $keyword) { | ||
| 597 | + $data[] = $host . $keyword->route . '/{' . $keyword->seo_title . '}'; | ||
| 598 | + } | ||
| 599 | + DB::disconnect('custom_mysql'); | ||
| 600 | + return $this->success($data); | ||
| 601 | + } | ||
| 602 | + | ||
| 603 | + /** | ||
| 604 | + * 获取今日需要推送的外链 | ||
| 605 | + * @param Request $request | ||
| 606 | + * @return false|string | ||
| 607 | + */ | ||
| 608 | + public function getExternalLink(Request $request) | ||
| 609 | + { | ||
| 610 | + $max_id = DB::table('gl_project_external_link_make')->where(['status' => 0])->max('id'); | ||
| 611 | + $links = DB::table('gl_project_external_link_make')->where(['status' => 0])->where('id', '<=', $max_id)->pluck('external_link')->toArray(); | ||
| 612 | + DB::table('gl_project_external_link_make')->where(['status' => 0])->where('id', '<=', $max_id)->update(['status' => 1, 'updated_at' => date('Y-m-d H:i;s')]); | ||
| 613 | + return $this->success($links); | ||
| 614 | + } | ||
| 571 | } | 615 | } |
| @@ -47,6 +47,10 @@ Route::any('project_new_url', [\App\Http\Controllers\Api\PrivateController::clas | @@ -47,6 +47,10 @@ Route::any('project_new_url', [\App\Http\Controllers\Api\PrivateController::clas | ||
| 47 | Route::any('upgrade_project_domain', [\App\Http\Controllers\Api\PrivateController::class, 'upgradeProjectDomain'])->name('api.upgrade_project_domain'); | 47 | Route::any('upgrade_project_domain', [\App\Http\Controllers\Api\PrivateController::class, 'upgradeProjectDomain'])->name('api.upgrade_project_domain'); |
| 48 | // 询盘通知微信提示hook | 48 | // 询盘通知微信提示hook |
| 49 | Route::any('inquiry_notice_hook', [\App\Http\Controllers\Api\NoticeController::class, 'inquiryNoticeHook'])->name('api.inquiry_notice_hook'); | 49 | Route::any('inquiry_notice_hook', [\App\Http\Controllers\Api\NoticeController::class, 'inquiryNoticeHook'])->name('api.inquiry_notice_hook'); |
| 50 | +// 获取当日需要推送外链列表 | ||
| 51 | +Route::any('get_today_push_external_link', [\App\Http\Controllers\Api\PrivateController::class, 'getExternalLink'])->name('api.today_push_external_link'); | ||
| 52 | +// 根据域名获取生成聚合页外链 | ||
| 53 | +Route::any('get_external_link_by_domain', [\App\Http\Controllers\Api\PrivateController::class, 'getProjectExternalLink'])->name('api.external_link_by_domain'); | ||
| 50 | 54 | ||
| 51 | // --------------------- 站群服务 ------------------------------------------ | 55 | // --------------------- 站群服务 ------------------------------------------ |
| 52 | // 获取项目信息 | 56 | // 获取项目信息 |
-
请 注册 或 登录 后发表评论