正在显示
1 个修改的文件
包含
26 行增加
和
6 行删除
| @@ -82,9 +82,10 @@ class RemainDay extends Command | @@ -82,9 +82,10 @@ class RemainDay extends Command | ||
| 82 | $list = $projectModel->list(['extend_type'=>Project::TYPE_ZERO,'type'=>['in',[Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR,Project::TYPE_SIX]]],'id',['id','type','level','uptime','remain_day','version','is_remain_today','pause_days','finish_remain_day','bm_finish_remain_day','geo_qualify_num']); | 82 | $list = $projectModel->list(['extend_type'=>Project::TYPE_ZERO,'type'=>['in',[Project::TYPE_TWO,Project::TYPE_THREE,Project::TYPE_FOUR,Project::TYPE_SIX]]],'id',['id','type','level','uptime','remain_day','version','is_remain_today','pause_days','finish_remain_day','bm_finish_remain_day','geo_qualify_num']); |
| 83 | foreach ($list as $item){ | 83 | foreach ($list as $item){ |
| 84 | $deploy_build = $deployBuildModel->read(['project_id'=>$item['id']],['service_duration','seo_service_duration','plan','seo_plan']); | 84 | $deploy_build = $deployBuildModel->read(['project_id'=>$item['id']],['service_duration','seo_service_duration','plan','seo_plan']); |
| 85 | - echo 'start->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; | 85 | + $this->output('start->项目id:' . $item['id']); |
| 86 | //todo::暂停的项目停止计时 | 86 | //todo::暂停的项目停止计时 |
| 87 | if(in_array($item['id'],$this->ceaseProjectId)){//暂停的项目 | 87 | if(in_array($item['id'],$this->ceaseProjectId)){//暂停的项目 |
| 88 | + $this->output('暂停的项目id:' . $item['id']); | ||
| 88 | if(($item['type'] == Project::TYPE_TWO) && ($item['is_remain_today'] == 1)){ | 89 | if(($item['type'] == Project::TYPE_TWO) && ($item['is_remain_today'] == 1)){ |
| 89 | $pause_days = $item['pause_days'] + 1; | 90 | $pause_days = $item['pause_days'] + 1; |
| 90 | } | 91 | } |
| @@ -96,6 +97,8 @@ class RemainDay extends Command | @@ -96,6 +97,8 @@ class RemainDay extends Command | ||
| 96 | } | 97 | } |
| 97 | //todo::优化项目中途达标计时切换为按天计时 | 98 | //todo::优化项目中途达标计时切换为按天计时 |
| 98 | if(in_array($item['id'],$this->projectSwitchId)){ | 99 | if(in_array($item['id'],$this->projectSwitchId)){ |
| 100 | + $this->output('中途切换计时的项目id:' . $item['id'].',旧达标天数:'.$item['finish_remain_day'].',新达标天数:'.($item['finish_remain_day'] + 1)); | ||
| 101 | + $this->output('中途切换计时的项目id:' . $item['id'].',当前剩余服务时常:'.$item['remain_day'].',剩余时常:'.($item['remain_day'] - 1)); | ||
| 99 | $this->project->edit(['remain_day'=>($item['remain_day'] - 1),'finish_remain_day'=>($item['finish_remain_day'] + 1)],['id'=>$item['id']]); | 102 | $this->project->edit(['remain_day'=>($item['remain_day'] - 1),'finish_remain_day'=>($item['finish_remain_day'] + 1)],['id'=>$item['id']]); |
| 100 | continue; | 103 | continue; |
| 101 | } | 104 | } |
| @@ -103,7 +106,7 @@ class RemainDay extends Command | @@ -103,7 +106,7 @@ class RemainDay extends Command | ||
| 103 | $this->seoRemainDay($deploy_build,$item); | 106 | $this->seoRemainDay($deploy_build,$item); |
| 104 | //默认版本统计 | 107 | //默认版本统计 |
| 105 | $this->remainDay($item,$deploy_build); | 108 | $this->remainDay($item,$deploy_build); |
| 106 | - echo 'end->项目id:' . $item['id'] . '执行时间:'. date('Y-m-d H:i:s') . PHP_EOL; | 109 | + $this->output('end->项目id:' . $item['id']); |
| 107 | } | 110 | } |
| 108 | return true; | 111 | return true; |
| 109 | } | 112 | } |
| @@ -121,14 +124,17 @@ class RemainDay extends Command | @@ -121,14 +124,17 @@ class RemainDay extends Command | ||
| 121 | //白帽版本的系统 | 124 | //白帽版本的系统 |
| 122 | if($deploy_build['seo_plan'] != 0){ | 125 | if($deploy_build['seo_plan'] != 0){ |
| 123 | if($deploy_build['seo_service_duration'] != 0){ | 126 | if($deploy_build['seo_service_duration'] != 0){ |
| 127 | + $this->output('白帽计算剩余服务时常:'.$item['id']); | ||
| 124 | if(in_array($item['id'],$this->bm_projectId) || (in_array( 19,$item['level']))){ | 128 | if(in_array($item['id'],$this->bm_projectId) || (in_array( 19,$item['level']))){ |
| 125 | $compliance_day = (int)$item['bm_finish_remain_day']; | 129 | $compliance_day = (int)$item['bm_finish_remain_day']; |
| 126 | $seo_remain_day = $deploy_build['seo_service_duration'] - (int)$item['bm_finish_remain_day']; | 130 | $seo_remain_day = $deploy_build['seo_service_duration'] - (int)$item['bm_finish_remain_day']; |
| 131 | + $this->output('按白帽达标天数统计:'.$item['id'].',bm达标天数:'.$item['bm_finish_remain_day'].',bm剩余白帽天数:'.$seo_remain_day); | ||
| 127 | }else{ | 132 | }else{ |
| 128 | //按自然日统计 | 133 | //按自然日统计 |
| 129 | $diff = time() - strtotime($item['uptime']); | 134 | $diff = time() - strtotime($item['uptime']); |
| 130 | $compliance_day = floor($diff / (60 * 60 * 24)); | 135 | $compliance_day = floor($diff / (60 * 60 * 24)); |
| 131 | $seo_remain_day = $deploy_build['seo_service_duration'] - $compliance_day; | 136 | $seo_remain_day = $deploy_build['seo_service_duration'] - $compliance_day; |
| 137 | + $this->output('按白帽自然日天数统计:'.$item['id'].',bm达标天数:'.$compliance_day.',bm剩余白帽天数:'.$seo_remain_day); | ||
| 132 | } | 138 | } |
| 133 | $this->project->edit(['seo_remain_day'=>$seo_remain_day,'bm_finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); | 139 | $this->project->edit(['seo_remain_day'=>$seo_remain_day,'bm_finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); |
| 134 | } | 140 | } |
| @@ -144,8 +150,10 @@ class RemainDay extends Command | @@ -144,8 +150,10 @@ class RemainDay extends Command | ||
| 144 | * @time :2025/4/25 14:31 | 150 | * @time :2025/4/25 14:31 |
| 145 | */ | 151 | */ |
| 146 | public function remainDay($item,$deploy_build){ | 152 | public function remainDay($item,$deploy_build){ |
| 153 | + $this->output('普通项目计算剩余服务时常:'.$item['id']); | ||
| 147 | //默认版本统计 | 154 | //默认版本统计 |
| 148 | if($deploy_build['service_duration'] == 0 || $deploy_build['plan'] == 0){ | 155 | if($deploy_build['service_duration'] == 0 || $deploy_build['plan'] == 0){ |
| 156 | + $this->output('当前项目跳过:'.$item['id']); | ||
| 149 | return false; | 157 | return false; |
| 150 | } | 158 | } |
| 151 | //默认版本计算剩余服务时常 | 159 | //默认版本计算剩余服务时常 |
| @@ -159,6 +167,7 @@ class RemainDay extends Command | @@ -159,6 +167,7 @@ class RemainDay extends Command | ||
| 159 | $diff = time() - strtotime($opInfo['start_date'] ?? $item['uptime']); | 167 | $diff = time() - strtotime($opInfo['start_date'] ?? $item['uptime']); |
| 160 | $compliance_day = floor($diff / (60 * 60 * 24)); | 168 | $compliance_day = floor($diff / (60 * 60 * 24)); |
| 161 | $remain_day = $deploy_build['service_duration'] - $compliance_day; | 169 | $remain_day = $deploy_build['service_duration'] - $compliance_day; |
| 170 | + $this->output('已开始优化的时间结算:'.$item['id'].',剩余服务时常:'.$remain_day); | ||
| 162 | }else{ | 171 | }else{ |
| 163 | $compliance_day = ($item['finish_remain_day'] ?? 0); | 172 | $compliance_day = ($item['finish_remain_day'] ?? 0); |
| 164 | //todo::7.5版本单独计算 | 173 | //todo::7.5版本单独计算 |
| @@ -168,8 +177,10 @@ class RemainDay extends Command | @@ -168,8 +177,10 @@ class RemainDay extends Command | ||
| 168 | if($item['is_remain_today'] > 0 && $is_qualify > 0){ | 177 | if($item['is_remain_today'] > 0 && $is_qualify > 0){ |
| 169 | $remain_day = $item['remain_day'] - 1; | 178 | $remain_day = $item['remain_day'] - 1; |
| 170 | } | 179 | } |
| 180 | + $this->output('7.5版本单独计算:'.$item['id'].',剩余服务时常:'.$remain_day); | ||
| 171 | }else{ | 181 | }else{ |
| 172 | $remain_day = $deploy_build['service_duration'] - $compliance_day; | 182 | $remain_day = $deploy_build['service_duration'] - $compliance_day; |
| 183 | + $this->output('优化项目:'.$item['id'].',剩余服务时常:'.$remain_day.',已达标天数:'.$compliance_day); | ||
| 173 | } | 184 | } |
| 174 | } | 185 | } |
| 175 | }else{ | 186 | }else{ |
| @@ -183,11 +194,20 @@ class RemainDay extends Command | @@ -183,11 +194,20 @@ class RemainDay extends Command | ||
| 183 | } | 194 | } |
| 184 | } | 195 | } |
| 185 | $extend_type = 0; | 196 | $extend_type = 0; |
| 186 | -// if($remain_day < 0 && $deploy_build['service_duration'] != 0){ | ||
| 187 | -// $remain_day = 0; | ||
| 188 | -// $extend_type = Project::TYPE_FIVE; | ||
| 189 | -// } | ||
| 190 | $this->project->edit(['remain_day'=>$remain_day,'extend_type'=>$extend_type,'finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); | 197 | $this->project->edit(['remain_day'=>$remain_day,'extend_type'=>$extend_type,'finish_remain_day'=>$compliance_day ?? 0],['id'=>$item['id']]); |
| 191 | return true; | 198 | return true; |
| 192 | } | 199 | } |
| 200 | + | ||
| 201 | + /** | ||
| 202 | + * 输入日志 | ||
| 203 | + * @param $message | ||
| 204 | + * @return bool | ||
| 205 | + */ | ||
| 206 | + public function output($message) | ||
| 207 | + { | ||
| 208 | + $message = date('Y-m-d H:i:s') . ' ' . $message . PHP_EOL; | ||
| 209 | + echo $message; | ||
| 210 | + file_put_contents(storage_path('logs/remain_day/') . date('Ymd') . '.log', $message, FILE_APPEND); | ||
| 211 | + return true; | ||
| 212 | + } | ||
| 193 | } | 213 | } |
-
请 注册 或 登录 后发表评论