package com.cloudcross.ssp.model;

import java.util.Date;

import com.cloudcross.ssp.common.consts.Status;
import com.cloudcross.ssp.web.widget.SelectorController.ISelector;

/**
 * 广告投放活动表。
 * <p/>
 * 与t_campaign数据表相关
 * 
 */
public class Campaign implements ISelector {
	private Long id;
	
	// 订单id
	private Long orderId;
	
	//活动名称
	private String name;
	
	// 活动开始时间
	private Date activeTime;
	
	// 活动结束时间
	private Date expireTime;
	
	// 活动总预算
	private Float totalBudget;
	
	// 活动日预算
	private Float dailyBudget;
	
	// 曝光总上限
	private Long impression;
	
	// 点击总上限
	private Long click;
	
	// 转化总上限
	private Long conversion;
	
	// 每日曝光上限
	private Long dailyImpression;
	
	// 每日点击上限
	private Long dailyClick;
	
	// 每日转换上限
	private Long dailyConversion;
	
	//备注项
	private String memo;
	
	// 活动状态
	private Integer status;
	
	// 最后更新时间
	private Date upDated;
	
    //投放数目
	private Long groupNumber;
	
	private Long operatorId;
	
	//广告主advertiserId，增于2015/10/20
	private Long advertiserId;
	
	public Long getAdvertiserId(){
		return advertiserId;
	}
	
	public void setAdvertiserId(Long advertiserId){
		this.advertiserId = advertiserId;
	}
	
	//代理商Id,增于2015/10/21
	private Long agentId;
	
	public Long getAgentId() {
		return agentId;
	}

	public void setAgentId(Long agentId) {
		this.agentId = agentId;
	}
	

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
	
	public Long getOperatorId() {
		return operatorId;
	}

	public void setOperatorId(Long operatorId) {
		this.operatorId = operatorId;
	}

	public Long getOrderId() {
		return orderId;
	}

	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getActiveTime() {
		return activeTime;
	}

	public void setActiveTime(Date activeTime) {
		this.activeTime = activeTime;
	}

	public Date getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(Date expireTime) {
		this.expireTime = expireTime;
	}

	public Float getTotalBudget() {
		return totalBudget;
	}

	public void setTotalBudget(Float totalBudget) {
		this.totalBudget = totalBudget;
	}

	public Float getDailyBudget() {
		return dailyBudget;
	}

	public void setDailyBudget(Float dailyBudget) {
		this.dailyBudget = dailyBudget;
	}

	public Long getImpression() {
		return impression;
	}

	public void setImpression(Long impression) {
		this.impression = impression;
	}

	public Long getClick() {
		return click;
	}

	public void setClick(Long click) {
		this.click = click;
	}

	public Long getConversion() {
		return conversion;
	}

	public void setConversion(Long conversion) {
		this.conversion = conversion;
	}

	public Long getDailyImpression() {
		return dailyImpression;
	}

	public void setDailyImpression(Long dailyImpression) {
		this.dailyImpression = dailyImpression;
	}

	public Long getDailyClick() {
		return dailyClick;
	}

	public void setDailyClick(Long dailyClick) {
		this.dailyClick = dailyClick;
	}

	public Long getDailyConversion() {
		return dailyConversion;
	}

	public void setDailyConversion(Long dailyConversion) {
		this.dailyConversion = dailyConversion;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getUpDated() {
		return upDated;
	}

	public void setUpDated(Date upDated) {
		this.upDated = upDated;
	}

	public Long getGroupNumber() {
		return groupNumber;
	}

	public void setGroupNumber(Long groupNumber) {
		this.groupNumber = groupNumber;
	}


	@Override
	public String toString() {
		return "Campaign [id=" + id + ", orderId=" + orderId + ", advertiserId=" + advertiserId + ", agentId=" + agentId + ", name=" + name + ", activeTime=" + activeTime
				+ ", expireTime=" + expireTime + ", totalBudget=" + totalBudget + ", dailyBudget=" + dailyBudget
				+ ", impression=" + impression + ", click=" + click + ", conversion=" + conversion
				+ ", dailyImpression=" + dailyImpression + ", dailyClick=" + dailyClick + ", dailyConversion="
				+ dailyConversion + ", memo=" + memo + ", status=" + status + ", upDated=" + upDated + ", groupNumber="
				+ groupNumber + "]";
	}

	@Override
	public String getLabel() {
		return this.name;
	}

	@Override
	public String getValue() {
		return String.valueOf(this.id);
	}
}