作者 周海龙

合并分支 'zhl' 到 'master'

Zhl

根据域名获取人员配置信息

查看合并请求 !1949
@@ -13,11 +13,13 @@ use App\Models\Ai\AiBlog; @@ -13,11 +13,13 @@ use App\Models\Ai\AiBlog;
13 use App\Models\Blog\Blog; 13 use App\Models\Blog\Blog;
14 use App\Models\Domain\DomainInfo; 14 use App\Models\Domain\DomainInfo;
15 use App\Models\Inquiry\InquiryRelateDomain; 15 use App\Models\Inquiry\InquiryRelateDomain;
  16 +use App\Models\Manage\ManageHr;
16 use App\Models\News\News; 17 use App\Models\News\News;
17 use App\Models\Product\Category; 18 use App\Models\Product\Category;
18 use App\Models\Product\CategoryRelated; 19 use App\Models\Product\CategoryRelated;
19 use App\Models\Product\Keyword; 20 use App\Models\Product\Keyword;
20 use App\Models\Product\Product; 21 use App\Models\Product\Product;
  22 +use App\Models\Project\DeployBuild;
21 use App\Models\Project\DeployOptimize; 23 use App\Models\Project\DeployOptimize;
22 use App\Models\Project\OnlineCheck; 24 use App\Models\Project\OnlineCheck;
23 use App\Models\Project\Project; 25 use App\Models\Project\Project;
@@ -491,4 +493,49 @@ class PrivateController extends BaseController @@ -491,4 +493,49 @@ class PrivateController extends BaseController
491 493
492 return $this->success($relate); 494 return $this->success($relate);
493 } 495 }
  496 +
  497 + /**
  498 + * 根据域名获取项目人员配置信息
  499 + * @param Request $request
  500 + * @return false|string
  501 + */
  502 + public function getProjectManageByDomain(Request $request)
  503 + {
  504 + $domain = trim($request->input('domain'));
  505 + $domain_parse = parse_url($domain);
  506 + $domain = $domain_parse['host'] ?? $domain;
  507 +
  508 + if (empty($domain)) {
  509 + return $this->error('非法参数!');
  510 + }
  511 +
  512 + $project = Project::getProjectByDomain($domain);
  513 + if (empty($project)) {
  514 + return $this->error('未找到当前域名对应的项目!');
  515 + }
  516 +
  517 + $build = DeployBuild::select(['leader_mid', 'manager_mid', 'designer_mid', 'tech_mid'])->where(['project_id' => $project->id])->first();
  518 + $optimize = DeployOptimize::select(['manager_mid', 'optimist_mid', 'assist_mid', 'tech_mid', 'tech_leader', 'quality_mid', 'design_mid'])->where(['project_id' => $project->id])->first();
  519 +
  520 + $build = $build ? $build->toArray() : [];
  521 + $optimize = $optimize ? $optimize->toArray() : [];
  522 + $manage_ids = array_merge(array_values($build), array_values($optimize));
  523 +
  524 +
  525 + $member = ManageHr::whereIn('id', $manage_ids)->pluck('name', 'id')->toArray();
  526 + $result = [
  527 + 'build_leader' => $build && $build['leader_mid'] ? $member[$build['leader_mid']] : '', // 组长
  528 + 'build_manager' => $build && $build['manager_mid'] ? $member[$build['manager_mid']] : '', // 项目经理
  529 + 'build_designer' => $build && $build['designer_mid'] ? $member[$build['designer_mid']] : '', // 设计师
  530 + 'build_tech' => $build && $build['tech_mid'] ? $member[$build['tech_mid']] : '', // 技术助理
  531 + 'optimize_manager' => $optimize && $optimize['manager_mid'] ? $member[$optimize['manager_mid']] : '', // 优化经理
  532 + 'optimize_optimist' => $optimize && $optimize['optimist_mid'] ? $member[$optimize['optimist_mid']] : '',// 优化师
  533 + 'optimize_assist' => $optimize && $optimize['assist_mid'] ? $member[$optimize['assist_mid']] : '', // 优化师助理
  534 + 'optimize_tech' => $optimize && $optimize['tech_mid'] ? $member[$optimize['tech_mid']] : '', // 售后技术
  535 + 'optimize_leader' => $optimize && $optimize['tech_leader'] ? $member[$optimize['tech_leader']] : '', // 售后主管
  536 + 'optimize_quality' => $optimize && $optimize['quality_mid'] ? $member[$optimize['quality_mid']] : '', // 品控
  537 + 'optimize_design' => $optimize && $optimize['design_mid'] ? $member[$optimize['design_mid']] : '', // 平面设计
  538 + ];
  539 + return $this->success($result);
  540 + }
494 } 541 }
@@ -70,5 +70,5 @@ Route::any('/addRedirect',[\App\Http\Controllers\Api\NoticeController::class,'ad @@ -70,5 +70,5 @@ Route::any('/addRedirect',[\App\Http\Controllers\Api\NoticeController::class,'ad
70 70
71 //关联域名 71 //关联域名
72 Route::post('/inquiry_relate_domain', [\App\Http\Controllers\Api\PrivateController::class, 'inquiry_relate_domain']); 72 Route::post('/inquiry_relate_domain', [\App\Http\Controllers\Api\PrivateController::class, 'inquiry_relate_domain']);
73 -  
74 - 73 +// 通过域名获取项目人员配置
  74 +Route::get('/get_manage_by_domain', [\App\Http\Controllers\Api\PrivateController::class, 'getProjectManageByDomain']);