|
@@ -0,0 +1,458 @@
|
|
|
+package com.example.backend.service;
|
|
|
+
|
|
|
+import com.example.backend.dds.TestSubscriber;
|
|
|
+import com.example.backend.dds.TestPublisher;
|
|
|
+import com.example.backend.model.*;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
+import org.springframework.scheduling.annotation.Scheduled;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.*;
|
|
|
+import java.util.concurrent.*;
|
|
|
+
|
|
|
+import jakarta.annotation.PostConstruct;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class RadarStatusService {
|
|
|
+
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(RadarStatusService.class);
|
|
|
+
|
|
|
+ ExecutorService e = Executors.newSingleThreadExecutor();
|
|
|
+
|
|
|
+ private final Map<String, RadarStatus> platformRadarMap = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, List<RadarParam>> platformParamsMap = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, Queue<RadarTarget>> platformTargetsMap = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, MessageStatus> messageStatusMap = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, List<Message>> messageList = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, List<Message>> outmessageList = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, List<ecmParams>> ecmParamsList = new ConcurrentHashMap<>();
|
|
|
+ private final Map<String, ecmStatus> ecmStatusList = new ConcurrentHashMap<>();
|
|
|
+ public final TestSubscriber subscriber = new TestSubscriber();
|
|
|
+ public final TestPublisher publisher = new TestPublisher();
|
|
|
+
|
|
|
+
|
|
|
+ // 设置队列最大容量
|
|
|
+ private static final int MAX_QUEUE_SIZE = 100;
|
|
|
+
|
|
|
+ public RadarStatusService() throws Exception {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Async
|
|
|
+ @Scheduled(fixedRate = 6000) // 每3秒执行一次
|
|
|
+ public void checkInitStateTask() {
|
|
|
+ if (subscriber != null && subscriber.listener != null) {
|
|
|
+ try {//发送心跳信息
|
|
|
+ publisher.publishMessage(
|
|
|
+ "2",
|
|
|
+ "8",
|
|
|
+ "这是心跳信息"
|
|
|
+ );
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ synchronized (subscriber.listener) {
|
|
|
+ // 读写操作
|
|
|
+ // 根据你的具体业务逻辑判断状态
|
|
|
+ if(subscriber.listener.isInit==0){
|
|
|
+ this.messageList.clear();
|
|
|
+ this.messageStatusMap.clear();
|
|
|
+ this.outmessageList.clear();
|
|
|
+ }
|
|
|
+ if (subscriber.listener.isInit==1&&subscriber.listener.isRecall==1) {
|
|
|
+ try {
|
|
|
+ subscriber.listener.isRecall=0;
|
|
|
+
|
|
|
+ publisher.publishMessage(
|
|
|
+ "2",
|
|
|
+ "11",
|
|
|
+ "这是初始化应答"
|
|
|
+ );
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ } // 回复初始化应答
|
|
|
+ subscriber.listener.isRecall=0;
|
|
|
+ init();
|
|
|
+ }
|
|
|
+ if(subscriber.listener.isInit==0){
|
|
|
+ //未初始化,发送初始化请求
|
|
|
+ try {
|
|
|
+ publisher.publishMessage(
|
|
|
+ "2",
|
|
|
+ "12",
|
|
|
+ "这是初始化请求"
|
|
|
+ );
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ } // 回复初始化应答
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostConstruct
|
|
|
+ public void init() {
|
|
|
+ // 初始化默认平台的状态和参数
|
|
|
+ for(String key : subscriber.listener.positionMap.keySet()){
|
|
|
+ initializePlatform(key);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public Set<String> getPlatforms(){
|
|
|
+ return subscriber.listener.positionMap.keySet();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 初始化平台数据
|
|
|
+ private void initializePlatform(String platformId) {
|
|
|
+ logger.info("初始化平台 {} 的数据", platformId);
|
|
|
+ platformRadarMap.put(platformId, initDefaultPlatform(platformId));
|
|
|
+ platformParamsMap.put(platformId, initDefaultParams());
|
|
|
+ Queue<RadarTarget> queue = new ConcurrentLinkedQueue<>();
|
|
|
+ queue.addAll(initDefaultTargets());
|
|
|
+ platformTargetsMap.put(platformId, queue);
|
|
|
+ MessageStatus m = new MessageStatus();
|
|
|
+ messageStatusMap.put(platformId,m);
|
|
|
+ //messageList.put(platformId,initDefaultMessage(platformId));
|
|
|
+ //outmessageList.put(platformId,initDefaultMessage(platformId));
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<Map<String, Object>> getRadarStatus(String platformId) {
|
|
|
+ logger.info("获取平台 {} 的雷达状态", platformId);
|
|
|
+ RadarStatus status = platformRadarMap.computeIfAbsent(platformId, this::initDefaultPlatform);
|
|
|
+ return convertToKeyValueList(status);
|
|
|
+ }
|
|
|
+
|
|
|
+ public RadarStatus updateRadarStatus(String platformId, RadarStatus updatedStatus) {
|
|
|
+ if (updatedStatus == null) {
|
|
|
+ logger.error("尝试更新空的雷达状态");
|
|
|
+ throw new IllegalArgumentException("雷达状态不能为空");
|
|
|
+ }
|
|
|
+ logger.info("更新平台 {} 的雷达状态", platformId);
|
|
|
+ updatedStatus.setPlatformId(platformId);
|
|
|
+ platformRadarMap.put(platformId, updatedStatus);
|
|
|
+ try {
|
|
|
+ publisher.publishMessage(
|
|
|
+ "RadarSystem",
|
|
|
+ "DetectionUpdate",
|
|
|
+ "XYH"
|
|
|
+ );
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ return updatedStatus;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 辅助方法,创建一个 key-value 对
|
|
|
+ private Map<String, Object> createKeyValue(String key, Object value) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", key);
|
|
|
+ map.put("value", value);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将雷达状态转换为前端需要的格式
|
|
|
+ private List<Map<String, Object>> convertToKeyValueList(RadarStatus status) {
|
|
|
+ List<Map<String, Object>> radarStatusList = new ArrayList<>();
|
|
|
+
|
|
|
+ // 添加平台ID到返回数据中
|
|
|
+ radarStatusList.add(createKeyValue("平台编号", status.getPlatformId()));
|
|
|
+
|
|
|
+ // 只包含雷达状态数据
|
|
|
+ radarStatusList.add(createKeyValue("型号", status.getModel()));
|
|
|
+ radarStatusList.add(createKeyValue("序号", status.getSerialNumber()));
|
|
|
+ radarStatusList.add(createKeyValue("类型", status.getType()));
|
|
|
+ radarStatusList.add(createKeyValue("连接方式", status.getConnectionType()));
|
|
|
+ radarStatusList.add(createKeyValue("开机时间", status.getStartupTime()));
|
|
|
+ radarStatusList.add(createKeyValue("发现概率(%)", status.getDetectionProbability()));
|
|
|
+ radarStatusList.add(createKeyValue("虚警率(%)", status.getFalseAlarmRate()));
|
|
|
+ radarStatusList.add(createKeyValue("扫描周期(s)", status.getScanCycle()));
|
|
|
+ radarStatusList.add(createKeyValue("波束指向方位角", status.getBeamAzimuth()));
|
|
|
+ radarStatusList.add(createKeyValue("波束指向俯仰角", status.getBeamElevation()));
|
|
|
+ radarStatusList.add(createKeyValue("天线最大增益(dB)", status.getAntennaGain()));
|
|
|
+ radarStatusList.add(createKeyValue("副瓣增益(dB)", status.getSideLobeGain()));
|
|
|
+
|
|
|
+ return radarStatusList;
|
|
|
+ }
|
|
|
+
|
|
|
+ private RadarStatus initDefaultPlatform(String platformId) {
|
|
|
+ RadarStatus defaultStatus = new RadarStatus();
|
|
|
+ defaultStatus.setPlatformId(platformId);
|
|
|
+ defaultStatus.setModel("默认型号测试数据");
|
|
|
+ defaultStatus.setSerialNumber("000000");
|
|
|
+ defaultStatus.setType("默认类型");
|
|
|
+ defaultStatus.setConnectionType("TCP");
|
|
|
+ defaultStatus.setStartupTime("2024-01-01 00:00:00");
|
|
|
+ defaultStatus.setDetectionProbability(90.0);
|
|
|
+ defaultStatus.setFalseAlarmRate(0.1);
|
|
|
+ defaultStatus.setScanCycle(10);
|
|
|
+ defaultStatus.setBeamAzimuth(0);
|
|
|
+ defaultStatus.setBeamElevation(0);
|
|
|
+ defaultStatus.setAntennaGain(30.0);
|
|
|
+ defaultStatus.setSideLobeGain(-20.0);
|
|
|
+ return defaultStatus;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取雷达参数
|
|
|
+ public List<RadarParam> getRadarParams(String platformId) {
|
|
|
+ logger.info("获取平台 {} 的雷达参数", platformId);
|
|
|
+ return platformParamsMap.computeIfAbsent(platformId, k -> {
|
|
|
+ logger.info("平台 {} 不存在,创建默认参数", platformId);
|
|
|
+ return initDefaultParams();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新雷达参数
|
|
|
+ public List<RadarParam> updateRadarParams(String platformId, List<RadarParam> radarParams) {
|
|
|
+ if (radarParams == null || radarParams.isEmpty()) {
|
|
|
+ logger.error("尝试更新空的雷达参数列表");
|
|
|
+ throw new IllegalArgumentException("雷达参数不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ logger.info("更新平台 {} 的雷达参数,参数数量: {}", platformId, radarParams.size());
|
|
|
+ // 验证参数的合法性
|
|
|
+ validateRadarParams(radarParams);
|
|
|
+ // 存储参数
|
|
|
+ platformParamsMap.put(platformId, new ArrayList<>(radarParams));
|
|
|
+ try {
|
|
|
+ publisher.publishMessage(
|
|
|
+ "RadarSystem",
|
|
|
+ "DetectionUpdate",
|
|
|
+ "XYH"
|
|
|
+ );
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ System.out.println(subscriber.getText());
|
|
|
+ return radarParams;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取位置信息
|
|
|
+ public Position getPositionById(String platformId) {
|
|
|
+ for(String key : subscriber.listener.positionMap.keySet()){
|
|
|
+ if(key.equals(platformId)){
|
|
|
+ return subscriber.listener.positionMap.get(key);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 验证雷达参数的合法性
|
|
|
+ private void validateRadarParams(List<RadarParam> params) {
|
|
|
+ if (params.stream().anyMatch(p -> p.getKey() == null || p.getKey().trim().isEmpty())) {
|
|
|
+ throw new IllegalArgumentException("参数键不能为空");
|
|
|
+ }
|
|
|
+ if (params.stream().anyMatch(p -> p.getValue() == null)) {
|
|
|
+ throw new IllegalArgumentException("参数值不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 初始化默认参数
|
|
|
+ private List<RadarParam> initDefaultParams() {
|
|
|
+ List<RadarParam> defaultParams = new ArrayList<>();
|
|
|
+ defaultParams.add(new RadarParam("开关机状态", "打开"));
|
|
|
+ defaultParams.add(new RadarParam("抗干扰措施", "频率捷变"));
|
|
|
+ defaultParams.add(new RadarParam("工作模式", "搜索"));
|
|
|
+ defaultParams.add(new RadarParam("脉冲参数", "自动"));
|
|
|
+ defaultParams.add(new RadarParam("方位扫描中心(°)", "0"));
|
|
|
+ defaultParams.add(new RadarParam("俯仰扫描中心(°)", "0"));
|
|
|
+ defaultParams.add(new RadarParam("波束宽度(°)", "2"));
|
|
|
+ defaultParams.add(new RadarParam("方位扫描范围(°)", "10"));
|
|
|
+ defaultParams.add(new RadarParam("俯仰扫描范围(°)", "10"));
|
|
|
+ defaultParams.add(new RadarParam("发射机功率(W)", "100"));
|
|
|
+ return defaultParams;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改获取目标数据的方法
|
|
|
+ public List<RadarTarget> getRadarTargets(String platformId) {
|
|
|
+ logger.info("获取平台 {} 的目标数据", platformId);
|
|
|
+ Queue<RadarTarget> queue = platformTargetsMap.computeIfAbsent(platformId, k -> {
|
|
|
+ logger.info("平台 {} 不存在,创建默认目标数据队列", platformId);
|
|
|
+ Queue<RadarTarget> newQueue = new ConcurrentLinkedQueue<>();
|
|
|
+ newQueue.addAll(initDefaultTargets());
|
|
|
+ return newQueue;
|
|
|
+ });
|
|
|
+ return new ArrayList<>(queue);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改更新目标数据的方法
|
|
|
+ public List<RadarTarget> updateRadarTargets(String platformId, List<RadarTarget> targets) {
|
|
|
+ if (targets == null || targets.isEmpty()) {
|
|
|
+ logger.error("尝试更新空的目标数据列表");
|
|
|
+ throw new IllegalArgumentException("目标数据不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ logger.info("更新平台 {} 的目标数据,目标数量: {}", platformId, targets.size());
|
|
|
+ validateRadarTargets(targets);
|
|
|
+
|
|
|
+ Queue<RadarTarget> queue = platformTargetsMap.computeIfAbsent(
|
|
|
+ platformId,
|
|
|
+ k -> new ConcurrentLinkedQueue<>()
|
|
|
+ );
|
|
|
+
|
|
|
+ // 添加新数据到队列
|
|
|
+ for (RadarTarget target : targets) {
|
|
|
+ queue.offer(target);
|
|
|
+ // 如果队列超出最大容量,移除最旧的数据
|
|
|
+ while (queue.size() > MAX_QUEUE_SIZE) {
|
|
|
+ queue.poll();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return new ArrayList<>(queue);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加清除目标数据的方法
|
|
|
+ public void clearRadarTargets(String platformId) {
|
|
|
+ logger.info("清除平台 {} 的目标数据", platformId);
|
|
|
+ Queue<RadarTarget> queue = platformTargetsMap.get(platformId);
|
|
|
+ if (queue != null) {
|
|
|
+ queue.clear();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加获取队列大小的方法
|
|
|
+ public int getRadarTargetsCount(String platformId) {
|
|
|
+ Queue<RadarTarget> queue = platformTargetsMap.get(platformId);
|
|
|
+ return queue != null ? queue.size() : 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 验证目标数据的合法性
|
|
|
+ private void validateRadarTargets(List<RadarTarget> targets) {
|
|
|
+ for (RadarTarget target : targets) {
|
|
|
+ if (target.getTargetId() == null) {
|
|
|
+ throw new IllegalArgumentException("目标ID不能为空");
|
|
|
+ }
|
|
|
+ if (target.getSimTime() == null || target.getSimTime().trim().isEmpty()) {
|
|
|
+ throw new IllegalArgumentException("仿真时间不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取消息数据 链路状态相关方法
|
|
|
+ public MessageStatus getMsgStatusById(String PlatformID){
|
|
|
+ return messageStatusMap.get(PlatformID);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setMsgStatusById(String PlatformID,MessageStatus m){
|
|
|
+ messageStatusMap.put(PlatformID,m);
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<Message> getMsgListById(String PlatformID){
|
|
|
+ return subscriber.listener.messageList.get(PlatformID);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setMsgListById(String PlatformID,Message m){
|
|
|
+ List<Message> list = messageList.get(PlatformID);
|
|
|
+ list.add(m);
|
|
|
+ messageList.put(PlatformID,list);
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<Message> getOutMsgListById(String PlatformID){
|
|
|
+ return outmessageList.get(PlatformID);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setOutMsgListById(String PlatformID,Message m){
|
|
|
+ List<Message> list = outmessageList.get(PlatformID);
|
|
|
+ list.add(m);
|
|
|
+ outmessageList.put(PlatformID,list);
|
|
|
+ }
|
|
|
+//---------------------------------
|
|
|
+
|
|
|
+ //平台发送消息给平台方法
|
|
|
+ public void sendMessageToOther(String platformID,Message msg,String other,String subject){
|
|
|
+ publisher.publishMessage(platformID+" "+"3"+" "+other,subject,msg.getTime()+" "+msg.getTopic()+" "+msg.getText());
|
|
|
+ }
|
|
|
+
|
|
|
+ public void sendRadarPulseMsg(String platformID, radarPulseMsg msg,String recivier){
|
|
|
+ publisher.publishMessage(platformID+" "+"3"+" "+recivier,"5",msg.getType()+" "+msg.getEnv()+" "+msg.getLon()+" "+msg.getLat()+" "+msg.getH()+" "+msg.getFreq()+" "+msg.getPRI());
|
|
|
+ List<Message> list = outmessageList.get(platformID)==null ? new ArrayList<>() : outmessageList.get(platformID);
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
+ // 定义格式(例如:yyyy-MM-dd HH:mm:ss)
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
+ // 格式化时间
|
|
|
+ String formattedDateTime = now.format(formatter);
|
|
|
+ list.add(new Message(formattedDateTime,platformID,"雷达脉冲",msg.getType()+" "+msg.getEnv()+" "+msg.getLon()+" "+msg.getLat()+" "+msg.getH()+" "+msg.getFreq()+" "+msg.getPRI(),"1"));
|
|
|
+ outmessageList.put(platformID,list);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void sendDisturbMsg(String platformID, disturbMsg msg,String recivier){
|
|
|
+ publisher.publishMessage(platformID+" "+"3"+" "+recivier,"6",msg.getJaming()+" "+msg.getEnv()+" "+msg.getArea()+" "+msg.getJamingPolicy()+" "+msg.getTarget()+" "+msg.getIsCoop()+" "+msg.getPRI());
|
|
|
+ List<Message> list = outmessageList.get(platformID)==null ? new ArrayList<>() : outmessageList.get(platformID);
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
+ // 定义格式(例如:yyyy-MM-dd HH:mm:ss)
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
+ // 格式化时间
|
|
|
+ String formattedDateTime = now.format(formatter);
|
|
|
+ list.add(new Message(formattedDateTime,platformID,"电子干扰",msg.getJaming()+" "+msg.getEnv()+" "+msg.getArea()+" "+msg.getJamingPolicy()+" "+msg.getTarget()+" "+msg.getIsCoop()+" "+msg.getPRI(),"1"));
|
|
|
+ outmessageList.put(platformID,list);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void sendCompMsg(String platformID, compMsg msg,String recivier){
|
|
|
+ publisher.publishMessage(platformID+" "+"3"+" "+recivier,"7",msg.getTopic()+" "+msg.getPriority()+" "+msg.getIsBroadcast()+" "+msg.getText());
|
|
|
+
|
|
|
+ List<Message> list = outmessageList.get(platformID)==null ? new ArrayList<>() : outmessageList.get(platformID);
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
+ // 定义格式(例如:yyyy-MM-dd HH:mm:ss)
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
+ // 格式化时间
|
|
|
+ String formattedDateTime = now.format(formatter);
|
|
|
+ list.add(new Message(formattedDateTime,platformID,"综合情报",msg.getTopic()+" "+msg.getPriority()+" "+msg.getIsBroadcast()+" "+msg.getText(),"1"));
|
|
|
+ outmessageList.put(platformID,list);
|
|
|
+ }
|
|
|
+
|
|
|
+ //电子攻击相关方法\
|
|
|
+ public ecmStatus getECMStatusByID(String platformID){
|
|
|
+ return ecmStatusList.get(platformID);
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<ecmParams> getECMParamsByID(String platformID){
|
|
|
+ return ecmParamsList.get(platformID);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 初始化默认目标数据
|
|
|
+ private List<RadarTarget> initDefaultTargets() {
|
|
|
+ List<RadarTarget> defaultTargets = new ArrayList<>();
|
|
|
+ defaultTargets.add(new RadarTarget("14:37.15", 1, "我方", "后端数据测试", "高", 10, -50, 859, 5.4));
|
|
|
+ defaultTargets.add(new RadarTarget("14:33.40", 2, "未知", "后端数据测试", "低", 40, -70, 458, 10.1));
|
|
|
+ defaultTargets.add(new RadarTarget("14:38.55", 3, "可疑目标", "后端数据测试", "中", 120, -54, 269, 15.3));
|
|
|
+ defaultTargets.add(new RadarTarget("14:39.30", 4, "可疑目标", "后端数据测试", "中", 210, -60, 234, 22.5));
|
|
|
+ return defaultTargets;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private List<Message> initDefaultMessage(String platformID) {
|
|
|
+ List<Message> defaultMessage = new ArrayList<>();
|
|
|
+ defaultMessage.add(new Message("2025-4-1 12:00","100","综合情报","这是测试消息内容","0"));
|
|
|
+ defaultMessage.add(new Message("2025-4-1 12:00","100","综合情报","这是测试消息内容","1"));
|
|
|
+ defaultMessage.add(new Message("2025-4-1 12:00","100","综合情报","这是测试消息内容","0"));
|
|
|
+ return defaultMessage;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public String msgToNumber(String s){
|
|
|
+ if(s.equals("雷达脉冲")){
|
|
|
+ return "5";
|
|
|
+ }
|
|
|
+ else if(s.equals("电子干扰")){
|
|
|
+ return "6";
|
|
|
+ }
|
|
|
+ else return "7";
|
|
|
+ }
|
|
|
+}
|