package com.zy.core.cache; import com.core.common.Cools; import com.zy.core.model.protocol.RgvErrProtocol; import com.zy.core.model.protocol.RgvRunProtocol; import java.util.concurrent.ConcurrentHashMap; /** * Created by IX on 2025/02/21 */ public class RgvErrCache { // 本地缓存,键为 currentPosition,值为 DeviceStatus private static final ConcurrentHashMap cache = new ConcurrentHashMap<>(); /** * 更新设备状态 */ public static void updateRgvStatus(RgvErrProtocol status) { try { cache.put(status.getRgvNo(), status); } finally { } } /** * 更新设备状态 */ public static void updateRgvErr(Integer rgvNo,String error) { try { RgvErrProtocol rgvErrProtocol = cache.get(rgvNo); if (rgvErrProtocol == null){ rgvErrProtocol = new RgvErrProtocol(); rgvErrProtocol.setRgvNo(rgvNo); } if (!rgvErrProtocol.getError().equals(error)){ rgvErrProtocol.setError(error); cache.put(rgvErrProtocol.getRgvNo(), rgvErrProtocol); } } finally { } } /** * 更新设备状态 */ public static void updateRgvErr(Integer rgvNo) { try { RgvErrProtocol rgvErrProtocol = cache.get(rgvNo); if (rgvErrProtocol == null){ rgvErrProtocol = new RgvErrProtocol(); rgvErrProtocol.setRgvNo(rgvNo); } if (!rgvErrProtocol.getError().equals("-")){ rgvErrProtocol.setError("-"); cache.put(rgvErrProtocol.getRgvNo(), rgvErrProtocol); } } finally { } } /** * 更新设备状态 */ public static String getErrorDev(Integer rgvNo) { try { RgvErrProtocol rgvErrProtocol = cache.get(rgvNo); if (rgvErrProtocol == null){ rgvErrProtocol = new RgvErrProtocol(); rgvErrProtocol.setRgvNo(rgvNo); } return rgvErrProtocol.getError(); } finally { } } /** * 获取设备状态 */ public static RgvErrProtocol getRgvStatus(Integer rgvNo) { try { return cache.get(rgvNo); } finally { } } /** * 获取所有设备状态 */ public static ConcurrentHashMap getAllRgvStatus() { try { return new ConcurrentHashMap<>(cache); // 返回副本 } finally { } } }