ajun 5 лет назад
Родитель
Сommit
9d1eeb76d2
1 измененных файлов с 36 добавлено и 19 удалено
  1. 36 19
      app/Services/OrderService.php

+ 36 - 19
app/Services/OrderService.php

@@ -991,8 +991,11 @@ class OrderService
 
     // TODO
     public function setOrderSyncAt($key,$date,$bool=true){
-        if($bool) ValueStore::query()->where('name',$key)->update(['value'=>Carbon::parse($date)->subSeconds(1)]);
-        ValueStore::query()->where('name',$key)->update(['value'=>$date]);
+        if($bool){
+            ValueStore::query()->where('name',$key)->update(['value'=>Carbon::parse($date)->subSeconds(1)]);
+        } else {
+            ValueStore::query()->where('name',$key)->update(['value'=>$date]);
+        }
     }
     // TODO
     public function getOrderSyncAt($key,$type='newest'){
@@ -1006,13 +1009,18 @@ class OrderService
     // TODO
     public function pushOrderCache($orderHeaders,$prefixKey,$hasKey,$list_key){
         $list = [];
-        collect($orderHeaders)->each(function($item)use(&$list,$prefixKey){
-            $list[] =$item->orderno;
-            Cache::put($prefixKey.$item->orderno,true);
-        });
-        if(count($orderHeaders) > 0){
-            Cache::put($list_key,$list);
-            Cache::put($hasKey,true);
+        try {
+            Redis::LLEN($list_key);
+            collect($orderHeaders)->each(function($item)use(&$list,$prefixKey){
+                $list[] =$item->orderno;
+                Cache::put($prefixKey.$item->orderno,true);
+            });
+            if(count($orderHeaders) > 0){
+                Cache::put($list_key,$list);
+                Cache::put($hasKey,true);
+            }
+        } catch (\Exception $e) {
+
         }
     }
     // TODO
@@ -1023,18 +1031,27 @@ class OrderService
          */
         if(!$orderHeaders)return $orderHeaders;
         if(!$key)return $orderHeaders;
-        return array_filter($orderHeaders,function($item)use($key){
-            $bool = Cache::get($key.$item->orderno);
-            return !$bool;
-        });
+        try {
+            Redis::LLEN($key);
+            return array_filter($orderHeaders,function($item)use($key){
+                $bool = Cache::get($key.$item->orderno);
+                return !$bool;
+            });
+        } catch (\Exception $e) {
+            return $orderHeaders;
+        }
     }
-
-    public function cancelOrderCache($key)
+    // TODO
+    public function cancelOrderCache($key,string $prefix)
     {
-        $list = Cache::get($key);
-        collect($list)->each(function($item){
-            Cache::forget($item);
-        });
+        try {
+            $list = Cache::get($key);
+            collect($list)->each(function ($item)use($prefix) {
+                Cache::forget($prefix.$item);
+            });
+            Cache::put($key,[]);
+        } catch (\Exception $e) {
+        }
     }
     // TODO
     public function syncCreatedOrder(){