作者 lyh

gx脚本

... ... @@ -24,6 +24,9 @@ class RemainDay extends Command
*/
protected $signature = 'remain_day';
/**
* @var 按上线时间统计
*/
protected $projectId = [
1434,1812
];//需要单独处理的项目
... ... @@ -58,6 +61,14 @@ class RemainDay extends Command
{
$list = Project::whereIn('type', [Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR])->get();
foreach ($list as $item){
if(in_array($item->id,$this->ceaseProjectId)){//暂停的项目
if($item['type'] == Project::TYPE_TWO && $item->is_compliance == 1){
$item->pause_days = $item->pause_days + 1;
}
if($item['type'] != Project::TYPE_THREE){
$item->pause_days = $item->pause_days + 1;
}
}
if(in_array($item->id,$this->projectId)){//已开始优化的时间结算
$optimizeModel = new DeployOptimize();
$opInfo = $optimizeModel->read(['project_id'=>$item->id],['start_date']);
... ... @@ -65,22 +76,16 @@ class RemainDay extends Command
continue;
}
$diff = time() - strtotime($opInfo['start_date'] ?? $item->uptime);
$remain_day = $item['deploy_build']['service_duration'] - floor($diff / (60 * 60 * 24));
$remain_day = $item['deploy_build']['service_duration'] + $item->pause_days - floor($diff / (60 * 60 * 24));
}else{
if($item['type'] == Project::TYPE_TWO){
//获取当前项目的达标天数
if(in_array($item->id,$this->ceaseProjectId) && ($item->is_compliance == 1)){
//查看今日是否达标(已达标减1)
$item->finish_remain_day = (($item->finish_remain_day - 1) < 0) ? 0 : $item->finish_remain_day - 1;
$item->pause_days = $item->pause_days + 1;
}
$compliance_day = $item->finish_remain_day ?? 0;
$remain_day = $item['deploy_build']['service_duration'] - $compliance_day;
$remain_day = $item['deploy_build']['service_duration'] + $item->pause_days - $compliance_day;
}else{
if($item->uptime){
$diff = time() - strtotime($item->uptime);
$item->finish_remain_day = floor($diff / (60 * 60 * 24));
$remain_day = $item['deploy_build']['service_duration'] - floor($diff / (60 * 60 * 24));
$remain_day = $item['deploy_build']['service_duration'] + $item->pause_days - floor($diff / (60 * 60 * 24));
}else{
$remain_day = $item['deploy_build']['service_duration'];
}
... ...