作者 李宇航

合并分支 'master-server' 到 'master'

独立分表项目关键词



查看合并请求 !678
@@ -30,6 +30,7 @@ use App\Models\Project\InquiryFilterConfig; @@ -30,6 +30,7 @@ use App\Models\Project\InquiryFilterConfig;
30 use App\Models\Project\MinorLanguages; 30 use App\Models\Project\MinorLanguages;
31 use App\Models\Project\Payment; 31 use App\Models\Project\Payment;
32 use App\Models\Project\Project; 32 use App\Models\Project\Project;
  33 +use App\Models\Project\ProjectKeyword;
33 use App\Models\Project\ProjectRenew; 34 use App\Models\Project\ProjectRenew;
34 use App\Models\Project\WebTrafficConfig; 35 use App\Models\Project\WebTrafficConfig;
35 use App\Models\RankData\ExternalLinks; 36 use App\Models\RankData\ExternalLinks;
@@ -71,7 +72,8 @@ class ProjectLogic extends BaseLogic @@ -71,7 +72,8 @@ class ProjectLogic extends BaseLogic
71 * @time :2023/7/28 17:11 72 * @time :2023/7/28 17:11
72 */ 73 */
73 public function getProjectInfo($id){ 74 public function getProjectInfo($id){
74 - $info = $this->model->with(['payment', 'deploy_build', 'deploy_optimize', 'online_check', 'project_after','inquiry_filter_config','web_traffic_config'])->where(['id'=>$id])->first()->toArray(); 75 + $info = $this->model->with(['payment', 'deploy_build', 'deploy_optimize', 'online_check',
  76 + 'project_after','inquiry_filter_config','web_traffic_config','project_keyword'])->where(['id'=>$id])->first()->toArray();
75 $info['online_check']['name'] = (new Manage())->getName($info['online_check']['created_manage_id'] ?? 0); 77 $info['online_check']['name'] = (new Manage())->getName($info['online_check']['created_manage_id'] ?? 0);
76 $info['init_domain'] = $this->getInitDomain($info['serve_id'])['domain']; 78 $info['init_domain'] = $this->getInitDomain($info['serve_id'])['domain'];
77 if($info['extend_type'] != 0){ 79 if($info['extend_type'] != 0){
@@ -157,6 +159,8 @@ class ProjectLogic extends BaseLogic @@ -157,6 +159,8 @@ class ProjectLogic extends BaseLogic
157 $this->saveProjectPayment($this->param['payment']); 159 $this->saveProjectPayment($this->param['payment']);
158 //保存优化信息 160 //保存优化信息
159 $this->saveProjectDeployOptimize($this->param['deploy_optimize']); 161 $this->saveProjectDeployOptimize($this->param['deploy_optimize']);
  162 + //保存项目关键字
  163 + $this->saveProjectKeyword($this->param['project_keyword'] ?? [],$this->param['id']);
160 //保存售后信息 164 //保存售后信息
161 $this->saveProjectAfter($this->param['project_after']); 165 $this->saveProjectAfter($this->param['project_after']);
162 //单独保存小语种配置 166 //单独保存小语种配置
@@ -354,6 +358,30 @@ class ProjectLogic extends BaseLogic @@ -354,6 +358,30 @@ class ProjectLogic extends BaseLogic
354 } 358 }
355 359
356 /** 360 /**
  361 + * @remark :保存项目关键字
  362 + * @name :saveProjectKeyword
  363 + * @author :lyh
  364 + * @method :post
  365 + * @time :2024/7/22 11:45
  366 + */
  367 + public function saveProjectKeyword($project_keyword,$project_id){
  368 + $projectKeywordModel = new ProjectKeyword();
  369 + $info = $projectKeywordModel->read(['project_id'=>$project_id]);
  370 + $data = [
  371 + 'main_keyword'=>$project_keyword['main_keyword'] ?? '',
  372 + 'customer_keywords'=>$project_keyword['customer_keywords'] ?? '',
  373 + 'search_keywords'=>$project_keyword['search_keywords'] ?? '',
  374 + ];
  375 + if($info === false){
  376 + $data['project_id'] = $project_id;
  377 + $projectKeywordModel->addReturnId($data);
  378 + }else{
  379 + $projectKeywordModel->edit($data,['id'=>$info['id']]);
  380 + }
  381 + return $this->success();
  382 + }
  383 +
  384 + /**
357 * @remark :保存为售后部署 385 * @remark :保存为售后部署
358 * @name :saveProjectAfter 386 * @name :saveProjectAfter
359 * @author :lyh 387 * @author :lyh
@@ -424,7 +424,7 @@ class BlogLogic extends BaseLogic @@ -424,7 +424,7 @@ class BlogLogic extends BaseLogic
424 public function copyBlogInfo(){ 424 public function copyBlogInfo(){
425 $info = $this->model->read(['id'=>$this->param['id']]); 425 $info = $this->model->read(['id'=>$this->param['id']]);
426 $param = [ 426 $param = [
427 - 'name'=>$info['name']."-copy", 427 + 'name'=>$info['name']."-1",
428 'status'=>0, 428 'status'=>0,
429 'sort'=>$info['sort'], 429 'sort'=>$info['sort'],
430 'category_id'=>$info['category_id'], 430 'category_id'=>$info['category_id'],
@@ -462,7 +462,7 @@ class NewsLogic extends BaseLogic @@ -462,7 +462,7 @@ class NewsLogic extends BaseLogic
462 public function copyNewsInfo(){ 462 public function copyNewsInfo(){
463 $info = $this->model->read(['id'=>$this->param['id']]); 463 $info = $this->model->read(['id'=>$this->param['id']]);
464 $param = [ 464 $param = [
465 - 'name'=>$info['name']."-copy", 465 + 'name'=>$info['name']."-1",
466 'status'=>0, 466 'status'=>0,
467 'sort'=>$info['sort'], 467 'sort'=>$info['sort'],
468 'category_id'=>$info['category_id'], 468 'category_id'=>$info['category_id'],
@@ -539,7 +539,7 @@ class ProductLogic extends BaseLogic @@ -539,7 +539,7 @@ class ProductLogic extends BaseLogic
539 public function setProductParams($info){ 539 public function setProductParams($info){
540 $param = [ 540 $param = [
541 'project_id'=>$info['project_id'], 541 'project_id'=>$info['project_id'],
542 - 'title'=>$info['title']."-copy", 542 + 'title'=>$info['title']."-1",
543 'attrs'=>Arr::a2s($info['attrs']), 543 'attrs'=>Arr::a2s($info['attrs']),
544 'attr_id'=>Arr::arrToSet($info['attr_id']), 544 'attr_id'=>Arr::arrToSet($info['attr_id']),
545 'category_id'=>!empty($info['category_id']) ? ','.Arr::arrToSet($info['category_id']).',' : '', 545 'category_id'=>!empty($info['category_id']) ? ','.Arr::arrToSet($info['category_id']).',' : '',
@@ -231,7 +231,17 @@ class Project extends Base @@ -231,7 +231,17 @@ class Project extends Base
231 return self::hasOne(After::class, 'project_id', 'id'); 231 return self::hasOne(After::class, 'project_id', 'id');
232 } 232 }
233 233
234 - 234 + /**
  235 + * @remark :项目关键字
  236 + * @name :project_keyword
  237 + * @author :lyh
  238 + * @method :post
  239 + * @time :2024/7/22 11:38
  240 + */
  241 + public function project_keyword()
  242 + {
  243 + return self::hasOne(ProjectKeyword::class, 'project_id', 'id');
  244 + }
235 /** 245 /**
236 * 询盘过滤配置 246 * 询盘过滤配置
237 * @return \Illuminate\Database\Eloquent\Relations\HasOne 247 * @return \Illuminate\Database\Eloquent\Relations\HasOne
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :ProjectKeyword.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2024/7/22 11:35
  8 + */
  9 +
  10 +namespace App\Models\Project;
  11 +
  12 +use App\Models\Base;
  13 +
  14 +class ProjectKeyword extends Base
  15 +{
  16 + //设置关联表名
  17 + protected $table = 'gl_project_keyword';
  18 +}