zxl
2025-05-30 8c700eb37f4c005aea3afd5a49dbf3640533efd3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package cn.lili.trigger.util;
 
import cn.lili.trigger.enums.DelayTypeEnums;
 
/**
 * 延时任务工具类
 *
 * @author paulG
 * @since 2021/5/7
 **/
public class DelayQueueTools {
 
    /**
     * 前缀
     */
    private static final String PREFIX = "{rocketmq_trigger}_";
 
    /**
     * 组装延时任务唯一键
     *
     * @param type 延时任务类型
     * @param id   id
     * @return 唯一键
     */
    public static String wrapperUniqueKey(DelayTypeEnums type, String id) {
        return "{TIME_TRIGGER_" + type.name() + "}_" + id;
    }
 
 
    /**
     * 生成延时任务标识key
     *
     * @param executorName 执行器beanId
     * @param triggerTime  执行时间
     * @param uniqueKey    自定义表示
     * @return 延时任务标识key
     */
    public static String generateKey(String executorName, Long triggerTime, String uniqueKey) {
        return PREFIX + (executorName + triggerTime + uniqueKey).hashCode();
    }
 
}