feat: 油井数据改为从提供的两个redis库中提取

This commit is contained in:
2024-05-11 11:14:14 +08:00
parent 69d7c3c0b8
commit 360b7b16f9
3 changed files with 79 additions and 19 deletions
+5
View File
@@ -31,5 +31,10 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.4.0</version>
</dependency>
</dependencies>
</project>
@@ -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<String, List<Double>> 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<Double> 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";
}
}
@@ -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<KhOilRealtimeDataMapper, KhOilRealtimeData> implements IKhOilRealtimeDataService {
private static boolean dbSelect = true;
/**
* 列表查询
*
@@ -74,7 +71,8 @@ public class KhOilRealtimeDataServiceImpl extends ServiceImpl<KhOilRealtimeDataM
public Map<String, Object> realtimeDataResults(String id) {
KhOilRealtimeData khOilRealtimeData = new KhOilRealtimeData();
Map<String, Object> result = new HashMap<>();
khOilRealtimeData.mockKhOilRealtimeData();
dbSelect = !dbSelect;
khOilRealtimeData.mockKhOilRealtimeRedisData(dbSelect);
result.put("油井实时参数", khOilRealtimeData);
Map<String, Object> chartTwo = new HashMap<>();
Integer[] arr = {0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250};