作者 Your Name
... ... @@ -36,6 +36,7 @@ class RemainDay extends Command
*/
protected $ceaseProjectId = [
354,
649,
1283
];//需要单独处理的项目
/**
... ...
<?php
/**
* @remark :
* @name :CountAllProject.php
* @author :lyh
* @method :post
* @time :2024/11/9 10:03
*/
namespace App\Console\Commands\Project;
use App\Models\Channel\Channel;
use App\Models\Domain\DomainInfo;
use App\Models\Manage\ManageHr;
use App\Models\Project\Project;
use Illuminate\Console\Command;
class CountAllProject extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'count_all_project';
/**
* The console command description.
*
* @var string
*/
protected $description = '统计所有项目设置';
public function handle(){
$projectModel = new Project();
$query = $projectModel->leftJoin('gl_project_payment', 'gl_project.id', '=', 'gl_project_payment.project_id')
->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')
->where('gl_project.delete_status',Project::TYPE_ZERO);
$lists = $query->paginate(100000, $this->selectParam(), 'page', 1)->toArray();
$manageModel = new ManageHr();
foreach ($lists as $k => $v){
$data[] = [
'project_id'=>$v['id'],
'version'=>1,//代表6.0
'is_upgrade'=>$v['is_upgrade'],
'title'=>$v['title'],
'company'=>$v['company'],
'channel'=>Channel::getChannelText($v['channel']['user_id'] ?? 0),
'join_date'=>$v['cooperate_date'],
'online_date'=>$v['uptime'],
'keywords_num'=>$v['key'],
'service_num'=>$v['day'],
'production_num'=>intval(abs(strtotime((empty($v['uptime']) ? date('Y-m-d H:i:s') : $v['uptime'])) - $v['created_at']) / 86400),
'plan'=>Project::planMap()[$v['plan']],
'status'=>$v['status'],
'test_domain'=>$v['test_domain'],
'product_domain'=>!empty($v['domain']) ? (new DomainInfo())->getDomain($v['domain']) : '',
'project_manager'=>$manageModel->getName($v['manager_mid'] ?? ''),
'project_group'=>$manageModel->getName($v['leader_mid'] ?? ''),
'project_design'=>$manageModel->getName($v['designer_mid'] ?? ''),
'project_assistant'=>$manageModel->getName($v['tech_mid'] ?? ''),
'service_manager'=>$manageModel->getName($v['optimize_manager_mid'] ??''),
'service_optimize'=>$manageModel->getName($v['optimize_optimist_mid'] ??''),
'service_assistant'=>$manageModel->getName($v['optimize_assist_mid'] ??''),
'qa'=>$manageModel->getName($v['quality_mid'] ??''),
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
}
}
/**
* 需要查询的字段
* @return array
*/
public function selectParam(){
$select = [
'gl_project.id AS id',
'gl_project.title AS title',
'gl_project.channel AS channel',
'gl_project.company AS company',
'gl_project.type AS type',
'gl_project.extend_type AS extend_type',
'gl_project.uptime AS uptime',
'gl_project.is_upgrade AS is_upgrade',
'gl_project.created_at AS created_at',
'gl_project.cooperate_date AS cooperate_date',
'gl_project.site_status AS site_status',
'gl_project_deploy_build.keyword_num AS key',
'gl_project_deploy_build.service_duration AS day',
'gl_project_deploy_build.is_comment AS is_comment',
'gl_project_deploy_build.leader_mid AS leader_mid',
'gl_project_deploy_build.manager_mid AS manager_mid',
'gl_project_deploy_build.designer_mid AS designer_mid',
'gl_project_deploy_build.tech_mid AS tech_mid',
'gl_project_deploy_build.test_domain AS test_domain',
'gl_project_deploy_build.plan AS plan',
'gl_project_deploy_optimize.dept_id AS optimize_dept_id',
'gl_project_deploy_optimize.manager_mid AS optimize_manager_mid',
'gl_project_deploy_optimize.optimist_mid AS optimize_optimist_mid',
'gl_project_deploy_optimize.assist_mid AS optimize_assist_mid',
'gl_project_deploy_optimize.tech_mid AS optimize_tech_mid',
'gl_project_deploy_optimize.tech_leader AS tech_leader',
'gl_project_deploy_optimize.domain AS domain',
'gl_project_deploy_optimize.api_no AS api_no',
];
return $select;
}
}
... ...
... ... @@ -56,30 +56,43 @@ class UpdateRoute extends Command
* @time :2023/11/20 15:13
*/
public function handle(){
$recordModel = new ProcessRecords();
$lists = $recordModel->list();
foreach ($lists as $k => $v){
$date = $v['record'][0]['date'];
$recordModel->edit(['date'=>$date],['id'=>$v['id']]);
}
// $projectModel = new Project();
// $list = $projectModel->list(['delete_status'=>['=',0]]);
// $data = [];
// foreach ($list as $v){
// echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
// ProjectServer::useProject($v['id']);
//// $this->getProduct();
//// $this->setProductKeyword();
//// $this->getBlog();
//// $this->setCustomRoute($v['id']);
// $this->editProductAlt();
//// $this->custom_to_blogs();
// DB::disconnect('custom_mysql');
// }
$projectModel = new Project();
$list = $projectModel->list(['id'=>['=',475]]);
$data = [];
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
ProjectServer::useProject($v['id']);
$this->updateProduct();
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
}
/**
* @remark :更新产品
* @name :updateProduct
* @author :lyh
* @method :post
* @time :2024/11/11 13:59
*/
public function updateProduct(){
$productModel = new Product();
$list = $productModel->list(['created_at'=>['like','%2024-11-11%']],'id',['id']);
$productModel->edit(['category_id'=>',14,'],['created_at'=>['like','%2024-11-11%']]);
$data = [];
foreach ($list as $k => $v){
$data[] = [
'product_id'=>$v['id'],
'cate_id'=>14,
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s')
];
}
$relaModel = new CategoryRelated();
$relaModel->insert($data);
}
/**
* @remark :同步擴展模塊數據到blogs
* @name :custom_to_blogs
* @author :lyh
... ...
... ... @@ -863,6 +863,15 @@ function check_remote_url_down($url,$project_id,$domain,$is_complete=0){
$host_arr = explode('.',$host);
$path = $arr['path'] ?? '';
if(strpos($host_arr[0], 'cdn') !== false){
return $url;
}
//475项目特殊处理
if($project_id == 475 && $host == 'www.ebuyplc.com'){
$host = 'g934.goodao.net';
}
if($path && substr($path,0,1) != '/'){
$path = '/'.$path;
}
... ...
<?php
/**
* @remark :
* @name :CountAllProject.php
* @author :lyh
* @method :post
* @time :2024/11/11 10:36
*/
namespace App\Models\Project;
use App\Models\Base;
class CountAllProject extends Base
{
protected $table = 'gl_count_all_project';
}
... ...