Обработка логики изменения статуса confirmed

parent 12dee862
......@@ -352,25 +352,65 @@ class Cabinet extends Common
$report_type = $request->getAttribute('report');
$data_request = $request->getParsedBody();
// Подтверждение (или его отмена) заказов:
if ($data_request['toggle_confirmed']) {
return new JsonResponse($data_request);
/** @var \App\Model\Feeds $ordersStatusModel */
$ordersStatusModel = $this->container->get(OrdersStatus::class);
/*
$site->setEnabled($data['is_enabled']);
$result = $siteModel->save($site);
/** @var DelegatingHydrator $hydrator */
$hydrator = $this->container->get(DelegatingHydrator::class);
if(!$result) {
$feed_id = $data_request['feedId'];
if (in_array($feed_id, $feed_id_list)) {
$order_id = $data_request['orderId'];
$ordersStatus = $ordersStatusModel->findOne(['feed_id' => $feed_id, 'order_id' => $order_id]);
if ($ordersStatus) {
$order_is_approved = $ordersStatus->getApproved();
if (!$order_is_approved) {
if ($data_request['confirmed']) {
// Удаляем запись т.к. подтвержденныс считается по-умолчанию:
$res = $ordersStatusModel->deleteRetargOrderStatus($ordersStatus);
if(!$res) {
throw new \Exception('DB error');
}
} else {
$data = array(
'feed_id' => $feed_id,
'order_id' => $order_id,
'confirmed' => $data_request['confirmed'],
'approved' => 0
);
$orderStatus = $hydrator->hydrate($data, new OrderStatus());
$res = $ordersStatusModel->saveRetargOrderStatus($orderStatus, 'insert');
if(!$res) {
throw new \Exception('DB error');
}
}
}
return new JsonResponse($order_id);
} else {
$response = new JsonResponse(array(
'result' => true,
));
return $response;
*/
$data = array(
'feed_id' => $feed_id,
'order_id' => $order_id,
'confirmed' => $data_request['confirmed'],
'approved' => 0
);
$orderStatus = $hydrator->hydrate($data, new OrderStatus());
$res = $ordersStatusModel->saveRetargOrderStatus($orderStatus, 'insert');
if(!$res) {
throw new \Exception('DB error');
}
return new JsonResponse($order_id);
}
}
}
// Утверждение заказов:
if ($data_request['approved']) {
/** @var \App\Model\Feeds $ordersStatusModel */
......
......@@ -75,19 +75,19 @@ class OrdersStatus extends Common
}
/*
public function deleteRetargCatFee($entity)
public function deleteRetargOrderStatus($entity)
{
$result = false;
$cat_id = $entity->getCatid();
$feed_id = $entity->getFeedId();
$order_id = $entity->getOrderId();
if ($entity) {
$result = $this->tableGateway->delete(['CatID' => $cat_id]);
$result = $this->tableGateway->delete(['feed_id' => $feed_id, 'order_id' => $order_id]);
} else {
throw new \Exception("Record not found ID:" . $cat_id);
throw new \Exception("Record not found ID:" . $feed_id . " " . $order_id);
}
return $result;
}
*/
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment