作者 张关杰

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

@@ -138,6 +138,7 @@ class OptimizeController extends BaseController @@ -138,6 +138,7 @@ class OptimizeController extends BaseController
138 } 138 }
139 $item['product_num'] = $data['product'] ?? 0; 139 $item['product_num'] = $data['product'] ?? 0;
140 $item['keyword_num'] = $item['key'] ?? 0; 140 $item['keyword_num'] = $item['key'] ?? 0;
  141 + $item['inquiry_num'] = $data['inquiry'] ?? 0;
141 $item['autologin_code'] = getAutoLoginCode($item['id']); 142 $item['autologin_code'] = getAutoLoginCode($item['id']);
142 return $item; 143 return $item;
143 } 144 }
@@ -17,6 +17,12 @@ use App\Models\Project\InquiryFilterConfig; @@ -17,6 +17,12 @@ use App\Models\Project\InquiryFilterConfig;
17 use App\Models\Project\MinorLanguages; 17 use App\Models\Project\MinorLanguages;
18 use App\Models\Project\ProjectRenew; 18 use App\Models\Project\ProjectRenew;
19 use App\Models\Project\WebTrafficConfig; 19 use App\Models\Project\WebTrafficConfig;
  20 +use App\Models\RankData\ExternalLinks;
  21 +use App\Models\RankData\IndexedPages;
  22 +use App\Models\RankData\RankData;
  23 +use App\Models\RankData\RankWeek;
  24 +use App\Models\RankData\RecommDomain;
  25 +use App\Models\RankData\Speed;
20 use App\Models\Template\Setting; 26 use App\Models\Template\Setting;
21 use App\Models\User\ProjectMenu; 27 use App\Models\User\ProjectMenu;
22 use App\Models\User\ProjectRole; 28 use App\Models\User\ProjectRole;
@@ -296,7 +302,17 @@ class ProjectLogic extends BaseLogic @@ -296,7 +302,17 @@ class ProjectLogic extends BaseLogic
296 //是否更新了api_no 302 //是否更新了api_no
297 $api_no = DeployOptimize::where('id', $deploy_optimize['id'])->value('api_no'); 303 $api_no = DeployOptimize::where('id', $deploy_optimize['id'])->value('api_no');
298 if($api_no != $deploy_optimize['api_no']){ 304 if($api_no != $deploy_optimize['api_no']){
299 - NoticeLog::createLog(NoticeLog::TYPE_RANK_DATA, ['api_no' => $deploy_optimize['api_no']]); 305 + if($deploy_optimize['api_no']){
  306 + NoticeLog::createLog(NoticeLog::TYPE_RANK_DATA, ['api_no' => $deploy_optimize['api_no'] ?: 0]);
  307 + }else{
  308 + //清空已有排名数据
  309 + RankData::where('project_id', $deploy_optimize['project_id'])->delete();
  310 + ExternalLinks::where('project_id', $deploy_optimize['project_id'])->delete();
  311 + IndexedPages::where('project_id', $deploy_optimize['project_id'])->delete();
  312 + RecommDomain::where('project_id', $deploy_optimize['project_id'])->delete();
  313 + Speed::where('project_id', $deploy_optimize['project_id'])->delete();
  314 + RankWeek::where('project_id', $deploy_optimize['project_id'])->delete();
  315 + }
300 } 316 }
301 $deployOptimizeModel->edit($deploy_optimize,['id'=>$deploy_optimize['id']]); 317 $deployOptimizeModel->edit($deploy_optimize,['id'=>$deploy_optimize['id']]);
302 return $this->success(); 318 return $this->success();
@@ -294,6 +294,8 @@ class ProductLogic extends BaseLogic @@ -294,6 +294,8 @@ class ProductLogic extends BaseLogic
294 $param['video']['url'] = str_replace_url($param['video']['url']); 294 $param['video']['url'] = str_replace_url($param['video']['url']);
295 $param['video']['video_image'] = str_replace_url($param['video']['video_image']); 295 $param['video']['video_image'] = str_replace_url($param['video']['video_image']);
296 $param['video'] = Arr::a2s($param['video'] ?? []); 296 $param['video'] = Arr::a2s($param['video'] ?? []);
  297 + }else{
  298 + $param['video'] = Arr::a2s([]);
297 } 299 }
298 if(isset($param['keyword_id']) && !empty($param['keyword_id'])){ 300 if(isset($param['keyword_id']) && !empty($param['keyword_id'])){
299 $param['keyword_id'] = ','.Arr::arrToSet($param['keyword_id']).','; 301 $param['keyword_id'] = ','.Arr::arrToSet($param['keyword_id']).',';
@@ -309,6 +311,8 @@ class ProductLogic extends BaseLogic @@ -309,6 +311,8 @@ class ProductLogic extends BaseLogic
309 $param['icon'][$k1] = str_replace_url($v1); 311 $param['icon'][$k1] = str_replace_url($v1);
310 } 312 }
311 $param['icon'] = Arr::a2s($param['icon'] ?? []); 313 $param['icon'] = Arr::a2s($param['icon'] ?? []);
  314 + }else{
  315 + $param['icon'] = Arr::a2s([]);
312 } 316 }
313 $param['created_uid'] = $this->user['id']; 317 $param['created_uid'] = $this->user['id'];
314 return $param; 318 return $param;
@@ -10,9 +10,11 @@ @@ -10,9 +10,11 @@
10 namespace App\Models\ASide; 10 namespace App\Models\ASide;
11 11
12 use App\Helper\AyrShare as AyrShareHelper; 12 use App\Helper\AyrShare as AyrShareHelper;
  13 +use App\Helper\FormGlobalsoApi;
13 use App\Models\AyrShare\AyrShare as AyrShareModel; 14 use App\Models\AyrShare\AyrShare as AyrShareModel;
14 use App\Models\Base; 15 use App\Models\Base;
15 use App\Services\ProjectServer; 16 use App\Services\ProjectServer;
  17 +use Illuminate\Support\Facades\Cache;
16 use Illuminate\Support\Facades\DB; 18 use Illuminate\Support\Facades\DB;
17 19
18 class APublicModel extends Base 20 class APublicModel extends Base
@@ -30,16 +32,29 @@ class APublicModel extends Base @@ -30,16 +32,29 @@ class APublicModel extends Base
30 */ 32 */
31 public static function getNumByProjectId($project_id){ 33 public static function getNumByProjectId($project_id){
32 ProjectServer::useProject($project_id); 34 ProjectServer::useProject($project_id);
33 - $productNumber = DB::connection('custom_mysql')->table('gl_product')  
34 - ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();  
35 - $blogNumber = DB::connection('custom_mysql')->table('gl_blog')  
36 - ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();  
37 - $newsNumber = DB::connection('custom_mysql')->table('gl_news')  
38 - ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();  
39 - $keyNumber = DB::connection('custom_mysql')->table('gl_product_keyword')  
40 - ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count(); 35 + $data = Cache::get('product_blog_news_'.$project_id);
  36 + if(!$data){
  37 + $productNumber = DB::connection('custom_mysql')->table('gl_product')
  38 + ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();
  39 + $blogNumber = DB::connection('custom_mysql')->table('gl_blog')
  40 + ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();
  41 + $newsNumber = DB::connection('custom_mysql')->table('gl_news')
  42 + ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();
  43 + $keyNumber = DB::connection('custom_mysql')->table('gl_product_keyword')
  44 + ->where('project_id', $project_id)->where('status', self::STATUS_ON)->count();
  45 + //获取项目的询盘数量
  46 + $inquiryNumber = 0;
  47 +// $countInfo = DB::table('gl_count')->where('project_id', $project_id)->orderBy('id', 'desc')
  48 +// ->first();
  49 +// if(!empty($countInfo)){
  50 +// @file_put_contents(storage_path('logs/lyh_error.log'), var_export($countInfo, true) . PHP_EOL, FILE_APPEND);
  51 +// $inquiryNumber = $countInfo['inquiry_num'] ?? 0;
  52 +// }
  53 + $data = ['product'=>$productNumber,'blog'=>$blogNumber,'news'=>$newsNumber,'key'=>$keyNumber,'inquiry'=>$inquiryNumber];
  54 + Cache::add('product_blog_news_'.$project_id,$data,30 * 60);
  55 + }
41 DB::disconnect('custom_mysql'); 56 DB::disconnect('custom_mysql');
42 - return ['product'=>$productNumber,'blog'=>$blogNumber,'news'=>$newsNumber,'key'=>$keyNumber]; 57 + return $data;
43 } 58 }
44 59
45 } 60 }