package top.lvzhiqiang.config;
import top.lvzhiqiang.service.impl.CoinServiceImpl;
/**
* xxl-job告警企业微信配置枚举类
*
* @author ziyan.li
* @since 14:40 2022/12/29
*/
public enum WorkWeixinAlarmConfigEnum {
/**
* 任务告警方式
*/
JOB_ALARM_MODE(CoinServiceImpl.JOB_ALARM_MODE_APP_TEXT_CARD),
/**
* 文本卡片标题
*/
TEXT_CARD_MESSAGE_TITLE("${jobconf_monitor_detail}"),
/**
* 文本卡片消息内容
*/
TEXT_CARD_MESSAGE_CONTENT(
"
${jobconf_trigger_admin_adress}:${adminAddress}
" +
"${joblog_field_triggerTime}:${jobLogTriggerTime?string('yyyy-MM-dd HH:mm:ss')}
" +
"${jobinfo_field_id}:${jobInfoId}
" +
"${jobinfo_field_jobdesc}:${jobInfoDesc}
" +
"${jobinfo_field_jobgroup}:${jobGroupTitle}
" +
"${joblog_field_executorAddress}:${executorAddress}
" +
"${jobconf_monitor_alarm_title}:${jobconf_monitor_alarm_type}
" +
"LogId=${jobLogId},HandleCode=${jobLogHandleCode}
"
),
/**
* 文本卡片详情地址-任务日志
*/
TEXT_CARD_DETAIL_LOG_URL("https://fk.riskraider.com/job/joblog/logDetailPage?id=${jobLogId}"),
/**
* 文本卡片详情按钮文本
*/
TEXT_CARD_DETAIL_BTN_TXT("日志详情"),
/**
* 所有任务告警时都包含的userid
*/
ALWAYS_INCLUDED_USER_ID(""),
/**
* 所有任务告警时都包含的partyId
*/
ALWAYS_INCLUDED_PARTY_ID(""),
/**
* 所有任务告警时都包含的tagId
*/
ALWAYS_INCLUDED_TAG_ID(""),
/**
* 文本消息内容
*/
TEXT_MESSAGE_CONTENT(
"${jobconf_trigger_admin_adress}:${adminAddress}\n" +
"${joblog_field_triggerTime}:${jobLogTriggerTime?string('yyyy-MM-dd HH:mm:ss')}\n" +
"${jobinfo_field_id}:${jobInfoId}\n" +
"${jobinfo_field_jobdesc}:${jobInfoDesc}\n" +
"${jobinfo_field_jobgroup}:${jobGroupTitle}\n" +
"${joblog_field_executorAddress}:${executorAddress}\n" +
"${jobconf_monitor_alarm_title}:${jobconf_monitor_alarm_type}\n" +
"LogId=${jobLogId},HandleCode=${jobLogHandleCode}"
),
/**
* 群聊机器人webhook协议的发送地址
*/
CHAT_BOT_WEBHOOK_SEND_URL("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a1481375-1130-4144-b57c-ead75826b8e2"),
;
/**
* 默认值,当表中未配置时使用
*/
private final String defaultValue;
public String getDefaultValue() {
return defaultValue;
}
WorkWeixinAlarmConfigEnum(String defaultValue) {
this.defaultValue = defaultValue;
}
/* 构建初始化SQL */
private String buildSql() {
return String.format(
"insert into xxl_job.xxl_job_alarm_work_weixin_config(code_key, code_desc, code_value, create_time)" +
" values('%s', '', '%s', current_timestamp);",
name(), getDefaultValue()
);
}
public static void main(String[] args) {
for (WorkWeixinAlarmConfigEnum configEnum : values()) {
System.out.println(configEnum.buildSql());
}
}
}