Эх сурвалжийг харах

工单核检单侧边栏查询速度优化

曹鹤洋 1 жил өмнө
parent
commit
94b9020382

+ 11 - 4
application/api/controller/WorkOrderVerification.php

@@ -33,19 +33,20 @@ class WorkOrderVerification extends Api
         if(!$this->request->isGet()){
             $this->error('请求方式错误');
         }
+        if(!cache('WorkOrderVerification-getTable')){
+            $time = date('Y-m-d',time()-8640000);
             $rows = db()->table('db_qczl')
                 ->field('LEFT(sys_rq, 10) as date, COUNT(*) as counts')
+                ->where('sys_rq','>=',$time)
                 ->group('date')
-                ->order('UniqId desc')
+                ->order('date desc')
                 ->limit(30)
                 ->select();
-
             $arr = db()->table('db_qczl')
                 ->field('LEFT(sys_rq, 10) as date, rtrim(sys_id) as sys_id, COUNT(*) as count')
                 ->where('sys_rq','>=',$rows[count($rows)-1]['date'])
                 ->group('date, sys_id')
                 ->select();
-
             foreach($rows as $key=>$value){
                 $rows[$key]['sys'] = [];
                 foreach($arr as $k=>$v){
@@ -57,7 +58,11 @@ class WorkOrderVerification extends Api
                 }
                 $rows[$key]['date'] = str_replace('-', '.', $rows[$key]['date']);
             }
-
+            //设置缓存
+            cache('WorkOrderVerification-getTable',$rows,3600);
+        }else{
+            $rows =  cache('WorkOrderVerification-getTable');
+        }
         $this->success('成功',$rows);
     }
 
@@ -422,6 +427,7 @@ class WorkOrderVerification extends Api
         $sql = db('db_qczl')->where('UniqId',$id)->fetchSql(true)->update($params);
         $res = Db::query($sql);
         if ($res !== 0){
+            cache('WorkOrderVerification-getTable',null);
             $this->success('更新成功');
         }else{
             $this->error('更新失败');
@@ -447,6 +453,7 @@ class WorkOrderVerification extends Api
         $params['sys_rq'] = date('Y-m-d H:i:s');
         $res = \db('db_qczl')->insert($params);
         if ($res !== false){
+            cache('WorkOrderVerification-getTable',null);
             $this->success('新增成功');
         }else{
             $this->error('新增失败');