80 lines
3.3 KiB
PHP
80 lines
3.3 KiB
PHP
<?php
|
||
|
||
declare(strict_types=1);
|
||
|
||
namespace App\Request;
|
||
|
||
use App\Constants\HttpEnumCode;
|
||
use Hyperf\Validation\Request\FormRequest;
|
||
|
||
class PatientDoctorRequest extends FormRequest
|
||
{
|
||
protected array $scenes = [
|
||
'getInquiryDoctorList' => [
|
||
'expertise_id',
|
||
'province_id',
|
||
'city_id',
|
||
'sort_order',
|
||
'keyword',
|
||
'is_first_online' // 是否优先在线(1:是)
|
||
],
|
||
'getDoctorInquiryCheck' => [ // 检测是否可以接诊
|
||
'inquiry_type', // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||
'inquiry_mode', // 订单问诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||
'doctor_id', // 医生id(非必需)
|
||
],
|
||
'getDoctorList' => [ // 获取我的问诊、关注医生列表
|
||
'my_doctor_type', // 医生类型(1:问诊 2:关注)
|
||
],
|
||
];
|
||
|
||
/**
|
||
* 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 [
|
||
'sort_order' => 'sometimes|integer|min:1|max:5',
|
||
'inquiry_type' => 'required|integer|min:1|max:4',
|
||
'inquiry_mode' => 'required|integer|min:1|max:7',
|
||
'my_doctor_type' => 'required|integer|min:1|max:2',
|
||
'is_first_online' => 'integer|min:0|max:1',
|
||
];
|
||
}
|
||
|
||
/**
|
||
* 获取已定义验证规则的错误消息.
|
||
*/
|
||
public function messages(): array
|
||
{
|
||
return [
|
||
'sort_order.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'sort_order.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'sort_order.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'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),
|
||
'my_doctor_type.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'my_doctor_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'my_doctor_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'my_doctor_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'is_first_online.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'is_first_online.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
'is_first_online.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR),
|
||
];
|
||
}
|
||
}
|