作者 刘锟

关闭站点特殊处理自建站

@@ -1136,7 +1136,7 @@ class ProjectController extends BaseController @@ -1136,7 +1136,7 @@ class ProjectController extends BaseController
1136 1136
1137 //获取项目数据 1137 //获取项目数据
1138 $projectModel = new Project(); 1138 $projectModel = new Project();
1139 - $projectInfo = $projectModel->read(['id'=>$this->param['id']],['project_type','serve_id','site_status']); 1139 + $projectInfo = $projectModel->read(['id'=>$this->param['id']],['project_type','serve_id','site_status','site_token']);
1140 if(!$projectInfo){ 1140 if(!$projectInfo){
1141 $this->fail('获取项目数据失败'); 1141 $this->fail('获取项目数据失败');
1142 } 1142 }
@@ -1144,61 +1144,75 @@ class ProjectController extends BaseController @@ -1144,61 +1144,75 @@ class ProjectController extends BaseController
1144 $this->response('success'); 1144 $this->response('success');
1145 } 1145 }
1146 1146
1147 - //获取域名数据  
1148 - $domainModel = new DomainInfoModel();  
1149 - $domainInfo = $domainModel->read(['project_id'=>$this->param['id']],['id','domain','amp_status']);  
1150 - if(!$domainInfo){  
1151 - $this->fail('获取域名数据失败');  
1152 - }  
1153 -  
1154 - if($this->param['site_status'] == 1){  
1155 - //关闭站点:通知C端  
1156 - $re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website');  
1157 - if(isset($re['status']) && $re['status'] !== 200){  
1158 - $this->fail($re['message']); 1147 + if($projectInfo['serve_id'] == 8){
  1148 + //自建站项目
  1149 + if($this->param['site_status'] == 1){
  1150 + //关闭站点
  1151 + $site_token = $projectInfo['site_token'] ? $projectInfo['site_token'].'_expired' : '';
  1152 + }else{
  1153 + //开启站点
  1154 + $site_token = str_replace('_expired','',$projectInfo['site_token']);
1159 } 1155 }
  1156 +
  1157 + $projectModel->edit(['site_status'=>$this->param['site_status'],'site_token'=>$site_token],['id'=>$this->param['id']]);
1160 }else{ 1158 }else{
1161 - //开启站点:创建建站任务  
1162 - $serverIpModel = new ServersIp();  
1163 - $serversIpInfo = $serverIpModel->read(['id' => $projectInfo['serve_id']], ['servers_id']);  
1164 - if(!$serversIpInfo){  
1165 - $this->fail('获取项目所属服务器失败'); 1159 + //普通项目
  1160 + //获取域名数据
  1161 + $domainModel = new DomainInfoModel();
  1162 + $domainInfo = $domainModel->read(['project_id'=>$this->param['id']],['id','domain','amp_status']);
  1163 + if(!$domainInfo){
  1164 + $this->fail('获取域名数据失败');
1166 } 1165 }
1167 1166
1168 - if ($projectInfo['project_type'] == Project::PROJECT_TYPE_SEO) {  
1169 - $type = DomainCreateTask::TYPE_BLOG;  
1170 - } else {  
1171 - $type = DomainCreateTask::TYPE_MAIN;  
1172 - } 1167 + if($this->param['site_status'] == 1){
  1168 + //关闭站点:通知C端
  1169 + $re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website');
  1170 + if(isset($re['status']) && $re['status'] !== 200){
  1171 + $this->fail($re['message']);
  1172 + }
  1173 + }else{
  1174 + //开启站点:创建建站任务
  1175 + $serverIpModel = new ServersIp();
  1176 + $serversIpInfo = $serverIpModel->read(['id' => $projectInfo['serve_id']], ['servers_id']);
  1177 + if(!$serversIpInfo){
  1178 + $this->fail('获取项目所属服务器失败');
  1179 + }
1173 1180
1174 - //创建更新站点证书任务  
1175 - $domainCreateTaskModel = new DomainCreateTask();  
1176 - $task_info = $domainCreateTaskModel->read(['type' => $type, 'domain_id' => $domainInfo['id'], 'is_open' => DomainCreateTask::IS_OPEN, 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);  
1177 - if (!$task_info) {  
1178 - $domainCreateTaskModel->add([  
1179 - 'server_id' => $serversIpInfo['servers_id'],  
1180 - 'project_id' => $this->param['id'],  
1181 - 'domain_id' => $domainInfo['id'],  
1182 - 'type' => $type,  
1183 - 'is_open' => DomainCreateTask::IS_OPEN  
1184 - ]);  
1185 - } 1181 + if ($projectInfo['project_type'] == Project::PROJECT_TYPE_SEO) {
  1182 + $type = DomainCreateTask::TYPE_BLOG;
  1183 + } else {
  1184 + $type = DomainCreateTask::TYPE_MAIN;
  1185 + }
1186 1186
1187 - if($domainInfo['amp_status']){  
1188 - $task_info_amp = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_AMP, 'domain_id' => $domainInfo['id'], 'is_open' => DomainCreateTask::IS_OPEN, 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);  
1189 - if (!$task_info_amp) { 1187 + //创建更新站点证书任务
  1188 + $domainCreateTaskModel = new DomainCreateTask();
  1189 + $task_info = $domainCreateTaskModel->read(['type' => $type, 'domain_id' => $domainInfo['id'], 'is_open' => DomainCreateTask::IS_OPEN, 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);
  1190 + if (!$task_info) {
1190 $domainCreateTaskModel->add([ 1191 $domainCreateTaskModel->add([
1191 'server_id' => $serversIpInfo['servers_id'], 1192 'server_id' => $serversIpInfo['servers_id'],
1192 'project_id' => $this->param['id'], 1193 'project_id' => $this->param['id'],
1193 'domain_id' => $domainInfo['id'], 1194 'domain_id' => $domainInfo['id'],
1194 - 'type' => DomainCreateTask::TYPE_AMP, 1195 + 'type' => $type,
1195 'is_open' => DomainCreateTask::IS_OPEN 1196 'is_open' => DomainCreateTask::IS_OPEN
1196 ]); 1197 ]);
1197 } 1198 }
  1199 +
  1200 + if($domainInfo['amp_status']){
  1201 + $task_info_amp = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_AMP, 'domain_id' => $domainInfo['id'], 'is_open' => DomainCreateTask::IS_OPEN, 'status' => ['<', DomainCreateTask::STATUS_SUC]], ['id']);
  1202 + if (!$task_info_amp) {
  1203 + $domainCreateTaskModel->add([
  1204 + 'server_id' => $serversIpInfo['servers_id'],
  1205 + 'project_id' => $this->param['id'],
  1206 + 'domain_id' => $domainInfo['id'],
  1207 + 'type' => DomainCreateTask::TYPE_AMP,
  1208 + 'is_open' => DomainCreateTask::IS_OPEN
  1209 + ]);
  1210 + }
  1211 + }
1198 } 1212 }
1199 - }  
1200 1213
1201 - $projectModel->edit(['site_status'=>$this->param['site_status']],['id'=>$this->param['id']]); 1214 + $projectModel->edit(['site_status'=>$this->param['site_status']],['id'=>$this->param['id']]);
  1215 + }
1202 1216
1203 $this->response('success'); 1217 $this->response('success');
1204 } 1218 }