diff --git a/src/main/java/com/example/zxweb/controller/IotController.java b/src/main/java/com/example/zxweb/controller/IotController.java index c8bf048..d3cda5b 100644 --- a/src/main/java/com/example/zxweb/controller/IotController.java +++ b/src/main/java/com/example/zxweb/controller/IotController.java @@ -148,6 +148,20 @@ public class IotController { return jsonObjectToResult(IotUtils.getApi(IotApiEnum.getPathByText("查询方法历史数据"),requestBody)); } + @ApiOperation(value = "查询方法历史数据(最新一条)") + @GetMapping("/devices/methods/news") + public Result devicesMethodsNews(@RequestParam(value = "serial",defaultValue = "")String serial, + @RequestParam(value = "methodName",defaultValue = "")String methodName, + @RequestParam(value = "sort",defaultValue = "")String sort){ + AssertUtils.notEmpty(serial,"请输入设备序列号-[serial]"); + //AssertUtils.notEmpty(methodName,"请输入方法名称-[methodName]"); + JSONObject requestBody=new JSONObject(); + requestBody.put("serial",serial); + requestBody.put("methodName",methodName); + requestBody.put("sort",sort); + return Result.OK(IotUtils.devicesMethodsNews(requestBody)); + } + public static Result jsonObjectToResult(JSONObject jsonObject) { Integer code = jsonObject.getInteger("code"); String message = jsonObject.getString("message"); diff --git a/src/main/java/com/example/zxweb/utils/IotUtils.java b/src/main/java/com/example/zxweb/utils/IotUtils.java index ec96330..8854964 100644 --- a/src/main/java/com/example/zxweb/utils/IotUtils.java +++ b/src/main/java/com/example/zxweb/utils/IotUtils.java @@ -1,9 +1,15 @@ package com.example.zxweb.utils; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.example.zxweb.common.constant.enums.IotApiEnum; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import java.util.ArrayList; +import java.util.List; + /** * @Description ios 设备请求工具 * @Author ZhouWenTao @@ -16,6 +22,31 @@ public class IotUtils { private static final JSONObject headers=JSONObject.parseObject("{\"x-consumer-username\":\"dwVendor\",\"appCode\":\"42142fd0jkbf4515853b7fcec64748f6\"}"); + public static List devicesMethodsNews(JSONObject queryData){ + String serial = queryData.getString("serial"); + String[] serials = serial.split(","); + List list=new ArrayList<>(); + for (String s : serials) { + String url = API_PREFIX + IotApiEnum.getPathByText("查询方法历史数据") + "?serial=" + s; + if (!StringUtils.isEmpty(queryData.getString("methodName"))) { + url+="&methodName="+queryData.getString("methodName"); + } + JSONObject jsonObject = RestUtil.get(url, null, null, headers); + Integer code = jsonObject.getInteger("code"); + if (code==0) { + if (jsonObject.getJSONObject("data")==null) { + continue; + } + JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("methods"); + if (CollectionUtils.isEmpty(jsonArray)) { + continue; + } + list.add(jsonArray.getJSONObject(0)); + } + } + return list; + } + public static JSONObject getApi(String apiUrl,JSONObject queryData) { StringBuilder sb=new StringBuilder();