作者 赵彬吉
@@ -19,13 +19,13 @@ class Kernel extends ConsoleKernel @@ -19,13 +19,13 @@ class Kernel extends ConsoleKernel
19 $schedule->command('remain_day')->dailyAt('08:00')->withoutOverlapping(1); // 项目剩余服务时长 19 $schedule->command('remain_day')->dailyAt('08:00')->withoutOverlapping(1); // 项目剩余服务时长
20 $schedule->command('rank_data_task')->everyMinute()->withoutOverlapping(1); // 排名数据更新任务 20 $schedule->command('rank_data_task')->everyMinute()->withoutOverlapping(1); // 排名数据更新任务
21 $schedule->command('rank_data')->dailyAt('07:00')->withoutOverlapping(1); // 排名数据,每天凌晨执行一次 21 $schedule->command('rank_data')->dailyAt('07:00')->withoutOverlapping(1); // 排名数据,每天凌晨执行一次
22 - $schedule->command('rank_data_speed')->dailyAt('01:00')->withoutOverlapping(1); // 排名数据-测速数据,每周一凌晨执行一次  
23 - $schedule->command('rank_data_external_links')->dailyAt('01:00')->withoutOverlapping(1); // 排名数据-外链,每周一凌晨执行一次  
24 - $schedule->command('rank_data_indexed_pages')->dailyAt('01:00')->withoutOverlapping(1); // 排名数据-页面收录,每周一凌晨执行一次  
25 - $schedule->command('rank_data_recomm_domain')->dailyAt('01:00')->withoutOverlapping(1); // 排名数据-引荐域名,每周一凌晨执行一次 22 + $schedule->command('rank_data_speed')->dailyAt('01:10')->withoutOverlapping(1); // 排名数据-测速数据,每周一凌晨执行一次
  23 + $schedule->command('rank_data_external_links')->dailyAt('01:20')->withoutOverlapping(1); // 排名数据-外链,每周一凌晨执行一次
  24 + $schedule->command('rank_data_indexed_pages')->dailyAt('01:30')->withoutOverlapping(1); // 排名数据-页面收录,每周一凌晨执行一次
  25 + $schedule->command('rank_data_recomm_domain')->dailyAt('01:40')->withoutOverlapping(1); // 排名数据-引荐域名,每周一凌晨执行一次
26 $schedule->command('rank_data_week')->dailyAt('01:00')->withoutOverlapping(1); // 排名数据,每周一凌晨执行一次 26 $schedule->command('rank_data_week')->dailyAt('01:00')->withoutOverlapping(1); // 排名数据,每周一凌晨执行一次
27 // $schedule->command('share_user')->dailyAt('01:00')->withoutOverlapping(1); // 清除用户ayr_share数据,每天凌晨1点执行一次 27 // $schedule->command('share_user')->dailyAt('01:00')->withoutOverlapping(1); // 清除用户ayr_share数据,每天凌晨1点执行一次
28 - $schedule->command('count')->dailyAt('01:00')->withoutOverlapping(1); //每天凌晨1点执行一次 28 + $schedule->command('count')->dailyAt('01:30')->withoutOverlapping(1); //每天凌晨1点执行一次
29 $schedule->command('service_count')->dailyAt('01:00')->withoutOverlapping(1); //服务器使用情况,每天凌晨1点执行一次 29 $schedule->command('service_count')->dailyAt('01:00')->withoutOverlapping(1); //服务器使用情况,每天凌晨1点执行一次
30 $schedule->command('web_traffic 1')->everyThirtyMinutes(); // 引流 1-3个月的项目,半小时一次 30 $schedule->command('web_traffic 1')->everyThirtyMinutes(); // 引流 1-3个月的项目,半小时一次
31 $schedule->command('web_traffic 2')->cron('*/18 * * * *'); // 引流 4-8个月的项目,18分钟一次 31 $schedule->command('web_traffic 2')->cron('*/18 * * * *'); // 引流 4-8个月的项目,18分钟一次
@@ -35,7 +35,7 @@ class Kernel extends ConsoleKernel @@ -35,7 +35,7 @@ class Kernel extends ConsoleKernel
35 $schedule->command('forward_count')->monthlyOn(1,'01:00')->withoutOverlapping(1);//没月月初1号执行月统计转发询盘记录 35 $schedule->command('forward_count')->monthlyOn(1,'01:00')->withoutOverlapping(1);//没月月初1号执行月统计转发询盘记录
36 $schedule->command('inquiry_delay')->everyMinute()->withoutOverlapping(1);//TODO::上线放开,转发询盘,每分钟执行一次 36 $schedule->command('inquiry_delay')->everyMinute()->withoutOverlapping(1);//TODO::上线放开,转发询盘,每分钟执行一次
37 $schedule->command('inquiry_count')->dailyAt('01:00')->withoutOverlapping(1); // 询盘统计数据,每天凌晨执行一次 37 $schedule->command('inquiry_count')->dailyAt('01:00')->withoutOverlapping(1); // 询盘统计数据,每天凌晨执行一次
38 - $schedule->command('domain_info')->dailyAt('01:00')->withoutOverlapping(1);// 更新域名|证书结束时间,每天凌晨1点执行一次 38 + $schedule->command('domain_info')->dailyAt('01:20')->withoutOverlapping(1);// 更新域名|证书结束时间,每天凌晨1点执行一次
39 $schedule->command('last_inquiry')->dailyAt('04:00')->withoutOverlapping(1);// 最近一次询盘信息 39 $schedule->command('last_inquiry')->dailyAt('04:00')->withoutOverlapping(1);// 最近一次询盘信息
40 // $schedule->command('update_progress')->everyThirtyMinutes()->withoutOverlapping(1);//监控更新 40 // $schedule->command('update_progress')->everyThirtyMinutes()->withoutOverlapping(1);//监控更新
41 $schedule->command('update_seo_tdk_crontab')->dailyAt('00:00')->withoutOverlapping(1); //更新上线项目TDK 41 $schedule->command('update_seo_tdk_crontab')->dailyAt('00:00')->withoutOverlapping(1); //更新上线项目TDK
@@ -45,6 +45,10 @@ class Kernel extends ConsoleKernel @@ -45,6 +45,10 @@ class Kernel extends ConsoleKernel
45 45
46 $schedule->command('recommended_suppliers')->dailyAt('01:00')->withoutOverlapping(1); //每天凌晨1点执行一次生成推荐商 46 $schedule->command('recommended_suppliers')->dailyAt('01:00')->withoutOverlapping(1); //每天凌晨1点执行一次生成推荐商
47 $schedule->command('notice_c')->dailyAt('02:00')->withoutOverlapping(1); //每天凌晨1点执行一次生成推荐商 47 $schedule->command('notice_c')->dailyAt('02:00')->withoutOverlapping(1); //每天凌晨1点执行一次生成推荐商
  48 + // 每日推送视频任务
  49 + $schedule->command('video_task')->dailyAt('01:30')->withoutOverlapping(1);
  50 + // 每日推送已完成视频任务项目生成对应界面
  51 + $schedule->command('notice_c')->dailyAt('02:00')->withoutOverlapping(1);
48 } 52 }
49 53
50 /** 54 /**
@@ -13,6 +13,7 @@ use App\Models\Product\Product; @@ -13,6 +13,7 @@ use App\Models\Product\Product;
13 use App\Models\Project\OnlineCheck; 13 use App\Models\Project\OnlineCheck;
14 use App\Models\Project\Project; 14 use App\Models\Project\Project;
15 use App\Models\RouteMap\RouteMap; 15 use App\Models\RouteMap\RouteMap;
  16 +use App\Models\User\User;
16 use App\Services\ProjectServer; 17 use App\Services\ProjectServer;
17 use Illuminate\Http\Request; 18 use Illuminate\Http\Request;
18 19
@@ -98,4 +99,32 @@ class PrivateController extends BaseController @@ -98,4 +99,32 @@ class PrivateController extends BaseController
98 } 99 }
99 return $this->success($result); 100 return $this->success($result);
100 } 101 }
  102 +
  103 + /**
  104 + * 验证当前用户是否存在
  105 + * TODO 查询手机号码是否是项目用户, 如果升级项目未上线项目return false;
  106 + * @param Request $request
  107 + * @return false|string
  108 + */
  109 + public function hasUser(Request $request)
  110 + {
  111 + // 获取数据,初始化信息
  112 + $mobile = trim($request->input('mobile'));
  113 + $result = ['mobile' => $mobile, 'v6_user' => false];
  114 +
  115 + // 获取用户,验证用户
  116 + $project_ids = User::where(['mobile' => $mobile])->pluck('project_id')->toArray();
  117 + if (empty($project_ids))
  118 + return $this->success($result);
  119 +
  120 + $projects = Project::whereIn('id', $project_ids)->where('delete_status', 0)->get();
  121 + foreach ($projects as $project) {
  122 + // 如果是升级项目 并且未上线状态,不算做有效用户
  123 + if ($project->is_upgrade == Project::IS_UPGRADE_TRUE && $project->type <= Project::TYPE_ONE)
  124 + continue;
  125 + $result['v6_user'] = true;
  126 + }
  127 +
  128 + return $this->success($result);
  129 + }
101 } 130 }
@@ -24,4 +24,7 @@ Route::get('get_project_route', [\App\Http\Controllers\Api\PrivateController::cl @@ -24,4 +24,7 @@ Route::get('get_project_route', [\App\Http\Controllers\Api\PrivateController::cl
24 Route::any('get_product_images', [\App\Http\Controllers\Api\ProductController::class, 'getImages'])->name('api.get_product_images'); 24 Route::any('get_product_images', [\App\Http\Controllers\Api\ProductController::class, 'getImages'])->name('api.get_product_images');
25 Route::post('inquiry_submit', [\App\Http\Controllers\Api\InquiryController::class, 'submit'])->name('api.inquiry_submit'); 25 Route::post('inquiry_submit', [\App\Http\Controllers\Api\InquiryController::class, 'submit'])->name('api.inquiry_submit');
26 Route::any('getOptimizationReport', [\App\Http\Controllers\Api\OptimizationReportController::class, 'getOptimizationReport'])->name('api.getOptimizationReport'); 26 Route::any('getOptimizationReport', [\App\Http\Controllers\Api\OptimizationReportController::class, 'getOptimizationReport'])->name('api.getOptimizationReport');
  27 +// 视频任务回调信息
27 Route::post('video_task_callback', [\App\Http\Controllers\Api\NoticeController::class, 'videoTaskCallback'])->name('api.video_task_callback'); 28 Route::post('video_task_callback', [\App\Http\Controllers\Api\NoticeController::class, 'videoTaskCallback'])->name('api.video_task_callback');
  29 +// 验证是否为6.0用户
  30 +Route::any('has_user', [\App\Http\Controllers\Api\PrivateController::class, 'hasUser'])->name('api.has_user');