/**
 *
 */
package org.springblade.finance.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author wookvn
 *
 */
@Data
@TableName("V_YKSYT_CHANNEL_SPID")
public class ChannelSpidView implements Serializable {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "公司名称")
	@TableField("COMPANY")
	@NotBlank(message = "公司名称不能为空")
	private String company;

	@ApiModelProperty(value = "渠道ID")
	@TableField("CHANNELID")
	@NotBlank(message = "渠道ID不能为空")
	private String channelId;

	@ApiModelProperty(value = "渠道名称")
	@TableField("CHANNELNAME")
	@NotBlank(message = "渠道名称不能为空")
	private String channelName;

	@ApiModelProperty(value = "合作开始月份")
	@TableField("ACCOUNT_STARTDATE")
	@JsonFormat(pattern = "yyyy-MM")
	@NotNull(message = "合作开始月份不能为空")
	private Date accountStartDate;

	@ApiModelProperty(value = "合作结束月份")
	@TableField("ACCOUNT_ENDDATE")
	@JsonFormat(pattern = "yyyy-MM")
	private Date accountEndDate;

	@ApiModelProperty(value = "推广省份")
	@TableField("PROVINCES")
	private String provinces;

	@ApiModelProperty(value = "产品ID")
	@TableField("SPID")
	@NotBlank(message = "产品ID不能为空")
	private String spid;

	@ApiModelProperty(value = "产品名称")
	@TableField("SPNAME")
	@NotBlank(message = "产品名称不能为空")
	private String spname;

	@ApiModelProperty(value = "产品短名称")
	@TableField("SHORTNAME")
	private String shortname;

	@ApiModelProperty(value = "产品价格")
	@TableField("PRICE")
	@NotNull(message = "产品价格不能为空")
	private BigDecimal price;

	@ApiModelProperty(value = "分成金额")
	@TableField("PARTNER_INCOME")
	@NotNull(message = "分成金额不能为空")
	private BigDecimal partnerIncome;

	@ApiModelProperty(value = "省分分成（元/月）")
	@TableField("PROVINCE_MONEY")
	private BigDecimal provinceMoney;

	@ApiModelProperty(value = "分成月份")
	@TableField("MONTHS")
	@NotNull(message = "分成月份不能为空")
	private BigDecimal months;

	@ApiModelProperty(value = "是否有效。1：有效；0：无效")
	@TableField("IS_VALID")
	@NotNull(message = "是否有效不能为空")
	private BigDecimal isValid;

	@ApiModelProperty(value = "是否一次性结算产品。1：是；0：否")
	@TableField("IS_ONCE")
	@NotNull(message = "是否一次性结算产品不能为空")
	private BigDecimal isOnce;

	@ApiModelProperty(value = "结算类型。1：有效用户；2：会员权益；3：出账用户；4：PRM发布")
	@TableField("DEAL_TYPE")
	private Integer dealType;

	@ApiModelProperty(value = "去重月份数")
	@TableField("DMONTHS")
	private Integer dmonths;

	@ApiModelProperty(value = " 结算单ID。一个结算用户可以对应多个结算单，一个结算单可以对应1-N个结算渠道。")
	@TableField("DEAL_ACCOUNT_ID")
	private String dealAccountId;

}
