From: Aleksey Filippov Date: Wed, 1 Apr 2026 16:08:35 +0000 (+0300) Subject: feat(BC-248): добавить поле purchase_date в обращения KikFeedback X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=3713350c5ea0076c6ebe0d71d04d9be17d4ef516;p=erp24_rep%2Fyii-erp24%2F.git feat(BC-248): добавить поле purchase_date в обращения KikFeedback - Миграция: колонка purchase_date (date, nullable) в kik_feedback_request - Модель KikFeedbackRequest: PHPDoc, rules, attributeLabels - API2 KikController: приём purchase_date из bodyParams - API3 KikService + FeedbackInput: приём purchase_date, маппинг max_chatbot - View: отображение "Дата покупки" в карточке обращения --- diff --git a/erp24/api2/controllers/KikController.php b/erp24/api2/controllers/KikController.php index f615a8dd..2d3388a3 100644 --- a/erp24/api2/controllers/KikController.php +++ b/erp24/api2/controllers/KikController.php @@ -41,6 +41,7 @@ class KikController extends BaseController { $request->check_id = $check_id; $request->order_id = $order_id; $request->store_id = $sale ? $sale->store_id_1c : ($store_id ?? ''); + $request->purchase_date = Yii::$app->request->bodyParams['purchase_date'] ?? null; $request->client_info = $client_info; $request->category = ''; $request->subcategory = ''; diff --git a/erp24/api3/core/services/KikService.php b/erp24/api3/core/services/KikService.php index 6e2c397b..3b72194c 100644 --- a/erp24/api3/core/services/KikService.php +++ b/erp24/api3/core/services/KikService.php @@ -27,9 +27,10 @@ class KikService $request = new KikFeedbackRequest; $request->name = $client_name; $request->phone = $phone; - $request->source = ['chatbot' => 8][$source_alias] ?? 0; + $request->source = ['chatbot' => 8, 'amocrm' => 10, 'max_chatbot' => 11][$source_alias] ?? 0; $request->check_id = $check_id; $request->store_id = $sale ? $sale->store_id_1c : ($store_id ?? ''); + $request->purchase_date = $data->purchase_date ?? null; $request->client_info = $client_info; $request->category = ''; $request->subcategory = ''; diff --git a/erp24/api3/modules/v1/requests/kik/FeedbackInput.php b/erp24/api3/modules/v1/requests/kik/FeedbackInput.php index 9183d48a..21049492 100644 --- a/erp24/api3/modules/v1/requests/kik/FeedbackInput.php +++ b/erp24/api3/modules/v1/requests/kik/FeedbackInput.php @@ -13,6 +13,7 @@ class FeedbackInput extends Model public $client_info; public $check_id; public $store_id; + public $purchase_date; public $files; public function rules() @@ -22,7 +23,7 @@ class FeedbackInput extends Model ['phone', PhoneValidator::class], [['client_name', 'source_alias', 'client_info'], 'string'], [['check_id', 'store_id'], 'string', 'min' => 36, 'max' => 36], - [['check_id', 'store_id', 'files'], 'safe'], + [['check_id', 'store_id', 'files', 'purchase_date'], 'safe'], ]; } } \ No newline at end of file diff --git a/erp24/migrations/m260401_180000_add_purchase_date_to_kik_feedback_request.php b/erp24/migrations/m260401_180000_add_purchase_date_to_kik_feedback_request.php new file mode 100644 index 00000000..8a30ff99 --- /dev/null +++ b/erp24/migrations/m260401_180000_add_purchase_date_to_kik_feedback_request.php @@ -0,0 +1,23 @@ +addColumn( + '{{%erp24.kik_feedback_request}}', + 'purchase_date', + $this->date()->null()->comment('Дата покупки') + ); + } + + public function safeDown() + { + $this->dropColumn('{{%erp24.kik_feedback_request}}', 'purchase_date'); + } +} diff --git a/erp24/records/KikFeedbackRequest.php b/erp24/records/KikFeedbackRequest.php index 00ab93b8..084664ec 100644 --- a/erp24/records/KikFeedbackRequest.php +++ b/erp24/records/KikFeedbackRequest.php @@ -38,6 +38,7 @@ use yii\helpers\ArrayHelper; * @property int $status_5_duration Время нахождения в статусе 5 * @property int $status_6_duration Время нахождения в статусе 6 * @property int $status_7_duration Время нахождения в статусе 7 + * @property string|null $purchase_date Дата покупки */ class KikFeedbackRequest extends \yii\db\ActiveRecord { @@ -99,7 +100,7 @@ class KikFeedbackRequest extends \yii\db\ActiveRecord 'status_6_duration', 'status_7_duration', ], 'integer'], - [['created_at', 'closed_at', 'responsible', 'comment'], 'safe'], + [['created_at', 'closed_at', 'responsible', 'comment', 'purchase_date'], 'safe'], [['name'], 'string', 'max' => 255], [['client_info', 'management_decision', 'verdict_description'], 'string', 'max' => 1000], [['check_id', 'phone', 'order_id'], 'string', 'max' => 40], @@ -143,6 +144,7 @@ class KikFeedbackRequest extends \yii\db\ActiveRecord 'status_5_duration' => 'status_5_duration', 'status_6_duration' => 'status_6_duration', 'status_7_duration' => 'status_7_duration', + 'purchase_date' => 'Дата покупки', ]; } diff --git a/erp24/views/kik-feedback/view.php b/erp24/views/kik-feedback/view.php index 4cac6ca1..9c950b3d 100644 --- a/erp24/views/kik-feedback/view.php +++ b/erp24/views/kik-feedback/view.php @@ -162,6 +162,10 @@ function drawComplete($model) { 'format' => 'raw', 'value' => $model->order_id ?? '', ], + [ + 'label' => 'Дата покупки', + 'value' => $model->purchase_date ? date('d.m.Y', strtotime($model->purchase_date)) : '', + ], [ 'label' => 'Магазин', 'value' => $model->store->name ?? '',