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