From afddf2994e3c2d9fa5028362927e09b87202f612 Mon Sep 17 00:00:00 2001 From: xs Date: Mon, 6 Jan 2025 10:55:21 +0800 Subject: [PATCH] =?UTF-8?q?3.0.7=20=E5=9C=BA=E6=99=AF=E5=8C=96=E9=85=8D?= =?UTF-8?q?=E7=BD=AE:=E6=A0=B9=E6=8D=AE=E9=85=8D=E7=BD=AE=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=8E=B7=E5=8F=96=E8=AE=BE=E5=A4=87=E6=95=B0=E6=8D=AE?= =?UTF-8?q?TDengine=E5=A2=9E=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TdEngineController.java | 39 +++++++++++++++++++ .../ruoyi/tdengine/mapper/TdEngineMapper.java | 11 ++++++ .../tdengine/service/ITdEngineService.java | 10 +++++ .../service/impl/TdEngineServiceImpl.java | 22 +++++++++++ .../mapper/tdengine/TdEngineMapper.xml | 13 +++++++ 5 files changed, 95 insertions(+) diff --git a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/controller/TdEngineController.java b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/controller/TdEngineController.java index 03b8c3a..df7059b 100644 --- a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/controller/TdEngineController.java +++ b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/controller/TdEngineController.java @@ -529,4 +529,43 @@ public class TdEngineController { return R.fail(message); } } + + + + /** + * @param tdGroupSelectDto + * @return R + * @MethodDescription 按日期分组获取数据(1s,1m,1d,1w,30d) 返回格式,时间,数值列 + * 历史数据 SELECT _WSTART as time, _WEND,max(value1) as maxValue,min(value1) as minValue,avg(value1) as avgValue,sum(value1) as sumValue from db_hwsaas.t_device_260 + * where ts>=now-10d and ts getGroupDeviceData(@Validated @RequestBody TdGroupSelectDto tdGroupSelectDto) { + try { +// if (selectVisualDto.getType() == 0) {//查询历史 +// return R.ok(this.tdEngineService.getHistoryData(selectVisualDto)); +// }else if(selectVisualDto.getType() == 1) {//查询实时 +// return R.ok(this.tdEngineService.getRealtimeData(selectVisualDto)); +// }else {//查询聚合 +// return R.ok(this.tdEngineService.getAggregateData(selectVisualDto)); +// } + TdReturnDataVo returnDataVo = new TdReturnDataVo(); + returnDataVo.setDataList(this.tdEngineService.getGroupDeviceData(tdGroupSelectDto)); + return R.ok(returnDataVo); + } catch (UncategorizedSQLException e) { + String message = e.getCause().getMessage(); + try { + message = message.substring(message.lastIndexOf("invalid operation")); + } catch (Exception ex) { + } + log.error(message); + return R.fail(message); + } catch (Exception e) { + log.error(e.getMessage()); + return R.fail(e.getMessage()); + } + } + + } diff --git a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/mapper/TdEngineMapper.java b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/mapper/TdEngineMapper.java index 70b638f..ca39a2a 100644 --- a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/mapper/TdEngineMapper.java +++ b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/mapper/TdEngineMapper.java @@ -165,6 +165,17 @@ public interface TdEngineMapper { Map getDeviceLocation(TdSelectDto tdSelectDto); + + /** + * @return List> + * @param: tdGroupSelectDto + * @description 按时间分组获取设备历史数据 + * @author xins + * @date 2024-12-31 16:11 + */ + List> getGroupDeviceData(TdGroupSelectDto tdGroupSelectDto); + + // /** // * 检查表是否存在 // * @param dataBaseName diff --git a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/ITdEngineService.java b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/ITdEngineService.java index 5aa074c..90d8a0e 100644 --- a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/ITdEngineService.java +++ b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/ITdEngineService.java @@ -142,6 +142,16 @@ public interface ITdEngineService { */ public void dropTable(String databaseName, String tableName) throws Exception; + /** + * @return List> + * @param: tdGroupSelectDto + * @description 根据日期分组获取历史数据 + * @author xins + * @date 2023-08-29 15:52 + */ + public List> getGroupDeviceData(TdGroupSelectDto tdGroupSelectDto); + + Map getDeviceLocation(TdSelectDto tdSelectDto); // void initSTableFrame(String msg) throws Exception; diff --git a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/impl/TdEngineServiceImpl.java b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/impl/TdEngineServiceImpl.java index a1859d8..b029b4a 100644 --- a/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/impl/TdEngineServiceImpl.java +++ b/ruoyi-modules/hw-tdengine/src/main/java/com/ruoyi/tdengine/service/impl/TdEngineServiceImpl.java @@ -261,6 +261,28 @@ public class TdEngineServiceImpl implements ITdEngineService { } + /** + * @return List> + * @param: tdGroupSelectDto + * @description 根据日期分组获取历史数据 + * @author xins + * @date 2023-08-29 15:52 + */ + @Override + public List> getGroupDeviceData(TdGroupSelectDto tdGroupSelectDto) { +// if (StringUtils.isBlank(tdHistorySelectDto.getOrderByFieldName())) { +// tdHistorySelectDto.setOrderByFieldName(TdEngineConstants.DEFAULT_FIRST_FIELD_NAME); +// } +// if (StringUtils.isBlank(tdHistorySelectDto.getOrderByMode())) { +// tdHistorySelectDto.setOrderByMode(TdEngineConstants.DEFAULT_ORDER_BY_MODE); +// } + + List> groupDataMaps = this.tdEngineMapper.getGroupDeviceData(tdGroupSelectDto); + + return groupDataMaps; + } + + // // /** // * 检查数据库表是否存在 diff --git a/ruoyi-modules/hw-tdengine/src/main/resources/mapper/tdengine/TdEngineMapper.xml b/ruoyi-modules/hw-tdengine/src/main/resources/mapper/tdengine/TdEngineMapper.xml index e5d99c3..5d57b55 100644 --- a/ruoyi-modules/hw-tdengine/src/main/resources/mapper/tdengine/TdEngineMapper.xml +++ b/ruoyi-modules/hw-tdengine/src/main/resources/mapper/tdengine/TdEngineMapper.xml @@ -319,6 +319,19 @@ drop table #{databaseName}.#{tableName} + + + +