新增获取系统问诊配置接口
This commit is contained in:
parent
8a87298095
commit
9b137d16f5
@ -18,9 +18,6 @@ use Psr\Http\Message\ResponseInterface;
|
|||||||
*/
|
*/
|
||||||
class OrderInquiryController extends AbstractController
|
class OrderInquiryController extends AbstractController
|
||||||
{
|
{
|
||||||
#[Inject]
|
|
||||||
protected ValidatorFactoryInterface $validationFactory;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建问诊订单
|
* 创建问诊订单
|
||||||
* @return ResponseInterface
|
* @return ResponseInterface
|
||||||
|
|||||||
32
app/Controller/SystemController.php
Normal file
32
app/Controller/SystemController.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use App\Request\SystemRequest;
|
||||||
|
use App\Services\SystemService;
|
||||||
|
use Psr\Container\ContainerExceptionInterface;
|
||||||
|
use Psr\Container\NotFoundExceptionInterface;
|
||||||
|
use Psr\Http\Message\ResponseInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统配置
|
||||||
|
*/
|
||||||
|
class SystemController extends AbstractController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 获取系统问诊时间
|
||||||
|
* 快速问诊-问诊购药
|
||||||
|
* @return ResponseInterface
|
||||||
|
* @throws ContainerExceptionInterface
|
||||||
|
* @throws NotFoundExceptionInterface
|
||||||
|
*/
|
||||||
|
public function getSystemInquiryConfig(): ResponseInterface
|
||||||
|
{
|
||||||
|
$request = $this->container->get(SystemRequest::class);
|
||||||
|
$request->scene('getSystemInquiryConfig')->validateResolved();
|
||||||
|
|
||||||
|
$SystemService = new SystemService();
|
||||||
|
$data = $SystemService->getSystemInquiryConfig();
|
||||||
|
return $this->response->json($data);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -10,7 +10,7 @@ use Hyperf\Database\Model\Collection;
|
|||||||
use Hyperf\Snowflake\Concern\Snowflake;
|
use Hyperf\Snowflake\Concern\Snowflake;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property int $system_inquiry_config_id 主键id
|
* @property string $system_inquiry_config_id 主键id
|
||||||
* @property int $inquiry_type 接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
* @property int $inquiry_type 接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||||
* @property int $inquiry_mode 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
* @property int $inquiry_mode 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||||||
* @property int $max_work_num_day 每日最大接诊数量
|
* @property int $max_work_num_day 每日最大接诊数量
|
||||||
|
|||||||
@ -185,16 +185,15 @@ class UserDoctor extends Model
|
|||||||
->get($fields);
|
->get($fields);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return $datas;
|
return $datas;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取问诊医生列表
|
* 获取问诊医生列表
|
||||||
* 专家问诊-公益问诊共用
|
* 专家问诊-公益问诊共用
|
||||||
|
* @param string $keyword
|
||||||
* @param array $hospital_params 医院搜索条件
|
* @param array $hospital_params 医院搜索条件
|
||||||
* @param array $doctor_params 医生搜索条件
|
* @param array $doctor_params 医生搜索条件
|
||||||
* @param array $doctor_or_params 医生搜索条件
|
|
||||||
* @param array $doctor_expertise_params
|
* @param array $doctor_expertise_params
|
||||||
* @param string|int $sort_order
|
* @param string|int $sort_order
|
||||||
* @param array $fields
|
* @param array $fields
|
||||||
@ -202,73 +201,72 @@ class UserDoctor extends Model
|
|||||||
* @param int|null $per_page
|
* @param int|null $per_page
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function getInquiryDoctorPage(string $keyword = "",array $hospital_params = [],array $doctor_params = [],array $doctor_expertise_params = [],string|int $sort_order = 1,array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
public static function getInquiryDoctorPage(string $keyword = "", array $hospital_params = [], array $doctor_params = [], array $doctor_expertise_params = [], string|int $sort_order = 1, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
|
||||||
{
|
{
|
||||||
$result = self::with([
|
$query = self::with([
|
||||||
"Hospital:hospital_id,hospital_name,hospital_status,hospital_level_name,province_id,city_id",
|
"Hospital:hospital_id,hospital_name,hospital_status,hospital_level_name,province_id,city_id",
|
||||||
"DoctorExpertise" => function($query) use($doctor_expertise_params){
|
"DoctorExpertise" => function ($query) use ($doctor_expertise_params) {
|
||||||
$query->where($doctor_expertise_params);
|
$query->where($doctor_expertise_params);
|
||||||
},
|
},
|
||||||
"DoctorExpertise.DiseaseClassExpertise:expertise_id,expertise_name",
|
"DoctorExpertise.DiseaseClassExpertise:expertise_id,expertise_name",
|
||||||
"DoctorInquiryConfig" => function($query) use($sort_order){
|
"DoctorInquiryConfig" => function ($query) use ($sort_order) {
|
||||||
$params = array();
|
$params = array();
|
||||||
$params['inquiry_mode'] = 1;// 接诊方式:图文
|
$params['inquiry_mode'] = 1;// 接诊方式:图文
|
||||||
$query->where($params)->whereIn('inquiry_type',[1,3]);
|
$query->where($params)->whereIn('inquiry_type', [1, 3]);
|
||||||
if ($sort_order == 1){
|
if ($sort_order == 1) {
|
||||||
// 综合
|
// 综合
|
||||||
$query->orderBy('inquiry_price','asc');// 价格从低到高
|
$query->orderBy('inquiry_price', 'asc');// 价格从低到高
|
||||||
}elseif ($sort_order == 3){
|
} elseif ($sort_order == 3) {
|
||||||
// 价格从低到高
|
// 价格从低到高
|
||||||
$query->orderBy('inquiry_price','asc');
|
$query->orderBy('inquiry_price', 'asc');
|
||||||
}elseif ($sort_order == 4){
|
} elseif ($sort_order == 4) {
|
||||||
// 价格从高到低
|
// 价格从高到低
|
||||||
$query->orderBy('inquiry_price','desc');// 价格从高到低
|
$query->orderBy('inquiry_price', 'desc');// 价格从高到低
|
||||||
}
|
}
|
||||||
|
|
||||||
return $query;
|
return $query;
|
||||||
},
|
},
|
||||||
'DoctorInquiryConfig.SystemInquiryConfig',
|
|
||||||
])
|
])
|
||||||
->where($doctor_params)
|
->where($doctor_params)
|
||||||
->when($keyword,function ($query, $keyword){
|
->whereHas('Hospital', function ($query) use ($hospital_params) {
|
||||||
$query->where(function($query) use ($keyword){
|
$query->where($hospital_params);
|
||||||
$query->orwhere("user_name",'like','%' . $keyword . '%');
|
})
|
||||||
$query->orwhere("hospital_name",'like','%' . $keyword . '%');
|
->when($keyword, function ($query, $keyword) {
|
||||||
$query->orwhere("department_custom_name",'like','%' . $keyword . '%');
|
$query->where(function ($query) use ($keyword) {
|
||||||
|
$query->orwhere("user_name", 'like', '%' . $keyword . '%');
|
||||||
|
$query->orwhere("department_custom_name", 'like', '%' . $keyword . '%');
|
||||||
|
$query->orWhereHas('Hospital', function ($query) use ($keyword) {
|
||||||
|
$query->where('hospital_name', 'like', '%' . $keyword . '%');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
->when($sort_order,function ($query,$sort_order){
|
->when($sort_order, function ($query, $sort_order) {
|
||||||
if ($sort_order == 1){
|
if ($sort_order == 1) {
|
||||||
$query->orderBy('is_recommend','desc');// 是否首页推荐(0:否 1:是)
|
$query->orderBy('is_recommend', 'desc');// 是否首页推荐(0:否 1:是)
|
||||||
$query->orderBy('avg_response_time','desc');// 响应时间快
|
$query->orderBy('avg_response_time', 'desc');// 响应时间快
|
||||||
$query->orderBy('served_patients_num','desc');// 服务数从多到少
|
$query->orderBy('served_patients_num', 'desc');// 服务数从多到少
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"),'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
}elseif ($sort_order == 2){
|
} elseif ($sort_order == 2) {
|
||||||
// 响应时间快
|
// 响应时间快
|
||||||
$query->orderBy('avg_response_time','desc');
|
$query->orderBy('avg_response_time', 'desc');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"),'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
}elseif ($sort_order == 3){
|
} elseif ($sort_order == 3) {
|
||||||
// 响应时间快
|
// 响应时间快
|
||||||
$query->orderBy('avg_response_time','desc');
|
$query->orderBy('avg_response_time', 'desc');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"),'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
}elseif ($sort_order == 4){
|
} elseif ($sort_order == 4) {
|
||||||
// 响应时间快
|
// 响应时间快
|
||||||
$query->orderBy('avg_response_time','desc');
|
$query->orderBy('avg_response_time', 'desc');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"),'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
}elseif ($sort_order == 5){
|
} elseif ($sort_order == 5) {
|
||||||
// 服务数从多到少
|
// 服务数从多到少
|
||||||
$query->orderBy('served_patients_num','desc');
|
$query->orderBy('served_patients_num', 'desc');
|
||||||
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"),'asc');// 名称排名
|
$query->orderBy(Db::raw("convert(substr(user_name,1,1) using `GBK`)"), 'asc');// 名称排名
|
||||||
}
|
}
|
||||||
return $query;
|
return $query;
|
||||||
})
|
});
|
||||||
->whereExists(function ($query) use($hospital_params){
|
|
||||||
$query->select(Db::raw(1))
|
$result = $query->paginate($per_page, $fields, "page", $page);
|
||||||
->from('hospital')
|
|
||||||
->whereColumn('hospital.hospital_id','user_doctor.hospital_id')
|
|
||||||
->where($hospital_params);
|
|
||||||
})
|
|
||||||
->paginate($per_page, $fields, "page", $page);
|
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
$data['current_page'] = $result->currentPage();// 当前页码
|
$data['current_page'] = $result->currentPage();// 当前页码
|
||||||
|
|||||||
@ -29,6 +29,10 @@ class OrderInquiryRequest extends FormRequest
|
|||||||
'inquiry_type', // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
'inquiry_type', // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||||
'inquiry_mode', // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
'inquiry_mode', // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||||||
],
|
],
|
||||||
|
'getInquiryConfigTime' => [ // 获取系统问诊时间
|
||||||
|
'inquiry_type', // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||||
|
'inquiry_mode', // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -45,6 +49,8 @@ class OrderInquiryRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
'inquiry_type' => 'required|integer|min:1|max:3',
|
||||||
|
'inquiry_mode' => 'required|integer|min:1|max:5',
|
||||||
'patient_id' => 'required',
|
'patient_id' => 'required',
|
||||||
'family_id' => 'required',
|
'family_id' => 'required',
|
||||||
'disease_class_id' => 'required',
|
'disease_class_id' => 'required',
|
||||||
@ -62,6 +68,15 @@ class OrderInquiryRequest extends FormRequest
|
|||||||
public function messages(): array
|
public function messages(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
'inquiry_type.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
|
||||||
'patient_id.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'patient_id.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'family_id.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'family_id.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'disease_class_id.required' => "请您选择疾病",
|
'disease_class_id.required' => "请您选择疾病",
|
||||||
|
|||||||
54
app/Request/SystemRequest.php
Normal file
54
app/Request/SystemRequest.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Request;
|
||||||
|
|
||||||
|
use App\Constants\HttpEnumCode;
|
||||||
|
use Hyperf\Validation\Request\FormRequest;
|
||||||
|
|
||||||
|
class SystemRequest extends FormRequest
|
||||||
|
{
|
||||||
|
protected array $scenes = [
|
||||||
|
'getSystemInquiryConfig' => [ // 获取系统问诊配置 快速问诊-问诊购药
|
||||||
|
'inquiry_type', // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||||||
|
'inquiry_mode', // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*/
|
||||||
|
public function authorize(): bool
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*/
|
||||||
|
public function rules(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'inquiry_type' => 'required|integer|min:1|max:4',
|
||||||
|
'inquiry_mode' => 'required|integer|min:1|max:5',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取已定义验证规则的错误消息.
|
||||||
|
*/
|
||||||
|
public function messages(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'inquiry_type.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -98,13 +98,15 @@ class UserDoctorRequest extends FormRequest
|
|||||||
'inquiry_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'inquiry_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'inquiry_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'inquiry_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'inquiry_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'inquiry_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
'inquiry_mode.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'is_open.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'is_open.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'is_open.boolean' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'is_open.boolean' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'inquiry_price.required' => "请填写价格",
|
'inquiry_price.required' => "请填写价格",
|
||||||
'inquiry_price.min' => "价格填写错误",
|
'inquiry_price.min' => "价格填写错误",
|
||||||
'inquiry_price.numeric' => "价格填写错误",
|
'inquiry_price.numeric' => "价格填写错误",
|
||||||
'inquiry_mode.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
|
||||||
'inquiry_mode.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
|
||||||
'inquiry_mode.numeric' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'inquiry_mode.numeric' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'work_num_day.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'work_num_day.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
'work_num_day.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
'work_num_day.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||||||
|
|||||||
@ -61,9 +61,6 @@ class PatientDoctorService extends BaseService
|
|||||||
"doctor_id",
|
"doctor_id",
|
||||||
"user_id",
|
"user_id",
|
||||||
"user_name",
|
"user_name",
|
||||||
"open_id",
|
|
||||||
"status",
|
|
||||||
"iden_auth_status",
|
|
||||||
"multi_point_status",
|
"multi_point_status",
|
||||||
"is_bind_bank",
|
"is_bind_bank",
|
||||||
"is_recommend",
|
"is_recommend",
|
||||||
@ -74,7 +71,6 @@ class PatientDoctorService extends BaseService
|
|||||||
"department_custom_id",
|
"department_custom_id",
|
||||||
"department_custom_name",
|
"department_custom_name",
|
||||||
"hospital_id",
|
"hospital_id",
|
||||||
"hospital_name",
|
|
||||||
"served_patients_num",
|
"served_patients_num",
|
||||||
"praise_rate",
|
"praise_rate",
|
||||||
"avg_response_time",
|
"avg_response_time",
|
||||||
@ -137,6 +133,9 @@ class PatientDoctorService extends BaseService
|
|||||||
}else{
|
}else{
|
||||||
$user_doctor['is_display_score'] = true;
|
$user_doctor['is_display_score'] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 头像
|
||||||
|
$user_doctor['avatar'] = addAliyunOssWebsite($user_doctor['avatar']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return success($user_doctors);
|
return success($user_doctors);
|
||||||
@ -161,12 +160,8 @@ class PatientDoctorService extends BaseService
|
|||||||
"doctor_id",
|
"doctor_id",
|
||||||
"user_id",
|
"user_id",
|
||||||
"user_name",
|
"user_name",
|
||||||
"open_id",
|
|
||||||
"status",
|
|
||||||
"iden_auth_status",
|
"iden_auth_status",
|
||||||
"multi_point_status",
|
"multi_point_status",
|
||||||
"is_bind_bank",
|
|
||||||
"is_recommend",
|
|
||||||
"sex",
|
"sex",
|
||||||
"age",
|
"age",
|
||||||
"avatar",
|
"avatar",
|
||||||
@ -268,6 +263,9 @@ class PatientDoctorService extends BaseService
|
|||||||
$result['is_display_score'] = true;
|
$result['is_display_score'] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 头像
|
||||||
|
$result['avatar'] = addAliyunOssWebsite($user_doctor['avatar']);
|
||||||
|
|
||||||
return success($result);
|
return success($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -291,7 +289,6 @@ class PatientDoctorService extends BaseService
|
|||||||
"doctor_title",
|
"doctor_title",
|
||||||
"department_custom_name",
|
"department_custom_name",
|
||||||
"hospital_id",
|
"hospital_id",
|
||||||
"hospital_name",
|
|
||||||
"be_good_at",
|
"be_good_at",
|
||||||
"brief_introduction",
|
"brief_introduction",
|
||||||
];
|
];
|
||||||
|
|||||||
64
app/Services/SystemService.php
Normal file
64
app/Services/SystemService.php
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
use App\Model\SystemInquiryConfig;
|
||||||
|
use App\Model\SystemInquiryTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统配置
|
||||||
|
*/
|
||||||
|
class SystemService extends BaseService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 获取系统问诊时间
|
||||||
|
* 快速问诊-问诊购药
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getSystemInquiryConfig(): array
|
||||||
|
{
|
||||||
|
$user_info = $this->request->getAttribute("userInfo") ?? [];
|
||||||
|
|
||||||
|
$inquiry_type = $this->request->input('inquiry_type');
|
||||||
|
$inquiry_mode = $this->request->input('inquiry_mode');
|
||||||
|
|
||||||
|
if ($inquiry_type != 2 && $inquiry_type != 4){
|
||||||
|
return fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
$params = array();
|
||||||
|
$params['inquiry_type'] = $inquiry_type;
|
||||||
|
$params['inquiry_mode'] = $inquiry_mode;
|
||||||
|
$system_inquiry_config = SystemInquiryConfig::getOne($params);
|
||||||
|
if (empty($system_inquiry_config)){
|
||||||
|
return fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
$fields = [
|
||||||
|
'inquiry_time_id',
|
||||||
|
'start_time',
|
||||||
|
'end_time',
|
||||||
|
'time_interval',
|
||||||
|
];
|
||||||
|
$params = array();
|
||||||
|
$params['system_inquiry_config_id'] = $system_inquiry_config['system_inquiry_config_id'];
|
||||||
|
$system_inquiry_time = SystemInquiryTime::getList($params,$fields);
|
||||||
|
if (empty($system_inquiry_time)){
|
||||||
|
return fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$time = [];
|
||||||
|
foreach ($system_inquiry_time as $item){
|
||||||
|
$time[] = $item['start_time'] . '-' . $item['end_time'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = [];
|
||||||
|
$result['time'] = $time;
|
||||||
|
$result['times_number'] = $system_inquiry_config['times_number']; // 沟通次数(0为不限制次数)
|
||||||
|
$result['duration'] = $system_inquiry_config['duration']; // 沟通时长(分钟,0为不限制时长)
|
||||||
|
$result['inquiry_price'] = $system_inquiry_config['inquiry_price']; // 接诊价格
|
||||||
|
|
||||||
|
return success($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -23,6 +23,7 @@ use App\Controller\PatientCenterController;
|
|||||||
use App\Controller\PatientDoctorController;
|
use App\Controller\PatientDoctorController;
|
||||||
use App\Controller\PatientFamilyController;
|
use App\Controller\PatientFamilyController;
|
||||||
use App\Controller\SafeController;
|
use App\Controller\SafeController;
|
||||||
|
use App\Controller\SystemController;
|
||||||
use App\Controller\UserController;
|
use App\Controller\UserController;
|
||||||
use App\Controller\UserDoctorController;
|
use App\Controller\UserDoctorController;
|
||||||
use App\Services\SafeService;
|
use App\Services\SafeService;
|
||||||
@ -178,6 +179,8 @@ Router::addGroup('/patient', function () {
|
|||||||
Router::post('', [OrderInquiryController::class, 'addInquiryOrder']);
|
Router::post('', [OrderInquiryController::class, 'addInquiryOrder']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 检测是否存在进行中的问诊订单
|
||||||
|
Router::post('/check', [OrderInquiryController::class, 'addInquiryOrder']);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 医生数据
|
// 医生数据
|
||||||
@ -227,7 +230,6 @@ Router::addGroup('/code', function () {
|
|||||||
Router::post('/phone', [CodeController::class, 'getPhoneCode']);
|
Router::post('/phone', [CodeController::class, 'getPhoneCode']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// 省市区
|
// 省市区
|
||||||
Router::addGroup('/area', function () {
|
Router::addGroup('/area', function () {
|
||||||
// 获取省份信息
|
// 获取省份信息
|
||||||
@ -279,3 +281,12 @@ Router::addGroup('/basic', function () {
|
|||||||
|
|
||||||
// 获取医生评价
|
// 获取医生评价
|
||||||
Router::get('/evaluation', [UserDoctorController::class, 'getDoctorEvaluationList']);
|
Router::get('/evaluation', [UserDoctorController::class, 'getDoctorEvaluationList']);
|
||||||
|
|
||||||
|
// 系统配置
|
||||||
|
Router::addGroup('/system', function () {
|
||||||
|
// 问诊
|
||||||
|
Router::addGroup('/inquiry', function () {
|
||||||
|
// 获取系统问诊配置 快速问诊-问诊购药
|
||||||
|
Router::get('/config', [SystemController::class, 'getSystemInquiryConfig']);
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user