hospital-applets-api/app/Services/BasicDataService.php
2023-02-28 19:19:41 +08:00

225 lines
5.6 KiB
PHP

<?php
namespace App\Services;
use App\Model\BasicBank;
use App\Model\DiseaseClass;
use App\Model\DiseaseClassExpertise;
use App\Model\Hospital;
use App\Model\HospitalDepartmentCustom;
use App\Model\OperationManual;
use App\Model\Product;
/**
* 基础数据服务类
*/
class BasicDataService extends BaseService
{
/**
* 获取医院数据
* @return array
*/
public function getHospital(): array
{
$hospital_name = $this->request->input('hospital_name');
$province_id = $this->request->input('province_id');
$city_id = $this->request->input('city_id');
$county_id = $this->request->input('county_id');
$params = array();
$params[] = ['hospital_status', '=', 1];
if (!empty($hospital_name)) {
$params[] = ['hospital_name', 'like', '%' . $hospital_name . '%'];
}
if (!empty($province_id)) {
$params[] = ['province_id', '=', $province_id];
}
if (!empty($city_id)) {
$params[] = ['city_id', '=', $city_id];
}
if (!empty($county_id)) {
$params[] = ['county_id', '=', $county_id];
}
$fields = [
'hospital_id',
'hospital_name',
];
$hospital = Hospital::getList($params,$fields);
if (empty($hospital)){
return success();
}
return success($hospital->toArray());
}
/**
* 获取自定义科室数据
* @return array
*/
public function getCustomDepartment(): array
{
$params = array();
$params['department_status'] = 1;
$fields = [
'department_custom_id',
'department_custom_name',
];
$hospital_department_custom = HospitalDepartmentCustom::getList($params,$fields);
if (empty($hospital_department_custom)){
return success();
}
return success($hospital_department_custom->toArray());
}
/**
* 获取银行列表
* @return array
*/
public function getBank(): array
{
$basic_bank = BasicBank::getList([]);
if (empty($basic_bank)){
return success();
}
return success($basic_bank->toArray());
}
/**
* 获取操作手册列表
* @return array
*/
public function getOperationManual(): array
{
$fields = [
'manual_id',
'title',
];
$params = array();
$params['status'] = 1;
$operation_manual = OperationManual::getList($params);
if (empty($operation_manual)){
return success();
}
return success($operation_manual->toArray());
}
/**
* 获取操作手册详情
* @return array
*/
public function getOperationManualInfo(): array
{
$manual_id = $this->request->route('manual_id');
$params = array();
$params['manual_id'] = $manual_id;
$params['status'] = 1;
$operation_manual = OperationManual::getOne($params);
if (empty($operation_manual)){
return fail();
}
return success($operation_manual->toArray());
}
/**
* 搜索疾病分类
* @return array
*/
public function getDiseaseSearch(): array
{
$disease_class_name = $this->request->input('disease_class_name');
$fields = [
'disease_class_id',
'disease_class_name',
];
$params = array();
$params[] = ["disease_class_status",1];
$params[] = ["disease_class_enable",1];
$params[] = ['disease_class_name', 'like', '%' . $disease_class_name . '%'];
$disease_class = DiseaseClass::getList($params,$fields);
return empty($disease_class) ? success() : success($disease_class->toArray()) ;
}
/**
* 获取常见疾病分类
* @return array
*/
public function getDiseaseHot(): array
{
$fields = [
'disease_class_id',
'disease_class_name',
];
$params = array();
$params[] = ["disease_class_status",1];
$params[] = ["disease_class_enable",1];
$params[] = ['is_hot', 1];
$disease_class = DiseaseClass::getLimit($params,10,$fields);
return empty($disease_class) ? success() : success($disease_class->toArray()) ;
}
/**
* 专长列表
* @return array
*/
public function getDiseaseExpertiseList(): array
{
$params = array();
$fields = [
'expertise_id',
'expertise_name',
];
$disease_class_expertise = DiseaseClassExpertise::getOrderList($params,$fields);
return success($disease_class_expertise);
}
public function getProductSearch(){
$product_keyword = $this->request->input('product_keyword');
$fields = [
'product_id',
'product_name',
'product_cover_img',
'product_spec',
'manufacturer',
'single_unit',
'single_use',
'packaging_unit',
'frequency_use',
'available_days',
];
$params = array();
$params[] = ['product_name','like','%' . $product_keyword . '%'];
$product = Product::getList($params,$fields);
if (empty($product)){
return success();
}
foreach ($product as &$item){
$item['product_cover_img'] = addAliyunOssWebsite($item['product_cover_img']);
$item['product_name'] = $item['product_name'] . ' ' . $item['product_spec'];
}
return success($product->toArray());
}
}