作者 lyh

核心关键字分表

... ... @@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo;
use App\Models\Mail\Mail;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Models\Project\ProjectUpdateTdk;
use App\Models\User\User;
use App\Models\WebSetting\WebLanguage;
... ... @@ -375,7 +376,13 @@ class UpdateSeoTdk extends Command
$info = Cache::get($cache_key);
if(!$info){
$projectOptimizeModel = new DeployOptimize();
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']);
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
$info['main_keyword'] = '';
if($keywordInfo === false){
$info['main_keyword'] = $keywordInfo['main_keyword'];
}
Cache::put($cache_key, $info, 600);
}
return $info;
... ... @@ -412,12 +419,12 @@ class UpdateSeoTdk extends Command
{
$str = '';
$info = $this->getDeployOptimize($project_id);
if (!empty($info['main_keywords'])) {
$main_keywords = explode("\r\n", $info['main_keywords']);
if (!empty($info['main_keyword'])) {
$main_keyword = explode("\r\n", $info['main_keyword']);
//随机取
shuffle($main_keywords);
$main_keywords = array_slice($main_keywords, 0, $num);
$str = implode(", ", $main_keywords);
shuffle($main_keyword);
$main_keyword = array_slice($main_keyword, 0, $num);
$str = implode(", ", $main_keyword);
}
return $str;
}
... ...
... ... @@ -10,6 +10,7 @@ use App\Models\Domain\DomainInfo;
use App\Models\Mail\Mail;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Models\Project\ProjectUpdateTdk;
use App\Models\User\User;
use App\Models\WebSetting\WebLanguage;
... ... @@ -373,7 +374,13 @@ class UpdateSeoTdkByTaskId extends Command
$info = Cache::get($cache_key);
if(!$info){
$projectOptimizeModel = new DeployOptimize();
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']);
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
$info['main_keyword'] = '';
if($keywordInfo === false){
$info['main_keyword'] = $keywordInfo['main_keyword'];
}
Cache::put($cache_key, $info, 600);
}
return $info;
... ... @@ -410,12 +417,12 @@ class UpdateSeoTdkByTaskId extends Command
{
$str = '';
$info = $this->getDeployOptimize($project_id);
if (!empty($info['main_keywords'])) {
$main_keywords = explode("\r\n", $info['main_keywords']);
if (!empty($info['main_keyword'])) {
$main_keyword = explode("\r\n", $info['main_keyword']);
//随机取
shuffle($main_keywords);
$main_keywords = array_slice($main_keywords, 0, $num);
$str = implode(", ", $main_keywords);
shuffle($main_keyword);
$main_keyword = array_slice($main_keyword, 0, $num);
$str = implode(", ", $main_keyword);
}
return $str;
}
... ...
... ... @@ -13,6 +13,7 @@ use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Models\Project\DeployOptimize;
use App\Models\Project\Project;
use App\Models\Project\ProjectKeyword;
class KeywordsController extends BaseController
{
... ... @@ -24,9 +25,9 @@ class KeywordsController extends BaseController
* @time :2023/9/4 10:13
*/
public function lists(){
$projectDeployOptimizeModel = new DeployOptimize();
$ids = $projectDeployOptimizeModel->where('customer_keywords','like','%'.$this->map['search'].'%')
->orWhere('main_keywords', 'like' , '%'.$this->map['search'].'%')->pluck('project_id')->toArray();
$projectKeywordModel = new ProjectKeyword();
$ids = $projectKeywordModel->where('customer_keywords','like','%'.$this->map['search'].'%')
->orWhere('main_keyword', 'like' , '%'.$this->map['search'].'%')->pluck('project_id')->toArray();
$projectModel = new Project();
$lists = $projectModel->formatQuery(['id'=>['in',$ids]])->with('payment')->with('deploy_build')
->with('deploy_optimize')->with('domainInfo')->get()->toArray();
... ...
... ... @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Bside\Keyword;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
class ProjectKeywordController extends BaseController
{
... ... @@ -28,9 +29,16 @@ class ProjectKeywordController extends BaseController
if($info === false){
$this->response('success');
}
$data['search_keywords'] = $info['search_keywords'];
$data['customer_keywords'] = $info['customer_keywords'];
$data['brand_keyword'] = $info['brand_keyword'];
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$this->user['project_id']]);
if($keywordInfo === false){
$data['search_keywords'] = '';
$data['customer_keywords'] = '';
$this->response('success',Code::SUCCESS,$data);
}
$data['search_keywords'] = $keywordInfo['search_keywords'];
$data['customer_keywords'] = $keywordInfo['customer_keywords'];
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -571,8 +571,8 @@ class ProductController extends BaseController
}
/**
* @remark :Ai发布新闻
* @name :sendAiNews
* @remark :Ai发布
* @name :sendAiProduct
* @author :lyh
* @method :post
* @time :2024/1/26 15:33
... ...
... ... @@ -236,8 +236,9 @@ class InquiryInfoLogic extends BaseLogic
public function getKeywordUrl($map){
$projectModel = new Project();
$lists = $projectModel->leftJoin('gl_project_deploy_optimize', 'gl_project_deploy_optimize.project_id', '=', 'gl_project.id')
->where('gl_project_deploy_optimize.main_keywords','like','%'.$map['keyword'].'%')
->orWhere('gl_project_deploy_optimize.customer_keywords','like','%'.$map['keyword'].'%')
->leftJoin('gl_project_keyword', 'gl_project_keyword.project_id', '=', 'gl_project.id')
->where('gl_project_keyword.main_keyword','like','%'.$map['keyword'].'%')
->orWhere('gl_project_keyword.customer_keywords','like','%'.$map['keyword'].'%')
->select($this->selectParam())->get();
if(!empty($lists)){
$lists = $lists->toArray();
... ...
... ... @@ -8,6 +8,7 @@ use App\Helper\Translate;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Ai\AiCommand;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Models\WebSetting\WebLanguage;
use Illuminate\Support\Facades\Cache;
... ... @@ -43,14 +44,14 @@ class AiCommandLogic extends BaseLogic
$prompt = str_replace('{company name}', $company_name, $prompt);
}
if(strpos($prompt, '{core keywords 8}') !== false) {
$main_keywords = $this->getDeployOptimize('main_keywords');
if ($main_keywords) {
$main_keywords = explode("\r\n", $main_keywords);
$main_keyword = $this->getDeployOptimize('main_keyword');
if ($main_keyword) {
$main_keyword = explode("\r\n", $main_keyword);
//随机取
shuffle($main_keywords);
$main_keywords = array_slice($main_keywords, 0, 8);
$main_keywords = implode(", ", $main_keywords);
$prompt = str_replace('{core keywords 8}', $main_keywords, $prompt);
shuffle($main_keyword);
$main_keyword = array_slice($main_keyword, 0, 8);
$main_keyword = implode(", ", $main_keyword);
$prompt = str_replace('{core keywords 8}', $main_keyword, $prompt);
}else{
$prompt = '';
}
... ... @@ -99,7 +100,13 @@ class AiCommandLogic extends BaseLogic
$info = Cache::get($cache_key);
if(!$info){
$projectOptimizeModel = new DeployOptimize();
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description', 'main_keywords']);
$info = $projectOptimizeModel->read(['project_id' => $project_id], ['id', 'company_en_name', 'company_en_description']);
$projectKeywordModel = new ProjectKeyword();
$keywordInfo = $projectKeywordModel->read(['project_id'=>$project_id]);
$info['main_keyword'] = '';
if($keywordInfo === false){
$info['main_keyword'] = $keywordInfo['main_keyword'];
}
Cache::put($cache_key, $info, 600);
}
if($key){
... ...
... ... @@ -8,6 +8,7 @@ use App\Models\HomeCount\Count;
use App\Models\HomeCount\MonthCount;
use App\Models\Inquiry\InquiryFormData;
use App\Models\Project\DeployOptimize;
use App\Models\Project\ProjectKeyword;
use App\Services\ProjectServer;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
... ... @@ -85,8 +86,14 @@ class MonthCountLogic extends BaseLogic
* @time :2023/7/4 10:19
*/
public function getKeywordLists(){
$optimizeModel = new DeployOptimize();
$info = $optimizeModel->read(['project_id'=>$this->user['project_id']],['main_keywords','customer_keywords']);
$projectKeywordModel = new ProjectKeyword();
$info = $projectKeywordModel->read(['project_id'=>$this->user['project_id']],['main_keyword','customer_keywords']);
if($info === false){
$info = [
'main_keyword'=>'',
'customer_keywords'=>''
];
}
return $this->success($info);
}
}
... ...