allen 3 年之前
父节点
当前提交
e62f9592fc
共有 2 个文件被更改,包括 11 次插入11 次删除
  1. 6 4
      app/admin/controller/Award.php
  2. 5 7
      app/index/controller/Index.php

+ 6 - 4
app/admin/controller/Award.php

@@ -43,10 +43,11 @@ class Award extends Controller
                 ->leftJoin('awards_order o', 'o.uid = l.uid')
                 ->leftJoin('awards_user_info u', 'l.uid = u.uid')
                 ->leftJoin('awards_gift g', 'o.gift_id = g.id')
-                ->field(['l.id', 'l.uid', 'u.nickname', 'o.name', 'o.mobile', 'o.address', 'g.name as giftName', 'FROM_UNIXTIME(o.create_at) as createAt'])
-                ->distinct('l.uid')
+                ->field(['l.id', 'l.uid', 'min(l.duration) as duration', 'max(l.number) as number', 'u.nickname', 'o.name', 'o.mobile', 'o.address', 'g.name as giftName', 'FROM_UNIXTIME(o.create_at) as createAt'])
+                ->group('l.uid')
                 ->order('l.number', 'desc')
                 ->order('l.duration', 'asc')->limit(50);
+
             $query->equal('o.uid')->like('u.nickname');
         });
     }
@@ -65,9 +66,10 @@ class Award extends Controller
             ->leftJoin('awards_order o', 'o.uid = l.uid')
             ->leftJoin('awards_user_info u', 'o.uid = u.uid')
             ->leftJoin('awards_gift g', 'o.gift_id = g.id')
-            ->field(['o.id', 'l.uid', 'u.nickname', 'o.name', 'o.mobile', 'o.address', 'g.name as giftName', 'FROM_UNIXTIME(o.create_at) as createAt'])
+            ->field(['o.id', 'l.uid', 'min(l.duration) as duration', 'max(l.number) as number', 'u.nickname', 'o.name', 'o.mobile', 'o.address', 'g.name as giftName', 'FROM_UNIXTIME(o.create_at) as createAt'])
+            ->group('l.uid')
             ->order('l.number', 'desc')
-            ->order('l.duration', 'asc')->select();
+            ->order('l.duration', 'asc')->limit(50)->select();
 
         //实例化
         $objExcel = new \PHPExcel();

+ 5 - 7
app/index/controller/Index.php

@@ -65,7 +65,7 @@ class Index extends Controller
         }
 
         // 使用客户端信息生成token
-        $token = md5($_SERVER['HTTP_USER_AGENT'] . $_SERVER['HTTP_ACCEPT_ENCODING'] . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . $_SERVER['HTTP_REFERER'] . get_client_ip(0) . $userInfoRes['data']['uid']);
+        $token = md5($_SERVER['HTTP_USER_AGENT'] . $_SERVER['HTTP_ACCEPT_ENCODING'] . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . get_client_ip(0) . $userInfoRes['data']['uid']);
         $user = $userInfoRes['data'];
 
         $userInfo = Db::table('awards_user_info')->where('uid', $user['uid'])->find();
@@ -266,11 +266,10 @@ class Index extends Controller
      */
     public function topRanking()
     {
-
         $ranking = Db::table('awards_user_task_log')->alias("l")
             ->leftJoin('awards_user_info u', 'l.uid = u.uid')
-            ->field(['u.nickname', 'u.portrait', 'u.uid', 'l.duration', 'l.number'])
-            ->distinct('uid')
+            ->field(['u.nickname', 'u.portrait', 'l.uid', 'min(l.duration) as duration', 'max(l.number) as number'])
+            ->distinct('l.uid')
             ->order('l.number', 'desc')
             ->order('l.duration', 'asc')
             ->limit(50)
@@ -302,11 +301,10 @@ class Index extends Controller
      */
     public function newRanking()
     {
-
         $ranking = Db::table('awards_user_task_log')->alias("l")
             ->leftJoin('awards_user_info u', 'l.uid = u.uid')
-            ->field(['u.nickname', 'u.portrait', 'u.uid', 'l.duration', 'l.number'])
-            ->distinct('uid')
+            ->field(['u.nickname', 'u.portrait', 'l.uid', 'min(l.duration) as duration', 'max(l.number) as number', 'l.create_at'])
+            ->group('l.uid')
             ->order('l.create_at', 'desc')
             ->order('l.number', 'desc')
             ->order('l.duration', 'asc')