Browse Source

feat:增加exa批量读点接口

dev-windows
肖晋飞 4 weeks ago
parent
commit
aa5fbaaf2d
  1. 9
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/EXAController.java
  2. 9
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXANowListReqVO.java
  3. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAResult.java
  4. 4
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java
  5. 5
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java
  6. 24
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java

9
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); return success(nowList);
} }
@PostMapping("/nowListReal")
@Operation(summary = "获取带实时值的列表")
@PreAuthorize("@ss.hasPermission('alert:exa:query')")
public CommonResult<EXAResult> getNowList(@RequestBody EXANowListReqVO list) throws IOException, URISyntaxException {
EXAResult nowList=exaService.getEXAListNowReal(list);
return success(nowList);
}
@GetMapping("/now") @GetMapping("/now")
@Operation(summary = "根据点号获取测点实时值-单点或多点") @Operation(summary = "根据点号获取测点实时值-单点或多点")
@PreAuthorize("@ss.hasPermission('alert:exa:query')") @PreAuthorize("@ss.hasPermission('alert:exa:query')")

9
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;
}

2
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 { public class EXAResult {
@JSONField(name="ReturnValue") @JSONField(name="ReturnValue")
public Long ReturnValue; public Long ReturnValue;
@JSONField(name="ValueArray")
public double[] ValueArray;
} }

4
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<EXAHttp> getEXAListNow(List<EXAHttp> list) throws URISyntaxException, IOException; List<EXAHttp> getEXAListNow(List<EXAHttp> list) throws URISyntaxException, IOException;
EXAResult getEXAListNowReal(EXANowListReqVO list) throws URISyntaxException, IOException;
String getEXANow(String itemName) throws URISyntaxException, IOException; String getEXANow(String itemName) throws URISyntaxException, IOException;
List<List<Double>> getEXAHistory(EXAHistoryReqVO exaHistoryReqVo); List<List<Double>> getEXAHistory(EXAHistoryReqVO exaHistoryReqVo);

5
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; return list;
} }
@Override
public EXAResult getEXAListNowReal(EXANowListReqVO list) throws URISyntaxException, IOException {
return exaUtils.getNowDataList(EXA_IP,list);
}
@Override @Override
public String getEXANow(String itemName) throws URISyntaxException, IOException { public String getEXANow(String itemName) throws URISyntaxException, IOException {
return exaUtils.getNowData(EXA_IP,itemName).get(0); return exaUtils.getNowData(EXA_IP,itemName).get(0);

24
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java

@ -104,6 +104,7 @@ public class EXAUtils {
* @return exa列表 * @return exa列表
*/ */
public List<String> getNowData(String EXA_IP,String itemNames) throws URISyntaxException, IOException { public List<String> getNowData(String EXA_IP,String itemNames) throws URISyntaxException, IOException {
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
try { try {
@ -148,6 +149,29 @@ public class EXAUtils {
return result; 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;
}
/** /**
* 根据分页条件和测点名称测点描述模糊查询 * 根据分页条件和测点名称测点描述模糊查询
* *

Loading…
Cancel
Save