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()); } } }