package com.yonge.cooleshow.biz.dal.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yonge.cooleshow.biz.dal.enums.PeriodEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.PositiveOrZero;
import java.math.BigDecimal;

@TableName("member_price_settings")
@ApiModel(value = "MemberPriceSettings对象", description = "")
public class MemberPriceSettings implements Serializable {
	private static final long serialVersionUID = 1L;
	@TableId(value = "id_", type = IdType.AUTO)
	private Long id;
	@ApiModelProperty("周期 ")
	@TableField(value = "period_")
	private PeriodEnum period;
	@PositiveOrZero(message = "销售价必须大于等于0")
	@ApiModelProperty("销售价 ")
	@TableField(value = "sale_price_")
	private BigDecimal salePrice;
	@PositiveOrZero(message = "原价必须大于等于0")
	@ApiModelProperty("原价 ")
	@TableField(value = "original_price_")
	private BigDecimal originalPrice;
	@ApiModelProperty("创建时间 ")
	@TableField(value = "create_time_")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date createTime;
	@ApiModelProperty("更新时间 ")
	@TableField(value = "update_time_")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date updateTime;
	@ApiModelProperty("创建人 ")
	@TableField(value = "create_by_")
	private Long createBy;
	@ApiModelProperty("更新人 ")
	@TableField(value = "update_by_")
	private Long updateBy;

	public Long getId() {
		return id;
	}

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

	public PeriodEnum getPeriod() {
		return period;
	}

	public void setPeriod(PeriodEnum period) {
		this.period = period;
	}

	public BigDecimal getSalePrice() {
		return salePrice;
	}

	public void setSalePrice(BigDecimal salePrice) {
		this.salePrice = salePrice;
	}

	public BigDecimal getOriginalPrice() {
		return originalPrice;
	}

	public void setOriginalPrice(BigDecimal originalPrice) {
		this.originalPrice = originalPrice;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Long getCreateBy() {
		return createBy;
	}

	public void setCreateBy(Long createBy) {
		this.createBy = createBy;
	}

	public Long getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(Long updateBy) {
		this.updateBy = updateBy;
	}

}