<?php
namespace App\AtechNet\CoreBundle\Entity;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\OneToOne;
use Doctrine\ORM\Mapping\Table as Table;
use Symfony\Component\Validator\Constraints as Assert;
/**
* MarketplaceListingStatistics
*
* @Table(name="marketplace_listings_statistics")
* @Entity()
*/
class MarketplaceListingStatistics extends AbstractEntity
{
public const TYPE_ID_NEW_LISTING = 1;
public const TYPE_ID_AVAILABILITY_CHANGE = 2;
public const TYPE_ID_PRICE_CHANGE = 3;
public const TYPE_ID_PRICE_CHANGE_FOR_BUYBOX = 4;
public const TYPE_ID_APPROVED_LISTING_COUNT = 5;
public const TYPE_ID_ACTIVATED_LISTING_COUNT = 6;
public const TYPE_ID_DEACTIVATED_LISTING_COUNT = 7;
/**
* @var Customer|null
*
* @ManyToOne(targetEntity="Customer")
* @JoinColumn(name="marketplace_id", referencedColumnName="id")
*/
private ?Customer $marketplace = null;
/**
* @var int
*
* @Column(name="type", type="integer")
*/
private $type;
/**
* @var int
*
* @Column(name="quantity", type="integer")
*/
private $quantity;
/**
* @var string
*
* @Column(name="task_id", type="string", length=64, nullable=true)
*/
private $taskId;
/**
* @var bool
*
* @Column(name="is_update_completed", type="boolean")
*/
private $isUpdateCompleted = true;
/**
* @var MarketplaceJobProductModel|null
*
* @OneToOne(targetEntity="MarketplaceJobProductModel", mappedBy="marketplaceListingStatisticsItem")
* @JoinColumn(name="marketplace_job_product_model_id", referencedColumnName="id", nullable=true)
*/
private ?MarketplaceJobProductModel $marketplaceJobProductModel;
/**
* @return Customer|null
*/
public function getMarketplace(): ?Customer
{
return $this->marketplace;
}
/**
* @param Customer|null $marketplace
*/
public function setMarketplace(?Customer $marketplace)
{
$this->marketplace = $marketplace;
}
/**
* @return int
*/
public function getQuantity(): int
{
return $this->quantity;
}
/**
* @param int $quantity
*/
public function setQuantity(int $quantity)
{
$this->quantity = $quantity;
}
/**
* @return int
*/
public function getType(): int
{
return $this->type;
}
/**
* @param int $type
*/
public function setType(int $type)
{
$this->type = $type;
}
/**
* @return null|string
*/
public function getTaskId(): ?string
{
return $this->taskId;
}
/**
* @param mixed $taskId
* @return void
*/
public function setTaskId(?string $taskId)
{
$this->taskId = $taskId;
}
/**
* @return bool
*/
public function getIsUpdateCompleted(): bool
{
return $this->isUpdateCompleted;
}
/**
* @param bool $isUpdateCompleted
*/
public function setIsUpdateCompleted(bool $isUpdateCompleted)
{
$this->isUpdateCompleted = $isUpdateCompleted;
}
/**
* @return MarketplaceJobProductModel|null
*/
public function getMarketplaceJobProductModel(): ?MarketplaceJobProductModel
{
return $this->marketplaceJobProductModel;
}
/**
* @param MarketplaceJobProductModel|null $marketplaceJobProductModel
* @return void
*/
public function setMarketplaceJobProductModel(?MarketplaceJobProductModel $marketplaceJobProductModel): void
{
$this->marketplaceJobProductModel = $marketplaceJobProductModel;
}
}