package com.sv.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.sv.dto.oms.VenuePriceDto;
import com.sv.json.LocalTimeSerializer;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.Date;
import java.util.List;

/**
 * Entity - 场馆
 *
 * @author lihong
 * @since 2018-08-02
 */
public class Venue implements Serializable {

    private String priceListStr;
    /**
     *
     */
    private Integer id;

    /**
     * 店名称
     */
    private String name;

    /**
     * 地址
     */
    private String address;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 场馆类型
     */
    private Integer type;

    /**
     * 列表图片
     */
    private String listImage;

    /**
     * 营业时间
     */
    private String businessTime;

    private String codeUrl;

    private Integer number;
    /**
     * 开始营业时间
     */
    @DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
    @JsonSerialize(using = LocalTimeSerializer.class)
    private LocalTime businessStartTime;

    /**
     * 结束营业时间
     */
    @DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
    @JsonSerialize(using = LocalTimeSerializer.class)
    private LocalTime businessEndTime;

    /**
     * 开始营业星期几
     */
    private Integer businessStartDate;

    /**
     * 结束营业星期几
     */
    private Integer businessEndDate;

    /**
     * 单次金额
     */
    private BigDecimal price;

    /**
     * 联系人
     */
    private String contact;

    /**
     * 联系人号码
     */
    private String phone;

    /**
     * 场馆介绍
     */
    private String description;

    /**
     * 坐标空间索引
     */
    private String geoHash;

    /**
     * 平台来源ID
     */
    private Integer platformId;

    /**
     * 会员卡说明
     */
    private String cardContent;

    private Integer status;

    /**
     * 创建者编号
     */
    private Integer createdId;

    /**
     * 创建者编号
     */
    private Integer modifiedId;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新时间
     */
    private Date modifiedTime;

    /**
     * 删除标识位
     *
     * @see com.ydd.framework.core.entity.enums.DeletedEnum
     */
    private Integer deleted;


    /**
     * 设置
     *
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取
     *
     * @return
     */
    public Integer getId() {
        return id;
    }


    /**
     * 设置店名称
     *
     * @param name 店名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取店名称
     *
     * @return 店名称
     */
    public String getName() {
        return name;
    }


    /**
     * 设置地址
     *
     * @param address 地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取地址
     *
     * @return 地址
     */
    public String getAddress() {
        return address;
    }


    /**
     * 设置经度
     *
     * @param longitude 经度
     */
    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    /**
     * 获取经度
     *
     * @return 经度
     */
    public String getLongitude() {
        return longitude;
    }


    /**
     * 设置纬度
     *
     * @param latitude 纬度
     */
    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    /**
     * 获取纬度
     *
     * @return 纬度
     */
    public String getLatitude() {
        return latitude;
    }


    /**
     * 设置场馆类型
     *
     * @param type 场馆类型
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取场馆类型
     *
     * @return 场馆类型
     */
    public Integer getType() {
        return type;
    }


    /**
     * 设置列表图片
     *
     * @param listImage 列表图片
     */
    public void setListImage(String listImage) {
        this.listImage = listImage;
    }

    /**
     * 获取列表图片
     *
     * @return 列表图片
     */
    public String getListImage() {
        return listImage;
    }


    /**
     * 设置营业时间
     *
     * @param businessTime 营业时间
     */
    public void setBusinessTime(String businessTime) {
        this.businessTime = businessTime;
    }

    /**
     * 获取营业时间
     *
     * @return 营业时间
     */
    public String getBusinessTime() {
        return businessTime;
    }


    /**
     * 设置单次金额
     *
     * @param price 单次金额
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取单次金额
     *
     * @return 单次金额
     */
    public BigDecimal getPrice() {
        return price;
    }


    /**
     * 设置联系人
     *
     * @param contact 联系人
     */
    public void setContact(String contact) {
        this.contact = contact;
    }

    /**
     * 获取联系人
     *
     * @return 联系人
     */
    public String getContact() {
        return contact;
    }


    /**
     * 设置联系人号码
     *
     * @param phone 联系人号码
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * 获取联系人号码
     *
     * @return 联系人号码
     */
    public String getPhone() {
        return phone;
    }


    /**
     * 设置场馆介绍
     *
     * @param description 场馆介绍
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取场馆介绍
     *
     * @return 场馆介绍
     */
    public String getDescription() {
        return description;
    }


    /**
     * 设置平台来源ID
     *
     * @param platformId 平台来源ID
     */
    public void setPlatformId(Integer platformId) {
        this.platformId = platformId;
    }

    /**
     * 获取平台来源ID
     *
     * @return 平台来源ID
     */
    public Integer getPlatformId() {
        return platformId;
    }


    /**
     * 设置创建者编号
     *
     * @param createdId 创建者编号
     */
    public void setCreatedId(Integer createdId) {
        this.createdId = createdId;
    }

    /**
     * 获取创建者编号
     *
     * @return 创建者编号
     */
    public Integer getCreatedId() {
        return createdId;
    }


    /**
     * 设置创建者编号
     *
     * @param modifiedId 创建者编号
     */
    public void setModifiedId(Integer modifiedId) {
        this.modifiedId = modifiedId;
    }

    /**
     * 获取创建者编号
     *
     * @return 创建者编号
     */
    public Integer getModifiedId() {
        return modifiedId;
    }


    /**
     * 设置创建时间
     *
     * @param createdTime 创建时间
     */
    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    /**
     * 获取创建时间
     *
     * @return 创建时间
     */
    public Date getCreatedTime() {
        return createdTime;
    }


    /**
     * 设置更新时间
     *
     * @param modifiedTime 更新时间
     */
    public void setModifiedTime(Date modifiedTime) {
        this.modifiedTime = modifiedTime;
    }

    /**
     * 获取更新时间
     *
     * @return 更新时间
     */
    public Date getModifiedTime() {
        return modifiedTime;
    }


    /**
     * 设置删除标识位
     *
     * @param deleted 删除标识位
     * @see com.ydd.framework.core.entity.enums.DeletedEnum
     */
    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }

    /**
     * 获取删除标识位
     *
     * @return 删除标识位
     * @see com.ydd.framework.core.entity.enums.DeletedEnum
     */
    public Integer getDeleted() {
        return deleted;
    }

    public String getGeoHash() {
        return geoHash;
    }

    public void setGeoHash(String geoHash) {
        this.geoHash = geoHash;
    }

    public LocalTime getBusinessStartTime() {
        return businessStartTime;
    }

    public void setBusinessStartTime(LocalTime businessStartTime) {
        this.businessStartTime = businessStartTime;
    }

    public LocalTime getBusinessEndTime() {
        return businessEndTime;
    }

    public void setBusinessEndTime(LocalTime businessEndTime) {
        this.businessEndTime = businessEndTime;
    }

    public Integer getBusinessStartDate() {
        return businessStartDate;
    }

    public void setBusinessStartDate(Integer businessStartDate) {
        this.businessStartDate = businessStartDate;
    }

    public Integer getBusinessEndDate() {
        return businessEndDate;
    }

    public void setBusinessEndDate(Integer businessEndDate) {
        this.businessEndDate = businessEndDate;
    }

    public Integer getStatus() {
        return status;
    }

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

    public String getCardContent() {
        return cardContent;
    }

    public void setCardContent(String cardContent) {
        this.cardContent = cardContent;
    }

    public String getPriceListStr() {
        return priceListStr;
    }

    public void setPriceListStr(String priceListStr) {
        this.priceListStr = priceListStr;
    }

    public String getCodeUrl() {
        return codeUrl;
    }

    public void setCodeUrl(String codeUrl) {
        this.codeUrl = codeUrl;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }
}