Просмотр исходного кода

货主建立缓存
问题件字段名修改

LD 5 лет назад
Родитель
Сommit
7fb762c919

+ 3 - 2
app/Services/CacheService.php

@@ -8,13 +8,14 @@ use Illuminate\Support\Facades\Cache;
 
 class CacheService
 {
-    function getOrExecute(String $key, $func){
+    function getOrExecute(String $key, $func, $expiration=null){
         $results = Cache::get($key);
         if(!$results){
             if(!$func||gettype($func)!='object') throw new \Exception('执行函数类型错误');
             $results = $func();
             if(!$results)return null;
-            Cache::put($key, $results, config('cache.expirations.default'));
+            if(!$expiration) $expiration=config('cache.expirations.default');
+            Cache::put($key, $results, $expiration);
         }
         return $results;
     }

+ 24 - 12
app/Services/OwnerService.php

@@ -9,17 +9,27 @@ use Illuminate\Support\Facades\Auth;
 
 Class OwnerService
 {
+    /** @var CacheService $cacheService */
+    private $cacheService;
+    function __construct(){
+        $this->cacheService=app('CacheService');
+    }
     /*
      * array | string $column
      * 默认一些select字段,可传递string 或 array来指定select字段
      */
     public function getSelection($column = ['id', 'name'])
     {
-        return Owner::filterAuthorities()->select($column)->get();
+        return $this->cacheService->getOrExecute('OwnersAll_IdName',function()use($column){
+            return Owner::filterAuthorities()->select($column)->get();
+        },config('cache.expirations.owners'));
+
     }
     public function getSelectionId($column = ['id'])
     {
-        return Owner::filterAuthorities()->select($column)->get();
+        return $this->cacheService->getOrExecute('OwnersAll_Id',function()use($column){
+            return Owner::filterAuthorities()->select($column)->get();
+        },config('cache.expirations.owners'));
     }
     /**
      *同步WMS全部货主至WAS
@@ -55,18 +65,20 @@ Class OwnerService
     }
 
     public function first(array $params, array $rules =[]){
-        $owner = Owner::query();
-        foreach ($params as $column => $value){
-            if (!isset($rules[$column]))$owner->where($column, $value);
-            else{
-                switch ($rules[$column]){
-                    case "or":
-                        $owner->orWhere($column, $value);
-                        break;
+        return $this->cacheService->getOrExecute('OwnersFirst'.md5(json_encode($params)),function()use($params,$rules){
+            $owner = Owner::query();
+            foreach ($params as $column => $value){
+                if (!isset($rules[$column]))$owner->where($column, $value);
+                else{
+                    switch ($rules[$column]){
+                        case "or":
+                            $owner->orWhere($column, $value);
+                            break;
+                    }
                 }
             }
-        }
-        return $owner->first();
+            return $owner->first();
+        },config('cache.expirations.rarelyChange'));
     }
 
     public function create(array $params){

+ 2 - 0
config/cache.php

@@ -6,6 +6,8 @@ return [
 
     'expirations'=>[
         'default'=>10,
+        'rarelyChange'=>60,
+        'owners'=>20,
     ],
     /*
     |--------------------------------------------------------------------------

+ 2 - 2
resources/views/order/issue/index.blade.php

@@ -732,7 +732,7 @@
                     {name: '退回中', value: '退回中'}];
                 let imported_status = [{name:'导入未处理',value:'导入未处理'},{name:'导入已梳理',value:'导入已处理'}]
                 let data = [[
-                    {name: 'created_at_start', type: 'dateTime', tip: '订单开始日期'},
+                    {name: 'created_at_start', type: 'dateTime', tip: '登记开始日期'},
                     {
                         name: 'owner_id',
                         type: 'select_multiple_select',
@@ -753,7 +753,7 @@
                     {name: 'send_client_code', type: 'input', tip: '二次订单号:前或后加百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '二次订单号'},
 
                 ], [
-                    {name: 'created_at_end', type: 'dateTime', tip: '订单结束日期'},
+                    {name: 'created_at_end', type: 'dateTime', tip: '登记结束日期'},
                     {name: 'consignee_name', type: 'input', tip: '收货人名称:前或后加百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '收货人名称'},
                     {name: 'consignee_phone', type: 'input', tip: '收货人电话:前或后加百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '收货人电话'},
                     {name: 'good_barcode', type: 'input', tip: '条码:前或后加 百分号为单个模糊搜索,否则为多条件精确搜索', placeholder: '条码'},