Pārlūkot izejas kodu

Default Changelist

yingzi 2 gadi atpakaļ
vecāks
revīzija
9af6e5846e
3 mainītis faili ar 48 papildinājumiem un 25 dzēšanām
  1. 45 22
      app/api/controller/Pub.php
  2. 2 2
      app/api/controller/User.php
  3. 1 1
      app/api/route/pub.php

+ 45 - 22
app/api/controller/Pub.php

@@ -281,39 +281,62 @@ class Pub extends BaseController
      */
     public function getCommonUserCardInfo(Request $request){
         [$uid] = UtilService::getMore([
-            ['uid', '','empty',"用户信息为空"],
-        ], $request,true);
-        $userData = (new UserModel)->where("uid",$uid)->find();
-        if(empty($userData)){
+            ['uid', '', 'empty', "用户信息为空"],
+        ], $request, true);
+        $userData = (new UserModel)->where("uid", $uid)->find();
+        if (empty($userData)) {
             return app('json')->fail("用户不存在");
         }
         $userData->toArray();
-        $data = (new InfoAudit)->getItem(["uid"=>$uid,"status"=>1]);
-        if(empty($data)){
+        $data = (new InfoAudit)->getItem(["uid" => $uid, "status" => 1]);
+        if (empty($data)) {
             return app('json')->fail("当前用户还未通过审核");
         }
-        $typeData = (new TypeAudit)->where("uid",$uid)->order("id","desc")->find();
-        $data["is_type_audit"] = (empty($typeData) || $typeData["status"]!=1)?0:1;
+        $typeData = (new TypeAudit)->where("uid", $uid)->order("id", "desc")->find();
+        $data["is_type_audit"] = (empty($typeData) || $typeData["status"] != 1) ? 0 : 1;
         //名片浏览次数
         (new UserModel)->where('uid', $uid)->inc('card_look_count', 1)->update();
-        $data["card_look_count"] = $userData["card_look_count"]+1;
+        $data["card_look_count"] = $userData["card_look_count"] + 1;
+
+        // 获取名片浏览量排行榜
+        $time = $request->param('time', 'week'); // 时间段,默认为一周
+        $num = $request->param('num', 10); // 显示个数,默认为10个
+        $list = (new UserModel)->where('card_look_count', '>', 0);
+        if ($time == 'week') {
+            $list = $list->whereTime('create_time', '>=', strtotime('-1 week'));
+        } else if ($time == 'month') {
+            $list = $list->whereTime('create_time', '>=', strtotime('-1 month'));
+        }
+        $list = $list->order('card_look_count', 'desc')->limit($num)->select();
+        $rankList = [];
+        foreach ($list as $key => $value) {
+            $userInfo = (new UserModel)->where('uid', $value['uid'])->find();
+            $rankList[] = [
+                'rank' => $key + 1,
+                'uid' => $value['uid'],
+                'nickname' => $userInfo['nickname'],
+                'avatar' => $userInfo['avatar'],
+                'card_look_count' => $value['card_look_count'],
+                'template' => $this->getShowTemplateItem($value['uid']),
+            ];
+        }
+        $data['rank_list'] = $rankList;
         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);
-    }
+//    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);
+//    }
    
 
     

+ 2 - 2
app/api/controller/User.php

@@ -117,8 +117,8 @@ class User extends BaseController
 
         $data = (new UserModel)->getDataList($post, "u.uid,u.mobile,u.nickname,u.avatar");
 
-        $rankNum = $request->input('rankNum', 10); // 排行榜显示个数,默认为10
-        $rankType = $request->input('rankType', 1); // 排行榜分类方式,默认为总邀请人数
+        $rankNum = $request->input('rankNum', 20); // 排行榜显示个数,默认为20
+        $rankType = $request->input('rankType', 2); // 排行榜分类方式,默认为总邀请人数
 
         // 生成总邀请人数的排行榜
         $rankList = [];

+ 1 - 1
app/api/route/pub.php

@@ -31,7 +31,7 @@ Route::group('pub', function () {
     //获取用户服务标签列表
     Route::rule('getServiceLabelList','Pub/getServiceLabelList');
     //获取其他用户名片详情
-    Route::rule('getCommonUserCardInfo','Pub/getCommonUserCardInfo');
+    Route::rule('getCommonUserCardInfo/:uid','Pub/getCommonUserCardInfo');
     //获取分享信息
     Route::rule('getShareInfo','Pub/getShareInfo');
     //获取精选列表