对比新文件 |
| | |
| | | package com.iailab.module.data.channel.http.collector.ihdb; |
| | | |
| | | 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 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")); |
| | | } |
| | | } |
| | | }*/ |
| | | |
| | | } |
| | | } |