package com.friday.custody.vo;

import com.friday.custody.common.valid.InsertData;
import com.friday.custody.common.valid.UpdateData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 
 * 
 * @author lyb
 * @email k0051582@gmail.com
 * @date 2022-01-05 14:07:22
 */
@Data
@ApiModel
public class TenantInfoVO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@NotNull(message = "id为空！",groups = {UpdateData.class})
	@ApiModelProperty(name = "id", value = "id", required = true)
	private Integer id;
	/**
	 * 租户名(登记编号)
	 */
	@ApiModelProperty(name = "admin", value = "租户名(登记编号)", required = true)
	@NotNull(message = "租户名不能为空！",groups = {InsertData.class})
	private String admin;
	/**
	 * 账户名
	 */
	@NotNull(message = "账户名不能为空！",groups = {InsertData.class})
	@ApiModelProperty(name = "accountName", value = "账户名", required = true)
	private String accountName;
	/**
	 * 账户级别:0 :主账户； 1 :普通账户
	 */
	@NotNull(message = "账户级别不能为空！",groups = {InsertData.class})
	@ApiModelProperty(name = "accountLevel", value = "账户级别:0 :主账户； 1 :普通账户", required = true)
	private Integer accountLevel;
	/**
	 * 账户联系人
	 */
	@NotNull(message = "账户联系人不能为空！",groups = {InsertData.class})
	@ApiModelProperty(name = "contactPerson", value = "账户联系人", required = true)
	private String contactPerson;
	/**
	 * 账户key
	 */
//	@NotNull(message = "账户key不能为空！",groups = {InsertData.class})
	@ApiModelProperty(name = "accountKey", value = "账户key", required = false)
	private String accountKey;
	/**
	 * 标准表权限：账户为0时  默认给全部权限TenantInfoEntity
	 */
	@NotNull(message = "权限不能为空！",groups = {InsertData.class})
	@ApiModelProperty(name = "permissions", value = "标准表权限：账户为0时  默认给全部权限", required = true)
	private List<String> permissions;
	/**
	 * 版本
	 */
	private String version;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 创建时间
	 */
	private String createTime;
	/**
	 * 更新时间
	 */
	private String updateTime;

}
