diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/device/OnenetEquipController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/device/OnenetEquipController.java index 248580a..71f78e6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/device/OnenetEquipController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/device/OnenetEquipController.java @@ -1,10 +1,12 @@ package com.ruoyi.web.controller.device; +import com.github.pagehelper.PageInfo; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.web.domain.dto.OnenetEquipDto; import com.ruoyi.web.domain.po.OnenetConfig; @@ -41,12 +43,11 @@ public class OnenetEquipController extends BaseController */ @PreAuthorize("@ss.hasPermi('device:equip:list')") @GetMapping("/list") - public TableDataInfo list(OnenetEquip onenetConfig) + public TableDataInfo list(OnenetEquipDto.QureyEquipParam qureyEquipParam) { startPage(); - List list = onenetEquipService.selectOnenetEquipList(onenetConfig); - - return getDataTable(list); + OnenetEquipVo.EquipListTotal equipListTotal = onenetEquipService.selectOnenetEquipList(qureyEquipParam); + return getDataTable(equipListTotal.getEquipLists(), equipListTotal.getTotal()); } /** @@ -68,11 +69,11 @@ public class OnenetEquipController extends BaseController @PreAuthorize("@ss.hasPermi('device:equip:export')") @Log(title = "onenet参数", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, OnenetEquip onenetConfig) + public void export(HttpServletResponse response, OnenetEquipDto.QureyEquipParam qureyEquipParam) { - List list = onenetEquipService.selectOnenetEquipList(onenetConfig); + OnenetEquipVo.EquipListTotal equipListTotal = onenetEquipService.selectOnenetEquipList(qureyEquipParam); ExcelUtil util = new ExcelUtil(OnenetEquipVo.EquipList.class); - util.exportExcel(response, list, "onenet参数数据"); + util.exportExcel(response, equipListTotal.getEquipLists(), "onenet参数数据"); } /** @@ -102,9 +103,9 @@ public class OnenetEquipController extends BaseController public TableDataInfo equipData(OnenetEquipDto.EquipDataParam equipDataParam) { startPage(); - List equipDatas = onenetEquipService.selectEquipDatas(equipDataParam); + OnenetEquipVo.EquipDataTotal equipDataTotal = onenetEquipService.selectEquipDatas(equipDataParam); - return getDataTable(equipDatas); + return getDataTable(equipDataTotal.getEquipDataList(), equipDataTotal.getTotal()); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/domain/dto/OnenetEquipDto.java b/ruoyi-admin/src/main/java/com/ruoyi/web/domain/dto/OnenetEquipDto.java index 7130692..73fc26f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/domain/dto/OnenetEquipDto.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/domain/dto/OnenetEquipDto.java @@ -36,14 +36,27 @@ public class OnenetEquipDto { private String command; } + @ApiModel("OnenetEquipDto - QureyEquipParam") + @Data + public static class QureyEquipParam{ + @ApiModelProperty("页码") + private String pageNum = "1"; + @ApiModelProperty("每页多少条") + private String pageSize = "10"; + @ApiModelProperty("关键字") + private String key_words; + } + @ApiModel("OnenetEquipDto - EquipDataParam") @Data public static class EquipDataParam{ + @ApiModelProperty("页码") + private String pageNum = "1"; + @ApiModelProperty("每页多少条") + private String pageSize = "10"; @ApiModelProperty("设备id") private String obj_id; - @ApiModelProperty("开始时间") - private String start; - @ApiModelProperty("结束时间") - private String end; + @ApiModelProperty("时间") + private String[] equipDataTime; } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/OnenetEquipVo.java b/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/OnenetEquipVo.java index a51d37f..445bd88 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/OnenetEquipVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/OnenetEquipVo.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * @Author: lijunjie @@ -12,6 +13,13 @@ import java.util.Date; * @Version: 1.0 */ public class OnenetEquipVo { + @Data + @ApiModel("DcsDeviceValVo-二氧化硫温度") + public static class EquipListTotal { + private Integer total; + private List equipLists; + } + @Data @ApiModel("DcsDeviceValVo-二氧化硫温度") public static class EquipList { @@ -40,6 +48,13 @@ public class OnenetEquipVo { private Date updateTime; } + @Data + @ApiModel("DcsDeviceValVo-二氧化硫温度") + public static class EquipDataTotal { + private Integer total = 0; + private List equipDataList; + } + @Data @ApiModel("DcsDeviceValVo-二氧化硫温度") public static class EquipData { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/IOnenetEquipService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IOnenetEquipService.java index 58ca088..af6ee90 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/service/IOnenetEquipService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IOnenetEquipService.java @@ -24,11 +24,10 @@ public interface IOnenetEquipService /** * 查询设备列表 - * - * @param onenetEquip 设备 - * @return 设备集合 + * @param qureyEquipParam + * @return */ - public List selectOnenetEquipList(OnenetEquip onenetEquip); + public OnenetEquipVo.EquipListTotal selectOnenetEquipList(OnenetEquipDto.QureyEquipParam qureyEquipParam); /** * 写缓存命令 @@ -42,5 +41,5 @@ public interface IOnenetEquipService * @param equipDataParam * @return */ - public List selectEquipDatas(OnenetEquipDto.EquipDataParam equipDataParam); + public OnenetEquipVo.EquipDataTotal selectEquipDatas(OnenetEquipDto.EquipDataParam equipDataParam); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/OnenetEquipServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/OnenetEquipServiceImpl.java index a5d0dcc..f3f8ece 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/OnenetEquipServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/OnenetEquipServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.web.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; @@ -44,12 +45,13 @@ public class OnenetEquipServiceImpl implements IOnenetEquipService { } @Override - public List selectOnenetEquipList(OnenetEquip onenetEquip) { + public OnenetEquipVo.EquipListTotal selectOnenetEquipList(OnenetEquipDto.QureyEquipParam qureyEquipParam) { OnenetConfig onenetConfigExample = new OnenetConfig(); onenetConfigExample.setConfigKey("onenet_api_key"); List onenetConfigs = onenetConfigMapper.selectOnenetConfigList(onenetConfigExample); - List list = new ArrayList<>(); + OnenetEquipVo.EquipListTotal equipListTotal = new OnenetEquipVo.EquipListTotal(); + if (onenetConfigs.size() > 0){ OnenetConfig onenetConfig = onenetConfigs.get(0); @@ -60,19 +62,24 @@ public class OnenetEquipServiceImpl implements IOnenetEquipService { HttpEntity> httpEntity = new HttpEntity>(null,headers); - HashMap paramMap = new HashMap<>(); - paramMap.put("page", "1"); - paramMap.put("per_page", "10"); + HashMap paramMap = new HashMap<>(); + paramMap.put("page", qureyEquipParam.getPageNum()); + paramMap.put("per_page", qureyEquipParam.getPageSize()); + if (!StrUtil.hasEmpty(qureyEquipParam.getKey_words())){ + paramMap.put("key_words", qureyEquipParam.getKey_words()); + } - RestTemplate restTemplate = new RestTemplate(); - ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class, paramMap); + String response = HttpRequest.get(url).header("api-key", onenetConfig.getConfigValue()).form(paramMap).execute().body(); - String body = response.getBody(); - JSONObject json1 = JSON.parseObject(body); + JSONObject json1 = JSON.parseObject(response); JSONObject json2 = json1.getJSONObject("data"); JSONArray devices = json2.getJSONArray("devices"); + int total = json2.getInteger("total_count"); + equipListTotal.setTotal(total); if (devices.size() > 0){ + List list = new ArrayList<>(); + for (int i = 0; i < devices.size(); i++) { JSONObject device = devices.getJSONObject(i); @@ -89,12 +96,12 @@ public class OnenetEquipServiceImpl implements IOnenetEquipService { list.add(onenetEquipData); } // list = JSON.parseArray(devices.toJSONString(),OnenetEquip.class); - - return list; + equipListTotal.setEquipLists(list); + return equipListTotal; } } - return list; + return equipListTotal; } /** @@ -163,30 +170,34 @@ public class OnenetEquipServiceImpl implements IOnenetEquipService { * @return */ @Override - public List selectEquipDatas(OnenetEquipDto.EquipDataParam equipDataParam) { + public OnenetEquipVo.EquipDataTotal selectEquipDatas(OnenetEquipDto.EquipDataParam equipDataParam) { OnenetConfig onenetConfigExample = new OnenetConfig(); onenetConfigExample.setConfigKey("onenet_api_key"); List onenetConfigs = onenetConfigMapper.selectOnenetConfigList(onenetConfigExample); - List onenetEquipVoList = new ArrayList<>(); + + OnenetEquipVo.EquipDataTotal equipDataTotal = new OnenetEquipVo.EquipDataTotal(); if (onenetConfigs.size() > 0) { - HashMap uriParams = new HashMap<>(); - if (!StrUtil.hasEmpty(equipDataParam.getStart())){ - uriParams.put("start", equipDataParam.getStart()); - } - if (!StrUtil.hasEmpty(equipDataParam.getEnd())){ - uriParams.put("end", equipDataParam.getEnd()); - } + HashMap paramMap = new HashMap<>(); - String uriParam = HttpUtil.toParams(uriParams); + if (!StrUtil.hasEmpty(equipDataParam.getEquipDataTime())){ - String url = "http://api.heclouds.com/devices/" + equipDataParam.getObj_id() +"/datapoints?" + uriParam; + paramMap.put("start", equipDataParam.getEquipDataTime()[0]); + paramMap.put("end", equipDataParam.getEquipDataTime()[1]); + } + + String url = "http://api.heclouds.com/devices/" + equipDataParam.getObj_id() +"/datapoints"; OnenetConfig onenetConfig = onenetConfigs.get(0); -// String response = HttpRequest.get(url).header("api-key", onenetConfig.getConfigValue()).execute().body(); - String response = "{\"errno\":0,\"data\":{\"count\":1,\"datastreams\":[{\"datapoints\":[{\"at\":\"2023-01-09 17:47:15.969\",\"value\":\"68C00866472059908495852F015100FFFE0A6464220901002310010014731641646400000065014E000000000000182301091747150503000002015116\"}, {\"at\":\"2023-01-09 17:47:15.969\",\"value\":\"68C00866472059908495852F015100FFFE0A6464220901002310010014731641646400000065014E000000000000182301091747150503000002015116\"}],\"id\":\"3200_0_5750\"}]},\"error\":\"succ\"}"; +// String response = HttpRequest.get(url).header("api-key", onenetConfig.getConfigValue()).form(paramMap).execute().body(); + + String response = "{\"errno\":0,\"data\":{\"count\":1,\"datastreams\":[{\"datapoints\":[" + + "{\"at\":\"2023-01-09 17:47:15.969\",\"value\":\"68C00866472059908495852F015100FFFE0A6464220901002310010014731641646400000065014E000000000000182301091747150503000002015116\"}, " + + "{\"at\":\"2023-01-09 17:47:15.969\",\"value\":\"68C00866472059908495852F015100FFFE0A6464220901002310010014731641646400000065014E000000000000182301091747150503000002015116\"}, " + + "{\"at\":\"2023-01-09 17:47:15.969\",\"value\":\"68C00866472059908495852F015100FFFE0A6464220901002310010014731641646400000065014E000000000000182301091747150503000002015116\"}" + + "],\"id\":\"3200_0_5750\"}]},\"error\":\"succ\"}"; JSONObject responseJson = JSON.parseObject(response); @@ -196,6 +207,7 @@ public class OnenetEquipServiceImpl implements IOnenetEquipService { JSONArray dataArray = dataJson.getJSONArray("datastreams"); JSONArray datapoints = dataArray.getJSONObject(0).getJSONArray("datapoints"); + List onenetEquipVoList = new ArrayList<>(); for (int i = 0; i < datapoints.size(); i++) { JSONObject datapoint = datapoints.getJSONObject(i); @@ -270,10 +282,11 @@ public class OnenetEquipServiceImpl implements IOnenetEquipService { onenetEquipVoList.add(equipDataVo); } + equipDataTotal.setEquipDataList(onenetEquipVoList); } } - return onenetEquipVoList; + return equipDataTotal; } public String hexToBin(String hexS){ diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java index c131bc4..56dced4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java @@ -90,6 +90,16 @@ public class BaseController return rspData; } + protected TableDataInfo getDataTable(List list, long total) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(total); + return rspData; + } + /** * 返回成功 */ diff --git a/ruoyi-ui/src/views/device/equips/index.vue b/ruoyi-ui/src/views/device/equips/index.vue index 62489ce..d5187e9 100644 --- a/ruoyi-ui/src/views/device/equips/index.vue +++ b/ruoyi-ui/src/views/device/equips/index.vue @@ -8,58 +8,10 @@ - - - - + + + + + + + + 搜索 + 重置 + + + @@ -295,6 +199,7 @@ + @@ -333,23 +238,25 @@ export default { // 设备表格数据 equipsList: [], equipDataList: [], + equipDataTotal: 0, apiKey:null, // 弹出层标题 title: "", // 是否显示弹出层 open: false, equipDataOpen:false, + //设备数据点 开始结束时间 + equipDataParam: { + pageNum: 1, + pageSize: 10, + obj_id:0, + equipDataTime:"", + }, // 查询参数 queryParams: { pageNum: 1, pageSize: 10, - title: null, - online: null, - tags: null, - protocol: null, - location: null, - authInfo: null, - otherInfo: null, + key_words: null, imei:null, obj_id:null, @@ -422,15 +329,21 @@ export default { this.equipDataOpen = true; this.title = "查询设备数据点"; this.loading = true; - let param = { - obj_id:row.id + if (row != null){ + this.equipDataParam.obj_id = row.id } - listEquipDatas(param).then(response => { + + listEquipDatas(this.equipDataParam).then(response => { this.equipDataList = response.rows; - // this.total = response.total; + this.equipDataTotal = response.total; this.loading = false; }); }, + resetEquipData() { + this.equipDataParam.equipDataTime = ""; + this.getEquipDatas(); + }, + // 取消按钮 cancel() { this.open = false;