request->getAttribute("userInfo") ?? []; $pharmacist_audit_status = $this->request->input('pharmacist_audit_status'); $platform_audit_status = $this->request->input('platform_audit_status'); $page = $this->request->input('page', 1); $per_page = $this->request->input('per_page', 10); $OrderPrescriptionService = new OrderPrescriptionService(); $prescription = $OrderPrescriptionService->getPharmacistWaitAuditPage($user_info['client_user_id'], $pharmacist_audit_status, $platform_audit_status, $page, $per_page); if (!empty($prescription['data'])) { foreach ($prescription['data'] as &$item) { $item['prescription_img'] = addAliyunOssWebsite($item['prescription_img']); } } return success($prescription); } /** * 设置上下线 * @return array */ public function putOnOff(): array { $user_info = $this->request->getAttribute("userInfo") ?? []; $is_online = $this->request->input('is_online'); // 获取药师数据 $params = array(); $params['user_id'] = $user_info['user_id']; $user_pharmacist = UserPharmacist::getOne($params); if (empty($user_pharmacist)) { return fail(); } $data = array(); $data['is_online'] = $is_online; $params = array(); $params['pharmacist_id'] = $user_pharmacist['pharmacist_id']; UserPharmacist::editUserPharmacist($params, $data); return success(); } /** * 获取处方详情 * @return array */ public function getPrescriptionInfo(): array { $user_info = $this->request->getAttribute("userInfo") ?? []; $order_prescription_id = $this->request->route('order_prescription_id'); // 获取药师数据 $params = array(); $params['user_id'] = $user_info['user_id']; $user_pharmacist = UserPharmacist::getOne($params); if (empty($user_pharmacist)) { return fail(); } // 获取处方数据 $fields = [ "order_prescription_id", "order_inquiry_id", "prescription_status", "pharmacist_audit_status", "platform_audit_status", "prescription_img", ]; $params = array(); $params['order_prescription_id'] = $order_prescription_id; $params['pharmacist_id'] = $user_info['client_user_id']; $order_prescription = OrderPrescription::getOne($params, $fields); if (empty($order_prescription)) { return fail(); } $order_prescription['prescription_img'] = addAliyunOssWebsite($order_prescription['prescription_img']); return success($order_prescription->toArray()); } /** * 审核处方 * @return array */ public function putPrescriptionVerify(): array { $user_info = $this->request->getAttribute("userInfo") ?? []; $order_prescription_id = $this->request->route('order_prescription_id'); $pharmacist_audit_status = $this->request->route('pharmacist_audit_status'); $pharmacist_fail_reason = $this->request->route('pharmacist_fail_reason'); // 验证器未验证未0的情况 if ($pharmacist_audit_status == 0){ return fail(HttpEnumCode::CLIENT_HTTP_ERROR); } // 获取药师数据 $params = array(); $params['user_id'] = $user_info['user_id']; $user_pharmacist = UserPharmacist::getOne($params); if (empty($user_pharmacist)) { return fail(); } // 获取处方数据 $params = array(); $params['order_prescription_id'] = $order_prescription_id; $params['pharmacist_id'] = $user_info['client_user_id']; $order_prescription = OrderPrescription::getOne($params); if (empty($order_prescription)) { return fail(); } // 验证处方状态 if ($order_prescription['prescription_status'] != 1){ // 处方状态(1:待审核 3:待使用 4:已失效 5:已使用) return fail(HttpEnumCode::HTTP_ERROR,"处方审核失败"); } // 验证处方审核状态 if ($order_prescription['pharmacist_audit_status'] != 0){ // 药师审核状态(0:审核中 1:审核成功 2:审核驳回) return fail(HttpEnumCode::HTTP_ERROR,"处方已审核,请勿重复审核"); } // 处方平台审核状态 if ($order_prescription['platform_audit_status'] != 0){ // 处方平台审核状态(0:审核中 1:审核成功 2:审核驳回) return fail(HttpEnumCode::HTTP_ERROR,"处方已审核,请勿重复审核"); } // return success($order_prescription->toArray()); } public function getPharmacistInfo(): array { $user_info = $this->request->getAttribute("userInfo") ?? []; // 获取药师数据 $params = array(); $params['user_id'] = $user_info['user_id']; $user_pharmacist = UserPharmacist::getOne($params); if (empty($user_pharmacist)) { return fail(); } // 获取药师详情数据 $params = array(); $params['user_id'] = $user_info['user_id']; } }