From 88a04aa4e826cd9fd6da6a1a72857278d495186e Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Sat, 18 Mar 2023 11:02:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=97=85=E4=BE=8B=E7=A6=81?= =?UTF-8?q?=E5=BF=8C=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/CallBackController.php | 5 +-- app/Model/OrderInquiryCase.php | 9 ++---- app/Services/InquiryService.php | 46 +++++++++++++++------------ 3 files changed, 31 insertions(+), 29 deletions(-) diff --git a/app/Controller/CallBackController.php b/app/Controller/CallBackController.php index 0034514..7050daa 100644 --- a/app/Controller/CallBackController.php +++ b/app/Controller/CallBackController.php @@ -7,6 +7,7 @@ use App\Constants\DoctorTitleCode; use App\Constants\HttpEnumCode; use App\Exception\BusinessException; use App\Model\Hospital; +use App\Model\MessageIm; use App\Model\OrderInquiry; use App\Model\OrderInquiryCoupon; use App\Model\OrderInquiryRefund; @@ -612,7 +613,7 @@ class CallBackController extends AbstractController // 验证消息重复性 $params = array(); $params['message_key'] = $request_params['MsgKey']; - $message = \App\Model\MessageIm::getExists($params); + $message = MessageIm::getExists($params); if ($message){ // 消息重复 Log::getInstance()->info("Im回调数据处理失败:消息重复"); @@ -673,7 +674,7 @@ class CallBackController extends AbstractController $message_content = $request_params['MsgBody'][0]['MsgContent']; $data['message_content'] = json_encode($message_content,JSON_UNESCAPED_UNICODE); $data['message_custom_content'] = $request_params['CloudCustomData'] ?? ""; - $message = \App\Model\MessageIm::addMessage($data); + $message = MessageIm::addMessage($data); if (empty($message)){ Log::getInstance()->error("Im回调数据处理失败:存储数据库失败"); return $this->wxPayErrorReturn("存储数据库失败"); diff --git a/app/Model/OrderInquiryCase.php b/app/Model/OrderInquiryCase.php index 2c11c21..16acf37 100644 --- a/app/Model/OrderInquiryCase.php +++ b/app/Model/OrderInquiryCase.php @@ -10,7 +10,6 @@ use Hyperf\Snowflake\Concern\Snowflake; /** * @property int $inquiry_case_id 主键id - * @property int $inquiry_cases_id 主键id * @property int $user_id 用户id * @property int $patient_id 患者id * @property int $order_inquiry_id 订单-问诊id @@ -33,6 +32,7 @@ use Hyperf\Snowflake\Concern\Snowflake; * @property string $family_history 家族病史描述 * @property int $is_pregnant 是否备孕、妊娠、哺乳期(0:否 1:是) * @property string $pregnant 备孕、妊娠、哺乳期描述 + * @property int $is_taboo 是否存在禁忌药物(0:否 1:是)问诊购药时存在 * @property \Carbon\Carbon $created_at 创建时间 * @property \Carbon\Carbon $updated_at 修改时间 * @property-read BasicJob $BasicJob @@ -51,12 +51,7 @@ class OrderInquiryCase extends Model /** * The attributes that are mass assignable. */ - protected array $fillable = ['inquiry_case_id', 'inquiry_cases_id', 'user_id', 'patient_id', 'order_inquiry_id', 'family_id', 'relation', 'status', 'name', 'sex', 'age', 'height', 'weight', 'disease_class_id', 'disease_class_name', 'diagnosis_date', 'disease_desc', 'diagnose_images', 'is_allergy_history', 'allergy_history', 'is_family_history', 'family_history', 'is_pregnant', 'pregnant', 'created_at', 'updated_at']; - - /** - * The attributes that should be cast to native types. - */ - protected array $casts = ['inquiry_case_id' => 'integer', 'inquiry_cases_id' => 'integer', 'user_id' => 'integer', 'patient_id' => 'integer', 'order_inquiry_id' => 'integer', 'family_id' => 'integer', 'relation' => 'integer', 'status' => 'integer', 'sex' => 'integer', 'age' => 'integer', 'disease_class_id' => 'integer', 'is_allergy_history' => 'integer', 'is_family_history' => 'integer', 'is_pregnant' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime']; + protected array $fillable = ['inquiry_case_id', 'user_id', 'patient_id', 'order_inquiry_id', 'family_id', 'relation', 'status', 'name', 'sex', 'age', 'height', 'weight', 'disease_class_id', 'disease_class_name', 'diagnosis_date', 'disease_desc', 'diagnose_images', 'is_allergy_history', 'allergy_history', 'is_family_history', 'family_history', 'is_pregnant', 'pregnant', 'is_taboo', 'created_at', 'updated_at']; protected string $primaryKey = "inquiry_case_id"; diff --git a/app/Services/InquiryService.php b/app/Services/InquiryService.php index 904ab37..8682451 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -72,6 +72,11 @@ class InquiryService extends BaseService return fail(HttpEnumCode::HTTP_ERROR, "请您到线下问诊"); } + // 是否存在禁忌 + if (!empty($request_params['is_taboo'])) { + return fail(HttpEnumCode::HTTP_ERROR, "无法为您开具药物"); + } + // 检测所患疾病是否正确 $params = array(); $params['disease_class_id'] = $request_params['disease_class_id']; @@ -83,26 +88,26 @@ class InquiryService extends BaseService // 获取当前问诊医生信息 // 专家问诊-公益问诊 -// if ($request_params['inquiry_type'] == 3 || $request_params['inquiry_type'] == 1) { -// if (empty($request_params['doctor_id'])) { -// return fail(HttpEnumCode::HTTP_ERROR, "未选择医生"); -// } -// -// $params = array(); -// $params['doctor_id'] = $request_params['doctor_id']; -// $doctor = UserDoctor::getOne($params); -// if (empty($doctor)) { -// return fail(HttpEnumCode::HTTP_ERROR, "未知医生"); -// } -// -// if ($doctor['idcard_status'] != 1) { -// return fail(HttpEnumCode::HTTP_ERROR, "当前医生无法接诊,请重新选择"); -// } -// -// if ($doctor['iden_auth_status'] != 1) { -// return fail(HttpEnumCode::HTTP_ERROR, "当前医生无法接诊,请重新选择"); -// } -// } + if ($request_params['inquiry_type'] == 3 || $request_params['inquiry_type'] == 1) { + if (empty($request_params['doctor_id'])) { + return fail(HttpEnumCode::HTTP_ERROR, "未选择医生"); + } + + $params = array(); + $params['doctor_id'] = $request_params['doctor_id']; + $doctor = UserDoctor::getOne($params); + if (empty($doctor)) { + return fail(HttpEnumCode::HTTP_ERROR, "未知医生"); + } + + if ($doctor['idcard_status'] != 1) { + return fail(HttpEnumCode::HTTP_ERROR, "当前医生无法接诊,请重新选择"); + } + + if ($doctor['iden_auth_status'] != 1) { + return fail(HttpEnumCode::HTTP_ERROR, "当前医生无法接诊,请重新选择"); + } + } // 获取问诊价格 $DoctorInquiryService = new DoctorInquiryService(); @@ -185,6 +190,7 @@ class InquiryService extends BaseService $data['is_family_history'] = $request_params['is_family_history'] ?: 0; // 是否存在家族病史(0:否 1:是) $data['family_history'] = $request_params['family_history'] ?? null; // 家族病史描述 $data['is_pregnant'] = $request_params['is_pregnant'] ?: 0; // 是否备孕、妊娠、哺乳期(0:否 1:是) + $data['is_taboo'] = $request_params['is_taboo'] ?: 0; // 是否存在禁忌药物(0:否 1:是)问诊购药时存在 $order_inquiry_case = OrderInquiryCase::addOrderInquiryCase($data); if (empty($order_inquiry_case)) { Db::rollBack();