作者 张关杰

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

... ... @@ -42,7 +42,7 @@ class Count extends Command
public function handle()
{
$list = DB::table('gl_project')->where('gl_project.extend_type','=',0)
->where('gl_project.type','!=',0)->where('gl_project.delete_status',0)
->where('gl_project.type','!=',0)
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->select($this->selectParam())->get();
... ...
... ... @@ -38,7 +38,7 @@ class InquiryMonthlyCount extends Command
*/
public function handle(){
$list = DB::table('gl_project')->where('gl_project.extend_type','=',0)
->where('gl_project.type','!=',0)->where('gl_project.delete_status',0)
->where('gl_project.type','!=',0)
->leftJoin('gl_project_deploy_build', 'gl_project.id', '=', 'gl_project_deploy_build.project_id')
->leftJoin('gl_project_deploy_optimize', 'gl_project.id', '=', 'gl_project_deploy_optimize.project_id')
->select($this->selectParam())->get()->toArray();
... ...
... ... @@ -4,6 +4,7 @@ namespace App\Console\Commands;
use App\Exceptions\InquiryFilterException;
use App\Models\Project\Project;
use App\Services\SyncSubmitTaskService;
use Illuminate\Console\Command;
use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
... ... @@ -48,6 +49,9 @@ class SyncSubmitTask extends Command
continue;
}
try {
$project = Project::getProjectByDomain($task_info['data']['domain'] ?? '');
$task_info->project_id = $project->id;
SyncSubmitTaskService::handler($task_info);
$task_info->status = 1;
$task_info->save();
... ...
... ... @@ -11,6 +11,7 @@ use App\Models\Inquiry\InquiryFormData;
use App\Models\Nav\BNav;
use App\Models\Nav\BNavGroup;
use App\Models\Project\Project;
use App\Models\SyncSubmitTask\SyncSubmitTask as SyncSubmitTaskModel;
use App\Models\WebSetting\Translate as TranslateModel;
use App\Services\ProjectServer;
use Illuminate\Console\Command;
... ... @@ -55,6 +56,25 @@ class Test extends Command
*/
public function handle()
{
$i=0;
while (true){
$list = SyncSubmitTaskModel::where('project_id', 0)->limit(1000)->get();
if(!$list){
exit;
}
foreach ($list as $item){
$project = Project::getProjectByDomain($item['data']['domain'] ?? '');
$item->project_id = $project->id;
$item->save();
}
echo $i . PHP_EOL;
$i++;
}
exit;
ProjectServer::useProject(3);
$data = [
'c' => 'c',
... ...
... ... @@ -279,7 +279,7 @@ class HtmlCollect extends Command
foreach ($img as $vi) {
$check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vi && (!in_array($check_vi, $source))) {
$check_vi && $source[] = $check_vi;
$source[] = $check_vi;
}
}
... ... @@ -289,7 +289,7 @@ class HtmlCollect extends Command
foreach ($js as $vj) {
$check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vj && (!in_array($check_vj, $source))) {
$check_vj && $source[] = $check_vj;
$source[] = $check_vj;
}
}
... ... @@ -299,7 +299,15 @@ class HtmlCollect extends Command
foreach ($video as $vv) {
$check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vv && (!in_array($check_vv, $source))) {
$check_vv && $source[] = $check_vv;
$source[] = $check_vv;
}
}
preg_match_all('/<video\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $html, $result_video_2);
$video_2 = $result_video_2[2] ?? [];
foreach ($video_2 as $vv2) {
$check_vv2 = $this->url_check($vv2, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vv2 && (!in_array($check_vv2, $source))) {
$source[] = $check_vv2;
}
}
... ... @@ -309,7 +317,7 @@ class HtmlCollect extends Command
foreach ($css as $vc) {
$check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vc && (!in_array($check_vc, $source))) {
$check_vc && $source[] = $check_vc;
$source[] = $check_vc;
}
}
... ... @@ -319,7 +327,7 @@ class HtmlCollect extends Command
foreach ($css_b as $vc_b) {
$check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vc_b && (!in_array($check_vc_b, $source))) {
$check_vc_b && $source[] = $check_vc_b;
$source[] = $check_vc_b;
}
}
... ... @@ -329,7 +337,7 @@ class HtmlCollect extends Command
foreach ($down as $vd) {
$check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vd && (!in_array($check_vd, $source))) {
$check_vd && $source[] = $check_vd;
$source[] = $check_vd;
}
}
... ...
... ... @@ -282,7 +282,9 @@ class HtmlCustomCollect extends Command
$img = $result_img[2] ?? [];
foreach ($img as $vi) {
$check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url);
$check_vi && $source[] = $check_vi;
if ($check_vi && (!in_array($check_vi, $source))) {
$source[] = $check_vi;
}
}
//js
... ... @@ -290,7 +292,9 @@ class HtmlCustomCollect extends Command
$js = $result_js[2] ?? [];
foreach ($js as $vj) {
$check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url);
$check_vj && $source[] = $check_vj;
if ($check_vj && (!in_array($check_vj, $source))) {
$source[] = $check_vj;
}
}
//video
... ... @@ -298,7 +302,17 @@ class HtmlCustomCollect extends Command
$video = $result_video[2] ?? [];
foreach ($video as $vv) {
$check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url);
$check_vv && $source[] = $check_vv;
if ($check_vv && (!in_array($check_vv, $source))) {
$source[] = $check_vv;
}
}
preg_match_all('/<video\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $html, $result_video_2);
$video_2 = $result_video_2[2] ?? [];
foreach ($video_2 as $vv2) {
$check_vv2 = $this->url_check($vv2, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vv2 && (!in_array($check_vv2, $source))) {
$source[] = $check_vv2;
}
}
//css
... ... @@ -306,7 +320,9 @@ class HtmlCustomCollect extends Command
$css = $result_css[2] ?? [];
foreach ($css as $vc) {
$check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url);
$check_vc && $source[] = $check_vc;
if ($check_vc && (!in_array($check_vc, $source))) {
$source[] = $check_vc;
}
}
//css background
... ... @@ -314,7 +330,9 @@ class HtmlCustomCollect extends Command
$css_b = $result_css_b[1] ?? [];
foreach ($css_b as $vc_b) {
$check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url);
$check_vc_b && $source[] = $check_vc_b;
if ($check_vc_b && (!in_array($check_vc_b, $source))) {
$source[] = $check_vc_b;
}
}
//a标签下载资源
... ... @@ -322,7 +340,9 @@ class HtmlCustomCollect extends Command
$down = $result_a[2] ?? [];
foreach ($down as $vd) {
$check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url);
$check_vd && $source[] = $check_vd;
if ($check_vd && (!in_array($check_vd, $source))) {
$source[] = $check_vd;
}
}
return $source;
... ...
... ... @@ -219,7 +219,7 @@ class HtmlLanguageCollect extends Command
foreach ($img as $vi) {
$check_vi = $this->url_check($vi, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vi && (!in_array($check_vi, $source))) {
$check_vi && $source[] = $check_vi;
$source[] = $check_vi;
}
}
... ... @@ -229,7 +229,7 @@ class HtmlLanguageCollect extends Command
foreach ($js as $vj) {
$check_vj = $this->url_check($vj, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vj && (!in_array($check_vj, $source))) {
$check_vj && $source[] = $check_vj;
$source[] = $check_vj;
}
}
... ... @@ -239,7 +239,15 @@ class HtmlLanguageCollect extends Command
foreach ($video as $vv) {
$check_vv = $this->url_check($vv, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vv && (!in_array($check_vv, $source))) {
$check_vv && $source[] = $check_vv;
$source[] = $check_vv;
}
}
preg_match_all('/<video\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $html, $result_video_2);
$video_2 = $result_video_2[2] ?? [];
foreach ($video_2 as $vv2) {
$check_vv2 = $this->url_check($vv2, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vv2 && (!in_array($check_vv2, $source))) {
$source[] = $check_vv2;
}
}
... ... @@ -249,7 +257,7 @@ class HtmlLanguageCollect extends Command
foreach ($css as $vc) {
$check_vc = $this->url_check($vc, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vc && (!in_array($check_vc, $source))) {
$check_vc && $source[] = $check_vc;
$source[] = $check_vc;
}
}
... ... @@ -259,7 +267,7 @@ class HtmlLanguageCollect extends Command
foreach ($css_b as $vc_b) {
$check_vc_b = $this->url_check($vc_b, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vc_b && (!in_array($check_vc_b, $source))) {
$check_vc_b && $source[] = $check_vc_b;
$source[] = $check_vc_b;
}
}
... ... @@ -269,7 +277,7 @@ class HtmlLanguageCollect extends Command
foreach ($down as $vd) {
$check_vd = $this->url_check($vd, $project_id, $domain, $web_url_domain, $home_url);
if ($check_vd && (!in_array($check_vd, $source))) {
$check_vd && $source[] = $check_vd;
$source[] = $check_vd;
}
}
... ...
... ... @@ -352,6 +352,9 @@ class ProjectUpdate extends Command
//扩展字段
if ($item['extend'] ?? []) {
foreach (array_reverse($item['extend']) as $ke => $ve) {
if ($ve == '--') {
$ve = '';
}
$extend = $extend_model->read(['title' => $ke]);
if (!$extend) {
$extend_key = $this->get_extend_key($extend_model);
... ... @@ -374,6 +377,8 @@ class ProjectUpdate extends Command
'values' => $ve,
'type' => 1
]);
} else {
$extend_info_model->edit(['values' => $ve], ['key' => $extend_key, 'product_id' => $id]);
}
}
}
... ... @@ -464,10 +469,6 @@ class ProjectUpdate extends Command
'image' => $new_img,
'sort' => $item['sort'] ?? 0,
], ['id' => $id]);
if($project_id == 547){
CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $domain_arr['host'], $link_type, $language_list, $page_list);
}
}
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
... ... @@ -530,10 +531,6 @@ class ProjectUpdate extends Command
'description' => $item['description'] ?? '',
'html' => $item['content'] ?? '',
], ['id' => $id]);
if($project_id == 547){
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $domain_arr['host'], $link_type, $language_list, $page_list);
}
}
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
... ... @@ -593,7 +590,7 @@ class ProjectUpdate extends Command
$category_id = $category_custom['id'];
}
}
if($category_id){
if ($category_id) {
$category_id = ',' . $category_id . ',';
}
//图片
... ... @@ -633,10 +630,6 @@ class ProjectUpdate extends Command
'content' => $item['content'] ?? '',
'image' => $new_img
], ['id' => $id]);
if($project_id == 547){
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_MODULE, $id, $domain_arr['host'], $link_type, $language_list, $page_list);
}
}
//扩展字段
... ...
... ... @@ -28,6 +28,7 @@ use App\Models\RankData\Speed;
use App\Models\RankData\Speed as GoogleSpeedModel;
use App\Utils\HttpUtils;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
... ... @@ -110,6 +111,7 @@ class RankDataLogic extends BaseLogic
//外链引荐域名
$recomm_domain = $recomm_domain ? $recomm_domain->toArray() : [];
$recomm_domain['data'] = Collection::make($recomm_domain['data'] ?? [])->sortBy('backlinks_num')->all();
$data['external_links_domain_chat'] = [
'labels' => array_map(function ($item) {
return Str::substrReplace($item, '***', 2, 3);
... ... @@ -611,7 +613,6 @@ class RankDataLogic extends BaseLogic
//外链引荐域名
$domain = (new DomainInfo())->getDomain($domain);
$semrushApi = new SemrushApi();
$domain = (new DomainInfo())->getDomain($domain);
$data = $semrushApi->backlinks_refdomains($domain);
}
... ...
... ... @@ -41,7 +41,23 @@ class Category extends Base
return $ids;
}
/**
* @remark :获取当前id下所有子集
* @name :getAllSub
* @author :lyh
* @method :post
* @time :2023/10/18 15:10
*/
public function getAllSub($id,&$str = []){
$list = $this->list(['pid'=>$id,'status'=>1],['id','pid']);
if(!empty($list)){
foreach ($list as $v){
$str[] = $v['id'];
$this->getAllSub($v['id'],$str);
}
}
return $str;
}
/**
* 关联产品数量
... ... @@ -50,8 +66,9 @@ class Category extends Base
* @author zbj
* @date 2023/4/28
*/
public static function getProductNum($cate_id){
$cate_ids = self::getChildIdsArr($cate_id);
public function getProductNum($cate_id){
$str = [];
$cate_ids = $this->getAllSub($cate_id,$str);
$count = CategoryRelated::whereIn('cate_id',$cate_ids)->count();
// $str = 0;
return $count;
... ...
... ... @@ -3,6 +3,7 @@
namespace App\Models\Project;
use App\Helper\Arr;
use App\Helper\Translate;
use App\Models\Base;
use App\Models\Devops\ServerConfig;
use App\Models\Optimize\Process;
... ... @@ -311,15 +312,31 @@ class Project extends Base
*/
public static function getProjectByDomain($domain)
{
$domain_parse = parse_url($domain);
$domain = $domain_parse['host'] ?? $domain;
//是否测试域名
$project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');
//是否正式域名
if (!$project_id) {
$project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id');
$cache_key = 'getProjectByDomain_' . $domain;
$project = Cache::get($cache_key);
if(!$project){
$domain_parse = parse_url($domain);
$domain = $domain_parse['host'] ?? $domain;
//是否测试域名
$project_id = DeployBuild::where('test_domain', 'https://' . $domain . '/')->value('project_id');
//是否正式域名
if (!$project_id) {
//是否小语种域名
$domainPrefix = explode(".",$domain);
if (!empty($domainPrefix)){
$isLang = Translate::getTls($domainPrefix[0]);
if ($isLang) {
$domain = "www.".$domainPrefix[1].".".$domainPrefix[2];
}
}
$project_id = \App\Models\Domain\DomainInfo::where('domain', $domain)->value('project_id');
}
$project = self::find($project_id ?: 0);
if($project){
Cache::put($cache_key, $project, 3600);
}
}
return self::find($project_id ?: 0);
return $project;
}
/**
... ...