add empik module
This commit is contained in:
64
modules/empikmarketplace/classes/EmpikProduct.php
Normal file
64
modules/empikmarketplace/classes/EmpikProduct.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
class EmpikProduct extends ObjectModel
|
||||
{
|
||||
public $id_product;
|
||||
public $id_product_attribute;
|
||||
public $product_export;
|
||||
public $offer_export;
|
||||
public $offer_price;
|
||||
public $offer_price_reduced;
|
||||
public $logistic_class;
|
||||
public $condition;
|
||||
public $export_original_price;
|
||||
|
||||
public static $definition = [
|
||||
'table' => 'empik_product',
|
||||
'primary' => 'id_empik_product',
|
||||
'fields' => [
|
||||
'id_product' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true],
|
||||
'id_product_attribute' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true],
|
||||
'product_export' => ['type' => self::TYPE_INT, 'validate' => 'isBool', 'required' => false],
|
||||
'offer_export' => ['type' => self::TYPE_INT, 'validate' => 'isBool', 'required' => false],
|
||||
'offer_price' => ['type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => false],
|
||||
'offer_price_reduced' => ['type' => self::TYPE_FLOAT, 'validate' => 'isPrice', 'required' => false],
|
||||
'logistic_class' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => false],
|
||||
'condition' => ['type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => false],
|
||||
'export_original_price' => ['type' => self::TYPE_INT, 'validate' => 'isBool', 'required' => false],
|
||||
],
|
||||
];
|
||||
|
||||
public static function getById($productId, $productAttributeId = 0)
|
||||
{
|
||||
$sql = new DbQuery();
|
||||
$sql->select('*');
|
||||
$sql->from('empik_product');
|
||||
$sql->where('id_product = '.(int)$productId);
|
||||
$sql->where('id_product_attribute = '.(int)$productAttributeId);
|
||||
|
||||
$row = Db::getInstance()->getRow($sql);
|
||||
|
||||
if ($row) {
|
||||
$empikProduct = new EmpikProduct();
|
||||
$empikProduct->hydrate($row);
|
||||
|
||||
return $empikProduct;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getOrCreate($productId, $productAttributeId = 0)
|
||||
{
|
||||
$empikProduct = self::getById($productId, $productAttributeId);
|
||||
if (!$empikProduct) {
|
||||
$empikProduct = new EmpikProduct();
|
||||
$empikProduct->condition = 11;
|
||||
$empikProduct->id_product = $productId;
|
||||
$empikProduct->id_product_attribute = $productAttributeId;
|
||||
$empikProduct->add();
|
||||
}
|
||||
|
||||
return $empikProduct;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user