作者 lyh

Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6 into master-server

@@ -593,7 +593,7 @@ class RelayInquiry extends Command @@ -593,7 +593,7 @@ class RelayInquiry extends Command
593 } 593 }
594 $translateSl = Translate::translateSl($incontent); 594 $translateSl = Translate::translateSl($incontent);
595 $lang = $translateSl['texts']['sl'] ?? 'en'; 595 $lang = $translateSl['texts']['sl'] ?? 'en';
596 - if ($lang == 'en' || Str::contains($lang, 'zh')) { 596 + if ($lang == 'en' || $lang == 'ja' || $lang == 'ko' || Str::contains($lang, 'zh')) {
597 $language = '英文'; 597 $language = '英文';
598 $lang = 'en'; 598 $lang = 'en';
599 }else{ 599 }else{
@@ -6,6 +6,7 @@ use App\Models\Inquiry\ReInquiryDetail; @@ -6,6 +6,7 @@ use App\Models\Inquiry\ReInquiryDetail;
6 use App\Models\Inquiry\ReInquiryDetailLog; 6 use App\Models\Inquiry\ReInquiryDetailLog;
7 use App\Models\Inquiry\ReInquiryForm; 7 use App\Models\Inquiry\ReInquiryForm;
8 use Illuminate\Console\Command; 8 use Illuminate\Console\Command;
  9 +use Illuminate\Support\Facades\Cache;
9 use Illuminate\Support\Facades\Http; 10 use Illuminate\Support\Facades\Http;
10 use Illuminate\Support\Facades\Log; 11 use Illuminate\Support\Facades\Log;
11 use Illuminate\Support\Facades\Redis; 12 use Illuminate\Support\Facades\Redis;
@@ -115,11 +116,16 @@ class postInquiry extends Command @@ -115,11 +116,16 @@ class postInquiry extends Command
115 } 116 }
116 }else{ 117 }else{
117 //v4 v5分离项目 往测试链接推 118 //v4 v5分离项目 往测试链接推
118 - $client = new \GuzzleHttp\Client();  
119 - $site_array = $client->request('GET', "https://www.quanqiusou.cn/extend_api/saas/split.php", [  
120 - 'proxy' => env('CURL_PROXY'), // 代理服务器地址和端口号  
121 - ])->getBody()->getContents();  
122 - $site_array = json_decode($site_array, true); 119 + $split_api_cache_key = 'quanqiusou_split_site_array';
  120 + $site_array = Cache::get($split_api_cache_key);
  121 + if(!$site_array){
  122 + $client = new \GuzzleHttp\Client();
  123 + $site_array = $client->request('GET', "https://www.quanqiusou.cn/extend_api/saas/split.php", [
  124 + 'proxy' => env('CURL_PROXY'), // 代理服务器地址和端口号
  125 + ])->getBody()->getContents();
  126 + $site_array = json_decode($site_array, true);
  127 + Cache::put($split_api_cache_key, $site_array, 7200);
  128 + }
123 $mail_urls = array_column($site_array, 'main_url'); 129 $mail_urls = array_column($site_array, 'main_url');
124 $key = array_search($website, $mail_urls); 130 $key = array_search($website, $mail_urls);
125 if ($key !== false) { 131 if ($key !== false) {
@@ -195,6 +201,7 @@ class postInquiry extends Command @@ -195,6 +201,7 @@ class postInquiry extends Command
195 //兼容接口返回格式 201 //兼容接口返回格式
196 if(!empty($res['data'][0]['status'])){ 202 if(!empty($res['data'][0]['status'])){
197 $res['data'][0]['code'] = $res['data'][0]['status'] == 'success' ? 200 : 400; 203 $res['data'][0]['code'] = $res['data'][0]['status'] == 'success' ? 200 : 400;
  204 + !empty($res['data'][0]['msg']) && $res['message'] = $res['data'][0]['msg'];
198 } 205 }
199 if(empty($res['data'][0]['code']) || !in_array($res['data'][0]['code'], [200,300])){ 206 if(empty($res['data'][0]['code']) || !in_array($res['data'][0]['code'], [200,300])){
200 $log->status = ReInquiryDetailLog::STATUS_FAIL; 207 $log->status = ReInquiryDetailLog::STATUS_FAIL;
@@ -9,7 +9,9 @@ namespace App\Http\Controllers\Api; @@ -9,7 +9,9 @@ namespace App\Http\Controllers\Api;
9 9
10 use App\Enums\Common\Code; 10 use App\Enums\Common\Code;
11 use App\Http\Logic\Bside\User\UserLoginLogic; 11 use App\Http\Logic\Bside\User\UserLoginLogic;
  12 +use App\Models\Blog\Blog;
12 use App\Models\Domain\DomainInfo; 13 use App\Models\Domain\DomainInfo;
  14 +use App\Models\News\News;
13 use App\Models\Product\Category; 15 use App\Models\Product\Category;
14 use App\Models\Product\CategoryRelated; 16 use App\Models\Product\CategoryRelated;
15 use App\Models\Product\Keyword; 17 use App\Models\Product\Keyword;
@@ -283,4 +285,54 @@ class PrivateController extends BaseController @@ -283,4 +285,54 @@ class PrivateController extends BaseController
283 } 285 }
284 return $this->success($projects); 286 return $this->success($projects);
285 } 287 }
  288 +
  289 + /**
  290 + * 获取有效时间内 新增有效URL
  291 + * 用于自动提交Google收录
  292 + * @param Request $request
  293 + * @return false|string
  294 + */
  295 + public function projectNewUrl(Request $request)
  296 + {
  297 + $domain = trim($request->input('domain'));
  298 + $domain_parse = parse_url($domain);
  299 + $domain = $domain_parse['host'] ?? $domain;
  300 + $date = trim($request->input('date'));
  301 +
  302 + if (empty($domain) || empty($date)) {
  303 + return $this->error('非法参数!');
  304 + }
  305 +
  306 + $project = Project::getProjectByDomain($domain);
  307 + if (empty($project)) {
  308 + return $this->error('未找到当前域名对应的项目!');
  309 + }
  310 +
  311 + ProjectServer::useProject($project->id);
  312 + $result = [];
  313 + // 查询有效时间后 有效的产品、新闻、博客、聚合页 链接
  314 + $product = Product::where(['status' => Product::STATUS_ON])->where('created_at', '>=', $date)->pluck('route');
  315 + $news = News::where(['status' => News::STATUS_ONE])->where('release_at', '>', $date)->pluck('url');
  316 + $blog = Blog::where(['status' => Blog::STATUS_ONE])->where('release_at', '>', $date)->pluck('url');
  317 + $keyword = Keyword::where('created_at', '>', $date)->pluck('route');
  318 +
  319 + // 组装链接
  320 + foreach ($product as $item) {
  321 + $url = 'https://' . $domain . '/' . $item;
  322 + array_push($result, $url);
  323 + }
  324 + foreach ($keyword as $item) {
  325 + $url = 'https://' . $domain . '/' . $item;
  326 + array_push($result, $url);
  327 + }
  328 + foreach ($news as $item) {
  329 + $url = 'https://' . $domain . '/news/' . $item;
  330 + array_push($result, $url);
  331 + }
  332 + foreach ($blog as $item) {
  333 + $url = 'https://' . $domain . '/blogs/' . $item;
  334 + array_push($result, $url);
  335 + }
  336 + return $this->success($result);
  337 + }
286 } 338 }
@@ -39,6 +39,9 @@ Route::any('valid_user', [\App\Http\Controllers\Api\PrivateController::class, 'v @@ -39,6 +39,9 @@ Route::any('valid_user', [\App\Http\Controllers\Api\PrivateController::class, 'v
39 Route::any('getAutoToken', [\App\Http\Controllers\Api\PrivateController::class, 'getAutoToken'])->name('api.getAutoToken'); 39 Route::any('getAutoToken', [\App\Http\Controllers\Api\PrivateController::class, 'getAutoToken'])->name('api.getAutoToken');
40 // 特殊项目 有效产品路由 40 // 特殊项目 有效产品路由
41 Route::any('valid_product_route', [\App\Http\Controllers\Api\PrivateController::class, 'getProductRoute'])->name('api.valid_product_route'); 41 Route::any('valid_product_route', [\App\Http\Controllers\Api\PrivateController::class, 'getProductRoute'])->name('api.valid_product_route');
  42 +// 6.0项目新增有效链接 - 提交Google
  43 +Route::any('project_new_url', [\App\Http\Controllers\Api\PrivateController::class, 'projectNewUrl'])->name('api.project_new_url');
  44 +
42 45
43 // --------------------- 站群服务 ------------------------------------------ 46 // --------------------- 站群服务 ------------------------------------------
44 // 获取项目信息 47 // 获取项目信息