diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/EXAController.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/EXAController.java index e91b1d0..dd82886 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/EXAController.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/EXAController.java @@ -52,6 +52,15 @@ public class EXAController { return success(nowList); } + @PostMapping("/nowListReal") + @Operation(summary = "获取带实时值的列表") + @PreAuthorize("@ss.hasPermission('alert:exa:query')") + public CommonResult getNowList(@RequestBody EXANowListReqVO list) throws IOException, URISyntaxException { + EXAResult nowList=exaService.getEXAListNowReal(list); + return success(nowList); + } + + @GetMapping("/now") @Operation(summary = "根据点号获取测点实时值-单点或多点") @PreAuthorize("@ss.hasPermission('alert:exa:query')") diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXANowListReqVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXANowListReqVO.java new file mode 100644 index 0000000..32ac74b --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXANowListReqVO.java @@ -0,0 +1,9 @@ +package cn.iocoder.yudao.module.alert.controller.admin.exa.vo; + +import lombok.Data; + +@Data +public class EXANowListReqVO { + + private String[] ItemNameArray; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAResult.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAResult.java index 679f2e8..4f05aac 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAResult.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAResult.java @@ -5,4 +5,6 @@ import com.alibaba.fastjson.annotation.JSONField; public class EXAResult { @JSONField(name="ReturnValue") public Long ReturnValue; + @JSONField(name="ValueArray") + public double[] ValueArray; } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java index 02c465b..8cb9a76 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java @@ -22,6 +22,10 @@ public interface EXAService { List getEXAListNow(List list) throws URISyntaxException, IOException; + + + EXAResult getEXAListNowReal(EXANowListReqVO list) throws URISyntaxException, IOException; + String getEXANow(String itemName) throws URISyntaxException, IOException; List> getEXAHistory(EXAHistoryReqVO exaHistoryReqVo); diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java index 2cc38ed..22920b0 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java @@ -62,7 +62,10 @@ public class EXAServiceImpl implements EXAService { return list; } - + @Override + public EXAResult getEXAListNowReal(EXANowListReqVO list) throws URISyntaxException, IOException { + return exaUtils.getNowDataList(EXA_IP,list); + } @Override public String getEXANow(String itemName) throws URISyntaxException, IOException { return exaUtils.getNowData(EXA_IP,itemName).get(0); diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java index 73dba72..2bee407 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java @@ -1,9 +1,6 @@ package cn.iocoder.yudao.module.alert.utils; -import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.EXAHistoryReqVO; -import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.EXAHttp; -import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.EXAPageReqVO; -import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.Point; +import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.google.gson.Gson; @@ -14,11 +11,14 @@ import org.apache.http.client.fluent.Request; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpDelete; import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Value; import java.io.IOException; import java.lang.reflect.Type; @@ -31,6 +31,7 @@ import java.util.List; public class EXAUtils { + /** * 根据分页条件和测点名称测点描述模糊查询 * @@ -147,6 +148,29 @@ public class EXAUtils { return result; } + + public EXAResult getNowDataList(String EXA_IP,EXANowListReqVO exaNowListReqVO) throws URISyntaxException, IOException { + EXAResult result = new EXAResult(); + try { + // 目标 RPC 服务的 URL + String url = "http://"+EXA_IP+":9000/exawebapi/exanow/GetFloatValueBatch"; + String param = JSON.toJSONString(exaNowListReqVO); + String resultStr = Request.Post(url) + .addHeader("Content-type", "application/json") + .bodyString(param, ContentType.APPLICATION_JSON) + .execute().returnContent().asString(Charset.forName("utf-8")); + Gson gson=new Gson(); + + result= gson.fromJson(resultStr, EXAResult.class); + } catch (Exception e) { + + } + return result; + } + + + + /** * 根据分页条件和测点名称测点描述模糊查询 *