package com.ssj.service.conch.parents.v1.request;

import com.ssj.bean.common.framework.core.domain.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotBlank;

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

/**
 * @author Mount Liu
 * @date 2018/1/16
 */
public class PayVipV2Req extends BaseRequest {

    private final static long serialVersionUID = 1L;

	@ApiModelProperty(name = "vipId", value = "学生vipId", required = true)
	private String vipId;
	@ApiModelProperty(name = "price", value = "卡价格", required = true)
	private BigDecimal price;
	@ApiModelProperty(name = "number", value = "数量（年卡、半年卡传1；月卡传选中月数）", required = true)
	private Integer number;
	@ApiModelProperty(name = "priceType", value = "卡类型（C004:作业吧月卡;C005:作业吧半年卡;C006:作业吧年卡）", required = true)
	private String priceType;
	@ApiModelProperty(name = "appType", value = "程序端(6:家长端小程序;7:老师端小程序（校长端和老师端);11:app老师端;12:app家长端)", required = true)
	private Integer appType;
	@ApiModelProperty(name = "payType", value = "支付方式（0：微信支付，1：支付宝支付）", required = false)
	private int payType;
	@NotBlank
	@Pattern(regexp = "\\d{4}\\.\\d{2}\\.\\d{2}")
	@ApiModelProperty(name = "beginDate", value = "开始时间(yyyy.MM.dd)", required = false)
	private String beginDate;
	@NotBlank
	@Pattern(regexp = "\\d{4}\\.\\d{2}\\.\\d{2}")
	@ApiModelProperty(name = "endDate", value = "结束时间(yyyy.MM.dd)", required = false)
	private String endDate;

	public String getBeginDate() {
		return beginDate;
	}

	public void setBeginDate(String beginDate) {
		this.beginDate = beginDate;
	}

	public String getEndDate() {
		return endDate;
	}

	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}

	public int getPayType() {
		return payType;
	}

	public void setPayType(int payType) {
		this.payType = payType;
	}

	public String getVipId() {
		return vipId;
	}

	public void setVipId(String vipId) {
		this.vipId = vipId;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public Integer getNumber() {
		return number;
	}

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

	public String getPriceType() {
		return priceType;
	}

	public void setPriceType(String priceType) {
		this.priceType = priceType;
	}

	public Integer getAppType() {
		return appType;
	}

	public void setAppType(Integer appType) {
		this.appType = appType;
	}

}
