Explorar el Código

Merge remote-tracking branch 'origin/master'

sunxiaobiao hace 10 meses
padre
commit
0c0b15670d
Se han modificado 1 ficheros con 73 adiciones y 14 borrados
  1. 73 14
      app/controller/api/user/User.php

+ 73 - 14
app/controller/api/user/User.php

@@ -927,6 +927,7 @@ class User extends BaseController
927 927
     {
928 928
         $member_id = $this->request->uid();
929 929
         $type = input("type", 0);
930
+        $cardType = input('card_type',1);
930 931
         if ($type == 1) {
931 932
             $data = $this->repository->get_cer(["uid" => $member_id]);
932 933
             return app('json')->success($data);
@@ -942,19 +943,44 @@ class User extends BaseController
942 943
         $params['create_time'] = time();
943 944
         $params['uid'] = $member_id;
944 945
         $baidu = new Ocr();
945
-        $image = file_get_contents($params['card_positive']);
946
-        $idCardSide = "front";
947
-        $result = $baidu->idcard($image, $idCardSide);
948
-        $real_user_name = $result['words_result']['姓名']['words'] ?? '';
949
-        $real_user_card = $result['words_result']['公民身份号码']['words'] ?? '';
950
-        if ($real_user_name != $params['user_name']) {
951
-            return app('json')->fail('姓名或身份证号输入有误~');
952
-        }
953
-        if ($real_user_card != $params['user_card']) {
954
-            return app('json')->fail('姓名或身份证号输入有误~');
955
-        }
956
-        if ($result['image_status'] == "normal" && $result['idcard_number_type'] == 1) {
946
+        // 兼容港澳台证件
947
+        if ($cardType != 1) {
948
+            // 设置exitentrypermit_type
949
+            $exType = '';
950
+            if ($cardType == 2) {
951
+                $exType = 'tw_return_passport_front'; //台胞证
952
+            }
953
+            if ($cardType == 3) {
954
+                $exType = 'hk_mc_return_passport_front'; // 返乡证
955
+            }
956
+
957
+            if (empty($exType)) {
958
+                return app('json')->fail('证件号类型错误~');
959
+            }
960
+
961
+            $postData['url'] = $params['card_positive'];
962
+            $postData['exitentrypermit_type'] = $exType;
963
+            $result = $baidu->hkMacauTaiwan($postData);
964
+            $real_user_name = $result['words_result']['name_chn'][0]['word']??'';
965
+            $real_user_card = $result['words_result']['card_number'][0]['word']??'';
966
+            if ($real_user_name != $params['user_name']) {
967
+                return app('json')->fail('姓名或身份证号输入有误~');
968
+            }
969
+            if ($real_user_card != $params['user_card']) {
970
+                return app('json')->fail('姓名或身份证号输入有误~');
971
+            }
972
+
973
+            $params['reason'] = '';
974
+            $params['audit_time'] = 0;
975
+            $params['update_time'] = 0;
957 976
             $params['status'] = 1;
977
+            $params['card_type'] = $cardType;
978
+            if ($result['words_result']['sex'][0]['word'] == '男') {
979
+                $gender = 1;
980
+            }else{
981
+                $gender = 2;
982
+            }
983
+            $params['gender'] = $gender;
958 984
             $res = $this->repository->add_cer($params, $member_id);
959 985
             if ($res) {
960 986
                 $userRepository = app()->make(UserRepository::class);
@@ -973,8 +999,41 @@ class User extends BaseController
973 999
             } else {
974 1000
                 return app('json')->fail('认证失败');
975 1001
             }
976
-        } else {
977
-            return app('json')->fail('认证失败,请重新认证');
1002
+        }else{
1003
+            $image = file_get_contents($params['card_positive']);
1004
+            $idCardSide = "front";
1005
+            $result = $baidu->idcard($image, $idCardSide);
1006
+            $real_user_name = $result['words_result']['姓名']['words'] ?? '';
1007
+            $real_user_card = $result['words_result']['公民身份号码']['words'] ?? '';
1008
+            if ($real_user_name != $params['user_name']) {
1009
+                return app('json')->fail('姓名或身份证号输入有误~');
1010
+            }
1011
+            if ($real_user_card != $params['user_card']) {
1012
+                return app('json')->fail('姓名或身份证号输入有误~');
1013
+            }
1014
+            if ($result['image_status'] == "normal" && $result['idcard_number_type'] == 1) {
1015
+                $params['status'] = 1;
1016
+                $res = $this->repository->add_cer($params, $member_id);
1017
+                if ($res) {
1018
+                    $userRepository = app()->make(UserRepository::class);
1019
+                    // 赠送积分 完善实名送90个积分,同时送邀请人50个积分
1020
+                    $userRepository->sign_add($member_id, 90,1,'完善实名系统赠送90个积分','','', '', 1, '', 1);
1021
+                    $member_info = Db::name('user')->where( array('uid' => $member_id) )->find();
1022
+                    Db::name('user')
1023
+                        ->where('uid', $member_id)
1024
+                        ->update(['real_name' => $params['user_name'], 'nickname' => $params['user_name']]);
1025
+                    if($member_info['spread_uid']){
1026
+                        // 好友完善实名系统赠送50个积分
1027
+                        $spreadUid = $member_info['spread_uid'];
1028
+                        $userRepository->sign_add($spreadUid, 50,1,'好友完善实名系统赠送50个积分','','', '', 1, '', 1);
1029
+                    }
1030
+                    return app('json')->success($res);
1031
+                } else {
1032
+                    return app('json')->fail('认证失败');
1033
+                }
1034
+            } else {
1035
+                return app('json')->fail('认证失败,请重新认证');
1036
+            }
978 1037
         }
979 1038
 
980 1039
     }