package com.ssj.framework.weixin.card.bean;

import java.io.Serializable;

/** 
 * @author  ZhangCaibao 
 * @version 2017年3月2日 下午4:04:01 
 * 类说明  	基本的卡券数据，见下表，所有卡券类型通用。
 */
public class BaseInfo implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 7961705413553408308L;
	/**
	 * logo_url	是	string(128)	http://mmbiz.qpic.cn/	卡券的商户logo，建议像素为300*300。
	 */
	private String logo_url;
	/**
	 * Code展示类型，
	 * "CODE_TYPE_TEXT"，文本；
	 * "CODE_TYPE_BARCODE"，一维码 ；
	 * "CODE_TYPE_QRCODE"，二维码；
	 * "CODE_TYPE_ONLY_QRCODE",二维码无code显示；
	 * "CODE_TYPE_ONLY_BARCODE",一维码无code显示；
	 */
	private String code_type;
	/**
	 * brand_name	是	string（36）	海底捞	商户名字,字数上限为12个汉字
	 */
	private String brand_name;
	/**
	 * title	是	string（27）	双人套餐100元兑换券	卡券名，字数上限为9个汉字。(建议涵盖卡券属性、服务及金额)。
	 */
	private String title;
	/**
	 * color	是	string（16）	Color010	券颜色。按色彩规范标注填写Color010-Color100。详情见获取颜色列表接口
	 */
	private String color;
	/**
	 * notice	是	string（48）	请出示二维码核销卡券	卡券使用提醒，字数上限为16个汉字。
	 */
	private String notice;
	/**
	 * description	是	string（3072）	不可与其他优惠同享/n如需团购券发票，请向店员提出要求。	卡券使用说明，字数上限为1024个汉字。
	 */
	private String description;
	/**
	 * sku	是	Json结构	见上述示例。	商品信息。
	 */
	private  BaseInfoSku  sku;
	/**
	 * date_info	是	Json结构	见上述示例。	使用日期，有效期的信息。
	 */
	private  BaseInfoDateInfo date_info;
	/**
	 * begin_timestamp	否	unsigned int	14300000	
	 * type为DATE_TYPE_FIX_TIME_RANGE时专用，表示起用时间。
	 * 从1970年1月1日00:00:00至起用时间的秒数，最终需转换为字符串形态传入。
	 * （东八区时间，单位为秒）
	 */
	private    Long  begin_timestamp;
	/**
	 * end_timestamp	否	unsigned int	15300000	
	 * type为DATE_TYPE_FIX_TERM_RANGE时专用，表示结束时间，
	 * 建议设置为截止日期的23:59:59过期。（东八区时间，单位为秒）
	 */
	private Long  end_timestamp;
	/**
	 * d_term	否	int	0	
	 * type为DATE_TYPE_FIX_TERM时专用，
	 * 表示自领取后多少天内有效，领取后当天有效填写0。（单位为天）
	 */
	private Integer fixed_term;
	/**
	 * fixed_begin_term	否	int	15	type为DATE_TYPE_FIX_TERM时专用，表示自领取后多少天开始生效。（单位为天）
	 */
	private Integer  fixed_begin_term;
	/**
	 * use_custom_code	否	bool	true	是否自定义Code码。
	 * 填写true或false，默认为false。
	 * 通常自有优惠码系统的开发者选择自定义Code码，在卡券投放时带入。
	 */
	private Boolean  use_custom_code;
	/**
	 * bind_openid	否	bool	true	是否指定用户领取，填写true或false。默认为false。
	 */
	private Boolean  bind_openid;
	/**
	 * service_phone	否	string（24）	40012234	客服电话。
	 */
	private String  service_phone;
	/**
	 * location_id_list	否	array	1234，2312	门店位置ID。调用POI门店管理接口获取门店位置ID。
	 */
	private String[] location_id_list;
	/**
	 * source	否	string（36）	大众点评	第三方来源名，例如同程旅游、大众点评。
	 */
	private String source;
	/**
	 * custom_url_name	否	string（15）	立即使用	自定义跳转外链的入口名字。
	 */
	private String  custom_url_name;
	/**
	 * custom_url	否	string（128）	"xxxx.com"	自定义跳转的URL。
	 */
	private String custom_url;
	/**
	 * custom_url_sub_title	否	string（18）	更多惊喜	显示在入口右侧的提示语。
	 */
	private String custom_url_sub_title;
	/**
	 * promotion_url_name	否	string（15）	产品介绍	营销场景的自定义入口名称
	 */
	private String promotion_url_name;
	/**
	 * promotion_url	否	string（128）	XXXX.com	入口跳转外链的地址链接。
	 */
	private String promotion_url;
	/**
	 * promotion_url_sub_title	否	string（18）	卖场大优惠。	显示在营销入口右侧的提示语。
	 */
	private String promotion_url_sub_title;
	/**
	 * get_limit	否	int	1	每人可领券的数量限制。默认值为50。
	 */
	private  Integer get_limit;
	/**
	 * can_share	否	bool	false	卡券领取页面是否可分享。
	 */
	private Boolean  can_share;
	/**
	 * can_give_friend	否	bool	false	卡券是否可转赠。
	 */
	private Boolean  can_give_friend;
	/**
	 * need_push_on_view	否	bool	false	填写true为用户点击进入会员卡时推送事件，默认为false。详情见进入会员卡事件推送
	 */
	private Boolean  need_push_on_view;
	public String getLogo_url() {
		return logo_url;
	}
	public void setLogo_url(String logo_url) {
		this.logo_url = logo_url;
	}
	public String getCode_type() {
		return code_type;
	}
	public void setCode_type(String code_type) {
		this.code_type = code_type;
	}
	public String getBrand_name() {
		return brand_name;
	}
	public void setBrand_name(String brand_name) {
		this.brand_name = brand_name;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public String getNotice() {
		return notice;
	}
	public void setNotice(String notice) {
		this.notice = notice;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public BaseInfoSku getSku() {
		return sku;
	}
	public void setSku(BaseInfoSku sku) {
		this.sku = sku;
	}
	public BaseInfoDateInfo getDate_info() {
		return date_info;
	}
	public void setDate_info(BaseInfoDateInfo date_info) {
		this.date_info = date_info;
	}


	public void setEnd_timestamp(long end_timestamp) {
		this.end_timestamp = end_timestamp;
	}

	public String getService_phone() {
		return service_phone;
	}
	public void setService_phone(String service_phone) {
		this.service_phone = service_phone;
	}
	public String[] getLocation_id_list() {
		return location_id_list;
	}
	public void setLocation_id_list(String[] location_id_list) {
		this.location_id_list = location_id_list;
	}
	public String getSource() {
		return source;
	}
	public void setSource(String source) {
		this.source = source;
	}
	public String getCustom_url_name() {
		return custom_url_name;
	}
	public void setCustom_url_name(String custom_url_name) {
		this.custom_url_name = custom_url_name;
	}
	public String getCustom_url() {
		return custom_url;
	}
	public void setCustom_url(String custom_url) {
		this.custom_url = custom_url;
	}
	public String getCustom_url_sub_title() {
		return custom_url_sub_title;
	}
	public void setCustom_url_sub_title(String custom_url_sub_title) {
		this.custom_url_sub_title = custom_url_sub_title;
	}
	public String getPromotion_url_name() {
		return promotion_url_name;
	}
	public void setPromotion_url_name(String promotion_url_name) {
		this.promotion_url_name = promotion_url_name;
	}
	public String getPromotion_url() {
		return promotion_url;
	}
	public void setPromotion_url(String promotion_url) {
		this.promotion_url = promotion_url;
	}
	public String getPromotion_url_sub_title() {
		return promotion_url_sub_title;
	}
	public void setPromotion_url_sub_title(String promotion_url_sub_title) {
		this.promotion_url_sub_title = promotion_url_sub_title;
	}
	
	
	public Long getBegin_timestamp() {
		return begin_timestamp;
	}
	public void setBegin_timestamp(Long begin_timestamp) {
		this.begin_timestamp = begin_timestamp;
	}
	public Long getEnd_timestamp() {
		return end_timestamp;
	}
	public void setEnd_timestamp(Long end_timestamp) {
		this.end_timestamp = end_timestamp;
	}
	public Integer getFixed_term() {
		return fixed_term;
	}
	public void setFixed_term(Integer fixed_term) {
		this.fixed_term = fixed_term;
	}
	public Integer getFixed_begin_term() {
		return fixed_begin_term;
	}
	public void setFixed_begin_term(Integer fixed_begin_term) {
		this.fixed_begin_term = fixed_begin_term;
	}
	public Integer getGet_limit() {
		return get_limit;
	}
	public void setGet_limit(Integer get_limit) {
		this.get_limit = get_limit;
	}
	public Boolean getUse_custom_code() {
		return use_custom_code;
	}
	public void setUse_custom_code(Boolean use_custom_code) {
		this.use_custom_code = use_custom_code;
	}
	public Boolean getBind_openid() {
		return bind_openid;
	}
	public void setBind_openid(Boolean bind_openid) {
		this.bind_openid = bind_openid;
	}
	public Boolean getCan_share() {
		return can_share;
	}
	public void setCan_share(Boolean can_share) {
		this.can_share = can_share;
	}
	public Boolean getCan_give_friend() {
		return can_give_friend;
	}
	public void setCan_give_friend(Boolean can_give_friend) {
		this.can_give_friend = can_give_friend;
	}
	public Boolean getNeed_push_on_view() {
		return need_push_on_view;
	}
	public void setNeed_push_on_view(Boolean need_push_on_view) {
		this.need_push_on_view = need_push_on_view;
	}
	
	
}
