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

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 ResponseInterface
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function getProductSearch(): ResponseInterface
{
$request = $this->container->get(BasicDataRequest::class);
@ -124,4 +129,20 @@ class BasicDataController extends AbstractController
$data = $BasicDataService->getProductSearch();
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);
}
/**
* 获取关键字搜索列表
* @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' => [ // 搜索商品
'product_keyword',
]
],
'getDiseaseIcdSearch' => [ // 搜索平台疾病分类
'icd_keyword',
],
];
/**
@ -40,7 +43,6 @@ class BasicDataRequest extends FormRequest
'province_id' => 'required_with:city_id,county_id',
'city_id' => 'required_with:county_id',
'disease_class_name' => 'required',
'product_keyword' => 'required',
];
}
@ -53,7 +55,6 @@ class BasicDataRequest extends FormRequest
'province_id.required_with' => "请选择省份",
'city_id.required_with' => "请选择城市",
'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\DiseaseClass;
use App\Model\DiseaseClassExpertise;
use App\Model\DiseaseClassIcd;
use App\Model\Hospital;
use App\Model\HospitalDepartmentCustom;
use App\Model\OperationManual;
@ -50,8 +51,8 @@ class BasicDataService extends BaseService
'hospital_name',
];
$hospital = Hospital::getList($params,$fields);
if (empty($hospital)){
$hospital = Hospital::getList($params, $fields);
if (empty($hospital)) {
return success();
}
@ -71,8 +72,8 @@ class BasicDataService extends BaseService
'department_custom_id',
'department_custom_name',
];
$hospital_department_custom = HospitalDepartmentCustom::getList($params,$fields);
if (empty($hospital_department_custom)){
$hospital_department_custom = HospitalDepartmentCustom::getList($params, $fields);
if (empty($hospital_department_custom)) {
return success();
}
@ -86,7 +87,7 @@ class BasicDataService extends BaseService
public function getBank(): array
{
$basic_bank = BasicBank::getList([]);
if (empty($basic_bank)){
if (empty($basic_bank)) {
return success();
}
@ -108,7 +109,7 @@ class BasicDataService extends BaseService
$params['status'] = 1;
$operation_manual = OperationManual::getList($params);
if (empty($operation_manual)){
if (empty($operation_manual)) {
return success();
}
@ -128,7 +129,7 @@ class BasicDataService extends BaseService
$params['status'] = 1;
$operation_manual = OperationManual::getOne($params);
if (empty($operation_manual)){
if (empty($operation_manual)) {
return fail();
}
@ -148,12 +149,12 @@ class BasicDataService extends BaseService
'disease_class_name',
];
$params = array();
$params[] = ["disease_class_status",1];
$params[] = ["disease_class_enable",1];
$params[] = ["disease_class_status", 1];
$params[] = ["disease_class_enable", 1];
$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[] = ["disease_class_status",1];
$params[] = ["disease_class_enable",1];
$params[] = ["disease_class_status", 1];
$params[] = ["disease_class_enable", 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_name',
];
$disease_class_expertise = DiseaseClassExpertise::getOrderList($params,$fields);
$disease_class_expertise = DiseaseClassExpertise::getOrderList($params, $fields);
return success($disease_class_expertise);
}
public function getProductSearch(){
/**
* 搜索商品
* @return array
*/
public function getProductSearch(): array
{
$product_keyword = $this->request->input('product_keyword');
$fields = [
@ -207,14 +213,14 @@ class BasicDataService extends BaseService
'available_days',
];
$params = array();
$params[] = ['product_name','like','%' . $product_keyword . '%'];
$params[] = ['product_name', 'like', '%' . $product_keyword . '%'];
$product = Product::getList($params,$fields);
if (empty($product)){
$product = Product::getList($params, $fields);
if (empty($product)) {
return success();
}
foreach ($product as &$item){
foreach ($product as &$item) {
$item['product_cover_img'] = addAliyunOssWebsite($item['product_cover_img']);
$item['product_name'] = $item['product_name'] . ' ' . $item['product_spec'];
@ -222,4 +228,28 @@ class BasicDataService extends BaseService
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::addGroup('/icd', function () {
// 搜索平台疾病分类
Router::get('/search', [BasicDataController::class, 'getDiseaseIcdSearch']);
});
// 搜索商品
Router::addGroup('/product', function () {
// 搜索商品