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 01/25] =?UTF-8?q?=E6=B8=A9=E6=B9=BF=E5=BA=A6=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E9=A2=84=E5=85=BC=E5=AE=B9=EF=BC=8C=E5=90=8E=E9=9D=A2?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=A6=81=E5=8A=A0=E5=86=8D=E5=AE=8C=E6=95=B4?= =?UTF-8?q?=E4=BF=AE=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 diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/DeviceGroupService.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/DeviceGroupService.java index e8863d9..de244d4 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/DeviceGroupService.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/DeviceGroupService.java @@ -3,6 +3,7 @@ package com.dongjian.dashboard.back.service; import com.dongjian.dashboard.back.common.response.PageInfo; import com.dongjian.dashboard.back.common.response.SimpleDataResponse; import com.dongjian.dashboard.back.dto.devicegroup.*; +import com.dongjian.dashboard.back.vo.device.DeviceVO; import com.dongjian.dashboard.back.vo.devicegroup.DeviceGroupPageVO; import java.util.List; @@ -28,9 +29,9 @@ public interface DeviceGroupService { SimpleDataResponse getBindedGroupByDevice(Integer deviceInfoId, Long userId, Long companyId, Integer languageType); - SimpleDataResponse getBindedDeviceByGroup(Long deviceGroupId, Long userId, Long companyId, Integer languageType); + PageInfo getBindedDeviceByGroup(DeviceGroupSearchParams pageSearchParam, Long userId, Long companyId, Integer languageType); - SimpleDataResponse addDeviceForGroup(BindDeviceForGroupParams bindDeviceForGroupParams, Long userId, Long companyId, Integer languageType); + SimpleDataResponse addDeviceForGroup(BindDeviceForGroupParams bindDeviceForGroupParams, Long userId, Long companyId, Integer languageType); SimpleDataResponse delDeviceForGroup(BindDeviceForGroupParams bindDeviceForGroupParams, Long userId, Long companyId, Integer languageType); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceGroupServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceGroupServiceImpl.java index 234c100..6410474 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceGroupServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceGroupServiceImpl.java @@ -342,8 +342,13 @@ public class DeviceGroupServiceImpl implements DeviceGroupService { } @Override - public SimpleDataResponse> getBindedDeviceByGroup(Long deviceGroupId, Long userId, Long companyId, Integer languageType) { - return SimpleDataResponse.success(deviceGroupMapperExt.getBindedDeviceByGroup(deviceGroupId)); + public PageInfo getBindedDeviceByGroup(DeviceGroupSearchParams pageSearchParam, Long userId, Long companyId, Integer languageType) { +// return SimpleDataResponse.success(deviceGroupMapperExt.getBindedDeviceByGroup(deviceGroupId)); + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), + pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); + + List list = deviceGroupMapperExt.getBindedDeviceByGroup(pageSearchParam); + return new PageInfo<>(list); } @Override From c16be9deee46c5a57f4dd4d0a52cdc53f1b69570 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Tue, 9 Dec 2025 21:28:33 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E6=8C=89=E6=9B=B4=E6=96=B0=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mappers/ex/DeviceInfoMapperExt.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml index e1a4acf..89981bb 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml @@ -74,7 +74,7 @@ drr.receive_ts - device_info.id + drr.receive_ts @@ -177,7 +177,7 @@ bss.latest_ts - device_info.id + bss.latest_ts From a44d99aac3ed3bccb86fb2b8088cc220de6ae598 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 17 Dec 2025 15:56:32 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=94=B9category=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/back/common/Constants.java | 43 +++-- .../resources/config/language/msg/msg_cn.yml | 2 +- .../resources/config/language/msg/msg_en.yml | 2 +- .../resources/config/language/msg/msg_jp.yml | 2 +- .../back/dao/auto/DeviceInfoMapper.java | 24 +++ .../mappers/auto/DeviceInfoMapper.xml | 149 +++++++++++++++++- .../mappers/ex/DeviceGroupMapperExt.xml | 1 + .../mappers/ex/DeviceInfoMapperExt.xml | 21 +-- .../ex/DeviceRawdataRealtimeMapperExt.xml | 7 +- .../mappers/ex/FavoritedDeviceMapperExt.xml | 11 +- .../back/dto/data/DataSearchParam.java | 6 +- .../back/dto/device/DeviceSearchParams.java | 6 +- .../device/FavoritedDeviceSearchParams.java | 6 +- .../ExportDeviceAccumulateDataDTO.java | 3 + .../ExportDeviceBaStatusDataDTO.java | 3 + .../easyexcel/ExportDeviceMeasureDataDTO.java | 4 + .../dashboard/back/model/DeviceInfo.java | 68 ++++++++ .../back/model/DeviceInfoExample.java | 70 ++++++++ .../dashboard/back/vo/data/BaseData.java | 12 +- .../back/vo/data/DeviceAccumulateData.java | 6 +- .../back/vo/data/DeviceBaStatusData.java | 3 + .../back/vo/data/DeviceMeasureData.java | 6 +- .../dashboard/back/vo/device/DeviceVO.java | 2 + .../back/vo/device/FavoritedDeviceVO.java | 6 +- .../back/service/common/CommonOpt.java | 59 ++++++- .../impl/DeviceDataAccumulateServiceImpl.java | 25 ++- .../impl/DeviceDataAlarmServiceImpl.java | 2 +- .../impl/DeviceDataBaStatusServiceImpl.java | 38 ++++- .../impl/DeviceDataMeasureServiceImpl.java | 29 +++- .../service/impl/DeviceGroupServiceImpl.java | 15 +- .../back/service/impl/DeviceServiceImpl.java | 2 +- .../impl/FavoritedDeviceServiceImpl.java | 18 +-- ...nitoringPointCategoryGroupServiceImpl.java | 5 - .../service/impl/OverviewServiceImpl.java | 2 +- pom.xml | 2 +- 35 files changed, 559 insertions(+), 101 deletions(-) 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 27f3207..17b73e9 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 @@ -32,28 +32,51 @@ public class Constants { public static final int CATEGORY_MEASURE = 3;//计测 public static final int CATEGORY_STATUS= 4;//状态 +// // 所有设备类型ID的总集合 +// public static final List ALL_DEVICE_TYPE_IDS = new ArrayList<>(); +// +// // 定义分类与设备类型的映射 +// 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, 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()) { +// ALL_DEVICE_TYPE_IDS.addAll(ids); +// } +// } // 所有设备类型ID的总集合 - public static final List ALL_DEVICE_TYPE_IDS = new ArrayList<>(); + public static final List ALL_CATEGORY_IDS = new ArrayList<>(); // 定义分类与设备类型的映射 - public static final Map> CATEGORY_DEVICE_TYPE_MAP = new HashMap<>(); + public static final Map> CATEGORY_MAP = new HashMap<>(); //温湿度 - public static final List DEVICE_TYPE_TEMPERATURE_HUMIDITY = Arrays.asList(8888882,9999992); + public static final List DEVICE_TYPE_TEMPERATURE_HUMIDITY = Arrays.asList(8888882L,9999992L); static { - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_ALARM, new ArrayList<>(Arrays.asList(46, 110))); + CATEGORY_MAP.put(CATEGORY_ALARM, new ArrayList<>(List.of(1001L))); - 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_MAP.put(CATEGORY_MEASURE, new ArrayList<>(List.of(1003L))); - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_ACCUMULATE, new ArrayList<>(Arrays.asList(48, 112, 122))); + CATEGORY_MAP.put(CATEGORY_ACCUMULATE, new ArrayList<>(List.of(1002L))); - CATEGORY_DEVICE_TYPE_MAP.put(CATEGORY_STATUS, new ArrayList<>(Arrays.asList(86, 113, 123))); + CATEGORY_MAP.put(CATEGORY_STATUS, new ArrayList<>(List.of(1004L))); // 收集所有的设备类型ID - for (List ids : CATEGORY_DEVICE_TYPE_MAP.values()) { - ALL_DEVICE_TYPE_IDS.addAll(ids); + for (List ids : CATEGORY_MAP.values()) { + ALL_CATEGORY_IDS.addAll(ids); } } diff --git a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml index 866d528..d882e5e 100644 --- a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml +++ b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_cn.yml @@ -58,7 +58,7 @@ msgcn: consecutiveLoginFail: 登录失败次数过多,请等待{0}分{1}秒后再登录 loginFailCount: 已登录失败{0}次,剩余尝试登录次数:{1} deviceGroupNameHasExisted: 此设备组名称已存在 - groupTypeNotMatch: 设备类型与分组类型不匹配 + invalidDeviceCategory: 无效的设备类别 monitoringPointCategoryNameHasExisted: 此监控点分类名称已存在 monitoringPointCategoryGroupNameHasExisted: 此监控点分组名称已存在 alertLevel_1: 正常 diff --git a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml index 8aaa156..4263fa6 100644 --- a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml +++ b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_en.yml @@ -58,7 +58,7 @@ msgen: consecutiveLoginFail: Too many failed login attempts. Please wait {0} minute(s) and {1} second(s) before trying again. loginFailCount: Login failed {0} times. Remaining login attempts:{1}. deviceGroupNameHasExisted: Device group name already exists. - groupTypeNotMatch: Device type does not match the group type + invalidDeviceCategory: Invalid device category monitoringPointCategoryNameHasExisted: This monitoring point category name already exists monitoringPointCategoryGroupNameHasExisted: The monitoring point group name already exists alertLevel_1: Normal diff --git a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml index 52c08e6..373e8f4 100644 --- a/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml +++ b/dongjian-dashboard-back-common/src/main/resources/config/language/msg/msg_jp.yml @@ -58,7 +58,7 @@ msgjp: consecutiveLoginFail: ログインの失敗が多すぎます。{0}分{1}秒待ってから再度ログインしてください。 loginFailCount: ログインに{0}回失敗しました。残りの試行回数:{1}回。 deviceGroupNameHasExisted: デバイスグループ名は既に存在しています。 - groupTypeNotMatch: デバイスタイプがグループタイプと一致しません。 + invalidDeviceCategory: サポートされていないデバイスタイプ。 monitoringPointCategoryNameHasExisted: この監視ポイントカテゴリ名は既に存在します monitoringPointCategoryGroupNameHasExisted: この監視ポイントグループ名は既に存在します alertLevel_1: 通常 diff --git a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DeviceInfoMapper.java b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DeviceInfoMapper.java index afc1af1..cff17f5 100644 --- a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DeviceInfoMapper.java +++ b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/auto/DeviceInfoMapper.java @@ -46,6 +46,14 @@ public interface DeviceInfoMapper { */ int insertSelective(DeviceInfo record); + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table device_info + * + * @mbg.generated + */ + List selectByExampleWithBLOBs(DeviceInfoExample example); + /** * This method was generated by MyBatis Generator. * This method corresponds to the database table device_info @@ -70,6 +78,14 @@ public interface DeviceInfoMapper { */ int updateByExampleSelective(@Param("record") DeviceInfo record, @Param("example") DeviceInfoExample example); + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table device_info + * + * @mbg.generated + */ + int updateByExampleWithBLOBs(@Param("record") DeviceInfo record, @Param("example") DeviceInfoExample example); + /** * This method was generated by MyBatis Generator. * This method corresponds to the database table device_info @@ -86,6 +102,14 @@ public interface DeviceInfoMapper { */ int updateByPrimaryKeySelective(DeviceInfo record); + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table device_info + * + * @mbg.generated + */ + int updateByPrimaryKeyWithBLOBs(DeviceInfo record); + /** * This method was generated by MyBatis Generator. * This method corresponds to the database table device_info diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceInfoMapper.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceInfoMapper.xml index 699be02..8b8dd74 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceInfoMapper.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceInfoMapper.xml @@ -30,6 +30,14 @@ + + + + + + data_mapping + + @@ -169,8 +207,8 @@ created_timestamp, updated_by, updated_timestamp, project_id, floor_id, monitoring_point_name, monitoring_point_category_id, data_provider_id, - gateway_info_id, alarm_level, retain_alert - ) + gateway_info_id, alarm_level, retain_alert, + unit, data_mapping) values (#{deviceId,jdbcType=VARCHAR}, #{deviceSn,jdbcType=VARCHAR}, #{typeId,jdbcType=INTEGER}, #{wsclientId,jdbcType=INTEGER}, #{spaceId,jdbcType=BIGINT}, #{deviceName,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{buildingId,jdbcType=BIGINT}, #{assetId,jdbcType=BIGINT}, @@ -178,8 +216,8 @@ #{createdTimestamp,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT}, #{updatedTimestamp,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{floorId,jdbcType=BIGINT}, #{monitoringPointName,jdbcType=VARCHAR}, #{monitoringPointCategoryId,jdbcType=BIGINT}, #{dataProviderId,jdbcType=BIGINT}, - #{gatewayInfoId,jdbcType=BIGINT}, #{alarmLevel,jdbcType=INTEGER}, #{retainAlert,jdbcType=INTEGER} - ) + #{gatewayInfoId,jdbcType=BIGINT}, #{alarmLevel,jdbcType=INTEGER}, #{retainAlert,jdbcType=INTEGER}, + #{unit,jdbcType=VARCHAR}, #{dataMapping,jdbcType=LONGVARCHAR}) + update device_info + set id = #{record.id,jdbcType=INTEGER}, + device_id = #{record.deviceId,jdbcType=VARCHAR}, + device_sn = #{record.deviceSn,jdbcType=VARCHAR}, + type_id = #{record.typeId,jdbcType=INTEGER}, + wsclient_id = #{record.wsclientId,jdbcType=INTEGER}, + space_id = #{record.spaceId,jdbcType=BIGINT}, + device_name = #{record.deviceName,jdbcType=VARCHAR}, + remark = #{record.remark,jdbcType=VARCHAR}, + building_id = #{record.buildingId,jdbcType=BIGINT}, + asset_id = #{record.assetId,jdbcType=BIGINT}, + flag = #{record.flag,jdbcType=INTEGER}, + company_id = #{record.companyId,jdbcType=BIGINT}, + created_by = #{record.createdBy,jdbcType=BIGINT}, + created_timestamp = #{record.createdTimestamp,jdbcType=TIMESTAMP}, + updated_by = #{record.updatedBy,jdbcType=BIGINT}, + updated_timestamp = #{record.updatedTimestamp,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + floor_id = #{record.floorId,jdbcType=BIGINT}, + monitoring_point_name = #{record.monitoringPointName,jdbcType=VARCHAR}, + monitoring_point_category_id = #{record.monitoringPointCategoryId,jdbcType=BIGINT}, + data_provider_id = #{record.dataProviderId,jdbcType=BIGINT}, + gateway_info_id = #{record.gatewayInfoId,jdbcType=BIGINT}, + alarm_level = #{record.alarmLevel,jdbcType=INTEGER}, + retain_alert = #{record.retainAlert,jdbcType=INTEGER}, + unit = #{record.unit,jdbcType=VARCHAR}, + data_mapping = #{record.dataMapping,jdbcType=LONGVARCHAR} + + + + + update device_info + set device_id = #{deviceId,jdbcType=VARCHAR}, + device_sn = #{deviceSn,jdbcType=VARCHAR}, + type_id = #{typeId,jdbcType=INTEGER}, + wsclient_id = #{wsclientId,jdbcType=INTEGER}, + space_id = #{spaceId,jdbcType=BIGINT}, + device_name = #{deviceName,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + building_id = #{buildingId,jdbcType=BIGINT}, + asset_id = #{assetId,jdbcType=BIGINT}, + flag = #{flag,jdbcType=INTEGER}, + company_id = #{companyId,jdbcType=BIGINT}, + created_by = #{createdBy,jdbcType=BIGINT}, + created_timestamp = #{createdTimestamp,jdbcType=TIMESTAMP}, + updated_by = #{updatedBy,jdbcType=BIGINT}, + updated_timestamp = #{updatedTimestamp,jdbcType=BIGINT}, + project_id = #{projectId,jdbcType=BIGINT}, + floor_id = #{floorId,jdbcType=BIGINT}, + monitoring_point_name = #{monitoringPointName,jdbcType=VARCHAR}, + monitoring_point_category_id = #{monitoringPointCategoryId,jdbcType=BIGINT}, + data_provider_id = #{dataProviderId,jdbcType=BIGINT}, + gateway_info_id = #{gatewayInfoId,jdbcType=BIGINT}, + alarm_level = #{alarmLevel,jdbcType=INTEGER}, + retain_alert = #{retainAlert,jdbcType=INTEGER}, + unit = #{unit,jdbcType=VARCHAR}, + data_mapping = #{dataMapping,jdbcType=LONGVARCHAR} + where id = #{id,jdbcType=INTEGER} + From 7ce34339b3eb0c09f37ab58e5261635441aad453 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Thu, 25 Dec 2025 11:45:11 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E7=BC=96=E8=BE=91=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=9B=91=E8=A7=86=E7=82=B9=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/back/dto/device/OptDeviceFieldParams.java | 3 +++ .../dashboard/back/service/impl/DeviceServiceImpl.java | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/device/OptDeviceFieldParams.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/device/OptDeviceFieldParams.java index 55307b3..19ae9d5 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/device/OptDeviceFieldParams.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/device/OptDeviceFieldParams.java @@ -14,4 +14,7 @@ public class OptDeviceFieldParams { @Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1") private Integer retainAlert; + @Schema(description = "dashboard自动恢复告警时是否保留告警:0-不保留,1-保留", example = "1") + private String monitoringPointName; + } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceServiceImpl.java index 8d3832b..aa9ff30 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceServiceImpl.java @@ -59,13 +59,18 @@ public class DeviceServiceImpl implements DeviceService { @Transactional public SimpleDataResponse editField(OptDeviceFieldParams optDeviceFieldParams, Long companyId, Long userId, Integer languageType) { try { - if (1 != optDeviceFieldParams.getRetainAlert() && 0 != optDeviceFieldParams.getRetainAlert()){ + if (null != optDeviceFieldParams.getRetainAlert() && 1 != optDeviceFieldParams.getRetainAlert() && 0 != optDeviceFieldParams.getRetainAlert()){ return new SimpleDataResponse(ResponseCode.MSG_ERROR, "Parameter [retainAlert] error"); } DeviceInfo deviceInfo = new DeviceInfo(); deviceInfo.setId(optDeviceFieldParams.getId()); - deviceInfo.setRetainAlert(optDeviceFieldParams.getRetainAlert()); + if (null != optDeviceFieldParams.getRetainAlert()){ + deviceInfo.setRetainAlert(optDeviceFieldParams.getRetainAlert()); + } + if (StringUtils.isNotBlank(optDeviceFieldParams.getMonitoringPointName())){ + deviceInfo.setMonitoringPointName(optDeviceFieldParams.getMonitoringPointName()); + } deviceInfoMapperExt.updateByPrimaryKeySelective(deviceInfo); From fd5d21eeedbac85fd93ac83e249c9b49711023d5 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Fri, 26 Dec 2025 09:02:42 +0800 Subject: [PATCH 10/25] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E5=86=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/ex/FavoritedDeviceMapperExt.xml | 2 +- .../back/service/common/CommonOpt.java | 30 ++++++++++++++++--- .../impl/DeviceDataAccumulateServiceImpl.java | 12 ++++---- .../impl/DeviceDataAlarmServiceImpl.java | 3 +- .../impl/DeviceDataBaStatusServiceImpl.java | 6 ++-- .../impl/DeviceDataMeasureServiceImpl.java | 8 ++--- 6 files changed, 39 insertions(+), 22 deletions(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/FavoritedDeviceMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/FavoritedDeviceMapperExt.xml index dd01098..6ea7168 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/FavoritedDeviceMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/FavoritedDeviceMapperExt.xml @@ -60,7 +60,7 @@ diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index b96278c..8685b98 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -466,10 +466,12 @@ public class CommonOpt { return deviceIds.stream() .filter(id -> id.endsWith(SUFFIX_85)) .collect(Collectors.toMap( - Function.identity(), - id -> id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111, + String::toLowerCase, + id -> (id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111) + .toLowerCase(), (a, b) -> b )); + } public Map queryDeviceInfo111Map(List deviceIdList111) { @@ -484,7 +486,7 @@ public class CommonOpt { .selectByExampleWithBLOBs(example) .stream() .collect(Collectors.toMap( - DeviceInfo::getDeviceId, + d -> d.getDeviceId().toLowerCase(), Function.identity(), (a, b) -> b )); @@ -502,12 +504,32 @@ public class CommonOpt { .selectByExampleWithBLOBs(example) .stream() .collect(Collectors.toMap( - DeviceRawdataRealtime::getDeviceId, + r -> r.getDeviceId().toLowerCase(), Function.identity(), (a, b) -> b )); } + public String buildStatus111( + String deviceId, + Map deviceId85To111Map, + Map deviceInfo111Map, + Map realtime111Map, + ObjectMapper objectMapper + ) { + String deviceId111 = deviceId85To111Map.get(deviceId); + if (deviceId111 == null) { + return null; + } + + DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId111); + String dataMapping111 = Optional.ofNullable(deviceInfo111Map.get(deviceId111)) + .map(DeviceInfo::getDataMapping) + .orElse(null); + + return mapStatus111(objectMapper, dataMapping111, realtime111); + } + public String mapStatus111(ObjectMapper mapper, String dataMapping, DeviceRawdataRealtime realtime111) { diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java index 109c159..72d937f 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java @@ -121,14 +121,14 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ // 批量查询增量数据并构建 Map Map todayMap = dashboardRecordAccumulateMapperExt.selectTodayIncrement(deviceIds, today.getYear(), today.getMonthValue(), today.getDayOfMonth()) - .stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity())); + .stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity())); Map yesterdayMap = dashboardRecordAccumulateMapperExt.selectYesterdayIncrement(deviceIds, yesterday.getYear(), yesterday.getMonthValue(), yesterday.getDayOfMonth(), targetSeconds) - .stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity())); + .stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity())); Map lastYearMap = dashboardRecordAccumulateMapperExt.selectLastYearIncrement(deviceIds, lastYear.getYear(), lastYear.getMonthValue(), lastYear.getDayOfMonth(), targetSeconds) - .stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity())); + .stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity())); resultList.forEach(data -> { - String deviceId = data.getDeviceId(); + String deviceId = data.getDeviceId().toLowerCase(); // 填充今天/昨天/去年值 data.setCumulativeValue(getIncrement(todayMap.get(deviceId), DeviceIncrement::getTodayIncrement)); @@ -136,9 +136,7 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ data.setLastYearValue(getIncrement(lastYearMap.get(deviceId), DeviceIncrement::getLastYearIncrement)); //处理111状态映射 - DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId)); - String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping(); - data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111)); + data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); // favorited 判断 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java index 3a49901..9503d98 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java @@ -99,8 +99,9 @@ public class DeviceDataAlarmServiceImpl implements DeviceDataAlarmService { // 查询 favorited_device 表中所有设备的 device_id List favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds(); for (DeviceAlarmData data : resultList){ + String deviceId = data.getDeviceId().toLowerCase(); // 判断设备是否在 favorited_device 表中 - if (favoritedDeviceIds.contains(data.getDeviceId())) { + if (favoritedDeviceIds.contains(deviceId)) { data.setCollected(1); } else { data.setCollected(0); diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java index a05d20e..8307d87 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java @@ -108,14 +108,12 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService // 查询 favorited_device 表中所有设备的 device_id List favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds(); for (DeviceBaStatusData data : resultList){ - String deviceId = data.getDeviceId(); + String deviceId = data.getDeviceId().toLowerCase(); data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime())); //处理111状态映射 - DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId)); - String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping(); - data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111)); + data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); // 判断设备是否在 favorited_device 表中 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java index 49e18ae..34676dd 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java @@ -126,10 +126,10 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService { List realtimeList = dashboardRealtimeMeasureMapperExt.selectRealtimeMeasureByDevices(deviceIds); Map> realtimeMap = realtimeList.stream() - .collect(Collectors.groupingBy(DashboardRealtimeMeasure::getDeviceId)); + .collect(Collectors.groupingBy(m -> m.getDeviceId().toLowerCase())); for (DeviceMeasureData data : resultList) { - String deviceId = data.getDeviceId(); + String deviceId = data.getDeviceId().toLowerCase(); // 默认 measurementValue 从 rawData 提取 data.setMeasurementValue(commonOpt.extractValue(objectMapper, data.getCategoryId(), data.getRawData())); @@ -178,9 +178,7 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService { } //处理111状态映射 - DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId)); - String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping(); - data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111)); + data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); // 收藏状态 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); From 48c840e65d28373a6333dfea42d56be2c7b3b7ed Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Fri, 26 Dec 2025 22:23:29 +0800 Subject: [PATCH 11/25] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=97=B6=E4=BF=9D=E7=95=99=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml index dadb10a..e7da35f 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml @@ -20,7 +20,7 @@ LEFT JOIN type ty ON dinfo.type_id = ty.id WHERE bbuilding.company_id = #{companyId} AND bbuilding.flag = 0 AND dinfo.flag = 0 AND basic_monitoring_asset.flag = 0 AND basic_asset_class_big.flag = 0 - AND drr.status = 'alert' + AND drr.dashboard_status = 'alert' AND ty.device_category_id in #{categoryId} From f59e6cec514cf3b79f5eb16ae2495f80cafcbc0c Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Mon, 29 Dec 2025 10:24:24 +0800 Subject: [PATCH 12/25] =?UTF-8?q?1=E3=80=81=E8=AE=A1=E6=B5=8B=E3=80=81?= =?UTF-8?q?=E7=B4=AF=E8=AE=A1=E3=80=81=E7=8A=B6=E6=80=81=E4=B8=89=E7=A7=8D?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=9A=84=E3=80=90=E8=AE=BE=E5=A4=87=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E3=80=91=E5=88=97=EF=BC=8C=E7=9B=B4=E6=8E=A5=E8=BF=94?= =?UTF-8?q?=E5=9B=9E111=E5=90=8E=E7=BC=80=E7=9A=84=E5=80=BC=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=A7=A3=E6=9E=90=202=E3=80=81=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=9A=84=E3=80=90=E7=8A=B6=E6=80=81=E3=80=91?= =?UTF-8?q?=E5=88=97=EF=BC=8C=E4=BD=BF=E7=94=A885=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E5=92=8C=E6=98=A0=E5=B0=84=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E8=BF=9B=E8=A1=8C=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/ex/DeviceInfoMapperExt.xml | 2 +- .../back/vo/data/DeviceBaStatusData.java | 2 +- .../back/service/common/CommonOpt.java | 26 ++++++++++++------- .../impl/DeviceDataAccumulateServiceImpl.java | 7 ++--- .../impl/DeviceDataBaStatusServiceImpl.java | 9 ++++--- .../impl/DeviceDataMeasureServiceImpl.java | 7 ++--- 6 files changed, 33 insertions(+), 20 deletions(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml index e3b970e..01e6ef7 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml @@ -198,7 +198,7 @@ bss.continuous_running_time, bss.last_start_time, bss.last_stop_time, - bss.is_running runningStatus, +# bss.is_running runningStatus, 4 as classId left join ba_status_statistics bss on bss.device_info_id = device_info.id diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java index 72680ce..8d5b992 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; public class DeviceBaStatusData extends BaseData{ @Schema(description = "running status: 0-停止, 1-运行", example = "1") - private Integer runningStatus; + private String runningStatus; @Schema(description = "last start time", example = "1720000000000") private Long lastStartTime; diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index 8685b98..de4ffb3 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -474,7 +474,7 @@ public class CommonOpt { } - public Map queryDeviceInfo111Map(List deviceIdList111) { + public Map queryDeviceInfoMap(List deviceIdList111) { if (CollectionUtils.isEmpty(deviceIdList111)) { return Collections.emptyMap(); } @@ -492,13 +492,13 @@ public class CommonOpt { )); } - public Map queryRealtime111Map(List deviceIdList111) { - if (CollectionUtils.isEmpty(deviceIdList111)) { + public Map queryRealtimeMap(List deviceIdList) { + if (CollectionUtils.isEmpty(deviceIdList)) { return Collections.emptyMap(); } DeviceRawdataRealtimeExample example = new DeviceRawdataRealtimeExample(); - example.createCriteria().andDeviceIdIn(deviceIdList111); + example.createCriteria().andDeviceIdIn(deviceIdList); return deviceRawdataRealtimeMapperExt .selectByExampleWithBLOBs(example) @@ -527,18 +527,18 @@ public class CommonOpt { .map(DeviceInfo::getDataMapping) .orElse(null); - return mapStatus111(objectMapper, dataMapping111, realtime111); + return mapFirstValue(objectMapper, dataMapping111, realtime111); } - public String mapStatus111(ObjectMapper mapper, + public String mapFirstValue(ObjectMapper mapper, String dataMapping, - DeviceRawdataRealtime realtime111) { - if (StringUtils.isBlank(dataMapping) || realtime111 == null) { + DeviceRawdataRealtime deviceRawdataRealtime) { + if (StringUtils.isBlank(dataMapping) || deviceRawdataRealtime == null) { return null; } try { - String statusValue = extractFirstValue(mapper, realtime111.getRawData()); + String statusValue = extractFirstValue(mapper, deviceRawdataRealtime.getRawData()); JsonNode root = mapper.readTree(dataMapping); return root.path("default").path(statusValue).asText(null); } catch (Exception e) { @@ -548,4 +548,12 @@ public class CommonOpt { } + public String buildRawFirstValue(String deviceId, Map deviceId85To111Map, + Map realtime111Map, ObjectMapper mapper) { + return Optional.ofNullable(deviceId85To111Map.get(deviceId)) + .map(realtime111Map::get) + .map(DeviceRawdataRealtime::getRawData) + .map(data -> extractFirstValue(mapper, data)) + .orElse(null); + } } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java index 72d937f..6971924 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java @@ -109,8 +109,8 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ List deviceIdList_111 = deviceId85To111Map.values() .stream() .toList(); - Map realtime111Map = commonOpt.queryRealtime111Map(deviceIdList_111); - Map deviceInfo111Map = commonOpt.queryDeviceInfo111Map(deviceIdList_111); + Map realtime111Map = commonOpt.queryRealtimeMap(deviceIdList_111); +// Map deviceInfo111Map = commonOpt.queryDeviceInfoMap(deviceIdList_111); LocalDateTime now = LocalDateTime.now(ZoneId.of("Asia/Tokyo")); LocalDate today = now.toLocalDate(); @@ -136,7 +136,8 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ data.setLastYearValue(getIncrement(lastYearMap.get(deviceId), DeviceIncrement::getLastYearIncrement)); //处理111状态映射 - data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); +// data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); + data.setStatus111(commonOpt.buildRawFirstValue(deviceId, deviceId85To111Map, realtime111Map, objectMapper)); // favorited 判断 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java index 8307d87..bf44951 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java @@ -102,8 +102,9 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService List deviceIdList_111 = deviceId85To111Map.values() .stream() .toList(); - Map realtime111Map = commonOpt.queryRealtime111Map(deviceIdList_111); - Map deviceInfo111Map = commonOpt.queryDeviceInfo111Map(deviceIdList_111); + Map realtime111Map = commonOpt.queryRealtimeMap(deviceIdList_111); + Map realtime85Map = commonOpt.queryRealtimeMap(deviceIds); +// Map deviceInfo111Map = commonOpt.queryDeviceInfoMap(deviceIdList_111); // 查询 favorited_device 表中所有设备的 device_id List favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds(); @@ -113,7 +114,9 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime())); //处理111状态映射 - data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); +// data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); + data.setStatus111(commonOpt.buildRawFirstValue(deviceId, deviceId85To111Map, realtime111Map, objectMapper)); + data.setRunningStatus(commonOpt.mapFirstValue(objectMapper, data.getDataMapping(), realtime85Map.get(deviceId))); // 判断设备是否在 favorited_device 表中 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java index 34676dd..2a50e4b 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java @@ -113,8 +113,8 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService { List deviceIdList_111 = deviceId85To111Map.values() .stream() .toList(); - Map realtime111Map = commonOpt.queryRealtime111Map(deviceIdList_111); - Map deviceInfo111Map = commonOpt.queryDeviceInfo111Map(deviceIdList_111); + Map realtime111Map = commonOpt.queryRealtimeMap(deviceIdList_111); +// Map deviceInfo111Map = commonOpt.queryDeviceInfoMap(deviceIdList_111); ZoneId tokyoZone = ZoneId.of("Asia/Tokyo"); LocalDate tokyoToday = LocalDate.now(tokyoZone); @@ -178,7 +178,8 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService { } //处理111状态映射 - data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); +// data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); + data.setStatus111(commonOpt.buildRawFirstValue(deviceId, deviceId85To111Map, realtime111Map, objectMapper)); // 收藏状态 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); From 84693ec9717c857124be3bbadb2ef78b73152d8f Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Mon, 29 Dec 2025 22:16:25 +0800 Subject: [PATCH 13/25] =?UTF-8?q?device/getListPage=E5=8F=AA=E8=BF=94?= =?UTF-8?q?=E5=9B=9E85=E5=90=8E=E7=BC=80=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mappers/ex/DeviceInfoMapperExt.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml index 01e6ef7..ec30d41 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml @@ -421,7 +421,7 @@ #{companyId} - and device_info.flag = 0 and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 + and device_info.flag = 0 and device_info.device_id LIKE '%\_85' and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 and type.device_category_id in #{categoryId} From 87ee22ac5414a1308a569409ea96f8ecc9de92ae Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Tue, 6 Jan 2026 12:05:49 +0800 Subject: [PATCH 14/25] =?UTF-8?q?=5F9003=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/ex/DeviceInfoMapperExt.xml | 6 ++++-- .../back/service/common/CommonOpt.java | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml index ec30d41..e682c5f 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml @@ -51,7 +51,8 @@ #{deviceId} - and device_info.flag = 0 and device_info.device_id LIKE '%\_85' and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 + and device_info.flag = 0 and (device_info.device_id LIKE '%\_85' or device_info.device_id LIKE '%\_85_9003') + and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 and type.device_category_id in #{categoryId} @@ -421,7 +422,8 @@ #{companyId} - and device_info.flag = 0 and device_info.device_id LIKE '%\_85' and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 + and device_info.flag = 0 and (device_info.device_id LIKE '%\_85' or device_info.device_id LIKE '%\_85_9003') + and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 and type.device_category_id in #{categoryId} diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index de4ffb3..438f654 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -44,7 +44,9 @@ public class CommonOpt { private static Logger logger = LoggerFactory.getLogger(CommonOpt.class); private static final String SUFFIX_85 = "_85"; + private static final String SUFFIX_85_9003 = "_85_9003"; private static final String SUFFIX_111 = "_111"; + private static final String SUFFIX_111_9003 = "_111_9003"; @Value("${spring.datasource.url}") private String dbUrl; @@ -464,11 +466,18 @@ public class CommonOpt { public Map buildDeviceId85To111Map(List deviceIds) { return deviceIds.stream() - .filter(id -> id.endsWith(SUFFIX_85)) + .filter(id -> id.endsWith(SUFFIX_85) || id.endsWith(SUFFIX_85_9003)) .collect(Collectors.toMap( - String::toLowerCase, - id -> (id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111) - .toLowerCase(), + String::toLowerCase, + id -> { + if (id.endsWith(SUFFIX_85_9003)) { + return (id.substring(0, id.length() - SUFFIX_85_9003.length()) + SUFFIX_111_9003) + .toLowerCase(); + } else { + return (id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111) + .toLowerCase(); + } + }, (a, b) -> b )); From e205323db1dacc9fd877a52c6596bf733c12a3ae Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Tue, 6 Jan 2026 16:58:56 +0800 Subject: [PATCH 15/25] =?UTF-8?q?=E5=88=86=E9=A1=B5=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E3=80=81aws=20key=E5=8A=A0=E5=AF=86=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/back/controller/DeviceGroupController.java | 4 ++++ .../dashboard/back/service/impl/CommonServiceImpl.java | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceGroupController.java b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceGroupController.java index 064b6fd..e4f385f 100644 --- a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceGroupController.java +++ b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/controller/DeviceGroupController.java @@ -1,6 +1,7 @@ package com.dongjian.dashboard.back.controller; import com.dongjian.dashboard.back.configurator.aspect.OperationLog; +import com.dongjian.dashboard.back.dto.BaseSearchNoCompanysParams; import com.dongjian.dashboard.back.dto.devicegroup.*; import com.dongjian.dashboard.back.vo.device.DeviceVO; import io.swagger.v3.oas.annotations.Hidden; @@ -154,6 +155,7 @@ public class DeviceGroupController { @RequestMapping(value = "/getBindedDeviceByGroup/{deviceGroupId}", method = RequestMethod.GET) public PageResponse> getBindedDeviceByGroup( @PathVariable Long deviceGroupId, + BaseSearchNoCompanysParams BaseSearchNoCompanysParams, @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, @@ -161,6 +163,8 @@ public class DeviceGroupController { @Parameter(name = "LanguageType", description = "Language type: 0 - Chinese, 1 - English, 2 - Japanese", required = true, schema = @Schema(defaultValue = "2")) @RequestHeader(required = true) Integer LanguageType) { DeviceGroupSearchParams pageSearchParam = new DeviceGroupSearchParams(); + pageSearchParam.setPageNum(BaseSearchNoCompanysParams.getPageNum()); + pageSearchParam.setPageSize(BaseSearchNoCompanysParams.getPageSize()); pageSearchParam.setUserId(UserId); pageSearchParam.setDeviceGroupIdList(Collections.singletonList(deviceGroupId)); diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/CommonServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/CommonServiceImpl.java index 62aa690..5f7b0fd 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/CommonServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/CommonServiceImpl.java @@ -12,6 +12,7 @@ import com.dongjian.dashboard.back.common.response.ResponseCode; import com.dongjian.dashboard.back.dto.common.BatchGetFileTemporaryParams; import com.dongjian.dashboard.back.model.S3FileMapping; import com.dongjian.dashboard.back.model.S3FileMappingExample; +import com.dongjian.dashboard.back.util.DESUtil; import com.dongjian.dashboard.back.vo.common.TemporaryInfo; import com.dongjian.dashboard.back.vo.company.AuroraInfo; import org.apache.commons.collections.CollectionUtils; @@ -129,10 +130,10 @@ public class CommonServiceImpl implements CommonService { DataSourceContextHolder.setCurrentDataSourceKey(Constants.DATASOURCE_PREFIX+ apikeyInfo.getId()); String bucketName = awsBucketAdress; - String accessKey = awsAccessKeyId; - String secretKey = awsAccessSecret; - AwsBasicCredentials awsCredentials = AwsBasicCredentials.create(accessKey, secretKey); + AwsBasicCredentials awsCredentials = AwsBasicCredentials.create( + DESUtil.decrypt(awsAccessKeyId, Constants.DES_SALT), + DESUtil.decrypt(awsAccessSecret, Constants.DES_SALT)); Region region = Region.AP_NORTHEAST_1; S3Presigner presigner = null; From 80559dffd14dbd29b5cf7cc292ef903e9a7e8f64 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 7 Jan 2026 10:31:22 +0800 Subject: [PATCH 16/25] img-src 'self' data: https://*.amazonaws.com; --- .../com/dongjian/dashboard/back/configurator/CrosXssFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java index a236b18..1dd2247 100644 --- a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java +++ b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java @@ -79,7 +79,7 @@ public class CrosXssFilter implements Filter { String nonce = UUID.randomUUID().toString().replace("-", "").substring(0, 16); // 生成随机 nonce httpServletResponse.setHeader("Content-Security-Policy", "default-src 'self'; " + - "img-src 'self' data:; "+ + "img-src 'self' data: https://*.amazonaws.com;"+ "font-src 'self' https://i.alicdn.com data:; "+ //阿里系的ui组件 // "script-src 'self' 'nonce-" + nonce + "'; " + //nonce针对内联 JavaScript // "style-src 'self' 'nonce-" + nonce + "'; " + //nonce针对内联 CSS From 27f25db266d25443f689e4f8b01d08da898881bf Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 7 Jan 2026 16:37:10 +0800 Subject: [PATCH 17/25] =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=EF=BC=8C=E5=8F=96rawData=E6=9C=80=E5=90=8E=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=80=BC=EF=BC=8C=E6=B2=A1=E8=AE=BE=E7=BD=AE=E6=98=A0=E5=B0=84?= =?UTF-8?q?=EF=BC=8C=E5=B0=B1=E6=98=BE=E7=A4=BA=E5=8E=9F=E5=A7=8B=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/configurator/CrosXssFilter.java | 2 +- .../back/service/common/CommonOpt.java | 66 +++++++++++++++++-- .../impl/DeviceDataBaStatusServiceImpl.java | 2 +- 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java index 1dd2247..a236b18 100644 --- a/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java +++ b/dongjian-dashboard-back-controller/src/main/java/com/dongjian/dashboard/back/configurator/CrosXssFilter.java @@ -79,7 +79,7 @@ public class CrosXssFilter implements Filter { String nonce = UUID.randomUUID().toString().replace("-", "").substring(0, 16); // 生成随机 nonce httpServletResponse.setHeader("Content-Security-Policy", "default-src 'self'; " + - "img-src 'self' data: https://*.amazonaws.com;"+ + "img-src 'self' data:; "+ "font-src 'self' https://i.alicdn.com data:; "+ //阿里系的ui组件 // "script-src 'self' 'nonce-" + nonce + "'; " + //nonce针对内联 JavaScript // "style-src 'self' 'nonce-" + nonce + "'; " + //nonce针对内联 CSS diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index 438f654..2502776 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -43,6 +43,11 @@ public class CommonOpt { private static Logger logger = LoggerFactory.getLogger(CommonOpt.class); + public enum ExtractStrategy { + FIRST, + LAST + } + private static final String SUFFIX_85 = "_85"; private static final String SUFFIX_85_9003 = "_85_9003"; private static final String SUFFIX_111 = "_111"; @@ -181,6 +186,26 @@ public class CommonOpt { return ""; } + public String extractLastValue(ObjectMapper mapper, String rawData) { + if (StringUtils.isBlank(rawData)) { + return ""; + } + try { + JsonNode node = mapper.readTree(rawData); + Iterator> fields = node.fields(); + + JsonNode lastValue = null; + while (fields.hasNext()) { + lastValue = fields.next().getValue(); + } + + return lastValue != null ? lastValue.asText() : ""; + } catch (Exception e) { + logger.error("Failed to parse rawData JSON: " + rawData, e); + } + return ""; + } + public List extractAllValues(ObjectMapper mapper, String rawData) { List result = new ArrayList<>(); @@ -539,24 +564,53 @@ public class CommonOpt { return mapFirstValue(objectMapper, dataMapping111, realtime111); } - public String mapFirstValue(ObjectMapper mapper, - String dataMapping, - DeviceRawdataRealtime deviceRawdataRealtime) { + public String mapFirstValue(ObjectMapper mapper, String dataMapping, DeviceRawdataRealtime deviceRawdataRealtime) { + return mapValue(mapper, dataMapping, deviceRawdataRealtime, ExtractStrategy.FIRST); + } + + public String mapLastValue(ObjectMapper mapper, String dataMapping, DeviceRawdataRealtime deviceRawdataRealtime) { + return mapValue(mapper, dataMapping, deviceRawdataRealtime, ExtractStrategy.LAST); + } + + public String mapValue( + ObjectMapper mapper, + String dataMapping, + DeviceRawdataRealtime deviceRawdataRealtime, + ExtractStrategy strategy) { + if (StringUtils.isBlank(dataMapping) || deviceRawdataRealtime == null) { return null; } try { - String statusValue = extractFirstValue(mapper, deviceRawdataRealtime.getRawData()); + String statusValue; + + if (strategy == ExtractStrategy.FIRST) { + statusValue = extractFirstValue(mapper, deviceRawdataRealtime.getRawData()); + } else { + statusValue = extractLastValue(mapper, deviceRawdataRealtime.getRawData()); + } + JsonNode root = mapper.readTree(dataMapping); - return root.path("default").path(statusValue).asText(null); + JsonNode mappedNode = root.path("default").path(statusValue); + + // default 里有映射值 → 返回映射值 + if (!mappedNode.isMissingNode() && !mappedNode.isNull()) { + String mappedValue = mappedNode.asText(); + if (StringUtils.isNotBlank(mappedValue)) { + return mappedValue; + } + } + + // default 里取不到 → 返回原始值 + return statusValue; + } catch (Exception e) { logger.error("dataMapping parse error, mapping={}", dataMapping, e); return null; } } - public String buildRawFirstValue(String deviceId, Map deviceId85To111Map, Map realtime111Map, ObjectMapper mapper) { return Optional.ofNullable(deviceId85To111Map.get(deviceId)) diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java index bf44951..d71764c 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java @@ -116,7 +116,7 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService //处理111状态映射 // data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper)); data.setStatus111(commonOpt.buildRawFirstValue(deviceId, deviceId85To111Map, realtime111Map, objectMapper)); - data.setRunningStatus(commonOpt.mapFirstValue(objectMapper, data.getDataMapping(), realtime85Map.get(deviceId))); + data.setRunningStatus(commonOpt.mapLastValue(objectMapper, data.getDataMapping(), realtime85Map.get(deviceId))); // 判断设备是否在 favorited_device 表中 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); From d6a8d606cba0148cb1d9786a69b1ba7dd530dc5f Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 7 Jan 2026 17:56:06 +0800 Subject: [PATCH 18/25] =?UTF-8?q?bug=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/back/service/common/CommonOpt.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index 2502776..6ca7fad 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -572,13 +572,10 @@ public class CommonOpt { return mapValue(mapper, dataMapping, deviceRawdataRealtime, ExtractStrategy.LAST); } - public String mapValue( - ObjectMapper mapper, - String dataMapping, - DeviceRawdataRealtime deviceRawdataRealtime, - ExtractStrategy strategy) { + public String mapValue(ObjectMapper mapper, String dataMapping, + DeviceRawdataRealtime deviceRawdataRealtime, ExtractStrategy strategy) { - if (StringUtils.isBlank(dataMapping) || deviceRawdataRealtime == null) { + if (deviceRawdataRealtime == null) { return null; } @@ -591,6 +588,10 @@ public class CommonOpt { statusValue = extractLastValue(mapper, deviceRawdataRealtime.getRawData()); } + if(StringUtils.isBlank(dataMapping)){ + return statusValue; + } + JsonNode root = mapper.readTree(dataMapping); JsonNode mappedNode = root.path("default").path(statusValue); From dd683df066fb4bb92f778c1a4a6d99478f36b3de Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 7 Jan 2026 21:19:16 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A5=BC=E5=AE=87?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E7=BA=A2=E8=89=B2=E6=95=B0=E5=AD=97=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E6=94=B9=E4=B8=BA=E4=B8=8A=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex/DeviceRawdataRealtimeMapperExt.xml | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml index e7da35f..f9abf7b 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceRawdataRealtimeMapperExt.xml @@ -5,26 +5,29 @@ + + select + + distinct + + 'true' as QUERYID, + + , + + from dashboard_notification + + + + + order by ${orderByClause} + + + + + + + delete from dashboard_notification + where id = #{id,jdbcType=BIGINT} + + + + delete from dashboard_notification + + + + + + + + SELECT LAST_INSERT_ID() + + insert into dashboard_notification (company_id, demand_time, category, + flag, created_at, created_by, + updated_at, updated_by, content + ) + values (#{companyId,jdbcType=BIGINT}, #{demandTime,jdbcType=VARCHAR}, #{category,jdbcType=VARCHAR}, + #{flag,jdbcType=INTEGER}, #{createdAt,jdbcType=BIGINT}, #{createdBy,jdbcType=BIGINT}, + #{updatedAt,jdbcType=BIGINT}, #{updatedBy,jdbcType=BIGINT}, #{content,jdbcType=LONGVARCHAR} + ) + + + + + SELECT LAST_INSERT_ID() + + insert into dashboard_notification + + + company_id, + + + demand_time, + + + category, + + + flag, + + + created_at, + + + created_by, + + + updated_at, + + + updated_by, + + + content, + + + + + #{companyId,jdbcType=BIGINT}, + + + #{demandTime,jdbcType=VARCHAR}, + + + #{category,jdbcType=VARCHAR}, + + + #{flag,jdbcType=INTEGER}, + + + #{createdAt,jdbcType=BIGINT}, + + + #{createdBy,jdbcType=BIGINT}, + + + #{updatedAt,jdbcType=BIGINT}, + + + #{updatedBy,jdbcType=BIGINT}, + + + #{content,jdbcType=LONGVARCHAR}, + + + + + + + update dashboard_notification + + + id = #{record.id,jdbcType=BIGINT}, + + + company_id = #{record.companyId,jdbcType=BIGINT}, + + + demand_time = #{record.demandTime,jdbcType=VARCHAR}, + + + category = #{record.category,jdbcType=VARCHAR}, + + + flag = #{record.flag,jdbcType=INTEGER}, + + + created_at = #{record.createdAt,jdbcType=BIGINT}, + + + created_by = #{record.createdBy,jdbcType=BIGINT}, + + + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + + + updated_by = #{record.updatedBy,jdbcType=BIGINT}, + + + content = #{record.content,jdbcType=LONGVARCHAR}, + + + + + + + + + update dashboard_notification + set id = #{record.id,jdbcType=BIGINT}, + company_id = #{record.companyId,jdbcType=BIGINT}, + demand_time = #{record.demandTime,jdbcType=VARCHAR}, + category = #{record.category,jdbcType=VARCHAR}, + flag = #{record.flag,jdbcType=INTEGER}, + created_at = #{record.createdAt,jdbcType=BIGINT}, + created_by = #{record.createdBy,jdbcType=BIGINT}, + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + updated_by = #{record.updatedBy,jdbcType=BIGINT}, + content = #{record.content,jdbcType=LONGVARCHAR} + + + + + + + update dashboard_notification + set id = #{record.id,jdbcType=BIGINT}, + company_id = #{record.companyId,jdbcType=BIGINT}, + demand_time = #{record.demandTime,jdbcType=VARCHAR}, + category = #{record.category,jdbcType=VARCHAR}, + flag = #{record.flag,jdbcType=INTEGER}, + created_at = #{record.createdAt,jdbcType=BIGINT}, + created_by = #{record.createdBy,jdbcType=BIGINT}, + updated_at = #{record.updatedAt,jdbcType=BIGINT}, + updated_by = #{record.updatedBy,jdbcType=BIGINT} + + + + + + + update dashboard_notification + + + company_id = #{companyId,jdbcType=BIGINT}, + + + demand_time = #{demandTime,jdbcType=VARCHAR}, + + + category = #{category,jdbcType=VARCHAR}, + + + flag = #{flag,jdbcType=INTEGER}, + + + created_at = #{createdAt,jdbcType=BIGINT}, + + + created_by = #{createdBy,jdbcType=BIGINT}, + + + updated_at = #{updatedAt,jdbcType=BIGINT}, + + + updated_by = #{updatedBy,jdbcType=BIGINT}, + + + content = #{content,jdbcType=LONGVARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + + update dashboard_notification + set company_id = #{companyId,jdbcType=BIGINT}, + demand_time = #{demandTime,jdbcType=VARCHAR}, + category = #{category,jdbcType=VARCHAR}, + flag = #{flag,jdbcType=INTEGER}, + created_at = #{createdAt,jdbcType=BIGINT}, + created_by = #{createdBy,jdbcType=BIGINT}, + updated_at = #{updatedAt,jdbcType=BIGINT}, + updated_by = #{updatedBy,jdbcType=BIGINT}, + content = #{content,jdbcType=LONGVARCHAR} + where id = #{id,jdbcType=BIGINT} + + + + update dashboard_notification + set company_id = #{companyId,jdbcType=BIGINT}, + demand_time = #{demandTime,jdbcType=VARCHAR}, + category = #{category,jdbcType=VARCHAR}, + flag = #{flag,jdbcType=INTEGER}, + created_at = #{createdAt,jdbcType=BIGINT}, + created_by = #{createdBy,jdbcType=BIGINT}, + updated_at = #{updatedAt,jdbcType=BIGINT}, + updated_by = #{updatedBy,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceGroupMapper.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceGroupMapper.xml index c39d116..1bb8a40 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceGroupMapper.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/auto/DeviceGroupMapper.xml @@ -9,6 +9,7 @@ + @@ -86,7 +87,7 @@ WARNING - @mbg.generated This element is automatically generated by MyBatis Generator, do not modify. --> - id, company_id, building_id, `name`, remark, flag, created_by, created_at + id, company_id, building_id, class_id, `name`, remark, flag, created_by, created_at