yingzi %!s(int64=2) %!d(string=hai) anos
pai
achega
125f98918c
Modificáronse 2 ficheiros con 65 adicións e 0 borrados
  1. 16 0
      app/api/controller/User.php
  2. 49 0
      app/model/api/User.php

+ 16 - 0
app/api/controller/User.php

@@ -100,6 +100,22 @@ class User extends BaseController
         return app('json')->success($data);
     }
     
+    /**
+     * 获取用户子级列表
+     * @param Request $request
+     */
+    public function getChildList(Request $request){
+        $post = UtilService::getMore([
+            ['page', 1],
+            ['pageSize', 50],
+        ], $request);
+        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $post["parent_id"]= $request->user["uid"];
+        $data = (new UserModel)->getDataList($post,"uid,mobile,nickname");
+        return app('json')->success($data);
+    }
+    
     /**
      * 设置用户信息
      * @param Request $request

+ 49 - 0
app/model/api/User.php

@@ -248,4 +248,53 @@ class User extends BaseModel
             ->select();
         return $data;
     }
+    
+    
+    
+    
+    /**
+     * 前端获取用户列表
+     * @param type $post
+     * @param type $field
+     * @return type
+     */
+    public function getDataList($post,$field="*"){
+        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $where=[];
+        if(isset($post["status"]) && in_array((string)$post["status"], ["0","1"])){
+            $where[]=["status","=",(int)$post["status"]];
+        }
+        
+        if(!empty($post["nickname"])){
+            $where[]=["nickname","like","%{$post["nickname"]}%"];
+        }
+        
+        if(!empty($post["mobile"])){
+            $where[]=["mobile","=",$post["mobile"]];
+        }
+        
+        if(!empty($post["parent_id"])){
+            $where[]=["parent_id","=",$post["parent_id"]];
+        }
+        
+        $totalCount = $this->where($where)->count();
+        $data=null;
+        if($totalCount>0){
+            $data = $this
+                ->field($field)
+                ->where($where)
+                ->order("uid", "desc")
+                ->page($post["page"], $post["pageSize"])
+                ->select();
+            if(!empty($data)){
+                $data = $data->toArray();
+            }
+        }
+        $data = empty($data)?[]:$data;
+        return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount];
+    }
+    
+    
+    
 }