From 25ce316ce9853de476a0b4bf01c94f47b7496f30 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Mon, 23 Oct 2023 11:56:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=BA=91?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E5=90=8A=E9=94=80=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=B5=8B=E8=AF=95=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/TestController.php | 68 ++++++++++++++----------------- extend/Ca/CaOnline.php | 31 ++++++++++++++ 2 files changed, 61 insertions(+), 38 deletions(-) diff --git a/app/Controller/TestController.php b/app/Controller/TestController.php index f068759..6442d41 100644 --- a/app/Controller/TestController.php +++ b/app/Controller/TestController.php @@ -77,7 +77,7 @@ class TestController extends AbstractController // $this->test_12(); // $this->test_13(); // $this->test_14(); - $this->test_15(); + $this->test_14(); } // 获取未接诊的医生 @@ -300,29 +300,29 @@ class TestController extends AbstractController public function test_14(){ $CaOnline = new CaOnline(); -// // 测试医生 -// $data = array(); -// $data['user_id'] = "491925054435950592"; -// $data['mobile'] = "13028643897"; -// $data['card_name'] = "郝明明"; -// $data['card_num'] = "130582199202032038"; -// $data['orgDept'] = "科室名称"; -// $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; -// $data['org_number'] = "91510106MABTJY4K9R"; -// $result = $CaOnline->getCloudCert($data); -// -// $data = array(); -// $data['user_id'] = "491925054435950592"; -// $data['type'] = 2; -// $data['cert_base64'] = $result['certBase64']; -// $data['cert_chain_p7'] = $result['certP7']; -// $data['cert_serial_number'] = $result['certSerialnumber']; -// $data['ca_pin'] = "491925054435950592"; -// $doctor_pharmacist_cert = UserCaCert::addDoctorPharmacistCert($data); -// if (empty($doctor_pharmacist_cert)){ -// return fail(); -// } -// dump(111); + // 测试医生 + $data = array(); + $data['user_id'] = "491925054435950592"; + $data['mobile'] = "13028643897"; + $data['card_name'] = "郝明明"; + $data['card_num'] = "130582199202032038"; + $data['orgDept'] = "科室名称"; + $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; + $data['org_number'] = "91510106MABTJY4K9R"; + $result = $CaOnline->getCloudCert($data); + + $data = array(); + $data['user_id'] = "491925054435950592"; + $data['type'] = 2; + $data['cert_base64'] = $result['certBase64']; + $data['cert_chain_p7'] = $result['certP7']; + $data['cert_serial_number'] = $result['certSerialnumber']; + $data['ca_pin'] = "491925054435950592"; + $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); + if (empty($doctor_pharmacist_cert)){ + return fail(); + } + dump(111); // // 测试药师 // $data = array(); @@ -370,22 +370,14 @@ class TestController extends AbstractController } public function test_15(){ - $params = array(); - $params[] = ['inquiry_type','=',2]; - $params[] = ['inquiry_mode','=',1]; - $params[] = ['start_time','<',date('H',time()) . date('i',time())]; - $params[] = ['end_time','>',date('H',time()) . date('i',time())]; + $CaOnline = new CaOnline(); - $user_doctor_params = array(); - $user_doctor_params['is_platform_deep_cooperation'] = 1; + $a = array( + "user_id" => 491925054435950592 + ); + $data = $CaOnline->removeCloudCert($a); - $doctor_inquiry_config_params = array(); - $doctor_inquiry_config_params['inquiry_type'] = 2; - $doctor_inquiry_config_params['inquiry_mode'] = 1; - $doctor_inquiry_config_params['is_enable'] = 1; - - $doctor_inquiry_times = DoctorInquiryTime::getMinPlatDeepCooperationDoctor($params,$user_doctor_params,[],$doctor_inquiry_config_params); - dump($doctor_inquiry_times); + dump($data); } // 设置坐班医生 diff --git a/extend/Ca/CaOnline.php b/extend/Ca/CaOnline.php index 5f038fe..898a8ab 100644 --- a/extend/Ca/CaOnline.php +++ b/extend/Ca/CaOnline.php @@ -62,4 +62,35 @@ class CaOnline extends Ca throw new BusinessException($e->getMessage()); } } + + /** + * 吊销云证书 + * @param array $data + * @param string $type + * @return mixed + */ + public function removeCloudCert(array $data, string $type = "Personal"): mixed + { + $option = [ + 'form_params' => [ + 'entityId' => $data['user_id'], // 用户唯一标识,由业务系统定义 + 'pin' => $data['user_id'], // 证书PIN码 + 'authType' => "实人认证", // 委托鉴证方式[实人认证、线下认证、其它方式认证] + 'authTime' => time(), // 委托鉴证时间(鉴证完成的时间戳)单位:秒 + 'authResult' => "认证通过", // 委托鉴证结果[认证通过] + 'authNoticeType' => "数字证书吊销告知", // 委托鉴证告知类型[数字证书申请告知] + ] + ]; + + try { + $response = $this->httpRequest($this->api_url . '/cloud-certificate-service' . '/api/cloudCert/open/v2/cert/certRevoke', $option); + if (empty($response)) { + // 返回值为空 + throw new BusinessException(HttpEnumCode::getMessage(HttpEnumCode::SERVER_ERROR)); + } + return $response; + } catch (GuzzleException $e) { + throw new BusinessException($e->getMessage()); + } + } } \ No newline at end of file From 674c3af24350f8af58d373ff6c8ae3781d81fae9 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Tue, 24 Oct 2023 14:09:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/TestController.php | 348 +++++++++++------------------ app/Services/UserDoctorService.php | 2 +- config/routes.php | 3 - extend/Ca/CaOnline.php | 33 ++- 4 files changed, 160 insertions(+), 226 deletions(-) diff --git a/app/Controller/TestController.php b/app/Controller/TestController.php index 6442d41..0ea0806 100644 --- a/app/Controller/TestController.php +++ b/app/Controller/TestController.php @@ -77,7 +77,7 @@ class TestController extends AbstractController // $this->test_12(); // $this->test_13(); // $this->test_14(); - $this->test_14(); + $this->test_17(); } // 获取未接诊的医生 @@ -301,28 +301,28 @@ class TestController extends AbstractController $CaOnline = new CaOnline(); // 测试医生 - $data = array(); - $data['user_id'] = "491925054435950592"; - $data['mobile'] = "13028643897"; - $data['card_name'] = "郝明明"; - $data['card_num'] = "130582199202032038"; - $data['orgDept'] = "科室名称"; - $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; - $data['org_number'] = "91510106MABTJY4K9R"; - $result = $CaOnline->getCloudCert($data); - - $data = array(); - $data['user_id'] = "491925054435950592"; - $data['type'] = 2; - $data['cert_base64'] = $result['certBase64']; - $data['cert_chain_p7'] = $result['certP7']; - $data['cert_serial_number'] = $result['certSerialnumber']; - $data['ca_pin'] = "491925054435950592"; - $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); - if (empty($doctor_pharmacist_cert)){ - return fail(); - } - dump(111); +// $data = array(); +// $data['user_id'] = "491925054435950592"; +// $data['mobile'] = "13028643897"; +// $data['card_name'] = "郝明明"; +// $data['card_num'] = "130582199202032038"; +// $data['orgDept'] = "科室名称"; +// $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; +// $data['org_number'] = "91510106MABTJY4K9R"; +// $result = $CaOnline->getCloudCert($data); +// +// $data = array(); +// $data['user_id'] = "491925054435950592"; +// $data['type'] = 2; +// $data['cert_base64'] = $result['certBase64']; +// $data['cert_chain_p7'] = $result['certP7']; +// $data['cert_serial_number'] = $result['certSerialnumber']; +// $data['ca_pin'] = "491925054435950592"; +// $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); +// if (empty($doctor_pharmacist_cert)){ +// return fail(); +// } +// dump(111); // // 测试药师 // $data = array(); @@ -342,241 +342,147 @@ class TestController extends AbstractController // $data['cert_chain_p7'] = $result['certP7']; // $data['cert_serial_number'] = $result['certSerialnumber']; // $data['ca_pin'] = "534534546"; -// $doctor_pharmacist_cert = UserCaCert::addDoctorPharmacistCert($data); +// $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); // if (empty($doctor_pharmacist_cert)){ // return fail(); // } -// // 测试医院 -// $data = array(); -// $data['user_id'] = "5345345461"; -// $data['mobile'] = "18221234167"; -// $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; -// $data['org_number'] = "91510106MABTJY4K9R"; -// -// $result = $CaOnline->getCloudCert($data,'Organizational'); -// -// $data = array(); -// $data['is_system'] = 1; -// $data['type'] = 2; -// $data['cert_base64'] = $result['certBase64']; -// $data['cert_chain_p7'] = $result['certP7']; -// $data['cert_serial_number'] = $result['certSerialnumber']; -// $data['ca_pin'] = "5345345461"; -// $doctor_pharmacist_cert = UserCaCert::addDoctorPharmacistCert($data); -// if (empty($doctor_pharmacist_cert)){ -// return fail(); -// } + // 测试医院 + $data = array(); + $data['user_id'] = "5345345461"; + $data['mobile'] = "18221234167"; + $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; + $data['org_number'] = "91510106MABTJY4K9R"; + + $result = $CaOnline->getCloudCert($data,'Organizational'); + + $data = array(); + $data['is_system'] = 1; + $data['type'] = 2; + $data['cert_base64'] = $result['certBase64']; + $data['cert_chain_p7'] = $result['certP7']; + $data['cert_serial_number'] = $result['certSerialnumber']; + $data['ca_pin'] = "5345345461"; + $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); + if (empty($doctor_pharmacist_cert)){ + return fail(); + } } public function test_15(){ $CaOnline = new CaOnline(); $a = array( - "user_id" => 491925054435950592 + "user_id" => 5345345461 ); $data = $CaOnline->removeCloudCert($a); dump($data); } - // 设置坐班医生 - public function setDoctor(){ -// $timestamp = time(); // 当前时间戳 + + // 更新云证书-线上 + public function test_16(){ + $CaOnline = new CaOnline(); + + // 测试医生 +// $data = array(); +// $data['user_id'] = "491925054435950592"; +// $data['mobile'] = "13028643897"; +// $data['card_name'] = "郝明明"; +// $data['card_num'] = "130582199202032038"; +// $data['orgDept'] = "科室名称"; +// $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; +// $data['org_number'] = "91510106MABTJY4K9R"; +// $result = $CaOnline->getCloudCert($data); // -// // 计算本周一的时间戳 -// $weekStartTimestamp = strtotime("Monday this week", $timestamp); -// -// // 获取每日日期 -// for ($i = 21; $i < 28; $i++) { -// $date = date('Y-m-d', strtotime("+$i days", $weekStartTimestamp)); -// $this->secondDoctor($date); +// $data = array(); +// $data['user_id'] = "491925054435950592"; +// $data['type'] = 2; +// $data['cert_base64'] = $result['certBase64']; +// $data['cert_chain_p7'] = $result['certP7']; +// $data['cert_serial_number'] = $result['certSerialnumber']; +// $data['ca_pin'] = "491925054435950592"; +// $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); +// if (empty($doctor_pharmacist_cert)){ +// return fail(); // } - } +// dump(111); - function firstDoctor($date){ - $dayOfWeek = date('N', strtotime($date)); +// // 测试药师 +// $data = array(); +// $data['user_id'] = "534534546"; +// $data['mobile'] = "18812345678"; +// $data['card_name'] = "仝成亮"; +// $data['card_num'] = "411322199212122054"; +// $data['orgDept'] = "科室名称"; +// $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; +// $data['org_number'] = "91510106MABTJY4K9R"; +// $result = $CaOnline->getCloudCert($data); +// +// $data = array(); +// $data['user_id'] = "534534546"; +// $data['type'] = 2; +// $data['cert_base64'] = $result['certBase64']; +// $data['cert_chain_p7'] = $result['certP7']; +// $data['cert_serial_number'] = $result['certSerialnumber']; +// $data['ca_pin'] = "534534546"; +// $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); +// if (empty($doctor_pharmacist_cert)){ +// return fail(); +// } - // 第一周 - if ($dayOfWeek == 1){ - $doctor_id = "534770104371658752"; // 吕明磊 - } elseif ($dayOfWeek == 2){ - $doctor_id = "534770104371658752"; // 吕明磊 - } elseif ($dayOfWeek == 3){ - $doctor_id = "515881272740962304"; // 乔新勋 - } elseif ($dayOfWeek == 4){ - $doctor_id = "534770104371658752"; // 吕明磊 - } elseif ($dayOfWeek == 5){ - $doctor_id = "515881272740962304"; // 乔新勋 - } elseif ($dayOfWeek == 6){ - $doctor_id = "515881272740962304"; // 乔新勋 - } elseif ($dayOfWeek == 7){ - $doctor_id = "515881272740962304"; // 乔新勋 - } - - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 2; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1000"; - $data['end_time'] = "1230"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ + $params = array(); + $params['ca_pin'] = "491925054435950592"; + $params['type'] = "2"; + $user_ca_cert = UserCaCert::getOne($params); + if (empty($user_ca_cert)){ return fail(); } + // 测试医院 $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 2; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1430"; - $data['end_time'] = "1730"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $data['user_id'] = "491925054435950592"; + $result = $CaOnline->renewCloudCert($data); + + dump($result); $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 2; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1830"; - $data['end_time'] = "2130"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $data['cert_base64'] = $result['certBase64']; + $data['cert_chain_p7'] = $result['certP7']; + $data['cert_serial_number'] = $result['certSerialnumber']; + $data['ca_pin'] = "491925054435950592"; - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 4; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1000"; - $data['end_time'] = "1230"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } - - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 4; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1430"; - $data['end_time'] = "1730"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } - - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 4; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1830"; - $data['end_time'] = "2130"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ + $params = array(); + $params['cert_id'] = $user_ca_cert['cert_id']; + $res = UserCaCert::edit($params,$data); + if (empty($res)){ return fail(); } } - function secondDoctor($date){ - $dayOfWeek = date('N', strtotime($date)); + public function test_17(){ + $weChat = new Wechat(1); - // 第一周 - if ($dayOfWeek == 1){ - $doctor_id = "515881272740962304"; // 乔新勋 - } elseif ($dayOfWeek == 2){ - $doctor_id = "534770104371658752"; // 吕明磊 - } elseif ($dayOfWeek == 3){ - $doctor_id = "515881272740962304"; // 乔新勋 - } elseif ($dayOfWeek == 4){ - $doctor_id = "534770104371658752"; // 吕明磊 - } elseif ($dayOfWeek == 5){ - $doctor_id = "515881272740962304"; // 乔新勋 - } elseif ($dayOfWeek == 6){ - $doctor_id = "534770104371658752"; // 吕明磊 - } elseif ($dayOfWeek == 7){ - $doctor_id = "515881272740962304"; // 乔新勋 + $env_version = "release"; + $app_env = \Hyperf\Support\env("APP_ENV",'dev'); + if ($app_env == "dev"){ + $env_version = "trial"; } - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 2; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1000"; - $data['end_time'] = "1230"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $options = [ + "scene" => "?doctor_id=516900370252341248",// query 参数 + "page" => "pages/expertDetail/expertDetail", + "check_path" => false, + "env_version" => $env_version, + ]; - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 2; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1430"; - $data['end_time'] = "1730"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $img_buffer = $weChat->getUnlimitedQRCode($options); - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 2; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1830"; - $data['end_time'] = "2130"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $oss = new Oss(); - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 4; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1000"; - $data['end_time'] = "1230"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $filename = "applet/doctor/card/516900370252341248.jpg"; - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 4; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1430"; - $data['end_time'] = "1730"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } - - $data = array(); - $data['doctor_id'] = $doctor_id; - $data['inquiry_type'] = 4; - $data['inquiry_mode'] = 1; - $data['inquiry_date'] = $date; - $data['start_time'] = "1830"; - $data['end_time'] = "2130"; - $doctor_inquiry_time = DoctorInquiryTime::add($data); - if (empty($doctor_inquiry_time)){ - return fail(); - } + $oss->putObject($filename, $img_buffer); } } \ No newline at end of file diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index 0ad7623..d732d70 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -1634,7 +1634,7 @@ class UserDoctorService extends BaseService $options = [ "scene" => "doctor_id=" . $user_doctor['doctor_id'],// query 参数 - "page" => "", + "page" => "pages/expertDetail/expertDetail", "check_path" => false, "env_version" => $env_version, ]; diff --git a/config/routes.php b/config/routes.php index ba62ff5..d9a0b37 100644 --- a/config/routes.php +++ b/config/routes.php @@ -716,9 +716,6 @@ Router::addGroup('/test', function () { // 模拟退款 // Router::get('/refund', [TestController::class, 'refund']); - // 设置坐班医生 - Router::get('/doctor', [TestController::class, 'setDoctor']); - }); // 地址管理 diff --git a/extend/Ca/CaOnline.php b/extend/Ca/CaOnline.php index 898a8ab..d07a04e 100644 --- a/extend/Ca/CaOnline.php +++ b/extend/Ca/CaOnline.php @@ -69,7 +69,7 @@ class CaOnline extends Ca * @param string $type * @return mixed */ - public function removeCloudCert(array $data, string $type = "Personal"): mixed + public function removeCloudCert(array $data): mixed { $option = [ 'form_params' => [ @@ -93,4 +93,35 @@ class CaOnline extends Ca throw new BusinessException($e->getMessage()); } } + + /** + * 更新云证书 + * @param array $data + * @param string $type + * @return mixed + */ + public function renewCloudCert(array $data): mixed + { + $option = [ + 'form_params' => [ + 'entityId' => $data['user_id'], // 用户唯一标识,由业务系统定义 + 'pin' => $data['user_id'], // 证书PIN码 + 'authType' => "实人认证", // 委托鉴证方式[实人认证、线下认证、其它方式认证] + 'authTime' => time(), // 委托鉴证时间(鉴证完成的时间戳)单位:秒 + 'authResult' => "认证通过", // 委托鉴证结果[认证通过] + 'authNoticeType' => "数字证书更新告知", // 委托鉴证告知类型[数字证书申请告知] + ] + ]; + + try { + $response = $this->httpRequest($this->api_url . '/cloud-certificate-service' . '/api/cloudCert/open/v2/cert/certRenew', $option); + if (empty($response)) { + // 返回值为空 + throw new BusinessException(HttpEnumCode::getMessage(HttpEnumCode::SERVER_ERROR)); + } + return $response; + } catch (GuzzleException $e) { + throw new BusinessException($e->getMessage()); + } + } } \ No newline at end of file