Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/catalog/lib/v2/Price/ |
Upload File : |
<?php namespace Bitrix\Catalog\v2\Price; use Bitrix\Catalog\v2\BaseEntity; use Bitrix\Catalog\v2\Fields\TypeCasters\MapTypeCaster; use Bitrix\Catalog\v2\HasSettingsTrait; /** * Class BasePrice * * @package Bitrix\Catalog\v2\Price * * !!! This API is in alpha stage and is not stable. This is subject to change at any time without notice. * @internal */ abstract class BasePrice extends BaseEntity { use HasSettingsTrait; public function __construct(PriceRepositoryContract $priceRepository) { parent::__construct($priceRepository); } public function setPrice(?float $price): self { $this->setField('PRICE', $price); return $this; } public function unsetPrice(): self { return $this->setPrice(null); } public function hasPrice(): bool { return $this->hasField('PRICE') && is_numeric($this->getField('PRICE')); } public function getPrice(): ?float { return $this->hasPrice() ? (float)$this->getField('PRICE') : null; } public function setCurrency($currency): self { $this->setField('CURRENCY', $currency); return $this; } public function getCurrency(): string { return (string)$this->getField('CURRENCY'); } public function isPriceBase(): bool { return $this->getSetting('BASE') === 'Y'; } public function setGroupId(int $groupId): self { $this->setField('CATALOG_GROUP_ID', $groupId); return $this; } public function getGroupId(): int { return (int)$this->getField('CATALOG_GROUP_ID'); } public function setProductId(int $productId): self { $this->setField('PRODUCT_ID', $productId); return $this; } public function getProductId(): int { return (int)$this->getField('PRODUCT_ID'); } protected function getFieldsMap(): array { return [ 'ID' => MapTypeCaster::NULLABLE_INT, 'PRODUCT_ID' => MapTypeCaster::INT, 'EXTRA_ID' => MapTypeCaster::NULLABLE_INT, 'CATALOG_GROUP_ID' => MapTypeCaster::INT, 'PRICE' => MapTypeCaster::NULLABLE_FLOAT, 'CURRENCY' => MapTypeCaster::STRING, 'TIMESTAMP_X' => MapTypeCaster::DATETIME, 'QUANTITY_FROM' => MapTypeCaster::NULLABLE_INT, 'QUANTITY_TO' => MapTypeCaster::NULLABLE_INT, ]; } }