Commit 5699726c authored by caotao's avatar caotao

户用光伏新增时序库表存储配置

parent d88a8293
...@@ -109,9 +109,15 @@ public class HouseholdPvUtils { ...@@ -109,9 +109,15 @@ public class HouseholdPvUtils {
body(householdPvApiDto.getParamInfo()).execute().body(); body(householdPvApiDto.getParamInfo()).execute().body();
} }
JSONArray jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone); JSONArray jsonArray = handlerResponseByResultResolverule(householdPvApiDto.getResultResolveRule(), respone);
handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray); handleResponseAndCacheData(String.valueOf(seq), householdPvApiDto.getCacheField(), jsonArray,householdPvApiDto.getMeasurement());
return respone; return respone;
} }
/**
* @param resultResovle 请求返回的解析规则 来源与数据库
* @param response 请求返回的字符串
* @return 解析后的数据
*/
public JSONArray handlerResponseByResultResolverule(String resultResovle, String response) { public JSONArray handlerResponseByResultResolverule(String resultResovle, String response) {
String[] rules = resultResovle.split(","); String[] rules = resultResovle.split(",");
JSONObject jsonObject = JSONObject.parseObject(response); JSONObject jsonObject = JSONObject.parseObject(response);
...@@ -131,29 +137,40 @@ public class HouseholdPvUtils { ...@@ -131,29 +137,40 @@ public class HouseholdPvUtils {
return jsonArray; return jsonArray;
} }
public void handleResponseAndCacheData(String seq, String cacheField, JSONArray jsonArray) { /**
* @param seq apiID
* @param cacheField 要缓存的字段
* @param jsonArray 处理后的数据请求
* @param measurement 要在influxdb中存储的数
* @describe 该方法用于缓存需要缓存的字段 且将需要入库的数据进行入库
*/
public void handleResponseAndCacheData(String seq, String cacheField, JSONArray jsonArray, String measurement) {
String apiID = API_REDIS_PREFIX + seq; String apiID = API_REDIS_PREFIX + seq;
List list = new ArrayList(); List list = new ArrayList();
List saveList = new ArrayList(); List saveList = new ArrayList();
if (jsonArray.size() > 0) { if (jsonArray.size() > 0) {
for (Object o : jsonArray) { for (Object o : jsonArray) {
Map<String, Object> maps1 = (Map<String, Object>) o; Map<String, Object> maps1 = (Map<String, Object>) o;
list.add(maps1.get(cacheField)); if (cacheField != null) {
list.add(maps1.get(cacheField));
}
Map<String, String> maps2 = new HashMap<>(); Map<String, String> maps2 = new HashMap<>();
maps2.put("key", UUID.randomUUID().toString()); maps2.put("key", UUID.randomUUID().toString());
// influxDbConnection.insert("SH_DZ",maps2,maps1); if (measurement != null) {
influxDbConnection.insert(measurement, maps2, maps1);
}
} }
} }
saveList = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1); saveList = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1);
if (saveList.size() == 0) { if (saveList.size() == 0) {
Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list); Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list);
} }
// saveList = Redis.getRedisTemplate().opsForList().range(apiID,0,-1); saveList = Redis.getRedisTemplate().opsForList().range(apiID,0,-1);
if (saveList.size() != list.size()) { if (saveList.size() != list.size()) {
Redis.getRedisTemplate().delete(apiID); Redis.getRedisTemplate().delete(apiID);
Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list); Redis.getRedisTemplate().opsForList().leftPushAll(apiID, list);
} }
list = Redis.getRedisTemplate().opsForList().range(apiID, 0, -1);
} }
} }
...@@ -66,5 +66,9 @@ public class HouseholdPvApiDto extends BaseModel { ...@@ -66,5 +66,9 @@ public class HouseholdPvApiDto extends BaseModel {
*/ */
@ApiModelProperty(value = "是否分页") @ApiModelProperty(value = "是否分页")
private Integer isPage; private Integer isPage;
/**
* 时序库中的表名
*/
@ApiModelProperty(value = "时序库表名")
private String measurement;
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.api.householdapi.face.orm.entity; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.api.householdapi.face.orm.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
...@@ -58,5 +59,35 @@ public class HouseholdPvApi extends BaseEntity { ...@@ -58,5 +59,35 @@ public class HouseholdPvApi extends BaseEntity {
*/ */
@TableField("param_info") @TableField("param_info")
private String paramInfo; private String paramInfo;
/**
* 依赖的apiId
*/
@TableField("dependecy_api_id")
private String dependecyApiId;
/**
* 缓存的属性
*/
@TableField("cache_field")
private String cacheField;
/**
* 依赖的api属性
*/
@TableField("depend_api_param_key")
private String dependApiParamKey;
/**
* result解析结果
*/
@TableField("result_resolve_rule")
private String resultResolveRule;
/**
* 是否分页
*/
@TableField("is_page")
private Integer isPage;
/**
* 时序库中存储的表名
*/
@TableField("measurement")
private String measurement;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment