作者 lyh

变更数据

@@ -10,7 +10,6 @@ use App\Http\Logic\Aside\Project\OnlineCheckLogic; @@ -10,7 +10,6 @@ use App\Http\Logic\Aside\Project\OnlineCheckLogic;
10 use App\Http\Logic\Aside\Project\ProcessRecordsLogic; 10 use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
11 use App\Http\Logic\Aside\Project\ProjectLogic; 11 use App\Http\Logic\Aside\Project\ProjectLogic;
12 use App\Http\Requests\Aside\Project\ProcessRecordsRequest; 12 use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
13 -use App\Models\Ai\AiVideo;  
14 use App\Models\ASide\APublicModel; 13 use App\Models\ASide\APublicModel;
15 use App\Models\Channel\Channel; 14 use App\Models\Channel\Channel;
16 use App\Models\Channel\User; 15 use App\Models\Channel\User;
@@ -21,9 +20,11 @@ use App\Models\Com\UpdateLog; @@ -21,9 +20,11 @@ use App\Models\Com\UpdateLog;
21 use App\Models\Devops\ServerConfig; 20 use App\Models\Devops\ServerConfig;
22 use App\Models\Devops\ServersIp; 21 use App\Models\Devops\ServersIp;
23 use App\Models\Domain\DomainCreateTask; 22 use App\Models\Domain\DomainCreateTask;
24 -use App\Models\Domain\DomainInfo;  
25 use App\Models\Domain\DomainInfo as DomainInfoModel; 23 use App\Models\Domain\DomainInfo as DomainInfoModel;
  24 +use App\Models\Geo\GeoArticle;
  25 +use App\Models\Geo\GeoConf;
26 use App\Models\Geo\GeoLink; 26 use App\Models\Geo\GeoLink;
  27 +use App\Models\Geo\GeoQuestionResult;
27 use App\Models\HomeCount\Count; 28 use App\Models\HomeCount\Count;
28 use App\Models\Industry\ProjectIndustry; 29 use App\Models\Industry\ProjectIndustry;
29 use App\Models\Inquiry\InquirySet; 30 use App\Models\Inquiry\InquirySet;
@@ -31,7 +32,6 @@ use App\Models\Manage\BelongingGroup; @@ -31,7 +32,6 @@ use App\Models\Manage\BelongingGroup;
31 use App\Models\Manage\ManageHr; 32 use App\Models\Manage\ManageHr;
32 use App\Models\Project\AiVideoTask; 33 use App\Models\Project\AiVideoTask;
33 use App\Models\Project\DeployBuild; 34 use App\Models\Project\DeployBuild;
34 -use App\Models\Project\DeployOptimize;  
35 use App\Models\Project\Payment; 35 use App\Models\Project\Payment;
36 use App\Models\Project\ProcessRecords; 36 use App\Models\Project\ProcessRecords;
37 use App\Models\Project\Project; 37 use App\Models\Project\Project;
@@ -43,7 +43,6 @@ use App\Models\Task\Task; @@ -43,7 +43,6 @@ use App\Models\Task\Task;
43 use App\Models\WebSetting\WebLanguage; 43 use App\Models\WebSetting\WebLanguage;
44 use App\Models\WorkOrder\TicketProject; 44 use App\Models\WorkOrder\TicketProject;
45 use Illuminate\Http\Request; 45 use Illuminate\Http\Request;
46 -use Illuminate\Support\Facades\DB;  
47 use Illuminate\Support\Facades\Http; 46 use Illuminate\Support\Facades\Http;
48 47
49 /** 48 /**
@@ -448,33 +447,47 @@ class ProjectController extends BaseController @@ -448,33 +447,47 @@ class ProjectController extends BaseController
448 if(!empty($item['extend_type'])){ 447 if(!empty($item['extend_type'])){
449 $item['type'] = $item['extend_type']; 448 $item['type'] = $item['extend_type'];
450 } 449 }
451 - $manageModel = new ManageHr();  
452 - $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0);  
453 - $item['build_leader'] = $manageModel->getName($item['leader_mid']);  
454 - $item['build_manager'] = $manageModel->getName($item['manager_mid']);  
455 - $item['build_designer'] = $manageModel->getName($item['designer_mid']);  
456 - $item['build_tech'] = $manageModel->getName($item['tech_mid']);  
457 - $item['optimize_manager'] = $manageModel->getName($item['optimize_manager_mid']);  
458 - $item['optimize_optimist'] = $manageModel->getName($item['optimize_optimist_mid']);  
459 - $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']);  
460 - $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']);  
461 - $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']); 450 + $domainModel = new DomainInfoModel();
  451 + $item['domain'] = !empty($item['domain']) ? $domainModel->getDomain($item['domain']) : '';
  452 + $item['uuid'] = TicketProject::where('table_id', $item['id'])->where('project_cate', 2)->value('uuid') ?? null;
  453 + $item['friend_id'] = ProjectAssociation::where('project_id', $item['id'])->where('status', ProjectAssociation::STATUS_NORMAL)->where('binding_app', ProjectAssociation::ENTERPRISE_WECHAT)->value('friend_id') ?? null;
462 $planMap = Project::planMap(); 454 $planMap = Project::planMap();
463 $seoPlanMap = Project::seoMap(); 455 $seoPlanMap = Project::seoMap();
464 $item['plan'] = $planMap[$item['plan']] ?? ''; 456 $item['plan'] = $planMap[$item['plan']] ?? '';
465 $item['seo_plan'] = $seoPlanMap[$item['seo_plan']] ?? ''; 457 $item['seo_plan'] = $seoPlanMap[$item['seo_plan']] ?? '';
466 - $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date']));  
467 $item['autologin_code'] = getAutoLoginCode($item['id']); 458 $item['autologin_code'] = getAutoLoginCode($item['id']);
468 - $domainModel = new DomainInfo();  
469 - $item['domain'] = !empty($item['domain']) ? $domainModel->getDomain($item['domain']) : ''; 459 + $item['created_at'] = date('Y年m月d日', strtotime($item['cooperate_date']));
470 $item['product_num'] = $data['product'] ?? 0; 460 $item['product_num'] = $data['product'] ?? 0;
471 $item['keyword_num'] = $data['key'] ?? 0; 461 $item['keyword_num'] = $data['key'] ?? 0;
472 $item['article_num'] = ($data['blog'] ?? 0) + ($data['news'] ?? 0); 462 $item['article_num'] = ($data['blog'] ?? 0) + ($data['news'] ?? 0);
473 $item['task_finish_num'] = Task::getNumByProjectId($item['id'], Task::STATUS_DOWN); 463 $item['task_finish_num'] = Task::getNumByProjectId($item['id'], Task::STATUS_DOWN);
474 $item['task_pending_num'] = Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]); 464 $item['task_pending_num'] = Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]);
475 $item['collect_time'] = $item['is_upgrade'] ? UpdateLog::getProjectUpdate($item['id']) : ''; 465 $item['collect_time'] = $item['is_upgrade'] ? UpdateLog::getProjectUpdate($item['id']) : '';
476 - $item['uuid'] = TicketProject::where('table_id', $item['id'])->where('project_cate', 2)->value('uuid') ?? null;  
477 - $item['friend_id'] = ProjectAssociation::where('project_id', $item['id'])->where('status', ProjectAssociation::STATUS_NORMAL)->where('binding_app', ProjectAssociation::ENTERPRISE_WECHAT)->value('friend_id') ?? null; 466 + $item['channel'] = Channel::getChannelText($item['channel']['user_id'] ?? 0);
  467 + $manageModel = new ManageHr();
  468 + //geo项目
  469 + if(($item['plan'] == 0) && ($item['seo_plan'] != 0)){
  470 + //geo项目负责人
  471 + $geoConfModel = new GeoConf();
  472 + $manage_id = $geoConfModel->getValue(['project_id'=>$item['id']],'manager_id');
  473 + $item['geo_manage_name'] = $manageModel->getName($manage_id);
  474 + $geoArticleModel = new GeoArticle();
  475 + $item['geo_article_num'] = $geoArticleModel->counts(['project_id'=>$item['id']]);//文章数量
  476 + $geoLinkModel = new GeoLink();
  477 + $item['geo_link_num'] = $geoLinkModel->counts(['project_id'=>$item['id']]);//权威新闻数量
  478 + $questionResModel = new GeoQuestionResult();
  479 + $item['geo_qualify_num'] = $questionResModel->counts(['project_id'=>$item['id'],'hit'=>['!=',0],'platform'=>['in',['openai', 'gemini','google_ai_overview']]]);//排名
  480 + }else{
  481 + $item['build_leader'] = $manageModel->getName($item['leader_mid']);
  482 + $item['build_manager'] = $manageModel->getName($item['manager_mid']);
  483 + $item['build_designer'] = $manageModel->getName($item['designer_mid']);
  484 + $item['build_tech'] = $manageModel->getName($item['tech_mid']);
  485 + $item['optimize_manager'] = $manageModel->getName($item['optimize_manager_mid']);
  486 + $item['optimize_optimist'] = $manageModel->getName($item['optimize_optimist_mid']);
  487 + $item['optimize_assist'] = $manageModel->getName($item['optimize_assist_mid']);
  488 + $item['optimize_tech'] = $manageModel->getName($item['optimize_tech_mid']);
  489 + $item['quality_mid_name'] = $manageModel->getName($item['quality_mid']);
  490 + }
478 return $item; 491 return $item;
479 } 492 }
480 493
@@ -797,7 +810,6 @@ class ProjectController extends BaseController @@ -797,7 +810,6 @@ class ProjectController extends BaseController
797 $order_by_sort = $request->input('order_by_sort', 'desc'); 810 $order_by_sort = $request->input('order_by_sort', 'desc');
798 $start_time = $this->param['start_time'] ?? ''; 811 $start_time = $this->param['start_time'] ?? '';
799 $end_time = $this->param['end_time'] ?? ''; 812 $end_time = $this->param['end_time'] ?? '';
800 -  
801 if(!$source_id && !$id){ 813 if(!$source_id && !$id){
802 $this->response('参数异常',Code::SYSTEM_ERROR); 814 $this->response('参数异常',Code::SYSTEM_ERROR);
803 } 815 }
@@ -891,7 +903,6 @@ class ProjectController extends BaseController @@ -891,7 +903,6 @@ class ProjectController extends BaseController
891 $param['yesterday_ip_count'] = $yesterday_count['ip_num'] ?? 0; 903 $param['yesterday_ip_count'] = $yesterday_count['ip_num'] ?? 0;
892 $param['today_ip_count'] = $today_count['ip_num'] ?? 0; 904 $param['today_ip_count'] = $today_count['ip_num'] ?? 0;
893 $param['inquiry_num'] = $today_count['inquiry_num'] ?? 0; 905 $param['inquiry_num'] = $today_count['inquiry_num'] ?? 0;
894 -  
895 $list[] = $param; 906 $list[] = $param;
896 } 907 }
897 $data['list'] = $list; 908 $data['list'] = $list;
@@ -1182,7 +1193,6 @@ class ProjectController extends BaseController @@ -1182,7 +1193,6 @@ class ProjectController extends BaseController
1182 'id.required' => '项目id不能为空', 1193 'id.required' => '项目id不能为空',
1183 'site_status.required' => '状态不能为空', 1194 'site_status.required' => '状态不能为空',
1184 ]); 1195 ]);
1185 -  
1186 //获取项目数据 1196 //获取项目数据
1187 $projectModel = new Project(); 1197 $projectModel = new Project();
1188 $projectInfo = $projectModel->read(['id'=>$this->param['id']],['project_type','serve_id','site_status','site_token']); 1198 $projectInfo = $projectModel->read(['id'=>$this->param['id']],['project_type','serve_id','site_status','site_token']);
@@ -1192,14 +1202,12 @@ class ProjectController extends BaseController @@ -1192,14 +1202,12 @@ class ProjectController extends BaseController
1192 if($projectInfo['site_status'] == $this->param['site_status']){ 1202 if($projectInfo['site_status'] == $this->param['site_status']){
1193 $this->response('success'); 1203 $this->response('success');
1194 } 1204 }
1195 -  
1196 //获取服务器数据 1205 //获取服务器数据
1197 $serverIpModel = new ServersIp(); 1206 $serverIpModel = new ServersIp();
1198 $serversIpInfo = $serverIpModel->read(['id' => $projectInfo['serve_id']], ['servers_id']); 1207 $serversIpInfo = $serverIpModel->read(['id' => $projectInfo['serve_id']], ['servers_id']);
1199 if(!$serversIpInfo){ 1208 if(!$serversIpInfo){
1200 $this->fail('获取项目所属服务器失败'); 1209 $this->fail('获取项目所属服务器失败');
1201 } 1210 }
1202 -  
1203 if($serversIpInfo['servers_id'] == ServerConfig::SELF_SITE_ID){ 1211 if($serversIpInfo['servers_id'] == ServerConfig::SELF_SITE_ID){
1204 //自建站项目 1212 //自建站项目
1205 if($this->param['site_status'] == 1){ 1213 if($this->param['site_status'] == 1){
@@ -1209,7 +1217,6 @@ class ProjectController extends BaseController @@ -1209,7 +1217,6 @@ class ProjectController extends BaseController
1209 //开启站点 1217 //开启站点
1210 $site_token = str_replace('_expired','',$projectInfo['site_token']); 1218 $site_token = str_replace('_expired','',$projectInfo['site_token']);
1211 } 1219 }
1212 -  
1213 $projectModel->edit(['site_status'=>$this->param['site_status'],'site_token'=>$site_token],['id'=>$this->param['id']]); 1220 $projectModel->edit(['site_status'=>$this->param['site_status'],'site_token'=>$site_token],['id'=>$this->param['id']]);
1214 }else{ 1221 }else{
1215 //普通项目 1222 //普通项目
@@ -1219,7 +1226,6 @@ class ProjectController extends BaseController @@ -1219,7 +1226,6 @@ class ProjectController extends BaseController
1219 if(!$domainInfo){ 1226 if(!$domainInfo){
1220 $this->fail('获取域名数据失败'); 1227 $this->fail('获取域名数据失败');
1221 } 1228 }
1222 -  
1223 if($this->param['site_status'] == 1){ 1229 if($this->param['site_status'] == 1){
1224 //关闭站点:通知C端 1230 //关闭站点:通知C端
1225 $re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website'); 1231 $re = curl_get('https://'.$domainInfo['domain'].'/api/stop_or_start_website');
@@ -1260,10 +1266,8 @@ class ProjectController extends BaseController @@ -1260,10 +1266,8 @@ class ProjectController extends BaseController
1260 } 1266 }
1261 } 1267 }
1262 } 1268 }
1263 -  
1264 $projectModel->edit(['site_status'=>$this->param['site_status']],['id'=>$this->param['id']]); 1269 $projectModel->edit(['site_status'=>$this->param['site_status']],['id'=>$this->param['id']]);
1265 } 1270 }
1266 -  
1267 $this->response('success'); 1271 $this->response('success');
1268 } 1272 }
1269 1273