From 2fb031ffd60d87023734ce59701ea53dc589b7e4 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Thu, 4 Dec 2025 11:46:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=A9=E6=B9=BF=E5=BA=A6=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=A2=84=E5=85=BC=E5=AE=B9=EF=BC=8C=E5=90=8E=E9=9D=A2=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E8=A6=81=E5=8A=A0=E5=86=8D=E5=AE=8C=E6=95=B4=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/back/common/Constants.java | 15 +- .../dashboard/back/common/DeviceAttrCode.java | 11 + .../DeviceDataAccumulateController.java | 6 +- .../DeviceDataMeasureController.java | 6 +- .../auto/DashboardRealtimeMeasureMapper.java | 32 --- .../DashboardRealtimeMeasureMapperExt.xml | 1 + .../auto/DashboardRealtimeMeasureMapper.xml | 109 ++----- .../auto/DashboardRecordAccumulateMapper.xml | 37 ++- .../back/dto/device/LineDataSearchParams.java | 3 + .../back/model/DashboardRealtimeMeasure.java | 34 +++ .../DashboardRealtimeMeasureExample.java | 70 +++++ .../back/model/DashboardRecordAccumulate.java | 34 +++ .../DashboardRecordAccumulateExample.java | 70 +++++ .../dashboard/back/vo/device/LineData.java | 3 + .../service/DeviceDataAccumulateService.java | 2 +- .../service/DeviceDataMeasureService.java | 2 +- .../back/service/common/CommonOpt.java | 265 ++++++++++++++---- .../impl/DeviceDataAccumulateServiceImpl.java | 4 +- .../impl/DeviceDataMeasureServiceImpl.java | 57 +++- 19 files changed, 558 insertions(+), 203 deletions(-) create mode 100644 dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/DeviceAttrCode.java diff --git a/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/Constants.java b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/Constants.java index 9a5ac6c..27f3207 100644 --- a/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/Constants.java +++ b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/Constants.java @@ -38,11 +38,18 @@ public class Constants { // 定义分类与设备类型的映射 public static final Map> CATEGORY_DEVICE_TYPE_MAP = new HashMap<>(); + //温湿度 + public static final List DEVICE_TYPE_TEMPERATURE_HUMIDITY = Arrays.asList(8888882,9999992); + static { - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_ALARM, Arrays.asList(46, 110)); - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_MEASURE, Arrays.asList(47, 111, 121)); - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_ACCUMULATE, Arrays.asList(48, 112, 122)); - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_STATUS, Arrays.asList(86, 113, 123)); + CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_ALARM, new ArrayList<>(Arrays.asList(46, 110))); + + CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_MEASURE, new ArrayList<>(Arrays.asList(47, 111, 121))); + CATEGORY_DEVICE_TYPE_MAP.get(CATEGORY_MEASURE).addAll(DEVICE_TYPE_TEMPERATURE_HUMIDITY); + + CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_ACCUMULATE, new ArrayList<>(Arrays.asList(48, 112, 122))); + + CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_STATUS, new ArrayList<>(Arrays.asList(86, 113, 123))); // 收集所有的设备类型ID for (List ids : CATEGORY_DEVICE_TYPE_MAP.values()) { diff --git a/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/DeviceAttrCode.java b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/DeviceAttrCode.java new file mode 100644 index 0000000..dbd1d9c --- /dev/null +++ b/dongjian-dashboard-back-common/src/main/java/com/dongjian/dashboard/back/common/DeviceAttrCode.java @@ -0,0 +1,11 @@ +package com.dongjian.dashboard.back.common; + +public class DeviceAttrCode { + + public static final String COMMON = "single"; + + public static final String MEASURE_TEMPERATURE = "temperature"; + + public static final String MEASURE_HUMIDITY = "humidity"; + +} diff --git a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataAccumulateController.java b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataAccumulateController.java index c411b0c..7404568 100644 --- a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataAccumulateController.java +++ b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataAccumulateController.java @@ -114,14 +114,14 @@ public class DeviceDataAccumulateController { @OperationLog(operation = "getLineData", remark = "") @Operation(summary = "获取7日趋势数据") - @RequestMapping(value = "/getLineData",method = RequestMethod.GET) - public SimpleDataResponse getLineData( + @RequestMapping(value = "/getLineData",method = RequestMethod.POST) + public SimpleDataResponse> getLineData( @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required=true) String LoginName, @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required=true) String AccessToken, @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required=true) Long UserId, @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required=false) Long CompanyId, @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required=true) Integer LanguageType, - LineDataSearchParams lineDataSearchParams + @RequestBody LineDataSearchParams lineDataSearchParams ) throws BusinessException { return deviceDataAccumulateService.getLineData(lineDataSearchParams, CompanyId, UserId, LanguageType); } diff --git a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataMeasureController.java b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataMeasureController.java index f9343fb..5e8e20f 100644 --- a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataMeasureController.java +++ b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceDataMeasureController.java @@ -113,14 +113,14 @@ public class DeviceDataMeasureController { @OperationLog(operation = "getLineData", remark = "") @Operation(summary = "获取7日趋势数据") - @RequestMapping(value = "/getLineData",method = RequestMethod.GET) - public SimpleDataResponse getLineData( + @RequestMapping(value = "/getLineData",method = RequestMethod.POST) + public SimpleDataResponse> getLineData( @Parameter(name = "LoginName", description = "Login name", required = true, schema = @Schema(defaultValue = "admin")) @RequestHeader(required=true) String LoginName, @Parameter(name = "AccessToken", description = "Authentication token", required = true) @RequestHeader(required=true) String AccessToken, @Parameter(name = "UserId", description = "User ID", required = true, schema = @Schema(defaultValue = "1")) @RequestHeader(required=true) Long UserId, @Parameter(name = "CompanyId", description = "ID of the company to which the user belongs", required = false, schema = @Schema(defaultValue = "1")) @RequestHeader(required=false) Long CompanyId, @Parameter(name = "LanguageType", description = "Language type (0: Chinese, 1: English, 2: Japanese)", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required=true) Integer LanguageType, - LineDataSearchParams lineDataSearchParams + @RequestBody LineDataSearchParams lineDataSearchParams ) throws BusinessException { return deviceDataMeasureService.getLineData(lineDataSearchParams, CompanyId, UserId, LanguageType); } diff --git a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DashboardRealtimeMeasureMapper.java b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DashboardRealtimeMeasureMapper.java index 4e2038b..bc5cb19 100644 --- a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DashboardRealtimeMeasureMapper.java +++ b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DashboardRealtimeMeasureMapper.java @@ -22,14 +22,6 @@ public interface DashboardRealtimeMeasureMapper { */ int deleteByExample(DashboardRealtimeMeasureExample example); - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table dashboard_realtime_measure - * - * @mbg.generated - */ - int deleteByPrimaryKey(String deviceId); - /** * This method was generated by MyBatis Generator. * This method corresponds to the database table dashboard_realtime_measure @@ -54,14 +46,6 @@ public interface DashboardRealtimeMeasureMapper { */ List selectByExample(DashboardRealtimeMeasureExample example); - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table dashboard_realtime_measure - * - * @mbg.generated - */ - DashboardRealtimeMeasure selectByPrimaryKey(String deviceId); - /** * This method was generated by MyBatis Generator. * This method corresponds to the database table dashboard_realtime_measure @@ -77,20 +61,4 @@ public interface DashboardRealtimeMeasureMapper { * @mbg.generated */ int updateByExample(@Param("record") DashboardRealtimeMeasure record, @Param("example") DashboardRealtimeMeasureExample example); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table dashboard_realtime_measure - * - * @mbg.generated - */ - int updateByPrimaryKeySelective(DashboardRealtimeMeasure record); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table dashboard_realtime_measure - * - * @mbg.generated - */ - int updateByPrimaryKey(DashboardRealtimeMeasure record); } \ No newline at end of file diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml index 2443055..3d4082f 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/aurora/DashboardRealtimeMeasureMapperExt.xml @@ -5,6 +5,7 @@ @@ -111,24 +112,6 @@ order by ${orderByClause} - - - - delete from dashboard_realtime_measure - where device_id = #{deviceId,jdbcType=VARCHAR} - - insert into dashboard_realtime_measure (device_id, date_year, date_month, - date_day, date_hour, date_minute, - date_second, upload_value, min_value, - max_value, upload_at) - values (#{deviceId,jdbcType=VARCHAR}, #{dateYear,jdbcType=INTEGER}, #{dateMonth,jdbcType=INTEGER}, - #{dateDay,jdbcType=INTEGER}, #{dateHour,jdbcType=INTEGER}, #{dateMinute,jdbcType=INTEGER}, - #{dateSecond,jdbcType=INTEGER}, #{uploadValue,jdbcType=VARCHAR}, #{minValue,jdbcType=VARCHAR}, - #{maxValue,jdbcType=VARCHAR}, #{uploadAt,jdbcType=BIGINT}) + insert into dashboard_realtime_measure (device_id, attr_code, date_year, + date_month, date_day, date_hour, + date_minute, date_second, upload_value, + min_value, max_value, upload_at + ) + values (#{deviceId,jdbcType=VARCHAR}, #{attrCode,jdbcType=VARCHAR}, #{dateYear,jdbcType=INTEGER}, + #{dateMonth,jdbcType=INTEGER}, #{dateDay,jdbcType=INTEGER}, #{dateHour,jdbcType=INTEGER}, + #{dateMinute,jdbcType=INTEGER}, #{dateSecond,jdbcType=INTEGER}, #{uploadValue,jdbcType=VARCHAR}, + #{minValue,jdbcType=VARCHAR}, #{maxValue,jdbcType=VARCHAR}, #{uploadAt,jdbcType=BIGINT} + ) update dashboard_realtime_measure set device_id = #{record.deviceId,jdbcType=VARCHAR}, + attr_code = #{record.attrCode,jdbcType=VARCHAR}, date_year = #{record.dateYear,jdbcType=INTEGER}, date_month = #{record.dateMonth,jdbcType=INTEGER}, date_day = #{record.dateDay,jdbcType=INTEGER}, @@ -306,62 +301,4 @@ - - - update dashboard_realtime_measure - - - date_year = #{dateYear,jdbcType=INTEGER}, - - - date_month = #{dateMonth,jdbcType=INTEGER}, - - - date_day = #{dateDay,jdbcType=INTEGER}, - - - date_hour = #{dateHour,jdbcType=INTEGER}, - - - date_minute = #{dateMinute,jdbcType=INTEGER}, - - - date_second = #{dateSecond,jdbcType=INTEGER}, - - - upload_value = #{uploadValue,jdbcType=VARCHAR}, - - - min_value = #{minValue,jdbcType=VARCHAR}, - - - max_value = #{maxValue,jdbcType=VARCHAR}, - - - upload_at = #{uploadAt,jdbcType=BIGINT}, - - - where device_id = #{deviceId,jdbcType=VARCHAR} - - - - update dashboard_realtime_measure - set date_year = #{dateYear,jdbcType=INTEGER}, - date_month = #{dateMonth,jdbcType=INTEGER}, - date_day = #{dateDay,jdbcType=INTEGER}, - date_hour = #{dateHour,jdbcType=INTEGER}, - date_minute = #{dateMinute,jdbcType=INTEGER}, - date_second = #{dateSecond,jdbcType=INTEGER}, - upload_value = #{uploadValue,jdbcType=VARCHAR}, - min_value = #{minValue,jdbcType=VARCHAR}, - max_value = #{maxValue,jdbcType=VARCHAR}, - upload_at = #{uploadAt,jdbcType=BIGINT} - where device_id = #{deviceId,jdbcType=VARCHAR} - \ No newline at end of file diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DashboardRecordAccumulateMapper.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DashboardRecordAccumulateMapper.xml index 86138d0..519ea82 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DashboardRecordAccumulateMapper.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DashboardRecordAccumulateMapper.xml @@ -8,6 +8,7 @@ --> + @@ -90,8 +91,8 @@ WARNING - @mbg.generated This element is automatically generated by MyBatis Generator, do not modify. --> - id, device_id, date_year, date_month, date_day, date_hour, date_minute, date_second, - upload_value, increment_today, increment_minute, upload_at + id, device_id, attr_code, date_year, date_month, date_day, date_hour, date_minute, + date_second, upload_value, increment_today, increment_minute, upload_at