<?php

namespace OfficeBrain\Bundle\RewardReferralBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * RewardEarnHistory
 *
 * @ORM\Table(name="tbl_reward_earn_history")
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\RewardReferralBundle\Entity\RewardEarnHistoryRepository")
 */
class RewardEarnHistory
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", options={"unsigned":true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="bigint")
     */
    private $userId;

    /**
     * @var integer
     *
     * @ORM\Column(name="earned_point", type="bigint")
     */
    private $earnedPoint;

    /**
     * @var integer
     *
     * @ORM\Column(name="balance_point", type="bigint")
     */
    private $balancePoint;

    /**
     * @var boolean
     *
     * @ORM\Column(name="activity_type", type="string", length=255, columnDefinition="enum('registration','purchase_order')")
     */
    private $activityType;

    /**
     * @var integer
     *
     * @ORM\Column(name="referral_user_id", type="bigint")
     */
    private $referralUserId;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="end_date", type="datetime")
     */
    private $endDate;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created_at", type="datetime")
     */
    private $createdAt;

    /**
     * @var integer
     *
     * @ORM\Column(name="updated_uid", type="bigint",nullable=true)
     */
    private $updatedUid;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="updated_at", type="datetime",nullable=true)
     */
    private $updatedAt;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="deleted_at", type="datetime",nullable=true)
     */
    private $deletedAt;

    /**
     * @var integer
     *
     * @ORM\Column(name="deleted_uid", type="bigint",nullable=true)
     */
    private $deletedUid;

    /**
     * @var integer
     *
     * @ORM\Column(name="instance_id", type="bigint",nullable=true)
     */
    private $instanceId;

    /**
     * @var string
     *
     * @ORM\Column(name="instance_type", type="string", length=255,nullable=true)
     */
    private $instanceType;


    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set userId
     *
     * @param integer $userId
     * @return RewardEarnHistory
     */
    public function setUserId($userId)
    {
        $this->userId = $userId;

        return $this;
    }

    /**
     * Get userId
     *
     * @return integer
     */
    public function getUserId()
    {
        return $this->userId;
    }

    /**
     * Set earnedPoint
     *
     * @param integer $earnedPoint
     * @return RewardEarnHistory
     */
    public function setEarnedPoint($earnedPoint)
    {
        $this->earnedPoint = $earnedPoint;

        return $this;
    }

    /**
     * Get earnedPoint
     *
     * @return integer
     */
    public function getEarnedPoint()
    {
        return $this->earnedPoint;
    }

    /**
     * Set balancePoint
     *
     * @param integer $balancePoint
     * @return RewardEarnHistory
     */
    public function setBalancePoint($balancePoint)
    {
        $this->balancePoint = $balancePoint;

        return $this;
    }

    /**
     * Get balancePoint
     *
     * @return integer
     */
    public function getBalancePoint()
    {
        return $this->balancePoint;
    }

    /**
     * Set activityType
     *
     * @param boolean $activityType
     * @return RewardEarnHistory
     */
    public function setActivityType($activityType)
    {
        $this->activityType = $activityType;

        return $this;
    }

    /**
     * Get activityType
     *
     * @return boolean
     */
    public function getActivityType()
    {
        return $this->activityType;
    }

    /**
     * Set referralUserId
     *
     * @param integer $referralUserId
     * @return RewardEarnHistory
     */
    public function setReferralUserId($referralUserId)
    {
        $this->referralUserId = $referralUserId;

        return $this;
    }

    /**
     * Get referralUserId
     *
     * @return integer
     */
    public function getReferralUserId()
    {
        return $this->referralUserId;
    }

    /**
     * Set endDate
     *
     * @param \DateTime $endDate
     * @return RewardEarnHistory
     */
    public function setEndDate($endDate)
    {
        $this->endDate = $endDate;

        return $this;
    }

    /**
     * Get endDate
     *
     * @return \DateTime
     */
    public function getEndDate()
    {
        return $this->endDate;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return RewardEarnHistory
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;

        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set updatedUid
     *
     * @param integer $updatedUid
     * @return RewardEarnHistory
     */
    public function setUpdatedUid($updatedUid)
    {
        $this->updatedUid = $updatedUid;

        return $this;
    }

    /**
     * Get updatedUid
     *
     * @return integer
     */
    public function getUpdatedUid()
    {
        return $this->updatedUid;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return RewardEarnHistory
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set deletedAt
     *
     * @param \DateTime $deletedAt
     * @return RewardEarnHistory
     */
    public function setDeletedAt($deletedAt)
    {
        $this->deletedAt = $deletedAt;

        return $this;
    }

    /**
     * Get deletedAt
     *
     * @return \DateTime
     */
    public function getDeletedAt()
    {
        return $this->deletedAt;
    }

    /**
     * Set deletedUid
     *
     * @param integer $deletedUid
     * @return RewardEarnHistory
     */
    public function setDeletedUid($deletedUid)
    {
        $this->deletedUid = $deletedUid;

        return $this;
    }

    /**
     * Get deletedUid
     *
     * @return integer
     */
    public function getDeletedUid()
    {
        return $this->deletedUid;
    }

    /**
     * Set instanceId
     *
     * @param integer $instanceId
     * @return RewardEarnHistory
     */
    public function setInstanceId($instanceId)
    {
        $this->instanceId = $instanceId;

        return $this;
    }

    /**
     * Get instanceId
     *
     * @return integer
     */
    public function getInstanceId()
    {
        return $this->instanceId;
    }

    /**
     * Set instanceType
     *
     * @param string $instanceType
     * @return RewardEarnHistory
     */
    public function setInstanceType($instanceType)
    {
        $this->instanceType = $instanceType;

        return $this;
    }

    /**
     * Get instanceType
     *
     * @return string
     */
    public function getInstanceType()
    {
        return $this->instanceType;
    }
}
