src/AppBundle/MainBundle/Entity/Support_Request_Call_Back.php line 472

Open in your IDE?
  1. <?php
  2. namespace App\AppBundle\MainBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. use JsonSerializable;
  6. /**
  7.  * AddOns
  8.  *
  9.  * @ORM\Entity
  10.  * @ORM\Table(name="support_requested_call_back")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class Support_Request_Call_Back implements JsonSerializable
  14. {
  15.     /**
  16.      * @ORM\Column(type="integer")
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue(strategy="AUTO")
  19.      */
  20.     private $id;
  21.     /**
  22.      * Many Token have one user. This is the owning side.
  23.      * @ORM\ManyToOne(targetEntity="User")
  24.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  25.      */
  26.     private $user;
  27.     /**
  28.      * @ORM\Column(type="string", nullable=false)
  29.      * @Assert\NotBlank()
  30.      */
  31.     private $country_code;
  32.     /**
  33.      * @ORM\Column(type="string", nullable=false)
  34.      * @Assert\NotBlank()
  35.      */
  36.     private $mobile;
  37.     /**
  38.      * @ORM\Column(type="string", length=5000)
  39.      * @Assert\NotBlank()
  40.      */
  41.     private $message;
  42.     /**
  43.      * Status = 1 - Pending, 2 - In Progress, 3 - Hold, 4 - Completed, 5 - User Not Reachable
  44.      * @ORM\Column(type="integer", nullable=false)
  45.      * @Assert\NotBlank()
  46.      */
  47.     private $status;
  48.     /**
  49.      * @ORM\Column(type="string", nullable=true)
  50.      * @Assert\NotBlank()
  51.      */
  52.     private $feedback;
  53.     /**
  54.      * @ORM\Column(type="string", nullable=true)
  55.      * @Assert\NotBlank()
  56.      */
  57.     private $device_model;
  58.     /**
  59.      * @ORM\Column(type="string", nullable=true)
  60.      * @Assert\NotBlank()
  61.      */
  62.     private $device_id;
  63.     /**
  64.      * @ORM\Column(type="string", nullable=true)
  65.      * @Assert\NotBlank()
  66.      */
  67.     private $device_name;
  68.     /**
  69.      * @ORM\Column(type="integer", nullable=true)
  70.      * @Assert\NotBlank()
  71.      */
  72.     private $device_type;//0 - iOS, 1 - Android
  73.     /**
  74.      * @ORM\Column(type="string", nullable=true)
  75.      * @Assert\NotBlank()
  76.      */
  77.     private $device_os_version;
  78.     /**
  79.      * @ORM\Column(type="string", nullable=true)
  80.      * @Assert\NotBlank()
  81.      */
  82.     private $app_version;
  83.     /**
  84.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  85.      * @Assert\NotBlank()
  86.      */
  87.     private $is_read;
  88.     /**
  89.      * @ORM\Column(type="boolean", nullable=false, options={"default" : 0})
  90.      * @Assert\NotBlank()
  91.      */
  92.     private $is_fav;
  93.     private $user_email;
  94.     private $user_phone;
  95.     private $user_country_code;
  96.     private $user_profile_pic_url;
  97.     private $user_id;
  98.     /**
  99.      * @return mixed
  100.      */
  101.     public function getId()
  102.     {
  103.         return $this->id;
  104.     }
  105.     /**
  106.      * @return mixed
  107.      */
  108.     public function getUser()
  109.     {
  110.         return $this->user;
  111.     }
  112.     /**
  113.      * @param mixed $user
  114.      */
  115.     public function setUser($user)
  116.     {
  117.         $this->user $user;
  118.     }
  119.     /**
  120.      * @return mixed
  121.      */
  122.     public function getCountryCode()
  123.     {
  124.         return $this->country_code;
  125.     }
  126.     /**
  127.      * @param mixed $country_code
  128.      */
  129.     public function setCountryCode($country_code)
  130.     {
  131.         $this->country_code $country_code;
  132.     }
  133.     /**
  134.      * @return mixed
  135.      */
  136.     public function getMobile()
  137.     {
  138.         return $this->mobile;
  139.     }
  140.     /**
  141.      * @param mixed $mobile
  142.      */
  143.     public function setMobile($mobile)
  144.     {
  145.         $this->mobile $mobile;
  146.     }
  147.     /**
  148.      * @return mixed
  149.      */
  150.     public function getMessage()
  151.     {
  152.         return $this->message;
  153.     }
  154.     /**
  155.      * @param mixed $message
  156.      */
  157.     public function setMessage($message)
  158.     {
  159.         $this->message $message;
  160.     }
  161.     /**
  162.      * @return mixed
  163.      */
  164.     public function getStatus()
  165.     {
  166.         return $this->status;
  167.     }
  168.     /**
  169.      * @param mixed $status
  170.      */
  171.     public function setStatus($status)
  172.     {
  173.         $this->status $status;
  174.     }
  175.     /**
  176.      * @return mixed
  177.      */
  178.     public function getFeedback()
  179.     {
  180.         return $this->feedback;
  181.     }
  182.     /**
  183.      * @param mixed $feedback
  184.      */
  185.     public function setFeedback($feedback)
  186.     {
  187.         $this->feedback $feedback;
  188.     }
  189.     /**
  190.      * @return mixed
  191.      */
  192.     public function getDeviceModel()
  193.     {
  194.         return $this->device_model;
  195.     }
  196.     /**
  197.      * @param mixed $device_model
  198.      */
  199.     public function setDeviceModel($device_model)
  200.     {
  201.         $this->device_model $device_model;
  202.     }
  203.     /**
  204.      * @return mixed
  205.      */
  206.     public function getDeviceId()
  207.     {
  208.         return $this->device_id;
  209.     }
  210.     /**
  211.      * @param mixed $device_id
  212.      */
  213.     public function setDeviceId($device_id)
  214.     {
  215.         $this->device_id $device_id;
  216.     }
  217.     /**
  218.      * @return mixed
  219.      */
  220.     public function getDeviceName()
  221.     {
  222.         return $this->device_name;
  223.     }
  224.     /**
  225.      * @param mixed $device_name
  226.      */
  227.     public function setDeviceName($device_name)
  228.     {
  229.         $this->device_name $device_name;
  230.     }
  231.     /**
  232.      * @return mixed
  233.      */
  234.     public function getDeviceType()
  235.     {
  236.         return $this->device_type;
  237.     }
  238.     /**
  239.      * @param mixed $device_type
  240.      */
  241.     public function setDeviceType($device_type)
  242.     {
  243.         $this->device_type $device_type;
  244.     }
  245.     /**
  246.      * @return mixed
  247.      */
  248.     public function getDeviceOsVersion()
  249.     {
  250.         return $this->device_os_version;
  251.     }
  252.     /**
  253.      * @param mixed $device_os_version
  254.      */
  255.     public function setDeviceOsVersion($device_os_version)
  256.     {
  257.         $this->device_os_version $device_os_version;
  258.     }
  259.     /**
  260.      * @return mixed
  261.      */
  262.     public function getUserEmail()
  263.     {
  264.         return $this->user_email;
  265.     }
  266.     /**
  267.      * @param mixed $user_email
  268.      */
  269.     public function setUserEmail($user_email)
  270.     {
  271.         $this->user_email $user_email;
  272.     }
  273.     /**
  274.      * @return mixed
  275.      */
  276.     public function getUserPhone()
  277.     {
  278.         return $this->user_phone;
  279.     }
  280.     /**
  281.      * @param mixed $user_phone
  282.      */
  283.     public function setUserPhone($user_phone)
  284.     {
  285.         $this->user_phone $user_phone;
  286.     }
  287.     /**
  288.      * @return mixed
  289.      */
  290.     public function getUserCountryCode()
  291.     {
  292.         return $this->user_country_code;
  293.     }
  294.     /**
  295.      * @param mixed $user_country_code
  296.      */
  297.     public function setUserCountryCode($user_country_code)
  298.     {
  299.         $this->user_country_code $user_country_code;
  300.     }
  301.     /**
  302.      * @return mixed
  303.      */
  304.     public function getUserProfilePicUrl()
  305.     {
  306.         return $this->user_profile_pic_url;
  307.     }
  308.     /**
  309.      * @param mixed $user_profile_pic_url
  310.      */
  311.     public function setUserProfilePicUrl($user_profile_pic_url)
  312.     {
  313.         $this->user_profile_pic_url $user_profile_pic_url;
  314.     }
  315.     /**
  316.      * @return mixed
  317.      */
  318.     public function getAppVersion()
  319.     {
  320.         return $this->app_version;
  321.     }
  322.     /**
  323.      * @param mixed $app_version
  324.      */
  325.     public function setAppVersion($app_version)
  326.     {
  327.         $this->app_version $app_version;
  328.     }
  329.     /**
  330.      * @return mixed
  331.      */
  332.     public function getIsRead()
  333.     {
  334.         return $this->is_read;
  335.     }
  336.     /**
  337.      * @param mixed $is_read
  338.      */
  339.     public function setIsRead($is_read)
  340.     {
  341.         $this->is_read $is_read;
  342.     }
  343.     /**
  344.      * @return mixed
  345.      */
  346.     public function getIsFav()
  347.     {
  348.         return $this->is_fav;
  349.     }
  350.     /**
  351.      * @param mixed $is_fav
  352.      */
  353.     public function setIsFav($is_fav)
  354.     {
  355.         $this->is_fav $is_fav;
  356.     }
  357.     /**
  358.      * @return mixed
  359.      */
  360.     public function getUserId()
  361.     {
  362.         return $this->user_id;
  363.     }
  364.     /**
  365.      * @param mixed $user_id
  366.      */
  367.     public function setUserId($user_id)
  368.     {
  369.         $this->user_id $user_id;
  370.     }
  371.     public function jsonSerialize()
  372.     {
  373.         return array(
  374.             'id' => $this->id,
  375.             'country_code' => $this->country_code,
  376.             'mobile' => $this->mobile,
  377.             'device_id' => $this->device_id,
  378.             'device_model' => $this->device_model,
  379.             'device_name' => $this->device_name,
  380.             'device_os_version' => $this->device_os_version,
  381.             'device_type' => $this->device_type,
  382.             'message' => $this->message,
  383.             'feedback' => $this->feedback,
  384.             'status' => $this->status,
  385.             'user_email' => $this->user_email,
  386.             'user_mobile' => $this->user_phone,
  387.             'user_country_code' => $this->user->getCountryCode(),
  388.             'user_name' => $this->user->getFirstName().' '.$this->user->getLastName(),
  389.             'user_profile_pic_url' => $this->user_profile_pic_url,
  390.             'app_version' => $this->app_version,
  391.             'is_read' => $this->is_read,
  392.             'is_fav' => $this->is_fav,
  393.             'user_id' => $this->user->getId(),
  394.             'created' => $this->createdAt->format('Y-m-d H:i:s'),
  395.             'updated' => $this->updatedAt->format('Y-m-d H:i:s'),
  396.         );
  397.     }
  398.     /**
  399.      * @var \DateTime $created
  400.      *
  401.      * @ORM\Column(name="created_at", type="datetime", nullable=false)
  402.      */
  403.     protected $createdAt;
  404.     /**
  405.      * @var \DateTime $updated
  406.      *
  407.      * @ORM\Column(name="updated_at", type="datetime", nullable=false)
  408.      */
  409.     protected $updatedAt;
  410.     public function getCreatedAt()
  411.     {
  412.         return $this->createdAt;
  413.     }
  414.     public function setCreatedAt($createdAt)
  415.     {
  416.         $this->createdAt $createdAt;
  417.         return $this;
  418.     }
  419.     public function getUpdatedAt()
  420.     {
  421.         return $this->updatedAt;
  422.     }
  423.     public function setUpdatedAt($updatedAt)
  424.     {
  425.         $this->updatedAt $updatedAt;
  426.         return $this;
  427.     }
  428.     /**
  429.      * @ORM\PrePersist
  430.      * @ORM\PreUpdate
  431.      */
  432.     public function updatedTimestamps()
  433.     {
  434.         $this->setUpdatedAt(new \DateTime());
  435.         if ($this->getCreatedAt() === null) {
  436.             $this->setCreatedAt(new \DateTime());
  437.         }
  438.     }
  439.     public function __construct() {
  440.         $this->setCreatedAt(new \DateTime());
  441.     }
  442. }