浏览代码

Default Changelist

yingzi 2 年之前
父节点
当前提交
8cc8f195f7
共有 3 个文件被更改,包括 104 次插入40 次删除
  1. 14 0
      app/api/controller/Pub.php
  2. 51 12
      app/api/controller/User.php
  3. 39 28
      app/system/controller/Audit.php

+ 14 - 0
app/api/controller/Pub.php

@@ -300,6 +300,20 @@ class Pub extends BaseController
         return app('json')->success($data);
     }
 
+
+    //名片浏览次数排行榜
+    public function getCardRank(Request $request)
+    {
+        $count = $request->param('count', 10);
+
+        $cardList = (new UserModel())
+            ->field('uid, nickname, card_look_count')
+            ->order('card_look_count', 'desc')
+            ->limit($count)
+            ->select();
+
+        return app('json')->success($cardList);
+    }
    
 
     

+ 51 - 12
app/api/controller/User.php

@@ -99,7 +99,7 @@ class User extends BaseController
         }
         return app('json')->success($data);
     }
-    
+
     /**
      * 获取用户子级列表
      * @param Request $request
@@ -109,13 +109,46 @@ class User extends BaseController
             ['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_uid"]= $request->user["uid"];
-        $data = (new UserModel)->getDataList($post,"u.uid,u.mobile,u.nickname,u.avatar");
+
+        $post["pageSize"] = $post["pageSize"] > 50 ? 50 : (int)$post["pageSize"];
+        $post["page"] = $post["page"] <= 0 ? 1 : (int)$post["page"];
+
+        $post["parent_uid"] = $request->user["uid"];
+
+        $data = (new UserModel)->getDataList($post, "u.uid,u.mobile,u.nickname,u.avatar");
+
+        $rankNum = $request->input('rankNum', 10); // 排行榜显示个数,默认为10
+        $rankType = $request->input('rankType', 1); // 排行榜分类方式,默认为总邀请人数
+
+        // 生成总邀请人数的排行榜
+        $rankList = [];
+        $userList = (new UserModel)->where('parent_uid', $request->user["uid"])->select('uid', 'nickname')->get();
+        foreach ($userList as $user) {
+            $count = $this->getTotalInvites($user->uid);
+            $rankList[] = [
+                'uid' => $user->uid,
+                'nickname' => $user->nickname,
+                'count' => $count,
+            ];
+        }
+
+        if ($rankType == 1) {
+            usort($rankList, function ($a, $b) {
+                return $b['count'] - $a['count'];
+            });
+        } else {
+            usort($rankList, function ($a, $b) {
+                return strtotime($a['created_at']) - strtotime($b['created_at']);
+            });
+        }
+
+        // 返回排行榜数据
+        $rankList = array_slice($rankList, 0, $rankNum);
+        $data['rankList'] = $rankList;
+
         return app('json')->success($data);
     }
-    
+
     /**
      * 设置用户信息
      * @param Request $request
@@ -977,10 +1010,16 @@ class User extends BaseController
         $token = $qiniu->createUploadToken($bucket);
         return app('json')->success(['token' => $token]);
     }
-    
-    
-    
-   
-    
-    
+
+    /**
+     * 获取用户总邀请人数
+     * @param int $uid 用户ID
+     * @return int 总邀请人数
+     */
+    public function getTotalInvites($uid)
+    {
+        return (new UserModel)->where('parent_uid', $uid)->count();
+    }
+
+
 }

+ 39 - 28
app/system/controller/Audit.php

@@ -95,41 +95,43 @@ class Audit extends BaseController
      */
     public function infoAuditSub(Request $request)
     {
-        $post   = UtilService::getMore(
-            [
-                ['id', '', 'empty', '参数错误'],
-                ['mono'],
-                ['type', 0],
-            ], $request);
+        $post = UtilService::getMore([
+            ['id', '', 'empty', '参数错误'],
+            ['mono'],
+            ['type', 0],
+        ], $request);
         $certData = (new InfoAudit)->where('id', $post['id'])->find();
         if (empty($certData)) {
             return app('json')->fail('数据不存在');
         }
-        if ($certData['status']!=0) {
-            return app('json')->fail( '当前审核已处理');
+        if ($certData['status'] != 0) {
+            return app('json')->fail('当前审核已处理');
         }
         //审核通过
         if ($post['type'] == 1) {
+            //生成注册编号
+            $employeeNumber = 'MYJ' . date('Ymd') . str_pad($certData['id'], 6, '0', STR_PAD_LEFT);
             (new InfoAudit)
                 ->where('id', $post['id'])
                 ->save([
-                    'status'            => 1,
-                    'admin_mono'        => $post['mono'],
-                    'admin_time'        => time(),
-                    'admin_id'          => $request->adminInfo['id'],
+                    'status'          => 1,
+                    'admin_mono'      => $post['mono'],
+                    'admin_time'      => time(),
+                    'admin_id'        => $request->adminInfo['id'],
+                    'employee_number' => $employeeNumber,
                 ]);
             //更新职称
-            (new UserModel)->where("uid",$certData["uid"])->update(["work_type_id"=>$certData["user_work_type_id"]]);
+            (new UserModel)->where("uid", $certData["uid"])->update(["work_type_id" => $certData["user_work_type_id"]]);
             //绑定初始化模板
             (new UserShowTemplate)->userBindTempInit($certData["uid"]);
             //删除以前的资料
-            (new InfoAudit)->where('uid', $certData['uid'])->where("id","<>",$certData["id"])->delete();
+            (new InfoAudit)->where('uid', $certData['uid'])->where("id", "<>", $certData["id"])->delete();
             return app('json')->success('操作成功');
         }
         //审核驳回
         if ($post['type'] == -1) {
-            if(empty($post['mono'])){
-                return app('json')->fail( '请输入驳回理由');
+            if (empty($post['mono'])) {
+                return app('json')->fail('请输入驳回理由');
             }
             (new InfoAudit)
                 ->where('id', $post['id'])
@@ -139,6 +141,8 @@ class Audit extends BaseController
                     'admin_time' => time(),
                     'admin_id'   => $request->adminInfo['id'],
                 ]);
+            //删除以前的资料
+            (new InfoAudit)->where('uid', $certData['uid'])->where("id", "<>", $certData["id"])->delete();
             return app('json')->success('已驳回');
         }
     }
@@ -205,21 +209,21 @@ class Audit extends BaseController
      */
     public function typeAuditSub(Request $request)
     {
-        $post   = UtilService::getMore(
-            [
-                ['id', '', 'empty', '参数错误'],
-                ['mono'],
-                ['type', 0],
-            ], $request);
+        $post = UtilService::getMore([
+            ['id', '', 'empty', '参数错误'],
+            ['mono'],
+            ['type', 0],
+        ], $request);
         $certData = (new TypeAudit)->where('id', $post['id'])->find();
         if (empty($certData)) {
             return app('json')->fail('数据不存在');
         }
-        if ($certData['status']!=0) {
-            return app('json')->fail( '当前审核已处理');
+        if ($certData['status'] != 0) {
+            return app('json')->fail('当前审核已处理');
         }
         //审核通过
         if ($post['type'] == 1) {
+            $employee_number = 'MYJ' . date('Ymd') . str_pad((new TypeAudit)->max('id') + 1, 6, '0', STR_PAD_LEFT);
             (new TypeAudit)
                 ->where('id', $post['id'])
                 ->save([
@@ -228,14 +232,21 @@ class Audit extends BaseController
                     'admin_time' => time(),
                     'admin_id'   => $request->adminInfo['id'],
                 ]);
-            //删除以前的资料
-            (new TypeAudit)->where('uid', $certData['uid'])->where("id","<>",$certData["id"])->delete();
+            // 删除以前的资料
+            (new TypeAudit)->where('uid', $certData['uid'])->where("id", "<>", $certData["id"])->delete();
+            // 更新员工信息,添加注册编号
+            (new TypeAudit)
+                ->where('uid', $certData['uid'])
+                ->save([
+                    'employee_number' => $employee_number,
+                    // 其他更新的员工信息
+                ]);
             return app('json')->success('操作成功');
         }
         //审核驳回
         if ($post['type'] == -1) {
-            if(empty($post['mono'])){
-                return app('json')->fail( '请输入驳回理由');
+            if (empty($post['mono'])) {
+                return app('json')->fail('请输入驳回理由');
             }
             (new TypeAudit)
                 ->where('id', $post['id'])