From e1f0c5335ec44f31d6ea1ccbf38d930f909f6ac3 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 3 Jun 2024 10:21:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A4=A9=E7=84=B6=E6=B0=94=E5=85=AD?= =?UTF-8?q?=E4=B8=AA=E6=95=B0=E6=8D=AE=E4=BB=8Eredis=E4=B8=AD=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KhNgRealtimeDataController.java | 9 ++--- .../jero/modules/entity/KhNgRealtimeData.java | 28 ++++++--------- .../service/IKhNgRealtimeDataService.java | 9 +++++ .../impl/KhNgRealtimeDataServiceImpl.java | 36 ++++++++++++++++++- 4 files changed, 57 insertions(+), 25 deletions(-) diff --git a/kh-modules/src/main/java/com/jero/modules/controller/KhNgRealtimeDataController.java b/kh-modules/src/main/java/com/jero/modules/controller/KhNgRealtimeDataController.java index ba4216cb..a89ed32a 100644 --- a/kh-modules/src/main/java/com/jero/modules/controller/KhNgRealtimeDataController.java +++ b/kh-modules/src/main/java/com/jero/modules/controller/KhNgRealtimeDataController.java @@ -49,18 +49,13 @@ public class KhNgRealtimeDataController extends JeroController>> realtimeDataResults(@RequestParam(name = "id", required = true) String id) { - if (!id.equals("default")) { - return Results.error("未找到对应数据"); - } - Map> khOilRealtimeData = khNgRealtimeDataService.realtimeDataResults(id); - return Results.OK(khOilRealtimeData); + public Results> realtimeDataResults() { + return Results.OK(khNgRealtimeDataService.mockKhNgRealtimeRedisData()); } } diff --git a/kh-modules/src/main/java/com/jero/modules/entity/KhNgRealtimeData.java b/kh-modules/src/main/java/com/jero/modules/entity/KhNgRealtimeData.java index 5f11a741..5e216851 100644 --- a/kh-modules/src/main/java/com/jero/modules/entity/KhNgRealtimeData.java +++ b/kh-modules/src/main/java/com/jero/modules/entity/KhNgRealtimeData.java @@ -1,7 +1,8 @@ package com.jero.modules.entity; import java.io.Serializable; -import java.util.Date; +import java.util.*; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -57,41 +58,34 @@ public class KhNgRealtimeData implements Serializable { @Excel(name = "设备编号", width = 15) @ApiModelProperty(value = "设备编号") private String deviceNo; + /**设备编号*/ + @Excel(name = "通道编号", width = 15) + @ApiModelProperty(value = "通道编号") + private String channelNo; /**实时温度*/ @Excel(name = "实时温度", width = 15) @ApiModelProperty(value = "实时温度") - private Double realTimeTemp; + private String realTimeTemp; /**累计流量*/ @Excel(name = "累计流量", width = 15) @ApiModelProperty(value = "累计流量") - private Double cumulativeFlow; + private String cumulativeFlow; /**实时压力*/ @Excel(name = "实时压力", width = 15) @ApiModelProperty(value = "实时压力") - private Double realTimePressure; + private String realTimePressure; /**标况瞬时*/ @Excel(name = "标况瞬时", width = 15) @ApiModelProperty(value = "标况瞬时") - private Double stdInstant; + private String stdInstant; /**工况瞬时*/ @Excel(name = "工况瞬时", width = 15) @ApiModelProperty(value = "工况瞬时") - private Double operationalInstant; + private String operationalInstant; /**同步时间*/ @Excel(name = "同步时间", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "同步时间") private Date syncDate; - - public void mockKhOilRealtimeData() { - this.setId("default"); - this.setDeviceNo("default"); - this.setRealTimeTemp(RandomNumberUtil.getRandomDouble()); - this.setRealTimePressure(RandomNumberUtil.getRandomDouble()); - this.setCumulativeFlow(RandomNumberUtil.getRandomDouble()); - this.setRealTimePressure(RandomNumberUtil.getRandomDouble()); - this.setStdInstant(RandomNumberUtil.getRandomDouble()); - this.setOperationalInstant(RandomNumberUtil.getRandomDouble()); - } } diff --git a/kh-modules/src/main/java/com/jero/modules/service/IKhNgRealtimeDataService.java b/kh-modules/src/main/java/com/jero/modules/service/IKhNgRealtimeDataService.java index 79ad1415..865c6e4c 100644 --- a/kh-modules/src/main/java/com/jero/modules/service/IKhNgRealtimeDataService.java +++ b/kh-modules/src/main/java/com/jero/modules/service/IKhNgRealtimeDataService.java @@ -37,4 +37,13 @@ public interface IKhNgRealtimeDataService extends IService { * @return */ Map> realtimeDataResults(String id); + + + /** + * 实时数据 + * @param + * @return + */ + List mockKhNgRealtimeRedisData(); + } diff --git a/kh-modules/src/main/java/com/jero/modules/service/impl/KhNgRealtimeDataServiceImpl.java b/kh-modules/src/main/java/com/jero/modules/service/impl/KhNgRealtimeDataServiceImpl.java index a61d6dc4..7455aa97 100644 --- a/kh-modules/src/main/java/com/jero/modules/service/impl/KhNgRealtimeDataServiceImpl.java +++ b/kh-modules/src/main/java/com/jero/modules/service/impl/KhNgRealtimeDataServiceImpl.java @@ -1,5 +1,8 @@ package com.jero.modules.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.modules.entity.KhNgRealtimeData; import com.jero.modules.entity.KhOilRealtimeData; @@ -17,6 +20,7 @@ import com.jero.common.system.query.QueryGenerator; import javax.servlet.http.HttpServletRequest; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import redis.clients.jedis.Jedis; /** @@ -57,9 +61,39 @@ public class KhNgRealtimeDataServiceImpl extends ServiceImpl> result = new HashMap<>(); List dataList = new ArrayList<>(); KhNgRealtimeData khNgRealtimeData = new KhNgRealtimeData(); - khNgRealtimeData.mockKhOilRealtimeData(); dataList.add(khNgRealtimeData); result.put("实时运行参数", dataList); return result; } + + @Override + public List mockKhNgRealtimeRedisData() { + Map> map = new HashMap<>(); + JSONArray data = new JSONArray(); + List resultList = new ArrayList<>(); + // 连接到Redis服务器 + try (Jedis jedis = new Jedis("1.15.107.30", 6379)) { + jedis.auth("kld4...."); + jedis.select(3); + + // 获取名为 flowmeter 的 JSON 字符串 + String jsonData = jedis.get("flowmeter"); + // 使用 Fastjson 反序列化 JSON 字符串 + data = JSON.parseArray(jsonData); + } + + for (Object item : data) { + KhNgRealtimeData realData = new KhNgRealtimeData(); + JSONObject jsonObject = (JSONObject) item; + realData.setChannelNo(jsonObject.getString("name")); + realData.setRealTimeTemp(jsonObject.getString("temperature")); + realData.setCumulativeFlow(jsonObject.getString("totalflow")); + realData.setRealTimePressure(jsonObject.getString("pressure")); + realData.setStdInstant(jsonObject.getString("standard")); + realData.setOperationalInstant(jsonObject.getString("acture")); + resultList.add(realData); + } + return resultList; + } + }