作者 lyh

核心关键字分表

@@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo; @@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo;
10 use App\Models\Mail\Mail; 10 use App\Models\Mail\Mail;
11 use App\Models\Project\DeployBuild; 11 use App\Models\Project\DeployBuild;
12 use App\Models\Project\DeployOptimize; 12 use App\Models\Project\DeployOptimize;
  13 +use App\Models\Project\ProjectKeyword;
13 use App\Models\Project\ProjectUpdateTdk; 14 use App\Models\Project\ProjectUpdateTdk;
14 use App\Models\User\User; 15 use App\Models\User\User;
15 use App\Models\WebSetting\WebLanguage; 16 use App\Models\WebSetting\WebLanguage;
@@ -375,7 +376,13 @@ class UpdateSeoTdk extends Command @@ -375,7 +376,13 @@ class UpdateSeoTdk extends Command
375 $info = Cache::get($cache_key); 376 $info = Cache::get($cache_key);
376 if(!$info){ 377 if(!$info){
377 $projectOptimizeModel = new DeployOptimize(); 378 $projectOptimizeModel = new DeployOptimize();
378 - $info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']); 379 + $info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
  380 + $projectKeywordModel = new ProjectKeyword();
  381 + $keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
  382 + $info['main_keyword'] = '';
  383 + if($keywordInfo === false){
  384 + $info['main_keyword'] = $keywordInfo['main_keyword'];
  385 + }
379 Cache::put($cache_key, $info, 600); 386 Cache::put($cache_key, $info, 600);
380 } 387 }
381 return $info; 388 return $info;
@@ -412,12 +419,12 @@ class UpdateSeoTdk extends Command @@ -412,12 +419,12 @@ class UpdateSeoTdk extends Command
412 { 419 {
413 $str = ''; 420 $str = '';
414 $info = $this->getDeployOptimize($project_id); 421 $info = $this->getDeployOptimize($project_id);
415 - if (!empty($info['main_keywords'])) {  
416 - $main_keywords = explode("\r\n", $info['main_keywords']); 422 + if (!empty($info['main_keyword'])) {
  423 + $main_keyword = explode("\r\n", $info['main_keyword']);
417 //随机取 424 //随机取
418 - shuffle($main_keywords);  
419 - $main_keywords = array_slice($main_keywords, 0, $num);  
420 - $str = implode(", ", $main_keywords); 425 + shuffle($main_keyword);
  426 + $main_keyword = array_slice($main_keyword, 0, $num);
  427 + $str = implode(", ", $main_keyword);
421 } 428 }
422 return $str; 429 return $str;
423 } 430 }
@@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo; @@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo;
10 use App\Models\Mail\Mail; 10 use App\Models\Mail\Mail;
11 use App\Models\Project\DeployBuild; 11 use App\Models\Project\DeployBuild;
12 use App\Models\Project\DeployOptimize; 12 use App\Models\Project\DeployOptimize;
  13 +use App\Models\Project\ProjectKeyword;
13 use App\Models\Project\ProjectUpdateTdk; 14 use App\Models\Project\ProjectUpdateTdk;
14 use App\Models\User\User; 15 use App\Models\User\User;
15 use App\Models\WebSetting\WebLanguage; 16 use App\Models\WebSetting\WebLanguage;
@@ -373,7 +374,13 @@ class UpdateSeoTdkByTaskId extends Command @@ -373,7 +374,13 @@ class UpdateSeoTdkByTaskId extends Command
373 $info = Cache::get($cache_key); 374 $info = Cache::get($cache_key);
374 if(!$info){ 375 if(!$info){
375 $projectOptimizeModel = new DeployOptimize(); 376 $projectOptimizeModel = new DeployOptimize();
376 - $info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']); 377 + $info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
  378 + $projectKeywordModel = new ProjectKeyword();
  379 + $keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
  380 + $info['main_keyword'] = '';
  381 + if($keywordInfo === false){
  382 + $info['main_keyword'] = $keywordInfo['main_keyword'];
  383 + }
377 Cache::put($cache_key, $info, 600); 384 Cache::put($cache_key, $info, 600);
378 } 385 }
379 return $info; 386 return $info;
@@ -410,12 +417,12 @@ class UpdateSeoTdkByTaskId extends Command @@ -410,12 +417,12 @@ class UpdateSeoTdkByTaskId extends Command
410 { 417 {
411 $str = ''; 418 $str = '';
412 $info = $this->getDeployOptimize($project_id); 419 $info = $this->getDeployOptimize($project_id);
413 - if (!empty($info['main_keywords'])) {  
414 - $main_keywords = explode("\r\n", $info['main_keywords']); 420 + if (!empty($info['main_keyword'])) {
  421 + $main_keyword = explode("\r\n", $info['main_keyword']);
415 //随机取 422 //随机取
416 - shuffle($main_keywords);  
417 - $main_keywords = array_slice($main_keywords, 0, $num);  
418 - $str = implode(", ", $main_keywords); 423 + shuffle($main_keyword);
  424 + $main_keyword = array_slice($main_keyword, 0, $num);
  425 + $str = implode(", ", $main_keyword);
419 } 426 }
420 return $str; 427 return $str;
421 } 428 }
@@ -13,6 +13,7 @@ use App\Enums\Common\Code; @@ -13,6 +13,7 @@ use App\Enums\Common\Code;
13 use App\Http\Controllers\Aside\BaseController; 13 use App\Http\Controllers\Aside\BaseController;
14 use App\Models\Project\DeployOptimize; 14 use App\Models\Project\DeployOptimize;
15 use App\Models\Project\Project; 15 use App\Models\Project\Project;
  16 +use App\Models\Project\ProjectKeyword;
16 17
17 class KeywordsController extends BaseController 18 class KeywordsController extends BaseController
18 { 19 {
@@ -24,9 +25,9 @@ class KeywordsController extends BaseController @@ -24,9 +25,9 @@ class KeywordsController extends BaseController
24 * @time :2023/9/4 10:13 25 * @time :2023/9/4 10:13
25 */ 26 */
26 public function lists(){ 27 public function lists(){
27 - $projectDeployOptimizeModel = new DeployOptimize();  
28 - $ids = $projectDeployOptimizeModel->where('customer_keywords','like','%'.$this->map['search'].'%')  
29 - ->orWhere('main_keywords', 'like' , '%'.$this->map['search'].'%')->pluck('project_id')->toArray(); 28 + $projectKeywordModel = new ProjectKeyword();
  29 + $ids = $projectKeywordModel->where('customer_keywords','like','%'.$this->map['search'].'%')
  30 + ->orWhere('main_keyword', 'like' , '%'.$this->map['search'].'%')->pluck('project_id')->toArray();
30 $projectModel = new Project(); 31 $projectModel = new Project();
31 $lists = $projectModel->formatQuery(['id'=>['in',$ids]])->with('payment')->with('deploy_build') 32 $lists = $projectModel->formatQuery(['id'=>['in',$ids]])->with('payment')->with('deploy_build')
32 ->with('deploy_optimize')->with('domainInfo')->get()->toArray(); 33 ->with('deploy_optimize')->with('domainInfo')->get()->toArray();
@@ -12,6 +12,7 @@ namespace App\Http\Controllers\Bside\Keyword; @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Bside\Keyword;
12 use App\Enums\Common\Code; 12 use App\Enums\Common\Code;
13 use App\Http\Controllers\Bside\BaseController; 13 use App\Http\Controllers\Bside\BaseController;
14 use App\Models\Project\DeployOptimize; 14 use App\Models\Project\DeployOptimize;
  15 +use App\Models\Project\ProjectKeyword;
15 16
16 class ProjectKeywordController extends BaseController 17 class ProjectKeywordController extends BaseController
17 { 18 {
@@ -28,9 +29,16 @@ class ProjectKeywordController extends BaseController @@ -28,9 +29,16 @@ class ProjectKeywordController extends BaseController
28 if($info === false){ 29 if($info === false){
29 $this->response('success'); 30 $this->response('success');
30 } 31 }
31 - $data['search_keywords'] = $info['search_keywords'];  
32 - $data['customer_keywords'] = $info['customer_keywords'];  
33 $data['brand_keyword'] = $info['brand_keyword']; 32 $data['brand_keyword'] = $info['brand_keyword'];
  33 + $projectKeywordModel = new ProjectKeyword();
  34 + $keywordInfo = $projectKeywordModel->read(['project_id'=>$this->user['project_id']]);
  35 + if($keywordInfo === false){
  36 + $data['search_keywords'] = '';
  37 + $data['customer_keywords'] = '';
  38 + $this->response('success',Code::SUCCESS,$data);
  39 + }
  40 + $data['search_keywords'] = $keywordInfo['search_keywords'];
  41 + $data['customer_keywords'] = $keywordInfo['customer_keywords'];
34 $this->response('success',Code::SUCCESS,$data); 42 $this->response('success',Code::SUCCESS,$data);
35 } 43 }
36 44
@@ -571,8 +571,8 @@ class ProductController extends BaseController @@ -571,8 +571,8 @@ class ProductController extends BaseController
571 } 571 }
572 572
573 /** 573 /**
574 - * @remark :Ai发布新闻  
575 - * @name :sendAiNews 574 + * @remark :Ai发布
  575 + * @name :sendAiProduct
576 * @author :lyh 576 * @author :lyh
577 * @method :post 577 * @method :post
578 * @time :2024/1/26 15:33 578 * @time :2024/1/26 15:33
@@ -236,8 +236,9 @@ class InquiryInfoLogic extends BaseLogic @@ -236,8 +236,9 @@ class InquiryInfoLogic extends BaseLogic
236 public function getKeywordUrl($map){ 236 public function getKeywordUrl($map){
237 $projectModel = new Project(); 237 $projectModel = new Project();
238 $lists = $projectModel->leftJoin('gl_project_deploy_optimize', 'gl_project_deploy_optimize.project_id', '=', 'gl_project.id') 238 $lists = $projectModel->leftJoin('gl_project_deploy_optimize', 'gl_project_deploy_optimize.project_id', '=', 'gl_project.id')
239 - ->where('gl_project_deploy_optimize.main_keywords','like','%'.$map['keyword'].'%')  
240 - ->orWhere('gl_project_deploy_optimize.customer_keywords','like','%'.$map['keyword'].'%') 239 + ->leftJoin('gl_project_keyword', 'gl_project_keyword.project_id', '=', 'gl_project.id')
  240 + ->where('gl_project_keyword.main_keyword','like','%'.$map['keyword'].'%')
  241 + ->orWhere('gl_project_keyword.customer_keywords','like','%'.$map['keyword'].'%')
241 ->select($this->selectParam())->get(); 242 ->select($this->selectParam())->get();
242 if(!empty($lists)){ 243 if(!empty($lists)){
243 $lists = $lists->toArray(); 244 $lists = $lists->toArray();
@@ -8,6 +8,7 @@ use App\Helper\Translate; @@ -8,6 +8,7 @@ use App\Helper\Translate;
8 use App\Http\Logic\Bside\BaseLogic; 8 use App\Http\Logic\Bside\BaseLogic;
9 use App\Models\Ai\AiCommand; 9 use App\Models\Ai\AiCommand;
10 use App\Models\Project\DeployOptimize; 10 use App\Models\Project\DeployOptimize;
  11 +use App\Models\Project\ProjectKeyword;
11 use App\Models\WebSetting\WebLanguage; 12 use App\Models\WebSetting\WebLanguage;
12 use Illuminate\Support\Facades\Cache; 13 use Illuminate\Support\Facades\Cache;
13 14
@@ -43,14 +44,14 @@ class AiCommandLogic extends BaseLogic @@ -43,14 +44,14 @@ class AiCommandLogic extends BaseLogic
43 $prompt = str_replace('{company name}', $company_name, $prompt); 44 $prompt = str_replace('{company name}', $company_name, $prompt);
44 } 45 }
45 if(strpos($prompt, '{core keywords 8}') !== false) { 46 if(strpos($prompt, '{core keywords 8}') !== false) {
46 - $main_keywords = $this->getDeployOptimize('main_keywords');  
47 - if ($main_keywords) {  
48 - $main_keywords = explode("\r\n", $main_keywords); 47 + $main_keyword = $this->getDeployOptimize('main_keyword');
  48 + if ($main_keyword) {
  49 + $main_keyword = explode("\r\n", $main_keyword);
49 //随机取 50 //随机取
50 - shuffle($main_keywords);  
51 - $main_keywords = array_slice($main_keywords, 0, 8);  
52 - $main_keywords = implode(", ", $main_keywords);  
53 - $prompt = str_replace('{core keywords 8}', $main_keywords, $prompt); 51 + shuffle($main_keyword);
  52 + $main_keyword = array_slice($main_keyword, 0, 8);
  53 + $main_keyword = implode(", ", $main_keyword);
  54 + $prompt = str_replace('{core keywords 8}', $main_keyword, $prompt);
54 }else{ 55 }else{
55 $prompt = ''; 56 $prompt = '';
56 } 57 }
@@ -99,7 +100,13 @@ class AiCommandLogic extends BaseLogic @@ -99,7 +100,13 @@ class AiCommandLogic extends BaseLogic
99 $info = Cache::get($cache_key); 100 $info = Cache::get($cache_key);
100 if(!$info){ 101 if(!$info){
101 $projectOptimizeModel = new DeployOptimize(); 102 $projectOptimizeModel = new DeployOptimize();
102 - $info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']); 103 + $info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
  104 + $projectKeywordModel = new ProjectKeyword();
  105 + $keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
  106 + $info['main_keyword'] = '';
  107 + if($keywordInfo === false){
  108 + $info['main_keyword'] = $keywordInfo['main_keyword'];
  109 + }
103 Cache::put($cache_key, $info, 600); 110 Cache::put($cache_key, $info, 600);
104 } 111 }
105 if($key){ 112 if($key){
@@ -8,6 +8,7 @@ use App\Models\HomeCount\Count; @@ -8,6 +8,7 @@ use App\Models\HomeCount\Count;
8 use App\Models\HomeCount\MonthCount; 8 use App\Models\HomeCount\MonthCount;
9 use App\Models\Inquiry\InquiryFormData; 9 use App\Models\Inquiry\InquiryFormData;
10 use App\Models\Project\DeployOptimize; 10 use App\Models\Project\DeployOptimize;
  11 +use App\Models\Project\ProjectKeyword;
11 use App\Services\ProjectServer; 12 use App\Services\ProjectServer;
12 use Carbon\Carbon; 13 use Carbon\Carbon;
13 use Illuminate\Support\Facades\DB; 14 use Illuminate\Support\Facades\DB;
@@ -85,8 +86,14 @@ class MonthCountLogic extends BaseLogic @@ -85,8 +86,14 @@ class MonthCountLogic extends BaseLogic
85 * @time :2023/7/4 10:19 86 * @time :2023/7/4 10:19
86 */ 87 */
87 public function getKeywordLists(){ 88 public function getKeywordLists(){
88 - $optimizeModel = new DeployOptimize();  
89 - $info = $optimizeModel->read(['project_id'=>$this->user['project_id']],['main_keywords','customer_keywords']); 89 + $projectKeywordModel = new ProjectKeyword();
  90 + $info = $projectKeywordModel->read(['project_id'=>$this->user['project_id']],['main_keyword','customer_keywords']);
  91 + if($info === false){
  92 + $info = [
  93 + 'main_keyword'=>'',
  94 + 'customer_keywords'=>''
  95 + ];
  96 + }
90 return $this->success($info); 97 return $this->success($info);
91 } 98 }
92 } 99 }