Browse Source

fix(merchant): 兼容港澳台用户认证逻辑- 针对非大陆用户($cardType !=1)才计算年龄- 默认年龄设为 0,避免无效日期格式导致异常
- 确保实名认证流程稳定运行

shichen 9 months ago
parent
commit
a77179803b
1 changed files with 12 additions and 6 deletions
  1. 12 6
      app/controller/admin/system/merchant/GzcLogs.php

+ 12 - 6
app/controller/admin/system/merchant/GzcLogs.php

@@ -103,9 +103,12 @@ class GzcLogs extends BaseController
103 103
         $uid = $register['data']['uid'] ?? 0;
104 104
         if(!$uid) return app('json')->fail('创建或获取用户失败');
105 105
         // 兼容港澳台用户认证
106
-        $age = (new DateTime())->diff(
107
-            DateTime::createFromFormat('Ymd', strval($birthday))
108
-        )->y;
106
+        $age = 0;
107
+        if($cardType != 1) {
108
+            $age = (new DateTime())->diff(
109
+                DateTime::createFromFormat('Ymd', strval($birthday))
110
+            )->y;
111
+        }
109 112
         $certification = $OrderGzcRepository->certification($uid, $mobile, $user_name, $user_card, $card_positive, $card_reverse,$cardType,$birthday,$gender,$age);
110 113
         Log::info('pcpc认证结果' . json_encode($certification));
111 114
         if($certification['status'] != 200) return app('json')->fail('实名认证失败:'.$certification['message']);
@@ -191,9 +194,12 @@ class GzcLogs extends BaseController
191 194
             $uid = $register['data']['uid'] ?? 0;
192 195
             if(!$uid) return app('json')->fail('创建或获取用户失败');
193 196
             // 兼容港澳台用户认证
194
-            $age = (new DateTime())->diff(
195
-                DateTime::createFromFormat('Ymd', strval($birthday))
196
-            )->y;
197
+            $age = 0;
198
+            if($cardType != 1) {
199
+                $age = (new DateTime())->diff(
200
+                    DateTime::createFromFormat('Ymd', strval($birthday))
201
+                )->y;
202
+            }
197 203
             $certification = $OrderGzcRepository->certification($uid, $mobile, $user_name, $user_card, $card_positive, $card_reverse,$cardType,$birthday,$gender,$age);
198 204
             if($certification['status'] != 200) return app('json')->fail('实名认证失败:'.$certification['message']);
199 205
             $gzc = $OrderGzcRepository->gzc($uid,$log['pension']);