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

parent 12dee862
...@@ -352,25 +352,65 @@ class Cabinet extends Common ...@@ -352,25 +352,65 @@ class Cabinet extends Common
$report_type = $request->getAttribute('report'); $report_type = $request->getAttribute('report');
$data_request = $request->getParsedBody(); $data_request = $request->getParsedBody();
// Подтверждение (или его отмена) заказов:
if ($data_request['toggle_confirmed']) { if ($data_request['toggle_confirmed']) {
return new JsonResponse($data_request); /** @var \App\Model\Feeds $ordersStatusModel */
$ordersStatusModel = $this->container->get(OrdersStatus::class);
/* /** @var DelegatingHydrator $hydrator */
$site->setEnabled($data['is_enabled']); $hydrator = $this->container->get(DelegatingHydrator::class);
$result = $siteModel->save($site);
if(!$result) { $feed_id = $data_request['feedId'];
throw new \Exception('DB error'); 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 {
$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);
}
} }
$response = new JsonResponse(array(
'result' => true,
));
return $response;
*/
} }
// Утверждение заказов:
if ($data_request['approved']) { if ($data_request['approved']) {
/** @var \App\Model\Feeds $ordersStatusModel */ /** @var \App\Model\Feeds $ordersStatusModel */
......
...@@ -75,19 +75,19 @@ class OrdersStatus extends Common ...@@ -75,19 +75,19 @@ class OrdersStatus extends Common
} }
/* public function deleteRetargOrderStatus($entity)
public function deleteRetargCatFee($entity)
{ {
$result = false; $result = false;
$cat_id = $entity->getCatid(); $feed_id = $entity->getFeedId();
$order_id = $entity->getOrderId();
if ($entity) { if ($entity) {
$result = $this->tableGateway->delete(['CatID' => $cat_id]); $result = $this->tableGateway->delete(['feed_id' => $feed_id, 'order_id' => $order_id]);
} else { } else {
throw new \Exception("Record not found ID:" . $cat_id); throw new \Exception("Record not found ID:" . $feed_id . " " . $order_id);
} }
return $result; 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