*/
class MarketplaceOrders extends \yii\db\ActiveRecord
{
+ const STATUS_TELEGRAM_NOT_SENT = 0;
+ const STATUS_TELEGRAM_PREPARED_TO_SEND = 1;
+ const STATUS_TELEGRAM_SENT = 2;
+ const STATUS_TELEGRAM_ERROR = 8;
+
+ const STATUSES_1C_CREATED_IN_ERP = 1;
+ const STATUSES_1C_CREATED_IN_1C = 2;
+
+ const STATUSES_1C = [
+ self::STATUSES_1C_CREATED_IN_ERP => 'Создан в ЕРП',
+ self::STATUSES_1C_CREATED_IN_1C => 'Создан в 1C',
+ ];
+
+
+ public const STATUSES_TO_CODE = [
+ 'Новый' => ["PROCESSING", "STARTED"],
+ 'Правки флориста' => ["PROCESSING", "STARTED"],
+ 'В работе' => ["PROCESSING", "STARTED"],
+ 'Собрано' => ["PROCESSING", "READY_TO_SHIP"],
+ 'Передано курьеру' => ["DELIVERY", "COURIER_RECEIVED"],
+ 'Успех' => ["DELIVERED", "DELIVERY_SERVICE_DELIVERED"],
+ 'Отказ' => ["CANCELLED", "SHOP_FAILED"],
+ ];
+
+
+
/**
* {@inheritdoc}
*/
{
return [
[['store_id', 'warehouse_guid', 'returned_at', 'return_data', 'raw_data', 'guid'], 'default', 'value' => null],
- [['cancel_requested'], 'default', 'value' => 0],
+ [['cancel_requested', 'status_telegram'], 'default', 'value' => 0],
- [['status_1c'], 'default', 'value' => 1],
+ [['status_1c'], 'default', 'value' => 1000],
[['marketplace_order_id', 'marketplace_id', 'marketplace_name', 'status_id', 'substatus_id', 'creation_date', 'updated_at', 'total', 'delivery_total', 'buyer_total_before_discount', 'tax_system', 'payment_type', 'payment_method'], 'required'],
[['store_id', 'status_id', 'substatus_id', 'fake', 'cancel_requested', 'status_1c'], 'default', 'value' => null],
[[ 'fake'], 'default', 'value' => 0],
return $this->hasOne(MarketplaceOrderStatusTypes::class, ['id' => 'substatus_id']);
}
+ public function getItems() {
+ return $this->hasMany(MarketplaceOrderItems::class, ['order_id' => 'id']);
+ }
++
+ public function getStatus1c()
+ {
+ return $this->hasOne(MarketplaceOrder1cStatuses::class, ['status_id' => 'status_1c']);
+ }
+
+
+ public static function getStatusCodes(string $status): array
+ {
+ return self::STATUSES_TO_CODE[$status] ?? [];
+ }
}