update 校验channel是否保存

This commit is contained in:
2023-11-18 08:23:11 +08:00
parent 1ffff5e0c3
commit fce5992a26
4 changed files with 30 additions and 12 deletions

View File

@@ -18,11 +18,29 @@ public class PileChannelEntity {
*/
private static final ConcurrentHashMap<String, Channel> manager = new ConcurrentHashMap<>();
public static void put(String pileSn, Channel channel) {
/**
* 校验channel是否保存
*/
public static void checkChannel(String pileSn, Channel channel) {
if (manager.containsKey(pileSn)) {
log.error("桩编号:【{}】已经是连接状态", pileSn);
// 如果manager中存在pileSn的连接取出来对比
Channel sourceChannel = manager.get(pileSn);
if (sourceChannel != null) {
// 两个做对比
String sourceChannelId = sourceChannel.id().asLongText();
String channelId = channel.id().asLongText();
if (!StringUtils.equals(sourceChannelId, channelId)) {
// 不一致则更新
manager.put(pileSn, channel);
}
} else {
// 为空就put
manager.put(pileSn, channel);
}
} else {
// 如果manager中不存在pileSn的连接则保存
manager.put(pileSn, channel);
}
manager.put(pileSn, channel);
}
/**