/**
 * 
 */
package org.springblade.message.enums;

import org.springblade.message.MsgTemplate;
import org.springblade.message.app.DingtalkMsgTemplate;
import org.springblade.message.app.FeishuMsgTemplate;
import org.springblade.message.app.QyWechatMsgTemplate;
import org.springblade.message.email.EmailMsgTemplate;
import org.springblade.message.sms.AliyunSmsTemplate;
import org.springblade.message.sms.QiniuSmsTemplate;
import org.springblade.message.sms.TencentSmsTemplate;

import lombok.Getter;

/**
 * @author wookvn
 *
 *	消息类型
 */
@Getter
public enum MsgType {

	smsAliyun(1, "阿里云短信", AliyunSmsTemplate.class),
	
	smsQiniu(2, "七牛短信", QiniuSmsTemplate.class),
	
	smsTencent(3, "腾讯云短信", TencentSmsTemplate.class),
	
	appQywechat(11, "企业微信", QyWechatMsgTemplate.class),

	appDingtalk(12, "钉钉", DingtalkMsgTemplate.class),

	appFeishu(13, "飞书", FeishuMsgTemplate.class),
	
	email(100, "邮件", EmailMsgTemplate.class);
	
	private final int value;
	private final String message;
	private final Class<? extends MsgTemplate> clazz;
	
	/**
	 * @param value
	 * @param message
	 */
	private MsgType(int value, String message, Class<? extends MsgTemplate> clazz) {
		this.value = value;
		this.message = message;
		this.clazz = clazz;
	}
}
