|
@@ -4,6 +4,7 @@ namespace App\Services;
|
|
|
|
|
|
|
|
use App\Order;
|
|
use App\Order;
|
|
|
use App\OrderCommodity;
|
|
use App\OrderCommodity;
|
|
|
|
|
+use App\Services\common\BatchUpdateService;
|
|
|
use App\Services\common\DataHandlerService;
|
|
use App\Services\common\DataHandlerService;
|
|
|
use Carbon\Carbon;
|
|
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)
|
|
public function syncOrderCommodity(&$orderHeaders)
|
|
|
{
|
|
{
|
|
|
/**
|
|
/**
|
|
@@ -68,13 +72,17 @@ Class OrderCommodityService
|
|
|
$delete_ids = $this->getDeleteIds($ActAllocationDetail_maps,$orderCommodity_maps);
|
|
$delete_ids = $this->getDeleteIds($ActAllocationDetail_maps,$orderCommodity_maps);
|
|
|
$create_params = $this->getCreateParams($ActAllocationDetail_maps,$orderCommodity_maps);
|
|
$create_params = $this->getCreateParams($ActAllocationDetail_maps,$orderCommodity_maps);
|
|
|
unset($orderCommodity_maps,$ActAllocationDetail_maps);
|
|
unset($orderCommodity_maps,$ActAllocationDetail_maps);
|
|
|
|
|
+
|
|
|
$inner_params = $this->getInnerParamsByParams($create_params,$order_code_map,$commodity_map);
|
|
$inner_params = $this->getInnerParamsByParams($create_params,$order_code_map,$commodity_map);
|
|
|
unset($create_params,$order_code_map,$orders,$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){
|
|
if(count($inner_params)>0){
|
|
|
$inner_params = array_chunk($inner_params,4000);
|
|
$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);
|
|
unset($inner_params);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -84,7 +92,6 @@ Class OrderCommodityService
|
|
|
unset($delete_ids);
|
|
unset($delete_ids);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // TODO 将拉取的OrderHeader 重组为符合当前基准的数组
|
|
|
|
|
public function getRegroupActAllocationDetails(&$orderHeaders)
|
|
public function getRegroupActAllocationDetails(&$orderHeaders)
|
|
|
{
|
|
{
|
|
|
$map = [];
|
|
$map = [];
|
|
@@ -104,7 +111,7 @@ Class OrderCommodityService
|
|
|
});
|
|
});
|
|
|
return $map;
|
|
return $map;
|
|
|
}
|
|
}
|
|
|
- // TODO 过滤已有
|
|
|
|
|
|
|
+
|
|
|
public function filterHasExist(&$ActAllocationDetail_maps,&$orderCommodity_maps)
|
|
public function filterHasExist(&$ActAllocationDetail_maps,&$orderCommodity_maps)
|
|
|
{
|
|
{
|
|
|
foreach ($ActAllocationDetail_maps as $key=>$actAllocationDetail_map) {
|
|
foreach ($ActAllocationDetail_maps as $key=>$actAllocationDetail_map) {
|
|
@@ -117,7 +124,7 @@ Class OrderCommodityService
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // TODO 将传入OrderCommodities 重组为符合当前基准的数组
|
|
|
|
|
|
|
+
|
|
|
public function getRegroupOrderCommodities(&$orderCommodities,$owner_id_maps)
|
|
public function getRegroupOrderCommodities(&$orderCommodities,$owner_id_maps)
|
|
|
{
|
|
{
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
@@ -141,7 +148,7 @@ Class OrderCommodityService
|
|
|
});
|
|
});
|
|
|
return $map;
|
|
return $map;
|
|
|
}
|
|
}
|
|
|
- // TODO 返回修改删除的
|
|
|
|
|
|
|
+
|
|
|
public function getDeleteIds(&$ActAllocationDetail_maps,&$orderCommodity_maps)
|
|
public function getDeleteIds(&$ActAllocationDetail_maps,&$orderCommodity_maps)
|
|
|
{
|
|
{
|
|
|
$ids = [];
|
|
$ids = [];
|
|
@@ -166,7 +173,7 @@ Class OrderCommodityService
|
|
|
}
|
|
}
|
|
|
return $ids;
|
|
return $ids;
|
|
|
}
|
|
}
|
|
|
- // TODO 返回创建的数组
|
|
|
|
|
|
|
+
|
|
|
public function getCreateParams(&$ActAllocationDetail_maps,&$orderCommodity_maps)
|
|
public function getCreateParams(&$ActAllocationDetail_maps,&$orderCommodity_maps)
|
|
|
{
|
|
{
|
|
|
$params = [];
|
|
$params = [];
|
|
@@ -190,7 +197,7 @@ Class OrderCommodityService
|
|
|
}
|
|
}
|
|
|
return $params;
|
|
return $params;
|
|
|
}
|
|
}
|
|
|
- // TODO 根据创建数组返回可以使用的插入数组
|
|
|
|
|
|
|
+
|
|
|
public function getInnerParamsByParams(&$create_params,&$order_code_map,&$commodity_map)
|
|
public function getInnerParamsByParams(&$create_params,&$order_code_map,&$commodity_map)
|
|
|
{
|
|
{
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
@@ -212,5 +219,22 @@ Class OrderCommodityService
|
|
|
}
|
|
}
|
|
|
return $inner_params;
|
|
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;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|