diff --git a/app/Controller/CallBackController.php b/app/Controller/CallBackController.php index 0b5f39f..2c10090 100644 --- a/app/Controller/CallBackController.php +++ b/app/Controller/CallBackController.php @@ -361,9 +361,9 @@ class CallBackController extends AbstractController if (!empty($cloud_custom_data['is_system'])){ if ($cloud_custom_data['is_system'] != 1){ // 非系统发送 - if (!empty($cloud_custom_data['sender_user_type'])){ - if ($cloud_custom_data['sender_user_type'] == 1 || $cloud_custom_data['sender_user_type'] == 2){ - // 患者-医生发送 + if ($cloud_custom_data['sender_user_type'] == 1 || $cloud_custom_data['sender_user_type'] == 2){ + // 患者-医生发送 + if (!empty($order_inquiry['doctor_id'])){ $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; $data['patient_name'] = $order_inquiry['patient_name']; $data['patient_sex'] = $order_inquiry['patient_sex']; @@ -374,6 +374,7 @@ class CallBackController extends AbstractController $imService = new ImService(); $imService->addRecentContactRecordCache($order_inquiry['doctor_id'],$order_inquiry['inquiry_type'],$order_inquiry['user_id'],$data); + } } } diff --git a/app/Controller/UserController.php b/app/Controller/UserController.php index e2684b0..1010422 100644 --- a/app/Controller/UserController.php +++ b/app/Controller/UserController.php @@ -164,8 +164,8 @@ class UserController extends AbstractController // 自定义消息 $cloud_custom_data = array(); - $cloud_custom_data['order_inquiry_id'] = 491937904055369728; - $cloud_custom_data['is_system'] = 1; + $cloud_custom_data['order_inquiry_id'] = 491963820554948608; + $cloud_custom_data['is_system'] = 0; $arg['CloudCustomData'] = json_encode($cloud_custom_data,JSON_UNESCAPED_UNICODE); diff --git a/app/Controller/UserDoctorController.php b/app/Controller/UserDoctorController.php index b48f500..b13177e 100644 --- a/app/Controller/UserDoctorController.php +++ b/app/Controller/UserDoctorController.php @@ -301,8 +301,19 @@ class UserDoctorController extends AbstractController return $this->response->json($data); } - // 获取医生问诊消息列表 - public function getDoctorMessageList(){ + /** + * 获取医生问诊消息列表 + * @return ResponseInterface + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function getDoctorMessageList(): ResponseInterface + { + $request = $this->container->get(UserDoctorRequest::class); + $request->scene('getDoctorMessageList')->validateResolved(); + $UserDoctorService = new UserDoctorService(); + $data = $UserDoctorService->getDoctorMessageList(); + return $this->response->json($data); } } \ No newline at end of file diff --git a/app/Middleware/Auth/AuthMiddleware.php b/app/Middleware/Auth/AuthMiddleware.php index 39af594..834f17e 100644 --- a/app/Middleware/Auth/AuthMiddleware.php +++ b/app/Middleware/Auth/AuthMiddleware.php @@ -114,6 +114,7 @@ class AuthMiddleware implements MiddlewareInterface $params = array(); $params['user_id'] = $result['userInfo']['user_id']; $user = User::getOne($params); + if (empty($user)){ return $this->response->json(fail(HttpEnumCode::HTTP_ERROR)); } diff --git a/app/Request/UserDoctorRequest.php b/app/Request/UserDoctorRequest.php index 609bbd5..7c59d69 100644 --- a/app/Request/UserDoctorRequest.php +++ b/app/Request/UserDoctorRequest.php @@ -69,6 +69,9 @@ class UserDoctorRequest extends FormRequest 'doctor_advice', // 医嘱 'prescription_product',// 处方药品[] ], + 'getDoctorMessageList' => [ // 获取医生问诊消息列表 + 'message_inquiry_type',// 消息订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:结束) + ], ]; /** @@ -106,6 +109,7 @@ class UserDoctorRequest extends FormRequest 'prescription_icd' => 'required|array|min:1', 'doctor_advice' => 'required', 'prescription_product' => 'required|array|min:1', + 'message_inquiry_type' => 'required|integer|min:1|max:5', ]; } @@ -165,6 +169,11 @@ class UserDoctorRequest extends FormRequest 'prescription_product.required' => "请开具药品", 'prescription_product.array' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), 'prescription_product.min' => "请开具药品", + + 'message_inquiry_type.required' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + 'message_inquiry_type.integer' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + 'message_inquiry_type.min' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), + 'message_inquiry_type.max' => HttpEnumCode::getMessage(HttpEnumCode::CLIENT_HTTP_ERROR), ]; } } diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index be9fde9..c71048f 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -36,6 +36,7 @@ use Extend\Alibaba\Oss; use Extend\Wechat\Wechat; use Hyperf\Amqp\Producer; use Hyperf\DbConnection\Db; +use Hyperf\Redis\Redis; use Hyperf\Snowflake\IdGeneratorInterface; use Hyperf\Utils\ApplicationContext; use Psr\Container\ContainerExceptionInterface; @@ -1325,6 +1326,28 @@ class UserDoctorService extends BaseService return success($result); } + /** + * 获取医生问诊消息列表 + * @return array + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function getDoctorMessageList(): array + { + $user_info = $this->request->getAttribute("userInfo") ?? []; + + $message_inquiry_type = $this->request->input('message_inquiry_type'); + + $redis_key = "recentContact" . $user_info['client_user_id'] . $message_inquiry_type; + dump($redis_key); + $redis = $this->container->get(Redis::class); + $result = $redis->hKeys($redis_key); + dump($result); + + return success($result); + } + + /** * 检测医生身份认证 * @param object|array $user_doctor 医生表数据 @@ -1562,6 +1585,8 @@ class UserDoctorService extends BaseService return ""; } + + /** * 获取坐班时间包含某时间的平台深度合作医生 * @param string $inquiry_type