From a90878e2513cc9f59308fe9345cbb59fb3e8f63e Mon Sep 17 00:00:00 2001 From: Penknife Date: Fri, 10 Jan 2025 11:42:52 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E8=A1=A5=E5=85=85=E8=BF=87=E7=A8=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=BF=9D=E5=AD=98=E5=92=8C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/controller/TrackController.java | 7 +++++++ .../mq/RabbitMQ/RabbitQueueListener.java | 18 +++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/business/src/main/java/com/fizz/business/controller/TrackController.java b/business/src/main/java/com/fizz/business/controller/TrackController.java index 5f31504..b3b6600 100644 --- a/business/src/main/java/com/fizz/business/controller/TrackController.java +++ b/business/src/main/java/com/fizz/business/controller/TrackController.java @@ -2,6 +2,7 @@ package com.fizz.business.controller; import com.fizz.business.form.WebOperateMatForm; +import com.fizz.business.mq.RabbitMQ.RabbitQueueListener; import com.fizz.business.service.TrackService; import com.ruoyi.common.core.domain.R; import io.swagger.annotations.Api; @@ -38,4 +39,10 @@ public class TrackController { return R.ok(); } + @GetMapping("/measure/list") + @ApiOperation(value = "获取测量数据list") + public R> measureList() { + return R.ok(RabbitQueueListener.measureList); + } + } diff --git a/business/src/main/java/com/fizz/business/mq/RabbitMQ/RabbitQueueListener.java b/business/src/main/java/com/fizz/business/mq/RabbitMQ/RabbitQueueListener.java index 5b4e7da..982bc3f 100644 --- a/business/src/main/java/com/fizz/business/mq/RabbitMQ/RabbitQueueListener.java +++ b/business/src/main/java/com/fizz/business/mq/RabbitMQ/RabbitQueueListener.java @@ -4,14 +4,20 @@ import cn.hutool.json.JSONUtil; import com.fizz.business.constants.CommonConstants; import com.fizz.business.constants.enums.WsTypeEnum; import com.fizz.business.utils.WebSocketUtil; +import com.google.common.collect.Lists; import lombok.extern.log4j.Log4j2; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; +import java.util.List; + @Log4j2 @Component public class RabbitQueueListener { + + public static List measureList = Lists.newArrayList(); + private Double LastRolledLength = 0d; @RabbitListener(queues = CommonConstants.RabbitMQ.RECEIVE_MODEL) @RabbitHandler public void onHmiMessage(String message) { @@ -24,7 +30,17 @@ public class RabbitQueueListener { @RabbitHandler public void onProcDataMessage(String message) { log.info("消费端ProcData: " + message); - + Double rolledLength = Double.parseDouble( + JSONUtil.parse(message).getByPath("rolledLength").toString() + ); + if(LastRolledLength==rolledLength){ + return; + } + if(LastRolledLength-rolledLength>300) { + measureList = Lists.newArrayList(); + } + measureList.add(message); + LastRolledLength=rolledLength; //socket WebSocketUtil.sendMessage(WsTypeEnum.track_measure,message); }