diff --git a/kh-modules/pom.xml b/kh-modules/pom.xml index 957ff1fa..f966af5f 100644 --- a/kh-modules/pom.xml +++ b/kh-modules/pom.xml @@ -31,5 +31,10 @@ + + redis.clients + jedis + 4.4.0 + diff --git a/kh-modules/src/main/java/com/jero/modules/entity/KhOilRealtimeData.java b/kh-modules/src/main/java/com/jero/modules/entity/KhOilRealtimeData.java index 57152db9..74ef56ef 100644 --- a/kh-modules/src/main/java/com/jero/modules/entity/KhOilRealtimeData.java +++ b/kh-modules/src/main/java/com/jero/modules/entity/KhOilRealtimeData.java @@ -1,12 +1,12 @@ package com.jero.modules.entity; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.github.javafaker.Faker; import com.jero.modules.utils.RandomNumberUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -14,9 +14,13 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; +import redis.clients.jedis.Jedis; import java.io.Serializable; import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author: Mzaxd @@ -27,7 +31,7 @@ import java.util.Date; @TableName("kh_oil_realtime_data") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -@ApiModel(value="kh_oil_realTime_data对象", description="油井实时数据") +@ApiModel(value = "kh_oil_realTime_data对象", description = "油井实时数据") public class KhOilRealtimeData implements Serializable { private static final long serialVersionUID = 1L; @@ -38,27 +42,37 @@ public class KhOilRealtimeData implements Serializable { @ApiModelProperty(value = "id") private String id; - /**创建人*/ + /** + * 创建人 + */ @ApiModelProperty(value = "创建人") private String createBy; - /**创建日期*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + /** + * 创建日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建日期") private Date createTime; - /**更新人*/ + /** + * 更新人 + */ @ApiModelProperty(value = "更新人") private String updateBy; - /**更新日期*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + /** + * 更新日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新日期") private Date updateTime; - /**所属部门*/ + /** + * 所属部门 + */ @ApiModelProperty(value = "所属部门") private String sysOrgCode; @@ -186,4 +200,47 @@ public class KhOilRealtimeData implements Serializable { } + public void mockKhOilRealtimeRedisData(boolean db1) { + Map> map = new HashMap<>(); + JSONArray data = new JSONArray(); + // 连接到Redis服务器 + try (Jedis jedis = new Jedis("1.15.107.30", 6379)) { + jedis.auth("kld4...."); + if (db1) { + // 去db1取数据 + jedis.select(1); + } else { + jedis.select(2); + } + // 获取名为 runtime_data 的 JSON 字符串 + String jsonData = jedis.get("runtime_data"); + // 使用 Fastjson 反序列化 JSON 字符串 + data = JSON.parseArray(jsonData); + } + + for (Object item : data) { + JSONObject jsonObject = (JSONObject) item; + String name = jsonObject.getString("Name"); + List values = jsonObject.getJSONArray("Values").toJavaList(Double.class); + map.put(name, values); + } + this.oilPressure = map.get("YouYa").get(0); + this.currentA = map.get("DianLiu_A").get(0); + this.currentB = map.get("DianLiu_B").get(0); + this.currentC = map.get("DianLiu_C").get(0); + this.activePower = map.get("YouGongGongLv").get(0); + this.powerFactor = map.get("GongLvYinShu").get(0); + this.casingPressure = map.get("TaoYa").get(0); + this.voltageA = map.get("DianYa_A").get(0); + this.voltageB = map.get("DianYa_B").get(0); + this.voltageC = map.get("DianYa_C").get(0); + this.reactivePower = map.get("WuGongGongLv").get(0); + this.outputFrequency = (int) Double.parseDouble(String.valueOf(map.get("ShuChuPinLv").get(0))); + this.strokeCount = (int) Double.parseDouble(String.valueOf(map.get("ChongCi").get(0))); + this.stroke = map.get("ChongCheng").get(0); + this.minLoad = 0; + this.maxLoad = 0; + this.deviceId = "default"; + this.id = "default"; + } } diff --git a/kh-modules/src/main/java/com/jero/modules/service/impl/KhOilRealtimeDataServiceImpl.java b/kh-modules/src/main/java/com/jero/modules/service/impl/KhOilRealtimeDataServiceImpl.java index ff79f4d5..a07e80b0 100644 --- a/kh-modules/src/main/java/com/jero/modules/service/impl/KhOilRealtimeDataServiceImpl.java +++ b/kh-modules/src/main/java/com/jero/modules/service/impl/KhOilRealtimeDataServiceImpl.java @@ -1,12 +1,9 @@ package com.jero.modules.service.impl; -import cn.hutool.core.date.DateUtil; import com.jero.modules.entity.KhOilRealtimeData; import com.jero.modules.mapper.KhOilRealtimeDataMapper; import com.jero.modules.service.IKhOilRealtimeDataService; import com.jero.modules.utils.RandomNumberUtil; -import io.swagger.models.auth.In; -import javafx.beans.property.SimpleListProperty; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.jero.common.exception.JeroBootException; @@ -14,12 +11,10 @@ import com.jero.common.exception.JeroBootException; import java.text.SimpleDateFormat; import java.util.*; -import com.github.javafaker.Faker; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.system.query.QueryGenerator; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -33,6 +28,8 @@ import javax.servlet.http.HttpServletRequest; @Transactional(rollbackFor = JeroBootException.class) public class KhOilRealtimeDataServiceImpl extends ServiceImpl implements IKhOilRealtimeDataService { + private static boolean dbSelect = true; + /** * 列表查询 * @@ -74,7 +71,8 @@ public class KhOilRealtimeDataServiceImpl extends ServiceImpl realtimeDataResults(String id) { KhOilRealtimeData khOilRealtimeData = new KhOilRealtimeData(); Map result = new HashMap<>(); - khOilRealtimeData.mockKhOilRealtimeData(); + dbSelect = !dbSelect; + khOilRealtimeData.mockKhOilRealtimeRedisData(dbSelect); result.put("油井实时参数", khOilRealtimeData); Map chartTwo = new HashMap<>(); Integer[] arr = {0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250};