WorkWeixinAlarmConfigEnum.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package top.lvzhiqiang.config;
  2. import top.lvzhiqiang.service.impl.CoinServiceImpl;
  3. /**
  4. * xxl-job告警企业微信配置枚举类
  5. *
  6. * @author ziyan.li
  7. * @since 14:40 2022/12/29
  8. */
  9. public enum WorkWeixinAlarmConfigEnum {
  10. /**
  11. * 任务告警方式
  12. */
  13. JOB_ALARM_MODE(CoinServiceImpl.JOB_ALARM_MODE_APP_TEXT_CARD),
  14. /**
  15. * 文本卡片标题
  16. */
  17. TEXT_CARD_MESSAGE_TITLE("${jobconf_monitor_detail}"),
  18. /**
  19. * 文本卡片消息内容
  20. */
  21. TEXT_CARD_MESSAGE_CONTENT(
  22. "<div class=\"gray\">${jobconf_trigger_admin_adress}:${adminAddress}</div>" +
  23. "<div class=\"gray\">${joblog_field_triggerTime}:${jobLogTriggerTime?string('yyyy-MM-dd HH:mm:ss')}</div>" +
  24. "<div>${jobinfo_field_id}:${jobInfoId}</div>" +
  25. "<div>${jobinfo_field_jobdesc}:${jobInfoDesc}</div>" +
  26. "<div>${jobinfo_field_jobgroup}:${jobGroupTitle}</div>" +
  27. "<div>${joblog_field_executorAddress}:${executorAddress}</div>" +
  28. "<div class=\"highlight\">${jobconf_monitor_alarm_title}:${jobconf_monitor_alarm_type}</div>" +
  29. "<div class=\"gray\">LogId=${jobLogId},HandleCode=${jobLogHandleCode}</div>"
  30. ),
  31. /**
  32. * 文本卡片详情地址-任务日志
  33. */
  34. TEXT_CARD_DETAIL_LOG_URL("https://fk.riskraider.com/job/joblog/logDetailPage?id=${jobLogId}"),
  35. /**
  36. * 文本卡片详情按钮文本
  37. */
  38. TEXT_CARD_DETAIL_BTN_TXT("日志详情"),
  39. /**
  40. * 所有任务告警时都包含的userid
  41. */
  42. ALWAYS_INCLUDED_USER_ID(""),
  43. /**
  44. * 所有任务告警时都包含的partyId
  45. */
  46. ALWAYS_INCLUDED_PARTY_ID(""),
  47. /**
  48. * 所有任务告警时都包含的tagId
  49. */
  50. ALWAYS_INCLUDED_TAG_ID(""),
  51. /**
  52. * 文本消息内容
  53. */
  54. TEXT_MESSAGE_CONTENT(
  55. "${jobconf_trigger_admin_adress}:${adminAddress}\n" +
  56. "${joblog_field_triggerTime}:${jobLogTriggerTime?string('yyyy-MM-dd HH:mm:ss')}\n" +
  57. "${jobinfo_field_id}:${jobInfoId}\n" +
  58. "${jobinfo_field_jobdesc}:${jobInfoDesc}\n" +
  59. "${jobinfo_field_jobgroup}:${jobGroupTitle}\n" +
  60. "${joblog_field_executorAddress}:${executorAddress}\n" +
  61. "${jobconf_monitor_alarm_title}:${jobconf_monitor_alarm_type}\n" +
  62. "LogId=${jobLogId},HandleCode=${jobLogHandleCode}"
  63. ),
  64. /**
  65. * 群聊机器人webhook协议的发送地址
  66. */
  67. CHAT_BOT_WEBHOOK_SEND_URL("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a1481375-1130-4144-b57c-ead75826b8e2"),
  68. ;
  69. /**
  70. * 默认值,当表中未配置时使用
  71. */
  72. private final String defaultValue;
  73. public String getDefaultValue() {
  74. return defaultValue;
  75. }
  76. WorkWeixinAlarmConfigEnum(String defaultValue) {
  77. this.defaultValue = defaultValue;
  78. }
  79. /* 构建初始化SQL */
  80. private String buildSql() {
  81. return String.format(
  82. "insert into xxl_job.xxl_job_alarm_work_weixin_config(code_key, code_desc, code_value, create_time)" +
  83. " values('%s', '', '%s', current_timestamp);",
  84. name(), getDefaultValue()
  85. );
  86. }
  87. public static void main(String[] args) {
  88. for (WorkWeixinAlarmConfigEnum configEnum : values()) {
  89. System.out.println(configEnum.buildSql());
  90. }
  91. }
  92. }