<?php
namespace Plugin\Karte\Entity;
use Doctrine\ORM\Mapping as ORM;
use Eccube\Entity\AbstractEntity;
use Eccube\Entity\Master\CsvType;
/**
* KarteConfig
*
* @ORM\Table(name="plg_karte_config")
* @ORM\Entity(repositoryClass="Plugin\Karte\Repository\KarteConfigRepository")
*/
class KarteConfig extends AbstractEntity
{
const PlanTypeEnterprise = 1;
const PlanTypeCartPackage = 2;
public static $identify_tag_name = [
'user_id' => 'user_id',
'email' => 'email',
'phone' => 'phone',
'first_name' => 'first_name',
'last_name' => 'last_name',
'first_buy_date' => 'first_buy_date',
'last_buy_date' => 'last_buy_date',
'orders_count' => 'orders_count',
'total_spent' => 'total_spent',
'first_login_date' => 'first_login_date',
];
public static $attribute_tag_name = [
'signup_date' => 'signup_date',
'age' => 'age',
'gender' => 'gender',
'pref_cd' => 'pref_cd',
'birth_date' => 'birth_date',
];
/**
* @var int
*
* @ORM\Column(name="id", type="integer", options={"unsigned":true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var int
*
* @ORM\Column(name="plan_type", type="smallint", nullable=false, options={"unsigned":true, "default":1})
*/
private $plan_type;
/**
* @var string|null
*
* @ORM\Column(name="plan_id", type="text", nullable=true)
*/
protected $plan_id;
/**
* @var string|null
*
* @ORM\Column(name="domain", type="text", nullable=true)
*/
protected $domain;
/**
* @var string|null
*
* @ORM\Column(name="match_pattern", type="text", nullable=true)
*/
protected $match_pattern;
/**
* @var boolean
*
* @ORM\Column(name="user_tag_option", type="boolean", options={"default":false})
*/
protected $user_tag_option;
/**
* @var boolean
*
* @ORM\Column(name="conburn_john_option", type="boolean", options={"default":false})
*/
protected $conburn_john_option;
/**
* @var boolean
*
* @ORM\Column(name="cart_tag_option", type="boolean", options={"default":false})
*/
protected $cart_tag_option;
/**
* @var string|null
*
* @ORM\Column(name="identify_tag", type="text", nullable=true)
*/
protected $identify_tag;
/**
* @var string|null
*
* @ORM\Column(name="attribute_tag", type="text", nullable=true)
*/
protected $attribute_tag;
/**
* @return int
*/
public function getPlanType()
{
return $this->plan_type;
}
/**
* @param int $plan_type
*/
public function setPlanType(int $plan_type)
{
$this->plan_type = $plan_type;
}
/**
* @return string|null
*/
public function getPlanId()
{
return $this->plan_id;
}
/**
* @param string|null $plan_id
*/
public function setPlanId(string $plan_id)
{
$this->plan_id = $plan_id;
}
/**
* @return bool
*/
public function isUserTagOption()
{
return $this->user_tag_option;
}
/**
* @param bool $user_tag_option
*/
public function setUserTagOption(bool $user_tag_option)
{
$this->user_tag_option = $user_tag_option;
}
/**
* @return bool
*/
public function isConburnJohnOption()
{
return $this->conburn_john_option;
}
/**
* @param bool $conburn_john_option
*/
public function setConburnJohnOption(bool $conburn_john_option)
{
$this->conburn_john_option = $conburn_john_option;
}
/**
* @return bool
*/
public function isCartTagOption()
{
return $this->cart_tag_option;
}
/**
* @param bool $cart_tag_option
*/
public function setCartTagOption(bool $cart_tag_option)
{
$this->cart_tag_option = $cart_tag_option;
}
/**
* @return string|null
*/
public function getIdentifyTag()
{
return $this->identify_tag;
}
/**
* @param string|null $identify_tag
*/
public function setIdentifyTag(string $identify_tag)
{
$this->identify_tag = $identify_tag;
}
public function setIdentifyTags(array $identify_tag)
{
$this->identify_tag = join($identify_tag, ',');
}
public function getIdentifyTags()
{
return explode(',', (string)$this->identify_tag);
}
/**
* @return string|null
*/
public function getAttributeTag()
{
return $this->attribute_tag;
}
/**
* @param string|null $attribute_tag
*/
public function setAttributeTag(string $attribute_tag)
{
$this->attribute_tag = $attribute_tag;
}
public function setAttributeTags(array $attribute_tag)
{
$this->attribute_tag = join($attribute_tag, ',');
}
public function getAttributeTags()
{
return explode(',', (string)$this->attribute_tag);
}
/**
* @return string|null
*/
public function getDomain()
{
return $this->domain;
}
/**
* @param string|null $domain
*/
public function setDomain($domain)
{
$this->domain = $domain;
}
/**
* @return string|null
*/
public function getMatchPattern()
{
return $this->match_pattern;
}
/**
* @param string|null $match_pattern
*/
public function setMatchPattern($match_pattern)
{
$this->match_pattern = $match_pattern;
}
}