Browse Source

导粉月报加缓存

sunhao 5 years ago
parent
commit
b11e4fbacb
1 changed files with 42 additions and 0 deletions
  1. 42 0
      app/Http/Controllers/Admin/TemplateController.php

+ 42 - 0
app/Http/Controllers/Admin/TemplateController.php

@@ -18,6 +18,7 @@ use App\TemplatesLog;
18 18
 use App\TemplatesBackimg;
19 19
 use App\CustDetail;
20 20
 use App\Order;
21
+use App\RedisModel;
21 22
 use App\Services\OssServices as oss;
22 23
 use Illuminate\Support\Facades\DB;
23 24
 
@@ -726,6 +727,41 @@ class TemplateController extends Controller
726 727
 
727 728
         $offset = ($page-1) * $pageSize;
728 729
 
730
+        $redisKey = "seafood.templateLogMonthReport";
731
+        if( empty($admin_id) && empty($team_id) && empty($stime) && empty($etime) ){
732
+            $result = RedisModel::get($redisKey);
733
+            if(!empty($result)){
734
+                $result = json_decode($result, true);
735
+                $count = count($result);
736
+                if ($count > 1) {
737
+                    // 总页数
738
+                    $pages = ceil($count/$pageSize);
739
+                }else{
740
+                    // 总页数
741
+                    $pages = 1;
742
+                } 
743
+                $result = array_slice($result, $offset, $pageSize);
744
+                $teamList = DB::table('teams')->select('id', 'name')->where('type', 1)->get();
745
+                $teamList = json_decode(json_encode($teamList), true);
746
+
747
+                $adminList = DB::table('admin')->select('id', 'realname', 'username')->where('id','>', 1)->where('is_use', 1)->get();
748
+                $adminList = json_decode(json_encode($adminList), true);
749
+
750
+                return view('template/templateLogMonthReport', ['result'=>$result,
751
+                    'page'              =>$page,
752
+                    'count'             =>$count,
753
+                    'pages'             =>$pages,  
754
+                    'teamlist'          =>$teamList,  
755
+                    'adminlist'         =>$adminList,  
756
+                    'team_id'           =>$team_id,  
757
+                    'admin_id'          =>$admin_id,  
758
+                    'stime'             =>$stime,  
759
+                    'etime'             =>$etime,
760
+                    'self_role'         =>$self_role,    
761
+                ]);
762
+            }
763
+        }
764
+
729 765
         $mstime = '';
730 766
         $metime = '';
731 767
         if($stime){
@@ -802,6 +838,12 @@ class TemplateController extends Controller
802 838
 
803 839
         $sort_c = array_column($result, 'avg_amount');
804 840
         array_multisort($sort_c,SORT_DESC,$result);
841
+
842
+        if( empty($admin_id) && empty($team_id) && empty($stime) && empty($etime) ){
843
+            RedisModel::set($redisKey, json_encode($result));
844
+            RedisModel::expire($redisKey, 36000);
845
+        }
846
+        
805 847
         $result = array_slice($result, $offset, $pageSize);
806 848
 
807 849
         $teamList = DB::table('teams')->select('id', 'name')->where(function($query) use($team_id, $self_role){