feat(access): 优化设备接入流程并增加监测点管理功能

- 新增DEV_DATA_ERROR响应枚举处理装置端监测点信息获取失败情况
- 集成CsLineFeignClient服务实现线路信息精确获取,替代原有字符解析方式
- 删除无用的LogMessageTemplate依赖和objectToMap工具方法
- 添加CsDeviceRegistryFeignClient支持设备注册表管理
- 重构CsDeviceServiceImpl中的设备接入逻辑,优化监测点ID分配机制
- 新增accessByUpdateMac接口支持设备MAC地址变更后的重新接入
- 完善设备监测点信息获取流程,增加数据去重和异常处理机制
- 添加稳态事件指标配置功能,集成谐波方案管理
- 优化MQTT消息处理器中的设备信息更新逻辑
- 增强设备软件信息解析的日期格式兼容性
- 优化设备容量和台账信息更新的数据持久化流程
This commit is contained in:
xy
2026-06-22 13:49:11 +08:00
parent 7ad8f5f80c
commit ad1e051a94
12 changed files with 438 additions and 142 deletions

View File

@@ -75,6 +75,7 @@ public enum AccessResponseEnum {
FILE_CHECK_ERROR("A0312","文件校验码不一致!"),
CLD_MODEL_EXIST("A0313","云前置模板已存在,请先删除再录入!"),
DEV_DATA_ERROR("A0313","系统端询问装置端监测点信息失败,无法生成监测点!"),
/**
* A3001 ~ A3099 用于zlevent模块的枚举

View File

@@ -5,7 +5,8 @@ import com.njcn.redis.utils.RedisUtil;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
/**
* @author xy
@@ -51,22 +52,4 @@ public class ChannelObjectUtil {
public Object getDeviceMid(String nDid) {
return redisUtil.getObjectByKey(AppRedisKey.DEVICE_MID + nDid);
}
public Map<String, List<String>> objectToMap(Object obj) {
// 创建并填充 Map
Map<String, List<String>> resultMap = new HashMap<>();
String json = obj.toString();
// 移除首尾的 {}
json = json.substring(1, json.length() - 1);
// 找到键和值的分隔符位置
int keyEndIndex = json.indexOf("=[");
String key = json.substring(0, keyEndIndex);
String valuesStr = json.substring(keyEndIndex + 2, json.length() - 1);
// 将值字符串分割成列表
String[] valuesArray = valuesStr.split(", ");
List<String> valuesList = Arrays.asList(valuesArray);
resultMap.put(key, valuesList);
return resultMap;
}
}