request->input("company_id",1); // 获取合作公司数据 $params = array(); $params['company_id'] = $company_id; $basic_company = BasicCompany::getOne($params); if (empty($basic_company)){ return fail(); } // 获取项目数据 $params = array(); $params['company_id'] = $company_id; $detection_projects = DetectionProject::getList($params); if (empty($detection_projects)){ return fail(); } foreach ($detection_projects as &$value){ $value['img_path'] = addAliyunOssWebsite($value['img_path']); } return success($detection_projects->toArray()); } /** * 获取合作公司检测项目详情 * @return array */ public function getDetectionProject(): array { $company_id = $this->request->input("company_id",1); $detection_project_id = $this->request->route('detection_project_id',1); // 获取合作公司数据 $params = array(); $params['company_id'] = $company_id; $basic_company = BasicCompany::getOne($params); if (empty($basic_company)){ return fail(); } // 获取项目数据 $params = array(); $params['detection_project_id'] = $detection_project_id; $detection_project = DetectionProject::getOne($params); if (empty($detection_project)){ return fail(); } $detection_project['img_path'] = addAliyunOssWebsite($detection_project['img_path']); return success($detection_project->toArray()); } /** * 获取检测机构合作医生列表 * @return array */ public function getDetectionDoctorList(): array { $company_id = $this->request->input("company_id",1); $user_info = $this->request->getAttribute("userInfo") ?? []; // 获取合作公司数据 $params = array(); $params['company_id'] = $company_id; $basic_company = BasicCompany::getOne($params); if (empty($basic_company)){ return fail(); } // 返回数据 $response_data = array( "area" => [ "province_id" => "", "province" => "", "city_id" => "", "city" => "", "county_id" => "", "county" => "", ], "doctors" => [], ); // 搜索数据 $hospital_params = array(); // 获取用户定位地址数据 $params = array(); $params['user_id'] = $user_info['user_id']; $user_location = UserLocation::getOne($params); if (!empty($user_location)){ // 处理省市区对应 if (!empty($user_location['province']) && !empty($user_location['city'])){ $params = array(); $params['area_name'] = $user_location['province']; $params['area_type'] = 2; $area_province = Area::getOne($params); if (!empty($area_province)){ $response_data['area']['province_id'] = $area_province['area_id']; $response_data['area']['province'] = $area_province['area_name']; // 搜索条件 $hospital_params['province_id'] = $area_province['area_id']; } if (!empty($response_data['area']['province_id'])){ $params = array(); $params['area_name'] = $user_location['city']; $params['parent_id'] = $response_data['area']['province_id']; $params['area_type'] = 3; $area_city = Area::getOne($params); if (!empty($area_city)){ $response_data['area']['city_id'] = $area_city['area_id']; $response_data['area']['city'] = $area_city['area_name']; // 搜索条件 $hospital_params['city_id'] = $area_city['area_id']; } } } if (!empty($response_data['area']['city_id']) && !empty($user_location['county'])){ $params = array(); $params['area_name'] = $user_location['county']; $params['parent_id'] = $response_data['area']['city_id']; $params['area_type'] = 4; $area_county = Area::getOne($params); if (!empty($area_county)){ $response_data['area']['county_id'] = $area_county['area_id']; $response_data['area']['county'] = $area_county['area_name']; // 搜索条件 $hospital_params['county_id'] = $area_county['area_id']; } } } // 获取医生 $params = array(); $params['status'] = 1; $params['idcard_status'] = 1; $params['iden_auth_status'] = 1; $params['is_sys_diagno_cooperation'] = 1; $fields = [ "doctor_id", "user_id", "user_name", "avatar", "doctor_title", ]; $user_doctors = UserDoctor::getDiagnoCoopDoctorList($params,$hospital_params,$fields); if (!empty($user_doctors)){ foreach ($user_doctors as &$value){ $doctor = array(); if (!empty($value['Hospital'])){ $doctor['hospital_name'] = $value['Hospital']['hospital_name']; } unset($value['Hospital']); } $response_data['doctors'] = $user_doctors->toArray(); } return success($response_data); } }