瀏覽代碼

添加后续逻辑

ajun 5 年之前
父節點
當前提交
c20f6a907b
共有 1 個文件被更改,包括 34 次插入10 次删除
  1. 34 10
      app/Services/OrderCommodityService.php

+ 34 - 10
app/Services/OrderCommodityService.php

@@ -4,6 +4,7 @@ namespace App\Services;
 
 use App\Order;
 use App\OrderCommodity;
+use App\Services\common\BatchUpdateService;
 use App\Services\common\DataHandlerService;
 use Carbon\Carbon;
 
@@ -24,7 +25,10 @@ Class OrderCommodityService
         }
     }
 
-    // TODO 根据传入的$orderHeaders 同步订单
+    public function batchUpdate($updateParams){
+        return app(BatchUpdateService::class)->batchUpdate('order_commodities',$updateParams);
+    }
+
     public function syncOrderCommodity(&$orderHeaders)
     {
         /**
@@ -68,13 +72,17 @@ Class OrderCommodityService
         $delete_ids =  $this->getDeleteIds($ActAllocationDetail_maps,$orderCommodity_maps);
         $create_params = $this->getCreateParams($ActAllocationDetail_maps,$orderCommodity_maps);
         unset($orderCommodity_maps,$ActAllocationDetail_maps);
+
         $inner_params = $this->getInnerParamsByParams($create_params,$order_code_map,$commodity_map);
         unset($create_params,$order_code_map,$orders,$commodity_map);
+
+//        $update_params = $this->getUpdateParamsByParamsAndDeleteIds($inner_params,$delete_ids);
+//        if(count($update_params)>0)$this->batchUpdate($update_params);
+//        unset($update_params);
+
         if(count($inner_params)>0){
             $inner_params = array_chunk($inner_params,4000);
-            foreach ($inner_params as $inner_param) {
-                $this->insert($inner_param);
-            }
+            foreach ($inner_params as $inner_param) {$this->insert($inner_param);}
             unset($inner_params);
         }
 
@@ -84,7 +92,6 @@ Class OrderCommodityService
         unset($delete_ids);
     }
 
-    // TODO 将拉取的OrderHeader 重组为符合当前基准的数组
     public function getRegroupActAllocationDetails(&$orderHeaders)
     {
         $map = [];
@@ -104,7 +111,7 @@ Class OrderCommodityService
         });
         return $map;
     }
-    // TODO 过滤已有
+
     public function filterHasExist(&$ActAllocationDetail_maps,&$orderCommodity_maps)
     {
         foreach ($ActAllocationDetail_maps as $key=>$actAllocationDetail_map) {
@@ -117,7 +124,7 @@ Class OrderCommodityService
             }
         }
     }
-    // TODO 将传入OrderCommodities 重组为符合当前基准的数组
+
     public function getRegroupOrderCommodities(&$orderCommodities,$owner_id_maps)
     {
         /** @var DataHandlerService  $dataHandlerService */
@@ -141,7 +148,7 @@ Class OrderCommodityService
         });
         return $map;
     }
-    // TODO 返回修改删除的
+
     public function getDeleteIds(&$ActAllocationDetail_maps,&$orderCommodity_maps)
     {
         $ids = [];
@@ -166,7 +173,7 @@ Class OrderCommodityService
         }
         return $ids;
     }
-    // TODO 返回创建的数组
+
     public function getCreateParams(&$ActAllocationDetail_maps,&$orderCommodity_maps)
     {
         $params = [];
@@ -190,7 +197,7 @@ Class OrderCommodityService
         }
         return $params;
     }
-    // TODO 根据创建数组返回可以使用的插入数组
+
     public function getInnerParamsByParams(&$create_params,&$order_code_map,&$commodity_map)
     {
         /** @var DataHandlerService  $dataHandlerService */
@@ -212,5 +219,22 @@ Class OrderCommodityService
         }
         return $inner_params;
     }
+
+    // TODO 更新后续添加进更新逻辑
+    public function getUpdateParamsByParamsAndDeleteIds(&$inner_params,&$ids)
+    {
+        $update_params = [['id','order_id', 'commodity_id', 'amount', 'location', 'created_at', 'updated_at']];
+        if(count($inner_params)==0)return $update_params;
+        $date = (string)Carbon::now();
+        foreach ($inner_params as $key=>$inner_param) {
+            if(count($ids)==0)break;
+            $inner_param['id'] = array_shift($ids);
+            $inner_param['updated_at'] = $date;
+            $inner_param['created_at'] = $date;
+            $update_params[] = $inner_param;
+            unset($inner_params[$key]);
+        }
+        return $update_params;
+    }
 }