package com.jeesite.modules.admin.apply.entity;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotBlank;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 应用接入申请表Entity
 * @author yinet
 * @version 2022-06-13
 */
@Table(name="admin_access_apply", alias="a", label="应用接入申请表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="affiliation", attrName="affiliation", label="所属机构"),
		@Column(name="admin_name", attrName="adminName", label="管理员名字", queryType=QueryType.LIKE),
		@Column(name="admin_phone", attrName="adminPhone", label="管理员姓名", isUpdate=false, isQuery=false),
		@Column(name="app_name", attrName="appName", label="应用名称", queryType=QueryType.LIKE),
		@Column(name="app_url", attrName="appUrl", label="应用访问地址"),
		@Column(name="message_size_callback", attrName="messageSizeCallback", label="应用访问地址"),
		@Column(name="app_image", attrName="appImage", label="应用图标"),
		@Column(name="app_describe", attrName="appDescribe", label="应用描述"),
		@Column(name="applicat_name", attrName="applicatName", label="申请人姓名", queryType=QueryType.LIKE),
		@Column(name="applicat_email", attrName="applicatEmail", label="申请人邮箱"),
		@Column(name="applicat_phone", attrName="applicatPhone", label="申请人手机"),
		@Column(name="request_url", attrName="requestUrl", label="单点请求地址"),
		@Column(name="return_attribute", attrName="returnAttribute", label="返回属性"),
		@Column(name="type", attrName="type", label="审核状态"),
		@Column(name="access_type", attrName="accessType", label="接入类型"),
		@Column(name="access", attrName="access", label="接入方式"),
		@Column(name="app_type", attrName="appType", label="应用类别"),
		@Column(name="create_by", attrName="createBy", label="创建者", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新者", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注信息", queryType=QueryType.LIKE),
	}, orderBy="a.update_date DESC"
)
public class AdminAccessApply extends DataEntity<AdminAccessApply> {

	private static final long serialVersionUID = 1L;
	private String affiliation;		// 所属机构
	private String adminName;		// 管理员名字
	private String adminPhone;		// 管理员姓名
	private String appName;		// 应用名称
	private String appUrl;		// 应用访问地址
	private String messageSizeCallback;		// 消息类型数量获取地址
	private String appImage;		// 应用图标
	private String appDescribe;		// 应用描述
	private String applicatName;		// 申请人姓名
	private String applicatEmail;		// 申请人邮箱
	private String applicatPhone;		// 申请人手机
	private String requestUrl;		// 单点请求地址
	private String returnAttribute;		// 返回属性
	private String type;		// 审核状态
	private String access;		// 接入方式
	private String appType;

	private String accessType;

	public String getMessageSizeCallback() {
		return messageSizeCallback;
	}

	public void setMessageSizeCallback(String messageSizeCallback) {
		this.messageSizeCallback = messageSizeCallback;
	}

	public String getAccessType() {
		return accessType;
	}

	public void setAccessType(String accessType) {
		this.accessType = accessType;
	}

	public String getAppType() {
		return appType;
	}

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

	public AdminAccessApply() {
		this(null);
	}

	public AdminAccessApply(String id){
		super(id);
	}

	@Size(min=0, max=255, message="所属机构长度不能超过 255 个字符")
	public String getAffiliation() {
		return affiliation;
	}

	public void setAffiliation(String affiliation) {
		this.affiliation = affiliation;
	}

	@Size(min=0, max=12, message="管理员名字长度不能超过 12 个字符")
	public String getAdminName() {
		return adminName;
	}

	public void setAdminName(String adminName) {
		this.adminName = adminName;
	}

	@NotBlank(message="管理员姓名不能为空")
	@Size(min=0, max=12, message="管理员姓名长度不能超过 12 个字符")
	public String getAdminPhone() {
		return adminPhone;
	}

	public void setAdminPhone(String adminPhone) {
		this.adminPhone = adminPhone;
	}

	@Size(min=0, max=255, message="应用名称长度不能超过 255 个字符")
	public String getAppName() {
		return appName;
	}

	public void setAppName(String appName) {
		this.appName = appName;
	}

	@Size(min=0, max=255, message="应用访问地址长度不能超过 255 个字符")
	public String getAppUrl() {
		return appUrl;
	}

	public void setAppUrl(String appUrl) {
		this.appUrl = appUrl;
	}

	@Size(min=0, max=255, message="应用图标长度不能超过 255 个字符")
	public String getAppImage() {
		return appImage;
	}

	public void setAppImage(String appImage) {
		this.appImage = appImage;
	}

	@Size(min=0, max=255, message="应用描述长度不能超过 255 个字符")
	public String getAppDescribe() {
		return appDescribe;
	}

	public void setAppDescribe(String appDescribe) {
		this.appDescribe = appDescribe;
	}

	@Size(min=0, max=12, message="申请人姓名长度不能超过 12 个字符")
	public String getApplicatName() {
		return applicatName;
	}

	public void setApplicatName(String applicatName) {
		this.applicatName = applicatName;
	}

	@Size(min=0, max=255, message="申请人邮箱长度不能超过 255 个字符")
	public String getApplicatEmail() {
		return applicatEmail;
	}

	public void setApplicatEmail(String applicatEmail) {
		this.applicatEmail = applicatEmail;
	}

	@Size(min=0, max=12, message="申请人手机长度不能超过 12 个字符")
	public String getApplicatPhone() {
		return applicatPhone;
	}

	public void setApplicatPhone(String applicatPhone) {
		this.applicatPhone = applicatPhone;
	}

	@Size(min=0, max=255, message="单点请求地址长度不能超过 255 个字符")
	public String getRequestUrl() {
		return requestUrl;
	}

	public void setRequestUrl(String requestUrl) {
		this.requestUrl = requestUrl;
	}

	@Size(min=0, max=255, message="返回属性长度不能超过 255 个字符")
	public String getReturnAttribute() {
		return returnAttribute;
	}

	public void setReturnAttribute(String returnAttribute) {
		this.returnAttribute = returnAttribute;
	}

	@Size(min=0, max=255, message="审核状态长度不能超过 255 个字符")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	@Size(min=0, max=255, message="接入方式长度不能超过 255 个字符")
	public String getAccess() {
		return access;
	}

	public void setAccess(String access) {
		this.access = access;
	}

}
