Jelajahi Sumber

临时提交

ajun 5 tahun lalu
induk
melakukan
4e3ac1d08b

+ 14 - 9
app/Services/OrderService.php

@@ -992,10 +992,12 @@ class OrderService
         KeyValues::query()->where('key',$key)->update(['value'=>Carbon::parse($date)->subSeconds(1)]);
     }
     // TODO 获取最后的时间 $key $set 判断是否有上次缓存
-    public function getOrderSyncAt($key){
+    public function getOrderSyncAt(string $key){
         $keyValue = KeyValues::query()->where('key',$key)->first();
         return $keyValue->value;
     }
+
+
     // TODO
     public function pushOrderCreatedCache($orderHeaders){
         $list = [];
@@ -1025,17 +1027,20 @@ class OrderService
             Cache::put('order_newest_update_has_set',true);
         }
     }
+
     // TODO
-    public function filterCreatedOrder($orderHeaders)
-    {
-        $list = Cache::get('order_newest_cache_keys');
-    }
-    // TODO
-    public function filterUpdatedOrder($orderHeaders)
+    public function filterOrderByCache($orderHeaders,$key ='order_newest_')
     {
-        $list = Cache::get('order_newest_update_cache_keys');
+        /**
+         * @var OracleDOCOrderHeader $item
+         */
+        if(!$orderHeaders)return $orderHeaders;
+        return array_filter($orderHeaders,function($item)use($key){
+            $bool = Cache::get($key.$item->orderno);
+            if($bool)Cache::forget($key.$item->orderno);
+            return !$bool;
+        });
     }
-
     // TODO
     public function syncCreatedOrder(){
     }

+ 31 - 0
tests/Services/OrderService/GetOrderSyncAtTest.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace Tests\Services\OrderService;
+
+use App\KeyValues;
+use App\Services\OrderService;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetOrderSyncAtTest extends TestCase
+{
+    /**
+     * @var OrderService $service
+     */
+    private $service;
+
+    public function setUp(): void
+    {
+        parent::setUp(); // TODO: Change the autogenerated stub
+        $this->service = app('OrderService');
+    }
+
+    public function testGetOrderSyncAt()
+    {
+        $key = 'order_last_created_sync_at';
+        $data = $this->service->getOrderSyncAt($key);
+        $this->assertNotEmpty($data);
+    }
+
+}