Browse Source

wesmiler 报恩寺项目提交

wesmiler 4 năm trước cách đây
mục cha
commit
c646060b11

+ 4 - 2
app/Http/Controllers/IndexController.php

@@ -170,7 +170,8 @@ class IndexController extends Backend
      */
     public function tradeRank(){
         $dateType = request()->get('dateType', 0);
-        $datas = TradeService::make()->ranks($dateType);
+        $coinType = request()->get('coinType', 0);
+        $datas = TradeService::make()->ranks($dateType, $coinType);
         return message(MESSAGE_OK,true, $datas);
     }
 
@@ -182,10 +183,11 @@ class IndexController extends Backend
     public function tableData(){
         $type = request()->get('type', 'trade');
         $dateType = request()->get('dateType', 0);
+        $coinType = request()->get('coinType', 0);
         $datas = [];
         switch($type){
             case 'trade': // 消费
-                $datas = TradeService::make()->tableData($dateType);
+                $datas = TradeService::make()->tableData($dateType, $coinType);
                 break;
             case 'gd': // 供灯交易量
                 $datas = GongdengOrderService::make()->tableData($dateType);

+ 6 - 1
app/Services/ArticleCatesService.php

@@ -54,7 +54,12 @@ class ArticleCatesService extends BaseService
     public function getOptions(){
         $params = request()->all();
         $num = isset($params['num'])? $params['num'] : 0;
-        $datas = $this->model->where(['status'=> 1])
+        $type = isset($params['type'])? $params['type'] : 0;
+        $where = ['status'=> 1];
+        if($type>0){
+            $where['type'] = $type;
+        }
+        $datas = $this->model->where($type)
             ->select(['id','pid','name','status'])
             ->orderBy('sort','asc')
             ->limit($num? $num : 999999)

+ 18 - 6
app/Services/TradeService.php

@@ -180,7 +180,7 @@ class TradeService extends BaseService
      * 消费排名
      * @return mixed
      */
-    public function ranks($dateType){
+    public function ranks($dateType, $coinType=0){
         $firstTime = strtotime(date('Y-m-d'));
         if($dateType==1){
             $firstTime = strtotime('monday this week');
@@ -189,11 +189,17 @@ class TradeService extends BaseService
         }else if($dateType==3){
             $firstTime = strtotime(date('Y-01-01'));
         }
+
+        $where = ['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2];
+        if($coinType==1 || $coinType==3) {
+            $where['a.coin_type'] = $coinType;
+            $where['a.pay_type'] = 1;
+        }
         $dataList = $this->model::from('account_logs as a')
             ->leftJoin('member as m', 'm.id', '=', 'a.user_id')
             ->where('a.create_time','>=', $firstTime)
             ->where('a.create_time','<=', time())
-            ->where(['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2])
+            ->where($where)
             ->select(['m.avatar','m.nickname','a.id','a.user_id', \DB::raw('sum('.env('DB_PREFIX').'a.`money`) as total')])
             ->groupBy('a.user_id')
             ->orderBy(\DB::raw('sum('.env('DB_PREFIX').'a.`money`)'),'desc')
@@ -203,6 +209,7 @@ class TradeService extends BaseService
         if($dataList){
             foreach ($dataList as &$item){
                 $item['avatar'] = $item['avatar']? get_image_url($item['avatar']) : '';
+                $item['total'] = $coinType==2? moneyFormat($item['total']) : intval($item['total']);
             }
             unset($item);
         }
@@ -215,8 +222,8 @@ class TradeService extends BaseService
      * @param $dateType
      * @return array
      */
-    public function tableData($dateType){
-        $cacheKey = "caches:statistics:table_trade_{$dateType}";
+    public function tableData($dateType, $coinType=0){
+        $cacheKey = "caches:statistics:table_trade_{$dateType}_{$coinType}";
         $datas = RedisService::get($cacheKey);
         if($datas){
             return $datas;
@@ -273,9 +280,14 @@ class TradeService extends BaseService
             }
         }
 
+        $where = ['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2];
+        if($coinType==1 || $coinType==3) {
+            $where['a.coin_type'] = $coinType;
+            $where['a.pay_type'] = 1;
+        }
         $counts = $this->model::from('account_logs as a')
             ->leftJoin('member as m', 'm.id', '=', 'a.user_id')
-            ->where(['a.mark'=> 1,'m.mark'=> 1,'a.status'=> 1,'a.coin_type'=> 2,'a.pay_type'=> 2,'a.change_type'=> 2])
+            ->where($where)
             ->where('a.create_time','>=', $firstTime)
             ->where('a.create_time','<=', time())
             ->select([\DB::raw('sum('.env('DB_PREFIX').'a.`money`) as value'),\DB::raw('FROM_UNIXTIME('.env('DB_PREFIX')."a.create_time,'{$formatStr}') as ks")])
@@ -286,7 +298,7 @@ class TradeService extends BaseService
         if($counts){
             foreach ($counts as $v){
                 if(isset($datas[$v['ks']])){
-                    $datas[$v['ks']]['value'] = $v['value'];
+                    $datas[$v['ks']]['value'] = $coinType==2? moneyFormat($v['value']) : intval($v['value']);
                 }
             }
         }