]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-438 Доработка эндпойнтов
authormarina <m.zozirova@gmail.com>
Wed, 23 Jul 2025 10:51:44 +0000 (13:51 +0300)
committermarina <m.zozirova@gmail.com>
Wed, 23 Jul 2025 10:51:44 +0000 (13:51 +0300)
erp24/api2/controllers/ClientController.php

index ce3e7777448975c2393181f0515726a9c054c98f..2d00e858d3c3fe891d3aa916a8e20a1df6d1e747 100644 (file)
@@ -703,6 +703,8 @@ class ClientController extends BaseController
         $orderId = $data['order_id'] ?? null;
         $phone = $data['phone'] ?? null;
         $pointsToUse = $data['points_to_use'] ?? null;
+        $date = $data['date'] ?? null;
+        $price = $data['price'] ?? null;
 
         if (!$orderId || !$phone) {
             return $this->asJson(['error' => ['code' => 400, 'message' => 'Недостаточно параметров']]);
@@ -722,16 +724,6 @@ class ClientController extends BaseController
             return $this->asJson(['error' => ['code' => 403, 'message' => 'Недостаточно бонусов для списания']]);
         }
 
-        $sale = Sales::find()
-            ->andWhere(['number' => $orderId])
-            ->andWhere(['phone' => $phone])
-            ->andWhere(['operation' => 'Продажа'])
-            ->one();
-
-        if (!$sale) {
-            return $this->asJson(['error' => ['code' => 404, 'message' => 'Продажа не найдена']]);
-        }
-
         if (UsersBonus::find()
             ->andFilterWhere(['phone' => $phone])
             ->andFilterWhere(['user_id' => $clientId])
@@ -752,7 +744,6 @@ class ClientController extends BaseController
             ->leftJoin('bonus_levels bl', 'bl.alias = ubl.bonus_level')
             ->andFilterWhere(['user_id' => $clientId])
             ->andFilterWhere(['phone' => $phone])
-            ->andFilterWhere(['check_id' => $sale->id])
             ->andFilterWhere(['ubl.active' => 1])
             ->select('cashback_rate')
             ->scalar();
@@ -762,9 +753,9 @@ class ClientController extends BaseController
         $userBonus->name = $comment ?? sprintf(
             'Спиcание бонусов %s%% по чеку %s от %s. Сумма чека %s',
             $salePercent,
-            $sale->number,
-            date('d.m.Y H:i:s', strtotime($sale->date)),
-            $sale->summ
+            $orderId,
+            date('d.m.Y H:i:s', strtotime($date)),
+            $price
         );
         $userBonus->date = date('Y-m-d H:i:s');
         $userBonus->site_id = 1;
@@ -772,12 +763,11 @@ class ClientController extends BaseController
         $userBonus->tip = 'minus';
         $userBonus->tip_sale = 'sale';
         $userBonus->user_id = $clientId;
-        $userBonus->check_id = $sale->id;
-        $userBonus->price = $sale->summ;
-        $userBonus->store_id = $sale->store_id;
+        $userBonus->check_id = $orderId;
+        $userBonus->price = $price;
         $userBonus->bonus = $pointsToUse;
-        $userBonus->date_start = $sale->date;
-        $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+365 day', strtotime($sale->date)));
+        $userBonus->date_start = $date;
+        $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+365 day', strtotime($date)));
 
         try {
             if (!$userBonus->save()) {