wugg 3 years ago
parent
commit
9271001948
3 changed files with 131 additions and 14 deletions
  1. 112 9
      app/admin/controller/User.php
  2. 4 5
      app/admin/route/app.php
  3. 15 0
      app/common.php

+ 112 - 9
app/admin/controller/User.php

@@ -88,7 +88,7 @@ class User extends BaseController
         if($token==""){
             return error_show(101,'token不能为空');
         }
-        $effetc = verfiyToken($token);
+        $effetc =  VerifyTokens($token);
         if(!empty($effetc) && $effetc['code']!=0){
             return error_show($effetc['code'],$effetc['message']);
         }
@@ -118,7 +118,7 @@ class User extends BaseController
         if(!empty($effetc) && $effetc['code']!=0){
             return app_show($effetc['code'],$effetc['message']);
         }
-        $userinfo=GetAccountall($token);
+        $userinfo=GetAccountall($token,$post);
 
         if(empty($userinfo)||$userinfo['code']!=0){
             return app_show(1002,"员工信息不存在");
@@ -221,7 +221,7 @@ class User extends BaseController
         if ($toke==""){
             return app_show(100,"token不能为空");
         }
-        $verify = VerifyToken($toke);
+        $verify = VerifyTokens($toke);
         if ($verify['code']!=0){
             return app_show($verify['code'],$verify['message']);
         }
@@ -243,11 +243,114 @@ class User extends BaseController
         }
         $email= isset($post['email'])? trim($post['email']):"";
         $role =isset($post['role'])? intval($post['role']):0;
-        $data=[
-            "id"=>$userid,
-            "nickname"=>$nickname,
-            "mobile"=>$mobile,
-            "email"=>$email
-        ];
+        if($role!=0){
+            $roleinfo =Db::name("role")->where("id","=",$role)->find();
+            if(empty($roleinfo)){
+                return error_show(1002,"角色不存在");
+            }
+            if($roleinfo['status']==0){
+                return error_show(1002,"角色已禁用");
+            }
+        }
+        Db::startTrans();
+        try{
+
+            $userrole = Db::name("user_role")->where(["uid"=>$userid,"is_del"=>0])->find();
+            if(empty($userrole)){
+                $roledata =[
+                    "uid"=>$userid,
+                    "roleid"=>$role,
+                    "status"=>1,
+                    "addtime"=>date("Y-m-d H:i:s"),
+                    "updatetime"=>date("Y-m-d H:i:s")
+                ];
+               $up= Db::name("user_role")->insert($roledata);
+            }else{
+                $userrole['roleid'] = $role;
+                $userrole['updatetime'] = date("Y-m-d H:i:s");
+                $up=Db::name("user_role")->save($userrole);
+            }
+            if($up){
+                $data=[
+                    "id"=>$userid,
+                    "nickname"=>$nickname,
+                    "mobile"=>$mobile,
+                    "email"=>$email
+                ];
+                $save =resetinfo($toke,$data);
+                if(!empty($save) && $save['code']!=0){
+                    Db::rollback();
+                    return error_show($save['code'],$save['message']);
+                }
+                Db::commit();
+                return app_show(0,"更新成功");
+            }else{
+                Db::rollback();
+                return error_show(1005,'角色更新失败');
+            }
+
+        }catch(\Exception $e){
+            Db::rollback();
+            return app_show(1002,$e->getMessage());
+        }
+    }
+
+    public  function setPwd(){
+        $post  =$this->request->post();
+        $token = isset($post['token']) ? trim($post['token']) : "";
+        if($token==""){
+            return error_show(101,'token不能为空');
+        }
+        $effetc =  VerifyTokens($token);
+        if(!empty($effetc) && $effetc['code']!=0){
+            return error_show($effetc['code'],$effetc['message']);
+        }
+        $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
+        if($userid==""){
+            return error_show(1004,"参数id 不能为空");
+        }
+        $newPwd= isset($post['password']) ? trim($post['password']) : "";
+        if($newPwd==""){
+            return error_show(1001,'密码不能为空');
+        }
+
+        $data = resetpwd($token,["id"=>$userid,'password'=>$newPwd]);
+        if(empty($data)||$data['code']!=0){
+            return error_show($data['code'],$data['message']);
+        }else{
+            return app_show(0,"密码修改成功");
+        }
+    }
+    public function UserStatus()
+    {
+        $post=$this->request->post();
+        $toke= isset($post['token'])? trim($post['token']):"";
+        if ($toke==""){
+            return app_show(100,"token不能为空");
+        }
+        $verify = VerifyTokens($toke);
+        if ($verify['code']!=0){
+            return app_show($verify['code'],$verify['message']);
+        }
+        $userid = isset($post['id'])&&$post['id']!==""?intval($post['id']):"";
+        if($userid==""){
+            return error_show(1004,"参数userid 不能为空");
+        }
+        $status = isset($post['status'])&&$post['status']!=""?intval($post['status']):"";
+
+        if($status===""){
+            return error_show(1004,"参数status 不能为空");
+        }
+        if(!in_array($status,[0,1])){
+            return error_show(1004,"参数status无效");
+        }
+        $message = $status==1?"启用":"禁用";
+        $set = resetstatus($toke,["id"=>$userid,"status"=>$status]);
+        if(empty($set)||$set['code']!=0){
+            return error_show(1005,"{$message}失败");
+        }else{
+            return app_show(0,"{$message}成功");
+        }
     }
+
 }

+ 4 - 5
app/admin/route/app.php

@@ -62,11 +62,10 @@ Route::rule('iuserdel','admin/Departuser/userdel');
 Route::rule('userlist', 'admin/User/list');
 Route::rule('userinfo', 'admin/User/userInfo');
 Route::rule('userall', 'admin/User/userList');
-
-Route::rule("userstatus","Api/UserInfo/UserStatus");
-Route::rule("usersave","Api/UserInfo/UserSave");
-Route::rule("passset","Api/UserInfo/PassSet");
-Route::rule("userinfobyid","Api/UserInfo/info");
+Route::rule("userstatus","admin/User/UserStatus");
+Route::rule("usersave","admin/User/UserSave");
+Route::rule("passset","admin/User/setPwd");
+Route::rule("userinfobyid","admin/User/info");
 
 Route::rule('stat','admin/Newfill/stat');
 Route::rule('userp','admin/Newfill/userp');

+ 15 - 0
app/common.php

@@ -250,6 +250,21 @@ function resetinfo($token,$condition){
     return json_decode($response,true);
 }
 
+/**
+ * @param $token
+ * @param $condition
+ * @return mixed
+ */
+function resetstatus($token,$condition){
+    $host = Config::get("app");
+
+    $url = $host["api_host"]."/Api/userstatus";
+    $condition['token']=$token;
+    $response=curl_request($url,$condition);
+
+    return json_decode($response,true);
+}
+
 /**
  * @param $data
  * @throws \think\db\exception\DataNotFoundException