/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.system.entity;

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.NotEmpty;

import org.springblade.modules.system.enums.SmsCategory;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 短信配置表实体类
 *
 * @author BladeX
 */
@Data
@TableName("blade_sms")
@ApiModel(value = "Sms对象", description = "短信配置表")
public class Sms implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 资源编号
	 */
	@ApiModelProperty(value = "主键ID")
	@TableId(type = IdType.AUTO)
	private Integer id;
	/**
	 * 模板ID
	 */
	@ApiModelProperty(value = "模板ID")
	@NotEmpty(message = "模版ID不能为空")
	private String templateId;
	/**
	 * 模板名称
	 */
	@ApiModelProperty(value = "模板名称")
	@NotEmpty(message = "模版名称不能为空")
	@TableField(condition = SqlCondition.LIKE)
	private String templateName;
	/**
	 * 类型
	 */
	@ApiModelProperty(value = "类型")
	private SmsCategory category;
	/**
	 * accessKey
	 */
	@ApiModelProperty(value = "accessKey")
	@NotEmpty(message = "accessKey不能为空")
	private String accessKey;
	/**
	 * secretKey
	 */
	@ApiModelProperty(value = "secretKey")
	@NotEmpty(message = "secretKey不能为空")
	private String secretKey;
	/**
	 * 腾讯云需要SDKappID
	 */
	@ApiModelProperty(value = "仅有腾讯云需要：SDKappID")
	private String appId;
	/**
	 * regionId
	 */
	@ApiModelProperty(value = "地域regionId")
	private String regionId;
	/**
	 * 短信签名
	 */
	@ApiModelProperty(value = "短信签名")
	@NotEmpty(message = "短信签名不能为空")
	private String signName;
	/**
	 * 模版内容
	 */
	@ApiModelProperty(value = "模版内容")
	private String templateContent;
	/**
	 * 模版参数JSON
	 */
	@ApiModelProperty(value = "模版参数JSON")
	private String templateParams;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	private String remark;
	/**
	 * 创建人ID
	 */
	@ApiModelProperty(value = "创建人ID")
	private Long createUserId;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**
	 * 启用状态(1-启用/0-禁用)
	 */
	@ApiModelProperty(value = "启用状态(1-启用/0-禁用)")
	private Integer status;

	/**
	 * 短信业务类型
	 */
	@ApiModelProperty(value = "业务类型(0：告警短信，1：登录短信)")
	private Integer businessClassify;

	/**
	 * 租户id
	 */
	@ApiModelProperty(value = "租户ID")
	private String tenantId;
}
