新增搜索平台疾病分类接口

This commit is contained in:
wucongxing 2023-03-01 14:37:12 +08:00
parent ad7e6551f1
commit 5a4fcaaf7f
5 changed files with 103 additions and 25 deletions

View File

@ -114,7 +114,12 @@ class BasicDataController extends AbstractController
return $this->response->json($data); return $this->response->json($data);
} }
// 搜索商品 /**
* 搜索商品
* @return ResponseInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function getProductSearch(): ResponseInterface public function getProductSearch(): ResponseInterface
{ {
$request = $this->container->get(BasicDataRequest::class); $request = $this->container->get(BasicDataRequest::class);
@ -124,4 +129,20 @@ class BasicDataController extends AbstractController
$data = $BasicDataService->getProductSearch(); $data = $BasicDataService->getProductSearch();
return $this->response->json($data); return $this->response->json($data);
} }
/**
* 搜索平台疾病分类
* @return ResponseInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function getDiseaseIcdSearch(): ResponseInterface
{
$request = $this->container->get(BasicDataRequest::class);
$request->scene('getDiseaseIcdSearch')->validateResolved();
$BasicDataService = new BasicDataService();
$data = $BasicDataService->getDiseaseIcdSearch();
return $this->response->json($data);
}
} }

View File

@ -73,4 +73,24 @@ class DiseaseClassIcd extends Model
{ {
return self::where($params)->limit($limit)->get($fields); return self::where($params)->limit($limit)->get($fields);
} }
/**
* 获取关键字搜索列表
* @param array $params
* @param string $keyword
* @param array $fields
* @return Collection|array
*/
public static function getSearchKeywordList(array $params = [],string $keyword = '',array $fields = ['*']): Collection|array
{
return self::when($keyword, function ($query, $keyword) {
$query->where(function ($query) use ($keyword) {
$query->orwhere("icd_name", 'like', '%' . $keyword . '%');
$query->orwhere("icd_code", 'like', '%' . $keyword . '%');
$query->orwhere("icd_spell", 'like', '%' . $keyword . '%');
});
})
->where($params)
->get($fields);
}
} }

View File

@ -20,7 +20,10 @@ class BasicDataRequest extends FormRequest
], ],
'getProductSearch' => [ // 搜索商品 'getProductSearch' => [ // 搜索商品
'product_keyword', 'product_keyword',
] ],
'getDiseaseIcdSearch' => [ // 搜索平台疾病分类
'icd_keyword',
],
]; ];
/** /**
@ -40,7 +43,6 @@ class BasicDataRequest extends FormRequest
'province_id' => 'required_with:city_id,county_id', 'province_id' => 'required_with:city_id,county_id',
'city_id' => 'required_with:county_id', 'city_id' => 'required_with:county_id',
'disease_class_name' => 'required', 'disease_class_name' => 'required',
'product_keyword' => 'required',
]; ];
} }
@ -53,7 +55,6 @@ class BasicDataRequest extends FormRequest
'province_id.required_with' => "请选择省份", 'province_id.required_with' => "请选择省份",
'city_id.required_with' => "请选择城市", 'city_id.required_with' => "请选择城市",
'disease_class_name.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), 'disease_class_name.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
'product_keyword.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
]; ];
} }
} }

View File

@ -5,6 +5,7 @@ namespace App\Services;
use App\Model\BasicBank; use App\Model\BasicBank;
use App\Model\DiseaseClass; use App\Model\DiseaseClass;
use App\Model\DiseaseClassExpertise; use App\Model\DiseaseClassExpertise;
use App\Model\DiseaseClassIcd;
use App\Model\Hospital; use App\Model\Hospital;
use App\Model\HospitalDepartmentCustom; use App\Model\HospitalDepartmentCustom;
use App\Model\OperationManual; use App\Model\OperationManual;
@ -50,8 +51,8 @@ class BasicDataService extends BaseService
'hospital_name', 'hospital_name',
]; ];
$hospital = Hospital::getList($params,$fields); $hospital = Hospital::getList($params, $fields);
if (empty($hospital)){ if (empty($hospital)) {
return success(); return success();
} }
@ -71,8 +72,8 @@ class BasicDataService extends BaseService
'department_custom_id', 'department_custom_id',
'department_custom_name', 'department_custom_name',
]; ];
$hospital_department_custom = HospitalDepartmentCustom::getList($params,$fields); $hospital_department_custom = HospitalDepartmentCustom::getList($params, $fields);
if (empty($hospital_department_custom)){ if (empty($hospital_department_custom)) {
return success(); return success();
} }
@ -86,7 +87,7 @@ class BasicDataService extends BaseService
public function getBank(): array public function getBank(): array
{ {
$basic_bank = BasicBank::getList([]); $basic_bank = BasicBank::getList([]);
if (empty($basic_bank)){ if (empty($basic_bank)) {
return success(); return success();
} }
@ -108,7 +109,7 @@ class BasicDataService extends BaseService
$params['status'] = 1; $params['status'] = 1;
$operation_manual = OperationManual::getList($params); $operation_manual = OperationManual::getList($params);
if (empty($operation_manual)){ if (empty($operation_manual)) {
return success(); return success();
} }
@ -128,7 +129,7 @@ class BasicDataService extends BaseService
$params['status'] = 1; $params['status'] = 1;
$operation_manual = OperationManual::getOne($params); $operation_manual = OperationManual::getOne($params);
if (empty($operation_manual)){ if (empty($operation_manual)) {
return fail(); return fail();
} }
@ -148,12 +149,12 @@ class BasicDataService extends BaseService
'disease_class_name', 'disease_class_name',
]; ];
$params = array(); $params = array();
$params[] = ["disease_class_status",1]; $params[] = ["disease_class_status", 1];
$params[] = ["disease_class_enable",1]; $params[] = ["disease_class_enable", 1];
$params[] = ['disease_class_name', 'like', '%' . $disease_class_name . '%']; $params[] = ['disease_class_name', 'like', '%' . $disease_class_name . '%'];
$disease_class = DiseaseClass::getList($params,$fields); $disease_class = DiseaseClass::getList($params, $fields);
return empty($disease_class) ? success() : success($disease_class->toArray()) ; return empty($disease_class) ? success() : success($disease_class->toArray());
} }
/** /**
@ -168,12 +169,12 @@ class BasicDataService extends BaseService
]; ];
$params = array(); $params = array();
$params[] = ["disease_class_status",1]; $params[] = ["disease_class_status", 1];
$params[] = ["disease_class_enable",1]; $params[] = ["disease_class_enable", 1];
$params[] = ['is_hot', 1]; $params[] = ['is_hot', 1];
$disease_class = DiseaseClass::getLimit($params,10,$fields); $disease_class = DiseaseClass::getLimit($params, 10, $fields);
return empty($disease_class) ? success() : success($disease_class->toArray()) ; return empty($disease_class) ? success() : success($disease_class->toArray());
} }
/** /**
@ -187,11 +188,16 @@ class BasicDataService extends BaseService
'expertise_id', 'expertise_id',
'expertise_name', 'expertise_name',
]; ];
$disease_class_expertise = DiseaseClassExpertise::getOrderList($params,$fields); $disease_class_expertise = DiseaseClassExpertise::getOrderList($params, $fields);
return success($disease_class_expertise); return success($disease_class_expertise);
} }
public function getProductSearch(){ /**
* 搜索商品
* @return array
*/
public function getProductSearch(): array
{
$product_keyword = $this->request->input('product_keyword'); $product_keyword = $this->request->input('product_keyword');
$fields = [ $fields = [
@ -207,14 +213,14 @@ class BasicDataService extends BaseService
'available_days', 'available_days',
]; ];
$params = array(); $params = array();
$params[] = ['product_name','like','%' . $product_keyword . '%']; $params[] = ['product_name', 'like', '%' . $product_keyword . '%'];
$product = Product::getList($params,$fields); $product = Product::getList($params, $fields);
if (empty($product)){ if (empty($product)) {
return success(); return success();
} }
foreach ($product as &$item){ foreach ($product as &$item) {
$item['product_cover_img'] = addAliyunOssWebsite($item['product_cover_img']); $item['product_cover_img'] = addAliyunOssWebsite($item['product_cover_img']);
$item['product_name'] = $item['product_name'] . ' ' . $item['product_spec']; $item['product_name'] = $item['product_name'] . ' ' . $item['product_spec'];
@ -222,4 +228,28 @@ class BasicDataService extends BaseService
return success($product->toArray()); return success($product->toArray());
} }
/**
* 搜索平台疾病分类
* @return array
*/
public function getDiseaseIcdSearch(): array
{
$icd_keyword = $this->request->input('icd_keyword','');
$fields = [
'icd_id',
'icd_name',
];
$params = array();
$params['icd_status'] = 1;// 状态0:删除 1:正常)
$params['icd_enable'] = 1;// 是否启用0:否 1:是)
$disease_class_icd = DiseaseClassIcd::getSearchKeywordList($params, $icd_keyword, $fields);
if (empty($disease_class_icd)){
return success();
}
return success($disease_class_icd->toArray());
}
} }

View File

@ -287,6 +287,12 @@ Router::addGroup('/basic', function () {
Router::get('/expertise', [BasicDataController::class, 'getDiseaseExpertiseList']); Router::get('/expertise', [BasicDataController::class, 'getDiseaseExpertiseList']);
}); });
// 平台疾病分类
Router::addGroup('/icd', function () {
// 搜索平台疾病分类
Router::get('/search', [BasicDataController::class, 'getDiseaseIcdSearch']);
});
// 搜索商品 // 搜索商品
Router::addGroup('/product', function () { Router::addGroup('/product', function () {
// 搜索商品 // 搜索商品