作者 zhl

根据域名获取项目人员配置

... ... @@ -13,11 +13,13 @@ use App\Models\Ai\AiBlog;
use App\Models\Blog\Blog;
use App\Models\Domain\DomainInfo;
use App\Models\Inquiry\InquiryRelateDomain;
use App\Models\Manage\ManageHr;
use App\Models\News\News;
use App\Models\Product\Category;
use App\Models\Product\CategoryRelated;
use App\Models\Product\Keyword;
use App\Models\Product\Product;
use App\Models\Project\DeployBuild;
use App\Models\Project\DeployOptimize;
use App\Models\Project\OnlineCheck;
use App\Models\Project\Project;
... ... @@ -491,4 +493,49 @@ class PrivateController extends BaseController
return $this->success($relate);
}
/**
* 根据域名获取项目人员配置信息
* @param Request $request
* @return false|string
*/
public function getProjectManageByDomain(Request $request)
{
$domain = trim($request->input('domain'));
$domain_parse = parse_url($domain);
$domain = $domain_parse['host'] ?? $domain;
if (empty($domain)) {
return $this->error('非法参数!');
}
$project = Project::getProjectByDomain($domain);
if (empty($project)) {
return $this->error('未找到当前域名对应的项目!');
}
$build = DeployBuild::select(['leader_mid', 'manager_mid', 'designer_mid', 'tech_mid'])->where(['project_id' => $project->id])->first();
$optimize = DeployOptimize::select(['manager_mid', 'optimist_mid', 'assist_mid', 'tech_mid', 'tech_leader', 'quality_mid', 'design_mid'])->where(['project_id' => $project->id])->first();
$build = $build ? $build->toArray() : [];
$optimize = $optimize ? $optimize->toArray() : [];
$manage_ids = array_merge(array_values($build), array_values($optimize));
$member = ManageHr::whereIn('id', $manage_ids)->pluck('name', 'id')->toArray();
$result = [
'build_leader' => $build && $build['leader_mid'] ? $member[$build['leader_mid']] : '', // 组长
'build_manager' => $build && $build['manager_mid'] ? $member[$build['manager_mid']] : '', // 项目经理
'build_designer' => $build && $build['designer_mid'] ? $member[$build['designer_mid']] : '', // 设计师
'build_tech' => $build && $build['tech_mid'] ? $member[$build['tech_mid']] : '', // 技术助理
'optimize_manager' => $optimize && $optimize['manager_mid'] ? $member[$optimize['manager_mid']] : '', // 优化经理
'optimize_optimist' => $optimize && $optimize['optimist_mid'] ? $member[$optimize['optimist_mid']] : '',// 优化师
'optimize_assist' => $optimize && $optimize['assist_mid'] ? $member[$optimize['assist_mid']] : '', // 优化师助理
'optimize_tech' => $optimize && $optimize['tech_mid'] ? $member[$optimize['tech_mid']] : '', // 售后技术
'optimize_leader' => $optimize && $optimize['tech_leader'] ? $member[$optimize['tech_leader']] : '', // 售后主管
'optimize_quality' => $optimize && $optimize['quality_mid'] ? $member[$optimize['quality_mid']] : '', // 品控
'optimize_design' => $optimize && $optimize['design_mid'] ? $member[$optimize['design_mid']] : '', // 平面设计
];
return $this->success($result);
}
}
... ...
... ... @@ -70,5 +70,5 @@ Route::any('/addRedirect',[\App\Http\Controllers\Api\NoticeController::class,'ad
//关联域名
Route::post('/inquiry_relate_domain', [\App\Http\Controllers\Api\PrivateController::class, 'inquiry_relate_domain']);
// 通过域名获取项目人员配置
Route::get('/get_manage_by_domain', [\App\Http\Controllers\Api\PrivateController::class, 'getProjectManageByDomain']);
... ...