From 19eb2e43f1122bcca6c25effa6657f90651ae250 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 15 十月 2024 10:44:01 +0800 Subject: [PATCH] HttpCollectorIhDB --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/impl/HttpApiServiceImpl.java | 5 - iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollectorIhDB.java | 123 +++++++++++++++++++++++++++++++++++++++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/HttpApiService.java | 2 3 files changed, 123 insertions(+), 7 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollectorIhDB.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollectorIhDB.java new file mode 100644 index 0000000..06bf2a2 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/HttpCollectorIhDB.java @@ -0,0 +1,123 @@ +package com.iailab.module.data.channel.http.collector; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.iailab.framework.common.constant.CommonConstant; +import com.iailab.module.data.channel.http.entity.HttpApiEntity; +import com.iailab.module.data.channel.http.service.HttpApiService; +import com.iailab.module.data.common.utils.HttpRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * + * iHyperDB采集 + * + * { + * "data": [ + * { + * "tagname": "S10248500000002PS011", + * "value": 2701557.4736842105263157894737, + * "timeStamp": "2024-10-11T18:24:00" + * } + * ], + * "resultMessage": "请求成功...", + * "resultCode": 0, + * "isSuccess": true + * } + * + * @author PanZhibao + * @Description + * @createTime 2024年10月14日 + */ +@Slf4j +@Component +public class HttpCollectorIhDB { + private Map<String, HttpApiEntity> apiMap = new HashMap<>(); + + @Autowired + private HttpApiService httpApiService; + + private final boolean STA_TRUE = true; + + private final String IS_SUCCESS = "isSuccess"; + + private HttpApiEntity getHttpApi(String id) { + if (apiMap.containsKey(id)) { + return apiMap.get(id); + } + HttpApiEntity httpApi = httpApiService.info(id); + apiMap.put(id, httpApi); + return httpApi; + } + + public BigDecimal getTagValue(String sourceId, String tagNo) { + BigDecimal value = CommonConstant.BAD_VALUE; + HttpApiEntity httpApi = this.getHttpApi(sourceId); + + //HttpRequest.sendPost() + + return value; + } + + + public Map<String, Object> getTagValues(List<String[]> params) { + if (CollectionUtils.isEmpty(params)) { + return new HashMap<>(); + } + + /*Map<Integer, List<String[]>> measurePointsCountGroup = new HashMap<>(); + int pointListSize = params.size(); + int groupCount = pointListSize / GROUP_MAX_COUNT + ((pointListSize % GROUP_MAX_COUNT) > 0 ? 1 : 0); + log.info("groupCount=" + groupCount); + for (int i = 0; i < groupCount; i++) { + int end = (i + 1) * GROUP_MAX_COUNT; + if (end > pointListSize) { + end = pointListSize; + } + measurePointsCountGroup.put(i, params.subList(i * GROUP_MAX_COUNT, end)); + }*/ + Map<String, Object> result = new HashMap<>(params.size()); + /*for(Map.Entry<Integer, List<String[]>> measurePointsItem : measurePointsCountGroup.entrySet()) { + try { + getByHtp(result, measurePointsItem.getValue()); + } catch (Exception ex) { + ex.printStackTrace(); + } + }*/ + return result; + } + + private void getByHtp(Map<String, Object> result, List<String[]> params) { + HttpApiEntity httpApi = this.getHttpApi(params.get(0)[0]); + Map<String, String> queryParams = new HashMap<>(); + StringBuilder tagSb = new StringBuilder(); + for (int i = 0; i < params.size(); i ++) { + tagSb.append(params.get(i)[1]); + if (i < params.size() - 1) { + tagSb.append(","); + } + } + /*queryParams.put("tagstr", tagSb.toString()); + String responseStr = HttpRequest.sendGet(httpApi.getUrl(), queryParams, "utf-8", ""); + JSONObject responseObj = JSON.parseObject(responseStr); + if (STA_TRUE.equals(responseObj.get("sta").toString())) { + JSONArray tagValueList = responseObj.getJSONArray("res"); + if (!CollectionUtils.isEmpty(tagValueList)) { + for (int i = 0; i < tagValueList.size(); i++) { + JSONObject item = tagValueList.getJSONObject(i); + result.put(TagUtils.genTagId(DataSourceType.HTTP.getCode(), httpApi.getCode(), item.get("Tag").toString()), item.get("Value")); + } + } + }*/ + + } +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/HttpApiService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/HttpApiService.java index 658a20a..57a7cb8 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/HttpApiService.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/HttpApiService.java @@ -17,8 +17,6 @@ void delete(String id); - HttpApiEntity selectXstHttpTagApi(); - HttpApiEntity getByCode(String code); List<HttpApiEntity> list(); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/impl/HttpApiServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/impl/HttpApiServiceImpl.java index d92d201..d712f46 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/impl/HttpApiServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/service/impl/HttpApiServiceImpl.java @@ -44,11 +44,6 @@ } @Override - public HttpApiEntity selectXstHttpTagApi() { - return httpApiDao.selectOne(new QueryWrapper<HttpApiEntity>().eq("code","xstHttpTag")); - } - - @Override public HttpApiEntity getByCode(String code) { return httpApiDao.selectOne(new QueryWrapper<HttpApiEntity>().eq("code", code)); } -- Gitblit v1.9.3