Bläddra i källkod

wesmiler 更新第5期更新代码合并

wesmiler 4 år sedan
förälder
incheckning
c9959f9fe9
2 ändrade filer med 51 tillägg och 4 borttagningar
  1. 11 4
      app/weixin/controller/AuthController.php
  2. 40 0
      app/weixin/model/Member.php

+ 11 - 4
app/weixin/controller/AuthController.php

@@ -7,9 +7,12 @@
 namespace app\weixin\controller;
 
 use app\weixin\model\Member;
+use app\weixin\model\UserLog;
+use app\weixin\model\UserProfile;
 use app\weixin\model\Wechat;
 use app\weixin\service\PRedis;
 use app\weixin\validate\MemberValidate;
+use think\Db;
 use think\Request;
 
 class AuthController extends BaseController
@@ -66,16 +69,20 @@ class AuthController extends BaseController
      */
     public function authResult(){
         $params = input();
-        $data = input('data',[]);
+        $data = input('data','');
+        $data = $data? json_decode($data, true) : [];
         $code = isset($data['code'])? $data['code'] : '';
         $idcard = isset($data['id'])? $data['id'] : '';
-        $idcardName = isset($data['name'])? $data['name'] : '';
+        $realname = isset($data['name'])? $data['name'] : '';
         $bizNo = isset($data['bizNo'])? $data['bizNo'] : '';
-        
+
         // 签名验证
         $len = mb_strlen($bizNo, 'utf-8');
         $userId = mb_substr($bizNo, 11, $len,'utf-8');
-        if($idcard && $idcardName && $code == 'PASS' && $userId){
+        if($idcard && $realname && $code == 'PASS' && $userId){
+            // 更新信息
+            Member::updateAuth($userId, $realname, $idcard);
+
             $this->assign('bizNo',$bizNo);
             $this->assign('code','success');
             $this->assign('result','<em>身份验证成功</em>,请等待审核');

+ 40 - 0
app/weixin/model/Member.php

@@ -2379,4 +2379,44 @@ class Member extends Model
 
         return ['id'=> $accessInfo->id];
     }
+
+    /**
+     * 更新身份认证信息
+     * @param $userId
+     * @param $realname
+     * @param $idcard
+     * @return bool
+     */
+    public static function updateAuth($userId, $realname, $idcard){
+        Db::startTrans();
+        if (!Member::saveData(['id' => $userId], ['real_name' => $realname])) {
+            Db::rollback();
+            return false;
+        }
+
+        // 在线验证是否通过
+        $profileData = [
+            'idcard'=> $idcard,
+            'idcard_online_check'=> 1,
+        ];
+
+        if (UserProfile::checkProfile($userId)) {
+            $profileData['updated_at'] = date('Y-m-d H:i:s');
+            $res = UserProfile::saveData(['userid' => $userId], $profileData);
+        } else {
+            $res = UserProfile::insertGetId($profileData);
+        }
+
+        if (!$res) {
+            Db::rollback();
+            return false;
+        }
+
+        // 操作日志
+        UserLog::saveLog(['user_id' => $userId, 'type' => 1, 'content' => '提交身份证认证']);
+
+        Db::commit();
+
+        return true;
+    }
 }