Bladeren bron

'排行榜'

Ethan 6 jaren geleden
bovenliggende
commit
8b11335e9d

+ 87 - 10
app/Http/Controllers/Api/RankingController.php

@@ -16,34 +16,111 @@ class RankingController extends Controller
 {
 
     /**
-     * 排行榜
+     * 盈利排行榜
      *
      * @access public
      * @param  mixed $req 参数.
      * @return string
      */
-    public function rankingList(Request $req){
+    public function winRanking(Request $req){
         $code = -2;
         $msg = '操作失败';
         try {
             $sportsAgent = new AgentController;
-            $userData    = [];
             // 体育盈利.
-            $sportsData = $sportsAgent->userProfit();
+            $userDataWin = [];
+            $sportsData  = $sportsAgent->userProfit();
             foreach ($sportsData as $v) {
-                $userDataKey = array_search($v->name, array_column($userData, 'name'));
+                $userDataKey = array_search($v->name, array_column($userDataWin, 'name'));
                 if (strlen($userDataKey)) {
-                    $userData[$userDataKey]['money'] += abs($v->money);
+                    $userDataWin[$userDataKey]['money'] += abs($v->money);
                 } else {
-                    $userData[] = (array) $v;
+                    $userDataWin[] = (array) $v;
                 }
             }
 
             // 排序.
-            $moneyArr = array_column($userData, 'money');
-            array_multisort($moneyArr, SORT_DESC, $userData);
+            $moneyArr = array_column($userDataWin, 'money');
+            array_multisort($moneyArr, SORT_DESC, $userDataWin);
+            // 计算当前用户排名.
+            $myName  = DB::table('members')->select('name')->where('id', S('token_user_id'))->first();
+            $userKey = array_search($myName->name, array_column($userDataWin, 'name'));
 
-            return toJson(1, '成功', $userData);
+            // 取前10个.
+            $winRanking = array_slice($userDataWin, 0, 10);
+            $result     = [
+                'winRanking' => $winRanking,
+                'myRank'     => ($userKey + 1),
+            ];
+
+            return toJson(1, '成功', $result);
+        } catch (Exception $e) {
+            return toJson($code, $msg, []);
+        }//end try
+
+    }//end winRanking()
+
+
+    /**
+     * 盈利排行榜
+     *
+     * @access public
+     * @param  mixed $req 参数.
+     * @return string
+     */
+    public function cashRanking(Request $req){
+        $code = -2;
+        $msg  = '操作失败';
+        try {
+            $agentCashModel = new Models\AgentCash;
+            $userInfoModel  = new Models\UserInfo;
+            // 获取所有人游戏余额.
+            $userDataAll = [];
+            $gameMoney   = $agentCashModel->allGameMoney();
+            foreach ($gameMoney as $v) {
+                $userDataKey = array_search($v->members_id, array_column($userDataAll, 'id'));
+                if (strlen($userDataKey)) {
+                    $userDataAll[$userDataKey]['money'] += abs($v->gameMoney_money);
+                } else {
+                    $thisData['money'] = abs($v->gameMoney_money);
+                    $thisData['id']    = $v->members_id;
+                    $thisData['name']  = $v->name;
+                    $userDataAll[]     = $thisData;
+                }
+            }
+
+            // 获取用户余额.
+            $userCashSelect = [
+                'membersDetailed_cash',
+                'members_id',
+                'name',
+            ];
+            $userCash       = $userInfoModel->getAllUserInfo($userCashSelect);
+            foreach ($userCash as $v) {
+                $userDataKey = array_search($v->members_id, array_column($userDataAll, 'id'));
+                if (strlen($userDataKey)) {
+                    $userDataAll[$userDataKey]['money'] += abs($v->membersDetailed_cash);
+                } else {
+                    $thisData['money'] = abs($v->membersDetailed_cash);
+                    $thisData['id']    = $v->members_id;
+                    $thisData['name']    = $v->name;
+                    $userDataAll[]     = $thisData;
+                }
+            }
+
+            // 排序.
+            $moneyArr = array_column($userDataAll, 'money');
+            array_multisort($moneyArr, SORT_DESC, $userDataAll);
+            // 计算当前用户排名.
+            $userKey = array_search(S('token_user_id'), array_column($userDataAll, 'id'));
+            // 取前10个.
+            $winRanking = array_slice($userDataAll, 0, 10);
+            $result     = [
+                'winRanking' => $winRanking,
+                'myRank'     => ($userKey + 1),
+            ];
+
+            return toJson(1, '成功', $result);
         } catch (Exception $e) {
             return toJson($code, $msg, []);
         }//end try

+ 24 - 0
app/Http/Models/AgentCash.php

@@ -41,4 +41,28 @@ class AgentCash extends Model
     }//end seeGameMoney()
 
 
+    /**
+     * 查询所有人游戏余额
+     *
+     * @access public
+     * @return array
+     */
+    public function allGameMoney()
+    {
+        $gameMoneyModel = new Models\GameMoney;
+        $gameMoneySelect = [
+            'gameMoney_money',
+            'name',
+            'members_id',
+        ];
+        $result = $gameMoneyModel
+            ->join('members', 'gameMoney.members_id', 'members.id')
+            ->select($gameMoneySelect)
+            ->get();
+
+        return $result;
+
+    }//end allGameMoney()
+
+
 }

+ 1 - 1
app/Http/Models/Database.php

@@ -15,7 +15,7 @@ class Database extends Model
      * 循环获取or查询
      *
      * @access public
-     * @param mixed $database 数据
+     * @param mixed $database 数据
      * @param mixed $orWhere 或查询      [[['batch_id', '191'], ['batch_id', '186']],[['id', '55'], ['id', '59']]];
      * @return String
      */

+ 138 - 0
app/Http/Models/GameMoney.php

@@ -0,0 +1,138 @@
+<?php
+
+namespace App\Http\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use \App\Models;
+
+/**
+ * 签到模型类
+ */
+class Sign extends Model
+{
+
+
+    /**
+     * 查询签到记录
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $between 查询条件
+     * @param mixed $paginate 分页
+     * @return array
+     */
+    public function getSignRecord($select, $paginate, $where='', $between='')
+    {
+        // 获取签到记录.
+        $getSignModel = new Models\GetSign;
+        $getSignModel = $getSignModel
+            ->select($select)
+            ->join('members', 'members.id', 'getsign.members_id');
+        if (empty($where) === false) {
+            $getSignModel = $getSignModel->where($where);
+        }
+
+        if (empty($between) === false) {
+            $getSignModel = $getSignModel->whereBetween('getsign_addtime', $between);
+        }
+
+        $getSignModel = $getSignModel
+            ->orderBy('getsign_addtime','desc')
+            ->paginate($paginate)
+            ->toArray();
+
+        return $getSignModel;
+
+    }//end getSignRecord()
+
+
+    /**
+     * 添加签到记录
+     *
+     * @access public
+     * @param mixed $data 数据
+     * @return array
+     */
+    public function addSign($data)
+    {
+        // 获取救济金记录.
+        $getSignModel = new Models\GetSign;
+        $result = $getSignModel->insert($data);
+
+        return $result;
+
+    }//end addSign()
+
+
+    /**
+     * 查询签到记录
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $between 查询条件
+     * @param mixed $paginate 分页
+     * @return array
+     */
+    public function countSign($where, $between)
+    {
+        // 获取救济金记录.
+        $getSignModel = new Models\GetSign;
+        $result = $getSignModel
+            ->where($where)
+            ->whereBetween('getsign_addtime', $between)
+            ->count();
+
+        return $result;
+
+    }//end countSign()
+
+
+    /**
+     * 查询签到设置
+     *
+     * @access public
+     * @param mixed $select 查询字段
+     * @param mixed $where 查询条件
+     * @param mixed $orWhere 查询条件
+     * @return array
+     */
+    public function signConfig($select, $where, $orWhere)
+    {
+        // 查询救济金系统设置.
+        $signModel = new Models\Sign;
+        $signModel = $signModel->select($select);
+        if ($where) {
+            $signModel = $signModel->Where($where);
+        }
+        if ($orWhere) {
+            $signModel = $signModel->orWhere($orWhere);
+        }
+        $signModel = $signModel->orderBy('sign_title', 'asc')->get();
+
+        return $signModel;
+
+    }//end signConfig()
+
+
+    /**
+     * 修改签到设置
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $data 数据
+     * @return array
+     */
+    public function upSignConfig($where, $data)
+    {
+        // 查询救济金系统设置.
+        $signModel = new Models\Sign;
+        $signModel = $signModel
+            ->where($where)
+            ->update($data);
+
+        return $signModel;
+
+    }//end upSignConfig()
+
+
+}

+ 22 - 0
app/Http/Models/UserInfo.php

@@ -58,6 +58,28 @@ class UserInfo extends Model
     }//end getUserInfo()
 
 
+    /**
+     * 用户详细多个查询
+     *
+     * @access public
+     * @param mixed $where 查询条件
+     * @param mixed $select 查询字段
+     * @return array
+     */
+    public function getAllUserInfo($select)
+    {
+        $membersDetailedModel = new Models\MembersDetailed;
+        $result               = $membersDetailedModel
+            ->select($select)
+            ->join('members', 'membersDetailed.members_id', 'members.id')
+            ->whereNotIn('membersDetailed_cash', [0])
+            ->get();
+
+        return $result;
+
+    }//end getAllUserInfo()
+
+
     /**
      * 用户游戏余额
      *