作者 张关杰

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into bate

@@ -42,7 +42,7 @@ class Count extends Command @@ -42,7 +42,7 @@ class Count extends Command
42 public function handle() 42 public function handle()
43 { 43 {
44 $list = DB::table('gl_project')->where('gl_project.extend_type','=',0) 44 $list = DB::table('gl_project')->where('gl_project.extend_type','=',0)
45 - ->where('gl_project.type','!=',0)->where('gl_project.delete_status',0) 45 + ->where('gl_project.type','!=',0)
46 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id') 46 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
47 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id') 47 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
48 ->select($this->selectParam())->get(); 48 ->select($this->selectParam())->get();
@@ -38,7 +38,7 @@ class InquiryMonthlyCount extends Command @@ -38,7 +38,7 @@ class InquiryMonthlyCount extends Command
38 */ 38 */
39 public function handle(){ 39 public function handle(){
40 $list = DB::table('gl_project')->where('gl_project.extend_type','=',0) 40 $list = DB::table('gl_project')->where('gl_project.extend_type','=',0)
41 - ->where('gl_project.type','!=',0)->where('gl_project.delete_status',0) 41 + ->where('gl_project.type','!=',0)
42 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id') 42 ->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
43 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id') 43 ->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
44 ->select($this->selectParam())->get()->toArray(); 44 ->select($this->selectParam())->get()->toArray();
@@ -4,6 +4,7 @@ namespace App\Console\Commands; @@ -4,6 +4,7 @@ namespace App\Console\Commands;
4 4
5 5
6 use App\Exceptions\InquiryFilterException; 6 use App\Exceptions\InquiryFilterException;
  7 +use App\Models\Project\Project;
7 use App\Services\SyncSubmitTaskService; 8 use App\Services\SyncSubmitTaskService;
8 use Illuminate\Console\Command; 9 use Illuminate\Console\Command;
9 use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel; 10 use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
@@ -48,6 +49,9 @@ class SyncSubmitTask extends Command @@ -48,6 +49,9 @@ class SyncSubmitTask extends Command
48 continue; 49 continue;
49 } 50 }
50 try { 51 try {
  52 + $project = Project::getProjectByDomain($task_info['data']['domain'] ?? '');
  53 + $task_info->project_id = $project->id;
  54 +
51 SyncSubmitTaskService::handler($task_info); 55 SyncSubmitTaskService::handler($task_info);
52 $task_info->status = 1; 56 $task_info->status = 1;
53 $task_info->save(); 57 $task_info->save();
@@ -11,6 +11,7 @@ use App\Models\Inquiry\InquiryFormData; @@ -11,6 +11,7 @@ use App\Models\Inquiry\InquiryFormData;
11 use App\Models\Nav\BNav; 11 use App\Models\Nav\BNav;
12 use App\Models\Nav\BNavGroup; 12 use App\Models\Nav\BNavGroup;
13 use App\Models\Project\Project; 13 use App\Models\Project\Project;
  14 +use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
14 use App\Models\WebSetting\Translate as TranslateModel; 15 use App\Models\WebSetting\Translate as TranslateModel;
15 use App\Services\ProjectServer; 16 use App\Services\ProjectServer;
16 use Illuminate\Console\Command; 17 use Illuminate\Console\Command;
@@ -55,6 +56,25 @@ class Test extends Command @@ -55,6 +56,25 @@ class Test extends Command
55 */ 56 */
56 public function handle() 57 public function handle()
57 { 58 {
  59 +
  60 + $i=0;
  61 + while (true){
  62 + $list = SyncSubmitTaskModel::where('project_id', 0)->limit(1000)->get();
  63 + if(!$list){
  64 + exit;
  65 + }
  66 + foreach ($list as $item){
  67 + $project = Project::getProjectByDomain($item['data']['domain'] ?? '');
  68 + $item->project_id = $project->id;
  69 + $item->save();
  70 + }
  71 + echo $i . PHP_EOL;
  72 + $i++;
  73 + }
  74 +
  75 + exit;
  76 +
  77 +
58 ProjectServer::useProject(3); 78 ProjectServer::useProject(3);
59 $data = [ 79 $data = [
60 'c' => 'c', 80 'c' => 'c',
@@ -279,7 +279,7 @@ class HtmlCollect extends Command @@ -279,7 +279,7 @@ class HtmlCollect extends Command
279 foreach ($img as $vi) { 279 foreach ($img as $vi) {
280 $check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url); 280 $check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url);
281 if ($check_vi && (!in_array($check_vi, $source))) { 281 if ($check_vi && (!in_array($check_vi, $source))) {
282 - $check_vi && $source[] = $check_vi; 282 + $source[] = $check_vi;
283 } 283 }
284 } 284 }
285 285
@@ -289,7 +289,7 @@ class HtmlCollect extends Command @@ -289,7 +289,7 @@ class HtmlCollect extends Command
289 foreach ($js as $vj) { 289 foreach ($js as $vj) {
290 $check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url); 290 $check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url);
291 if ($check_vj && (!in_array($check_vj, $source))) { 291 if ($check_vj && (!in_array($check_vj, $source))) {
292 - $check_vj && $source[] = $check_vj; 292 + $source[] = $check_vj;
293 } 293 }
294 } 294 }
295 295
@@ -299,7 +299,15 @@ class HtmlCollect extends Command @@ -299,7 +299,15 @@ class HtmlCollect extends Command
299 foreach ($video as $vv) { 299 foreach ($video as $vv) {
300 $check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url); 300 $check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url);
301 if ($check_vv && (!in_array($check_vv, $source))) { 301 if ($check_vv && (!in_array($check_vv, $source))) {
302 - $check_vv && $source[] = $check_vv; 302 + $source[] = $check_vv;
  303 + }
  304 + }
  305 + preg_match_all('/<video\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $html, $result_video_2);
  306 + $video_2 = $result_video_2[2] ?? [];
  307 + foreach ($video_2 as $vv2) {
  308 + $check_vv2 = $this->url_check($vv2, $project_id, $domain, $web_url_domain, $home_url);
  309 + if ($check_vv2 && (!in_array($check_vv2, $source))) {
  310 + $source[] = $check_vv2;
303 } 311 }
304 } 312 }
305 313
@@ -309,7 +317,7 @@ class HtmlCollect extends Command @@ -309,7 +317,7 @@ class HtmlCollect extends Command
309 foreach ($css as $vc) { 317 foreach ($css as $vc) {
310 $check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url); 318 $check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url);
311 if ($check_vc && (!in_array($check_vc, $source))) { 319 if ($check_vc && (!in_array($check_vc, $source))) {
312 - $check_vc && $source[] = $check_vc; 320 + $source[] = $check_vc;
313 } 321 }
314 } 322 }
315 323
@@ -319,7 +327,7 @@ class HtmlCollect extends Command @@ -319,7 +327,7 @@ class HtmlCollect extends Command
319 foreach ($css_b as $vc_b) { 327 foreach ($css_b as $vc_b) {
320 $check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url); 328 $check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url);
321 if ($check_vc_b && (!in_array($check_vc_b, $source))) { 329 if ($check_vc_b && (!in_array($check_vc_b, $source))) {
322 - $check_vc_b && $source[] = $check_vc_b; 330 + $source[] = $check_vc_b;
323 } 331 }
324 } 332 }
325 333
@@ -329,7 +337,7 @@ class HtmlCollect extends Command @@ -329,7 +337,7 @@ class HtmlCollect extends Command
329 foreach ($down as $vd) { 337 foreach ($down as $vd) {
330 $check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url); 338 $check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url);
331 if ($check_vd && (!in_array($check_vd, $source))) { 339 if ($check_vd && (!in_array($check_vd, $source))) {
332 - $check_vd && $source[] = $check_vd; 340 + $source[] = $check_vd;
333 } 341 }
334 } 342 }
335 343
@@ -282,7 +282,9 @@ class HtmlCustomCollect extends Command @@ -282,7 +282,9 @@ class HtmlCustomCollect extends Command
282 $img = $result_img[2] ?? []; 282 $img = $result_img[2] ?? [];
283 foreach ($img as $vi) { 283 foreach ($img as $vi) {
284 $check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url); 284 $check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url);
285 - $check_vi && $source[] = $check_vi; 285 + if ($check_vi && (!in_array($check_vi, $source))) {
  286 + $source[] = $check_vi;
  287 + }
286 } 288 }
287 289
288 //js 290 //js
@@ -290,7 +292,9 @@ class HtmlCustomCollect extends Command @@ -290,7 +292,9 @@ class HtmlCustomCollect extends Command
290 $js = $result_js[2] ?? []; 292 $js = $result_js[2] ?? [];
291 foreach ($js as $vj) { 293 foreach ($js as $vj) {
292 $check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url); 294 $check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url);
293 - $check_vj && $source[] = $check_vj; 295 + if ($check_vj && (!in_array($check_vj, $source))) {
  296 + $source[] = $check_vj;
  297 + }
294 } 298 }
295 299
296 //video 300 //video
@@ -298,7 +302,17 @@ class HtmlCustomCollect extends Command @@ -298,7 +302,17 @@ class HtmlCustomCollect extends Command
298 $video = $result_video[2] ?? []; 302 $video = $result_video[2] ?? [];
299 foreach ($video as $vv) { 303 foreach ($video as $vv) {
300 $check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url); 304 $check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url);
301 - $check_vv && $source[] = $check_vv; 305 + if ($check_vv && (!in_array($check_vv, $source))) {
  306 + $source[] = $check_vv;
  307 + }
  308 + }
  309 + preg_match_all('/<video\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $html, $result_video_2);
  310 + $video_2 = $result_video_2[2] ?? [];
  311 + foreach ($video_2 as $vv2) {
  312 + $check_vv2 = $this->url_check($vv2, $project_id, $domain, $web_url_domain, $home_url);
  313 + if ($check_vv2 && (!in_array($check_vv2, $source))) {
  314 + $source[] = $check_vv2;
  315 + }
302 } 316 }
303 317
304 //css 318 //css
@@ -306,7 +320,9 @@ class HtmlCustomCollect extends Command @@ -306,7 +320,9 @@ class HtmlCustomCollect extends Command
306 $css = $result_css[2] ?? []; 320 $css = $result_css[2] ?? [];
307 foreach ($css as $vc) { 321 foreach ($css as $vc) {
308 $check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url); 322 $check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url);
309 - $check_vc && $source[] = $check_vc; 323 + if ($check_vc && (!in_array($check_vc, $source))) {
  324 + $source[] = $check_vc;
  325 + }
310 } 326 }
311 327
312 //css background 328 //css background
@@ -314,7 +330,9 @@ class HtmlCustomCollect extends Command @@ -314,7 +330,9 @@ class HtmlCustomCollect extends Command
314 $css_b = $result_css_b[1] ?? []; 330 $css_b = $result_css_b[1] ?? [];
315 foreach ($css_b as $vc_b) { 331 foreach ($css_b as $vc_b) {
316 $check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url); 332 $check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url);
317 - $check_vc_b && $source[] = $check_vc_b; 333 + if ($check_vc_b && (!in_array($check_vc_b, $source))) {
  334 + $source[] = $check_vc_b;
  335 + }
318 } 336 }
319 337
320 //a标签下载资源 338 //a标签下载资源
@@ -322,7 +340,9 @@ class HtmlCustomCollect extends Command @@ -322,7 +340,9 @@ class HtmlCustomCollect extends Command
322 $down = $result_a[2] ?? []; 340 $down = $result_a[2] ?? [];
323 foreach ($down as $vd) { 341 foreach ($down as $vd) {
324 $check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url); 342 $check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url);
325 - $check_vd && $source[] = $check_vd; 343 + if ($check_vd && (!in_array($check_vd, $source))) {
  344 + $source[] = $check_vd;
  345 + }
326 } 346 }
327 347
328 return $source; 348 return $source;
@@ -219,7 +219,7 @@ class HtmlLanguageCollect extends Command @@ -219,7 +219,7 @@ class HtmlLanguageCollect extends Command
219 foreach ($img as $vi) { 219 foreach ($img as $vi) {
220 $check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url); 220 $check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url);
221 if ($check_vi && (!in_array($check_vi, $source))) { 221 if ($check_vi && (!in_array($check_vi, $source))) {
222 - $check_vi && $source[] = $check_vi; 222 + $source[] = $check_vi;
223 } 223 }
224 } 224 }
225 225
@@ -229,7 +229,7 @@ class HtmlLanguageCollect extends Command @@ -229,7 +229,7 @@ class HtmlLanguageCollect extends Command
229 foreach ($js as $vj) { 229 foreach ($js as $vj) {
230 $check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url); 230 $check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url);
231 if ($check_vj && (!in_array($check_vj, $source))) { 231 if ($check_vj && (!in_array($check_vj, $source))) {
232 - $check_vj && $source[] = $check_vj; 232 + $source[] = $check_vj;
233 } 233 }
234 } 234 }
235 235
@@ -239,7 +239,15 @@ class HtmlLanguageCollect extends Command @@ -239,7 +239,15 @@ class HtmlLanguageCollect extends Command
239 foreach ($video as $vv) { 239 foreach ($video as $vv) {
240 $check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url); 240 $check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url);
241 if ($check_vv && (!in_array($check_vv, $source))) { 241 if ($check_vv && (!in_array($check_vv, $source))) {
242 - $check_vv && $source[] = $check_vv; 242 + $source[] = $check_vv;
  243 + }
  244 + }
  245 + preg_match_all('/<video\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $html, $result_video_2);
  246 + $video_2 = $result_video_2[2] ?? [];
  247 + foreach ($video_2 as $vv2) {
  248 + $check_vv2 = $this->url_check($vv2, $project_id, $domain, $web_url_domain, $home_url);
  249 + if ($check_vv2 && (!in_array($check_vv2, $source))) {
  250 + $source[] = $check_vv2;
243 } 251 }
244 } 252 }
245 253
@@ -249,7 +257,7 @@ class HtmlLanguageCollect extends Command @@ -249,7 +257,7 @@ class HtmlLanguageCollect extends Command
249 foreach ($css as $vc) { 257 foreach ($css as $vc) {
250 $check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url); 258 $check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url);
251 if ($check_vc && (!in_array($check_vc, $source))) { 259 if ($check_vc && (!in_array($check_vc, $source))) {
252 - $check_vc && $source[] = $check_vc; 260 + $source[] = $check_vc;
253 } 261 }
254 } 262 }
255 263
@@ -259,7 +267,7 @@ class HtmlLanguageCollect extends Command @@ -259,7 +267,7 @@ class HtmlLanguageCollect extends Command
259 foreach ($css_b as $vc_b) { 267 foreach ($css_b as $vc_b) {
260 $check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url); 268 $check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url);
261 if ($check_vc_b && (!in_array($check_vc_b, $source))) { 269 if ($check_vc_b && (!in_array($check_vc_b, $source))) {
262 - $check_vc_b && $source[] = $check_vc_b; 270 + $source[] = $check_vc_b;
263 } 271 }
264 } 272 }
265 273
@@ -269,7 +277,7 @@ class HtmlLanguageCollect extends Command @@ -269,7 +277,7 @@ class HtmlLanguageCollect extends Command
269 foreach ($down as $vd) { 277 foreach ($down as $vd) {
270 $check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url); 278 $check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url);
271 if ($check_vd && (!in_array($check_vd, $source))) { 279 if ($check_vd && (!in_array($check_vd, $source))) {
272 - $check_vd && $source[] = $check_vd; 280 + $source[] = $check_vd;
273 } 281 }
274 } 282 }
275 283
@@ -352,6 +352,9 @@ class ProjectUpdate extends Command @@ -352,6 +352,9 @@ class ProjectUpdate extends Command
352 //扩展字段 352 //扩展字段
353 if ($item['extend'] ?? []) { 353 if ($item['extend'] ?? []) {
354 foreach (array_reverse($item['extend']) as $ke => $ve) { 354 foreach (array_reverse($item['extend']) as $ke => $ve) {
  355 + if ($ve == '--') {
  356 + $ve = '';
  357 + }
355 $extend = $extend_model->read(['title' => $ke]); 358 $extend = $extend_model->read(['title' => $ke]);
356 if (!$extend) { 359 if (!$extend) {
357 $extend_key = $this->get_extend_key($extend_model); 360 $extend_key = $this->get_extend_key($extend_model);
@@ -374,6 +377,8 @@ class ProjectUpdate extends Command @@ -374,6 +377,8 @@ class ProjectUpdate extends Command
374 'values' => $ve, 377 'values' => $ve,
375 'type' => 1 378 'type' => 1
376 ]); 379 ]);
  380 + } else {
  381 + $extend_info_model->edit(['values' => $ve], ['key' => $extend_key, 'product_id' => $id]);
377 } 382 }
378 } 383 }
379 } 384 }
@@ -464,10 +469,6 @@ class ProjectUpdate extends Command @@ -464,10 +469,6 @@ class ProjectUpdate extends Command
464 'image' => $new_img, 469 'image' => $new_img,
465 'sort' => $item['sort'] ?? 0, 470 'sort' => $item['sort'] ?? 0,
466 ], ['id' => $id]); 471 ], ['id' => $id]);
467 -  
468 - if($project_id == 547){  
469 - CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $domain_arr['host'], $link_type, $language_list, $page_list);  
470 - }  
471 } 472 }
472 } catch (\Exception $e) { 473 } catch (\Exception $e) {
473 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; 474 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
@@ -530,10 +531,6 @@ class ProjectUpdate extends Command @@ -530,10 +531,6 @@ class ProjectUpdate extends Command
530 'description' => $item['description'] ?? '', 531 'description' => $item['description'] ?? '',
531 'html' => $item['content'] ?? '', 532 'html' => $item['content'] ?? '',
532 ], ['id' => $id]); 533 ], ['id' => $id]);
533 -  
534 - if($project_id == 547){  
535 - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $domain_arr['host'], $link_type, $language_list, $page_list);  
536 - }  
537 } 534 }
538 } catch (\Exception $e) { 535 } catch (\Exception $e) {
539 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; 536 echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
@@ -593,7 +590,7 @@ class ProjectUpdate extends Command @@ -593,7 +590,7 @@ class ProjectUpdate extends Command
593 $category_id = $category_custom['id']; 590 $category_id = $category_custom['id'];
594 } 591 }
595 } 592 }
596 - if($category_id){ 593 + if ($category_id) {
597 $category_id = ',' . $category_id . ','; 594 $category_id = ',' . $category_id . ',';
598 } 595 }
599 //图片 596 //图片
@@ -633,10 +630,6 @@ class ProjectUpdate extends Command @@ -633,10 +630,6 @@ class ProjectUpdate extends Command
633 'content' => $item['content'] ?? '', 630 'content' => $item['content'] ?? '',
634 'image' => $new_img 631 'image' => $new_img
635 ], ['id' => $id]); 632 ], ['id' => $id]);
636 -  
637 - if($project_id == 547){  
638 - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_MODULE, $id, $domain_arr['host'], $link_type, $language_list, $page_list);  
639 - }  
640 } 633 }
641 634
642 //扩展字段 635 //扩展字段
@@ -28,6 +28,7 @@ use App\Models\RankData\Speed; @@ -28,6 +28,7 @@ use App\Models\RankData\Speed;
28 use App\Models\RankData\Speed as GoogleSpeedModel; 28 use App\Models\RankData\Speed as GoogleSpeedModel;
29 use App\Utils\HttpUtils; 29 use App\Utils\HttpUtils;
30 use GuzzleHttp\Exception\GuzzleException; 30 use GuzzleHttp\Exception\GuzzleException;
  31 +use Illuminate\Support\Collection;
31 use Illuminate\Support\Facades\Cache; 32 use Illuminate\Support\Facades\Cache;
32 use Illuminate\Support\Facades\Log; 33 use Illuminate\Support\Facades\Log;
33 use Illuminate\Support\Str; 34 use Illuminate\Support\Str;
@@ -110,6 +111,7 @@ class RankDataLogic extends BaseLogic @@ -110,6 +111,7 @@ class RankDataLogic extends BaseLogic
110 111
111 //外链引荐域名 112 //外链引荐域名
112 $recomm_domain = $recomm_domain ? $recomm_domain->toArray() : []; 113 $recomm_domain = $recomm_domain ? $recomm_domain->toArray() : [];
  114 + $recomm_domain['data'] = Collection::make($recomm_domain['data'] ?? [])->sortBy('backlinks_num')->all();
113 $data['external_links_domain_chat'] = [ 115 $data['external_links_domain_chat'] = [
114 'labels' => array_map(function ($item) { 116 'labels' => array_map(function ($item) {
115 return Str::substrReplace($item, '***', 2, 3); 117 return Str::substrReplace($item, '***', 2, 3);
@@ -611,7 +613,6 @@ class RankDataLogic extends BaseLogic @@ -611,7 +613,6 @@ class RankDataLogic extends BaseLogic
611 //外链引荐域名 613 //外链引荐域名
612 $domain = (new DomainInfo())->getDomain($domain); 614 $domain = (new DomainInfo())->getDomain($domain);
613 $semrushApi = new SemrushApi(); 615 $semrushApi = new SemrushApi();
614 - $domain = (new DomainInfo())->getDomain($domain);  
615 $data = $semrushApi->backlinks_refdomains($domain); 616 $data = $semrushApi->backlinks_refdomains($domain);
616 } 617 }
617 618
@@ -41,7 +41,23 @@ class Category extends Base @@ -41,7 +41,23 @@ class Category extends Base
41 return $ids; 41 return $ids;
42 } 42 }
43 43
44 - 44 + /**
  45 + * @remark :获取当前id下所有子集
  46 + * @name :getAllSub
  47 + * @author :lyh
  48 + * @method :post
  49 + * @time :2023/10/18 15:10
  50 + */
  51 + public function getAllSub($id,&$str = []){
  52 + $list = $this->list(['pid'=>$id,'status'=>1],['id','pid']);
  53 + if(!empty($list)){
  54 + foreach ($list as $v){
  55 + $str[] = $v['id'];
  56 + $this->getAllSub($v['id'],$str);
  57 + }
  58 + }
  59 + return $str;
  60 + }
45 61
46 /** 62 /**
47 * 关联产品数量 63 * 关联产品数量
@@ -50,8 +66,9 @@ class Category extends Base @@ -50,8 +66,9 @@ class Category extends Base
50 * @author zbj 66 * @author zbj
51 * @date 2023/4/28 67 * @date 2023/4/28
52 */ 68 */
53 - public static function getProductNum($cate_id){  
54 - $cate_ids = self::getChildIdsArr($cate_id); 69 + public function getProductNum($cate_id){
  70 + $str = [];
  71 + $cate_ids = $this->getAllSub($cate_id,$str);
55 $count = CategoryRelated::whereIn('cate_id',$cate_ids)->count(); 72 $count = CategoryRelated::whereIn('cate_id',$cate_ids)->count();
56 // $str = 0; 73 // $str = 0;
57 return $count; 74 return $count;
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Models\Project; 3 namespace App\Models\Project;
4 4
5 use App\Helper\Arr; 5 use App\Helper\Arr;
  6 +use App\Helper\Translate;
6 use App\Models\Base; 7 use App\Models\Base;
7 use App\Models\Devops\ServerConfig; 8 use App\Models\Devops\ServerConfig;
8 use App\Models\Optimize\Process; 9 use App\Models\Optimize\Process;
@@ -311,15 +312,31 @@ class Project extends Base @@ -311,15 +312,31 @@ class Project extends Base
311 */ 312 */
312 public static function getProjectByDomain($domain) 313 public static function getProjectByDomain($domain)
313 { 314 {
314 - $domain_parse = parse_url($domain);  
315 - $domain = $domain_parse['host'] ?? $domain;  
316 - //是否测试域名  
317 - $project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');  
318 - //是否正式域名  
319 - if (!$project_id) {  
320 - $project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id'); 315 + $cache_key = 'getProjectByDomain_' . $domain;
  316 + $project = Cache::get($cache_key);
  317 + if(!$project){
  318 + $domain_parse = parse_url($domain);
  319 + $domain = $domain_parse['host'] ?? $domain;
  320 + //是否测试域名
  321 + $project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');
  322 + //是否正式域名
  323 + if (!$project_id) {
  324 + //是否小语种域名
  325 + $domainPrefix = explode(".",$domain);
  326 + if (!empty($domainPrefix)){
  327 + $isLang = Translate::getTls($domainPrefix[0]);
  328 + if ($isLang) {
  329 + $domain = "www.".$domainPrefix[1].".".$domainPrefix[2];
  330 + }
  331 + }
  332 + $project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id');
  333 + }
  334 + $project = self::find($project_id ?: 0);
  335 + if($project){
  336 + Cache::put($cache_key, $project, 3600);
  337 + }
321 } 338 }
322 - return self::find($project_id ?: 0); 339 + return $project;
323 } 340 }
324 341
325 /** 342 /**