Junjie
2026-04-13 456ea8e87cd130f523993835d2192e958a7e59ab
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
package com.zy.core.utils;
 
import com.zy.asrs.entity.DeviceDataLog;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.SlaveType;
 
import java.util.UUID;
 
public class DeviceLogRedisKeyBuilder {
 
    public static String build(DeviceDataLog deviceDataLog) {
        String type = deviceDataLog == null || deviceDataLog.getType() == null
                ? "unknown"
                : deviceDataLog.getType();
        String deviceNo = deviceDataLog == null || deviceDataLog.getDeviceNo() == null
                ? "unknown"
                : String.valueOf(deviceDataLog.getDeviceNo());
        String stationPart = buildStationPart(deviceDataLog, type);
        long millis = deviceDataLog != null && deviceDataLog.getCreateTime() != null
                ? deviceDataLog.getCreateTime().getTime()
                : System.currentTimeMillis();
        String uuid = UUID.randomUUID().toString().replace("-", "");
        return RedisKeyType.DEVICE_LOG_KEY.key + type + ":" + deviceNo + stationPart + ":" + millis + ":" + uuid;
    }
 
    private static String buildStationPart(DeviceDataLog deviceDataLog, String type) {
        if (!String.valueOf(SlaveType.Devp).equals(type)) {
            return "";
        }
        Integer stationId = deviceDataLog == null ? null : deviceDataLog.getStationId();
        return stationId == null ? ":station:unknown" : ":station:" + stationId;
    }
}