Browse Source

用户修改

lizhen_gitee 3 years ago
parent
commit
725105303e

+ 4 - 2
application/admin/lang/zh-cn/user/user.php

@@ -20,8 +20,10 @@ return [
     'Idcard'          => '身份证号',
     'Idcard_images'   => '身份证图片',
     'Idcard_status'   => '实名认证',
-    'Idcard_status 1' => '认证',
-    'Idcard_status 0' => '未认证',
+    'Idcard_status -1' => '未申请',
+    'Idcard_status 0' => '待审核',
+    'Idcard_status 1' => '审核通过',
+    'Idcard_status 2' => '审核拒绝',
     'Money'           => '余额',
     'Score'           => '积分',
     'Successions'     => '连续登录天数',

+ 1 - 1
application/admin/model/User.php

@@ -105,7 +105,7 @@ class User extends Model
 
     public function getIdcardStatusList()
     {
-        return ['1' => __('Idcard_status 1'), '0' => __('Idcard_status 0')];
+        return ['-1' => __('Idcard_status -1'),'0' => __('Idcard_status 0'),'1' => __('Idcard_status 1'), '2' => __('Idcard_status 2')];
     }
 
     public function getStatusList()

+ 21 - 26
application/admin/view/user/user/add.html

@@ -1,23 +1,18 @@
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Group_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-group_id" data-rule="required" min="0" data-source="group/index" class="form-control selectpage" name="row[group_id]" type="text" value="">
-        </div>
-    </div>
+<!--
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Username')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-username" class="form-control" name="row[username]" type="text" value="">
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Truename')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-truename" class="form-control" name="row[truename]" type="text">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Nickname')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -30,22 +25,22 @@
             <input id="c-password" class="form-control" name="row[password]" type="text" value="">
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Salt')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-salt" class="form-control" name="row[salt]" type="text" value="">
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Email')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-email" class="form-control" name="row[email]" type="text" value="">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-mobile" class="form-control" name="row[mobile]" type="text" value="">
+            <input id="c-mobile" class="form-control" name="row[mobile]" maxlength="11" type="text" value="">
         </div>
     </div>
     <div class="form-group">
@@ -62,12 +57,12 @@
             <ul class="row list-inline faupload-preview" id="p-avatar"></ul>
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Level')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-level" data-rule="required" min="0" class="form-control" name="row[level]" type="number" value="0">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Gender')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -80,7 +75,7 @@
 
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Birthday')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-birthday" class="form-control" name="row[birthday]" type="number">
@@ -91,8 +86,8 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-bio" class="form-control" name="row[bio]" type="text" value="">
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Idcard')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-idcard" class="form-control" name="row[idcard]" type="text">
@@ -123,8 +118,8 @@
             </div>
 
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Money')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-money" data-rule="required" class="form-control" step="0.01" name="row[money]" type="number" value="0.00">
@@ -135,8 +130,8 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-score" data-rule="required" class="form-control" name="row[score]" type="number" value="0">
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Successions')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-successions" data-rule="required" min="0" class="form-control" name="row[successions]" type="number" value="1">
@@ -189,7 +184,7 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-token" class="form-control" name="row[token]" type="text" value="">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -202,12 +197,12 @@
 
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Verification')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-verification" class="form-control" name="row[verification]" type="text" value="">
         </div>
-    </div>
+    </div>-->
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 20 - 25
application/admin/view/user/user/edit.html

@@ -1,23 +1,18 @@
 <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Group_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-group_id" data-rule="required" min="0" data-source="group/index" class="form-control selectpage" name="row[group_id]" type="text" value="{$row.group_id|htmlentities}">
-        </div>
-    </div>
+
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Username')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-username" class="form-control" name="row[username]" type="text" value="{$row.username|htmlentities}">
+            <input id="c-username" disabled class="form-control" name="row[username]" type="text" value="{$row.username|htmlentities}">
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Truename')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-truename" class="form-control" name="row[truename]" type="text" value="{$row.truename|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Nickname')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -27,10 +22,10 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Password')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-password" class="form-control" name="row[password]" type="text" value="{$row.password|htmlentities}">
+            <input id="c-password" class="form-control" name="row[password]" type="text" placeholder="{:__('Leave password blank if dont want to change')}" value="">
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Salt')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-salt" class="form-control" name="row[salt]" type="text" value="{$row.salt|htmlentities}">
@@ -41,11 +36,11 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-email" class="form-control" name="row[email]" type="text" value="{$row.email|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-mobile" class="form-control" name="row[mobile]" type="text" value="{$row.mobile|htmlentities}">
+            <input id="c-mobile" class="form-control" name="row[mobile]" type="text" maxlength="11"  value="{$row.mobile|htmlentities}">
         </div>
     </div>
     <div class="form-group">
@@ -62,12 +57,12 @@
             <ul class="row list-inline faupload-preview" id="p-avatar"></ul>
         </div>
     </div>
-    <div class="form-group">
+   <!-- <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Level')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-level" data-rule="required" min="0" class="form-control" name="row[level]" type="number" value="{$row.level|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Gender')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -80,19 +75,19 @@
 
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Birthday')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-birthday" data-rule="" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-use-current="true" name="row[birthday]" type="text" value="{$row.birthday}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Bio')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-bio" class="form-control" name="row[bio]" type="text" value="{$row.bio|htmlentities}">
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Idcard')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-idcard" class="form-control" name="row[idcard]" type="text" value="{$row.idcard|htmlentities}">
@@ -123,8 +118,8 @@
             </div>
 
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Money')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-money" data-rule="required" class="form-control" step="0.01" name="row[money]" type="number" value="{$row.money|htmlentities}">
@@ -135,8 +130,8 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-score" data-rule="required" class="form-control" name="row[score]" type="number" value="{$row.score|htmlentities}">
         </div>
-    </div>
-    <div class="form-group">
+    </div>-->
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Successions')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-successions" data-rule="required" min="0" class="form-control" name="row[successions]" type="number" value="{$row.successions|htmlentities}">
@@ -189,7 +184,7 @@
         <div class="col-xs-12 col-sm-8">
             <input id="c-token" class="form-control" name="row[token]" type="text" value="{$row.token|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
         <div class="col-xs-12 col-sm-8">
@@ -202,12 +197,12 @@
 
         </div>
     </div>
-    <div class="form-group">
+    <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Verification')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-verification" class="form-control" name="row[verification]" type="text" value="{$row.verification|htmlentities}">
         </div>
-    </div>
+    </div>-->
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 66 - 0
application/api/controller/User.php

@@ -136,6 +136,72 @@ class User extends Api
         }
     }
 
+    //实名认证信息
+    public function idcard_confirm_info(){
+        $check = Db::name('user_idconfirm')->where('user_id',$this->auth->id)->find();
+        $this->success('success',$check);
+    }
+
+    //申请实名认证
+    public function idcard_confirm(){
+        $truename = input('truename','');
+        $idcard = input('idcard','');
+        $idcard_images = input('idcard_images','');
+
+        if(empty($truename) || empty($idcard) || empty($idcard_images)){
+            $this->error('实名认证信息必填');
+        }
+
+        if($this->auth->idcardstatus == 1){
+            $this->error('您已经完成实名认证');
+        }
+
+        if($this->auth->idcardstatus == 0){
+            $this->error('您已经提交实名认证,请等待审核');
+        }
+
+        Db::startTrans();
+        $check = Db::name('user_idconfirm')->where('user_id',$this->auth->id)->lock(true)->find();
+        if(!empty($check)){
+            if($check['status'] == 0){
+                Db::rollback();
+                $this->error('您已经提交实名认证,请等待审核');
+            }
+            if($check['status'] == 1){
+                Db::rollback();
+                $this->error('您已经完成实名认证');
+            }
+        }
+
+        $data = [
+            'user_id' => $this->auth->id,
+            'truename' => $truename,
+            'idcard' => $idcard,
+            'idcard_images' => $idcard_images,
+            'status' => 0,
+            'createtime' => time(),
+            'updatetime' => time(),
+        ];
+
+        //更新
+        if(!empty($check)){
+            $update_rs = Db::name('user')->where('id',$this->auth->id)->update(['idcardstatus'=>0]);
+            $rs = Db::name('user_idconfirm')->where('id',$check['id'])->update($data);
+        }else{
+            $update_rs = Db::name('user')->where('id',$this->auth->id)->update(['idcardstatus'=>0]);
+            $rs = Db::name('user_idconfirm')->insertGetId($data);
+        }
+
+        if(!$rs || !$update_rs){
+            Db::rollback();
+            $this->error('提交失败');
+        }
+
+        Db::commit();
+        $this->success('提交成功,请等待审核');
+
+    }
+
     /**
      * 退出登录
      * @ApiMethod (POST)

+ 22 - 22
public/assets/js/backend/user/user.js

@@ -26,37 +26,37 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     [
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
-                        {field: 'group_id', title: __('Group_id')},
+//                        {field: 'group_id', title: __('Group_id')},
                         {field: 'username', title: __('Username'), operate: 'LIKE'},
                         {field: 'truename', title: __('Truename'), operate: 'LIKE'},
                         {field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
-                        {field: 'password', title: __('Password'), operate: 'LIKE'},
-                        {field: 'salt', title: __('Salt'), operate: 'LIKE'},
-                        {field: 'email', title: __('Email'), operate: 'LIKE'},
+//                        {field: 'password', title: __('Password'), operate: 'LIKE'},
+//                        {field: 'salt', title: __('Salt'), operate: 'LIKE'},
+//                        {field: 'email', title: __('Email'), operate: 'LIKE'},
                         {field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
                         {field: 'avatar', title: __('Avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
-                        {field: 'level', title: __('Level')},
+//                        {field: 'level', title: __('Level')},
                         {field: 'gender', title: __('Gender'), searchList: {"1":__('Gender 1'),"0":__('Gender 0')}, formatter: Table.api.formatter.normal},
-                        {field: 'birthday', title: __('Birthday')},
-                        {field: 'bio', title: __('Bio'), operate: 'LIKE'},
-                        {field: 'idcard', title: __('Idcard'), operate: 'LIKE'},
-                        {field: 'idcard_images', title: __('Idcard_images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
-                        {field: 'idcard_status', title: __('Idcard_status'), searchList: {"1":__('Idcard_status 1'),"0":__('Idcard_status 0')}, formatter: Table.api.formatter.status},
+//                        {field: 'birthday', title: __('Birthday')},
+//                        {field: 'bio', title: __('Bio'), operate: 'LIKE'},
+//                        {field: 'idcard', title: __('Idcard'), operate: 'LIKE'},
+//                        {field: 'idcard_images', title: __('Idcard_images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
+                        {field: 'idcard_status', title: __('Idcard_status'), searchList: {"-1":__('Idcard_status -1'),"0":__('Idcard_status 0'),"1":__('Idcard_status 1'),"2":__('Idcard_status 2')}, formatter: Table.api.formatter.status},
                         {field: 'money', title: __('Money'), operate:'BETWEEN'},
                         {field: 'score', title: __('Score')},
-                        {field: 'successions', title: __('Successions')},
-                        {field: 'maxsuccessions', title: __('Maxsuccessions')},
-                        {field: 'prevtime', title: __('Prevtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'logintime', title: __('Logintime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'loginip', title: __('Loginip'), operate: 'LIKE'},
-                        {field: 'loginfailure', title: __('Loginfailure')},
-                        {field: 'joinip', title: __('Joinip'), operate: 'LIKE'},
-                        {field: 'jointime', title: __('Jointime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'token', title: __('Token'), operate: 'LIKE'},
+//                        {field: 'successions', title: __('Successions')},
+//                        {field: 'maxsuccessions', title: __('Maxsuccessions')},
+//                        {field: 'prevtime', title: __('Prevtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'logintime', title: __('Logintime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'loginip', title: __('Loginip'), operate: 'LIKE'},
+//                        {field: 'loginfailure', title: __('Loginfailure')},
+//                        {field: 'joinip', title: __('Joinip'), operate: 'LIKE'},
+//                        {field: 'jointime', title: __('Jointime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'token', title: __('Token'), operate: 'LIKE'},
                         {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"0":__('Status 0')}, formatter: Table.api.formatter.status},
-                        {field: 'verification', title: __('Verification'), operate: 'LIKE'},
+//                        {field: 'verification', title: __('Verification'), operate: 'LIKE'},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]