From 3f9d065d7e5fbbdabe0885de93d67fd417f7965a Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Sun, 28 Apr 2024 18:58:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=AE=9E=E5=90=8D?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E7=9A=84=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E3=80=81=E6=9A=82=E6=97=B6=E5=8E=BB=E9=99=A4=E4=BA=86=E7=BD=91?= =?UTF-8?q?=E6=98=93=E6=98=93=E7=9B=BE=E7=8E=AF=E5=A2=83=E7=9A=84=E5=8C=BA?= =?UTF-8?q?=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Model/LogIdCard.php | 83 +++++++++++++++++++++++++++ app/Services/DoctorAuthService.php | 3 +- app/Services/PatientFamilyService.php | 5 +- extend/VerifyDun/IdCard.php | 36 ++++++++++-- 4 files changed, 119 insertions(+), 8 deletions(-) create mode 100644 app/Model/LogIdCard.php diff --git a/app/Model/LogIdCard.php b/app/Model/LogIdCard.php new file mode 100644 index 0000000..365f9fa --- /dev/null +++ b/app/Model/LogIdCard.php @@ -0,0 +1,83 @@ +first($fields); + } + + /** + * 获取数据-多 + * @param array $params + * @param array $fields + * @return Collection|array + */ + public static function getList(array $params = [], array $fields = ['*']): Collection|array + { + return self::where($params)->get($fields); + } + + /** + * 修改 + * @param array $params + * @param array $data + * @return int + */ + public static function edit(array $params = [], array $data = []): int + { + return self::where($params)->update($data); + } + + /** + * 新增 + * @param array $data + * @return LogIdCard|\Hyperf\Database\Model\Model + */ + public static function addLogIdCard(array $data): LogIdCard|\Hyperf\Database\Model\Model + { + return self::create($data); + } + +} diff --git a/app/Services/DoctorAuthService.php b/app/Services/DoctorAuthService.php index c83f6ae..0efb59e 100644 --- a/app/Services/DoctorAuthService.php +++ b/app/Services/DoctorAuthService.php @@ -122,12 +122,13 @@ class DoctorAuthService extends BaseService // 网易易盾认证 // 实人认证-生产环境开启 $app_env = config('app_env','dev'); - if ($app_env != "dev"){ + if ($app_env == "dev"){ $IdCard = new IdCard(); $params = array(); $params['name'] = $card_name; $params['cardNo'] = $card_num; + $params['dataId'] = $doctor['user_id']; $res = $IdCard->checkIdCard($params); if (!empty($res)) { return fail(HttpEnumCode::HTTP_ERROR, $res); diff --git a/app/Services/PatientFamilyService.php b/app/Services/PatientFamilyService.php index 9c4dba6..e6359f4 100644 --- a/app/Services/PatientFamilyService.php +++ b/app/Services/PatientFamilyService.php @@ -174,15 +174,14 @@ class PatientFamilyService extends BaseService } // 实人认证-生产环境开启 - - $app_env = config('app_env', 'dev'); - if ($app_env != "dev") { + if ($app_env == "dev") { $IdCard = new IdCard(); $params = array(); $params['name'] = $request_params['card_name']; $params['cardNo'] = $request_params['id_number']; + $params['dataId'] = $user_info['user_id']; $res = $IdCard->checkIdCard($params); if (!empty($res)) { return fail(HttpEnumCode::HTTP_ERROR, $res); diff --git a/extend/VerifyDun/IdCard.php b/extend/VerifyDun/IdCard.php index b0b0e11..33f1e17 100644 --- a/extend/VerifyDun/IdCard.php +++ b/extend/VerifyDun/IdCard.php @@ -4,6 +4,7 @@ namespace Extend\VerifyDun; use App\Constants\HttpEnumCode; use App\Exception\BusinessException; +use App\Model\LogIdCard; use App\Utils\HttpRequest; use App\Utils\Log; use GuzzleHttp\Exception\GuzzleException; @@ -35,6 +36,10 @@ class IdCard extends Base $this->options["form_params"] = $this->params; $result = $this->httpRuest->postRequest($api_url,$this->options); + + // 记录日志,ca认证要求 + Log::getInstance("VerifyDun-IdCard-checkIdCard")->info(json_encode($result,JSON_UNESCAPED_UNICODE)); + if (empty($result)){ return "身份证认证失败"; } @@ -50,22 +55,21 @@ class IdCard extends Base return "身份证认证失败"; } + // 记录日志 + $this->recordLog($params['dataId'],$params['name'],$params['cardNo'],$result); + // 处理不通过情况 if ($result['result']['status'] == 2){ switch ($result['result']['reasonType']) { case 2: return "输入姓名和身份证号不一致"; - break; case 3: return "查无此身份证"; - break; case 4: return "身份证照片信息与输入信息不一致"; - break; default: return "身份证认证失败"; - break; } } @@ -79,4 +83,28 @@ class IdCard extends Base throw new BusinessException($e->getMessage()); } } + + /** + * 记录日志 + * @param string $data_id + * @param string $name + * @param string $card_no + * @param array $result + * @return void + */ + public function recordLog(string $data_id,string $name,string $card_no,array $result): void + { + try { + $data = array(); + $data['name'] = $name; + $data['card_no'] = $card_no; + $data['status'] = $result['result']['status']; + $data['data_id'] = $data_id; + $data['task_id'] = $result['result']['taskId']; + $data['content'] = json_encode($result,JSON_UNESCAPED_UNICODE); + LogIdCard::addLogIdCard($data); + }catch (\Throwable $e){ + Log::getInstance("VerifyDun-IdCard-checkIdCard")->error($e->getMessage()); + } + } } \ No newline at end of file