From 79bcee2aa587baa280845c5ec72c0184cb0bc838 Mon Sep 17 00:00:00 2001 From: wangyan Date: Fri, 3 Apr 2026 18:24:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(alarm):=20=E4=BC=98=E5=8C=96=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E5=B9=B6=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E6=98=BE=E7=A4=BA=E5=AD=97=E6=AE=B5=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=A1=AB=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 增加SensorName和DisposeUserName字段到AlarmDisposeCO、AlarmRecordCO及其DO对象 - 重构AlarmDisposeQueryExe、AlarmRecordQueryExe及APP端对应查询执行器逻辑,改用分页查询方法 - 在查询结果中填充传感器名称和处置人姓名,提升数据展示完整性 - 扩展AlarmRecordRepository和Mapper,支持多种分页查询接口 - 传感器与用户数据通过批量ID查询并映射,减少单条查询压力 - 新增DeviceRegion相关字段(外部消防区域名称、负责人姓名、绑定传感器等)及分页查询能力 - 更新DeviceRegionGateway及实现类,支持负责人姓名更新 - 规范Mybatis配置文件,增加更多Mapper文件扫描路径 --- .../main/resources/nacos/config-mybatis.yml | 4 +- .../java/com/zcloud/command/ManagerExe.java | 9 +- .../command/query/AlarmDisposeQueryExe.java | 87 ++++++----- .../command/query/AlarmRecordQueryExe.java | 82 +++++++---- .../query/AppAlarmDisposeQueryExe.java | 87 ++++++----- .../command/query/AppAlarmRecordQueryExe.java | 82 +++++++---- .../command/query/DeviceRegionQueryExe.java | 136 +++++++++++++++--- .../command/query/SensorDeviceQueryExe.java | 30 +--- .../command/query/SensorTypeQueryExe.java | 26 +--- .../com/zcloud/dto/DeviceRegionAddCmd.java | 5 +- .../main/java/com/zcloud/dto/ManagerCmd.java | 5 +- .../dto/clientobject/AlarmDisposeCO.java | 8 +- .../dto/clientobject/AlarmRecordCO.java | 8 +- .../dto/clientobject/DeviceRegionCO.java | 18 ++- .../dto/clientobject/SensorDeviceCO.java | 5 +- .../domain/gateway/DeviceRegionGateway.java | 4 +- .../zcloud/domain/model/DeviceRegionE.java | 12 +- .../gatewayimpl/DeviceRegionGatewayImpl.java | 5 +- .../persistence/dataobject/AlarmRecordDO.java | 11 +- .../dataobject/DeviceRegionDO.java | 17 ++- .../dataobject/SensorDeviceDO.java | 7 +- .../persistence/dataobject/SensorTypeDO.java | 2 +- .../persistence/mapper/AlarmRecordMapper.java | 17 ++- .../mapper/DeviceRegionMapper.java | 11 +- .../mapper/SensorDeviceMapper.java | 11 +- .../persistence/mapper/SensorTypeMapper.java | 11 +- .../repository/AlarmRecordRepository.java | 16 ++- .../repository/DeviceRegionRepository.java | 10 +- .../repository/SensorDeviceRepository.java | 10 +- .../repository/SensorTypeRepository.java | 10 +- .../impl/SensorDeviceRepositoryImpl.java | 19 ++- .../impl/SensorTypeRepositoryImpl.java | 19 ++- 32 files changed, 558 insertions(+), 226 deletions(-) diff --git a/start/src/main/resources/nacos/config-mybatis.yml b/start/src/main/resources/nacos/config-mybatis.yml index f756cb6..95305ce 100644 --- a/start/src/main/resources/nacos/config-mybatis.yml +++ b/start/src/main/resources/nacos/config-mybatis.yml @@ -1,5 +1,5 @@ mybatis-plus: - mapper-locations: classpath*:mapper/*.xml,classpath*:mapper/**/*Mapper.xml + mapper-locations: classpath*:mapper/*.xml,classpath*:mapper/**/*Mapper.xml,classpath*:mybatis/*.xml,classpath*:mybatis/**/*Mapper.xml type-handlers-package: com.jjb.saas.framework.datascope.handler global-config: banner: false @@ -8,4 +8,4 @@ mybatis-plus: logic-delete-value: 1 logic-not-delete-value: 0 configuration: - log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl \ No newline at end of file + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl diff --git a/web-app/src/main/java/com/zcloud/command/ManagerExe.java b/web-app/src/main/java/com/zcloud/command/ManagerExe.java index e6b766c..bfc047a 100644 --- a/web-app/src/main/java/com/zcloud/command/ManagerExe.java +++ b/web-app/src/main/java/com/zcloud/command/ManagerExe.java @@ -30,9 +30,14 @@ public class ManagerExe { throw new BizException("区域配置不存在"); } - Boolean res = deviceRegionGateway.updateManager(cmd.getId(), cmd.getManagerId(), cmd.getDepartmentId()); + Boolean res = deviceRegionGateway.updateManager( + cmd.getId(), + cmd.getManagerId(), + cmd.getManagerName(), + cmd.getDepartmentId() + ); if (!res) { throw new BizException("负责人配置失败"); } } -} \ No newline at end of file +} diff --git a/web-app/src/main/java/com/zcloud/command/query/AlarmDisposeQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/AlarmDisposeQueryExe.java index f647783..c22a18c 100644 --- a/web-app/src/main/java/com/zcloud/command/query/AlarmDisposeQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/AlarmDisposeQueryExe.java @@ -7,13 +7,23 @@ import com.alibaba.cola.dto.SingleResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.dto.AlarmDisposePageQry; import com.zcloud.dto.clientobject.AlarmDisposeCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.AlarmRecordDO; +import com.zcloud.persistence.dataobject.SensorDeviceDO; +import com.zcloud.persistence.dataobject.UserDO; import com.zcloud.persistence.repository.AlarmRecordRepository; +import com.zcloud.persistence.repository.SensorDeviceRepository; +import com.zcloud.persistence.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * AlarmDisposeQueryExe - 报警处置执行器 @@ -25,40 +35,13 @@ import java.util.List; public class AlarmDisposeQueryExe { private final AlarmRecordRepository alarmRecordRepository; + private final SensorDeviceRepository sensorDeviceRepository; + private final UserRepository userRepository; public PageResponse execute(AlarmDisposePageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(ObjectUtil.isNotEmpty(qry.getTenantId()), AlarmRecordDO::getTenantId, qry.getTenantId()) - .eq(ObjectUtil.isNotEmpty(qry.getOrgId()), AlarmRecordDO::getOrgId, qry.getOrgId()) - .like(ObjectUtil.isNotEmpty(qry.getAlarmNo()), AlarmRecordDO::getAlarmNo, qry.getAlarmNo()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmSource()), AlarmRecordDO::getAlarmSource, qry.getAlarmSource()) - .like(ObjectUtil.isNotEmpty(qry.getSensorCode()), AlarmRecordDO::getSensorCode, qry.getSensorCode()) - .eq(ObjectUtil.isNotEmpty(qry.getFireRegionId()), AlarmRecordDO::getFireRegionId, qry.getFireRegionId()) - .eq(ObjectUtil.isNotEmpty(qry.getDepartmentId()), AlarmRecordDO::getDepartmentId, qry.getDepartmentId()) - .eq(ObjectUtil.isNotEmpty(qry.getDisposeUserId()), AlarmRecordDO::getManagerId, qry.getDisposeUserId()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmLevel()), AlarmRecordDO::getAlarmLevel, qry.getAlarmLevel()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmType()), AlarmRecordDO::getAlarmType, qry.getAlarmType()) - // 查询待研判(10)或待处置(20)的报警 - .in(AlarmRecordDO::getStatus, 10, 20) - .eq(AlarmRecordDO::getActiveFlag, 1) - .orderByDesc(AlarmRecordDO::getAlarmTime); - - // 处理报警时间范围 - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeStart())) { - wrapper.ge(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeStart()); - } - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeEnd())) { - wrapper.le(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeEnd()); - } - - List results = alarmRecordRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List alarmDisposeCOs = BeanUtil.copyToList(results, AlarmDisposeCO.class); - - return PageResponse.of(alarmDisposeCOs, total, qry.getPageSize(), qry.getPageIndex()); + PageResponse pageResponse = alarmRecordRepository.disposeListPage(PageQueryHelper.toHashMap(qry)); + List alarmDisposeCOs = BeanUtil.copyToList(pageResponse.getData(), AlarmDisposeCO.class); + return PageResponse.of(alarmDisposeCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public SingleResponse getById(Long id) { @@ -69,6 +52,44 @@ public class AlarmDisposeQueryExe { AlarmDisposeCO co = new AlarmDisposeCO(); BeanUtils.copyProperties(d, co); + fillDisplayFields(Collections.singletonList(co)); return SingleResponse.of(co); } -} \ No newline at end of file + + private void fillDisplayFields(List alarmDisposeCOs) { + if (alarmDisposeCOs == null || alarmDisposeCOs.isEmpty()) { + return; + } + + Set sensorIds = alarmDisposeCOs.stream() + .map(AlarmDisposeCO::getSensorId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + Set disposeUserIds = alarmDisposeCOs.stream() + .map(AlarmDisposeCO::getDisposeUserId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + + Map sensorNameMap = Collections.emptyMap(); + if (!sensorIds.isEmpty()) { + LambdaQueryWrapper sensorWrapper = new LambdaQueryWrapper<>(); + sensorWrapper.in(SensorDeviceDO::getId, sensorIds) + .eq(SensorDeviceDO::getDeleteEnum, "FALSE"); + sensorNameMap = sensorDeviceRepository.list(sensorWrapper).stream() + .collect(Collectors.toMap(SensorDeviceDO::getId, SensorDeviceDO::getSensorName, (left, right) -> left)); + } + + Map userNameMap = Collections.emptyMap(); + if (!disposeUserIds.isEmpty()) { + LambdaQueryWrapper userWrapper = new LambdaQueryWrapper<>(); + userWrapper.in(UserDO::getId, disposeUserIds); + userNameMap = userRepository.list(userWrapper).stream() + .collect(Collectors.toMap(UserDO::getId, UserDO::getName, (left, right) -> left)); + } + + for (AlarmDisposeCO alarmDisposeCO : alarmDisposeCOs) { + alarmDisposeCO.setSensorName(sensorNameMap.get(alarmDisposeCO.getSensorId())); + alarmDisposeCO.setDisposeUserName(userNameMap.get(alarmDisposeCO.getDisposeUserId())); + } + } +} diff --git a/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java index 653e23f..680130a 100644 --- a/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/AlarmRecordQueryExe.java @@ -7,13 +7,23 @@ import com.alibaba.cola.dto.SingleResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.dto.AlarmRecordPageQry; import com.zcloud.dto.clientobject.AlarmRecordCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.AlarmRecordDO; +import com.zcloud.persistence.dataobject.SensorDeviceDO; +import com.zcloud.persistence.dataobject.UserDO; import com.zcloud.persistence.repository.AlarmRecordRepository; +import com.zcloud.persistence.repository.SensorDeviceRepository; +import com.zcloud.persistence.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * AlarmRecordQueryExe - 报警记录执行器 @@ -25,35 +35,13 @@ import java.util.List; public class AlarmRecordQueryExe { private final AlarmRecordRepository alarmRecordRepository; + private final SensorDeviceRepository sensorDeviceRepository; + private final UserRepository userRepository; public PageResponse execute(AlarmRecordPageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(ObjectUtil.isNotEmpty(qry.getTenantId()), AlarmRecordDO::getTenantId, qry.getTenantId()) - .eq(ObjectUtil.isNotEmpty(qry.getOrgId()), AlarmRecordDO::getOrgId, qry.getOrgId()) - .like(ObjectUtil.isNotEmpty(qry.getAlarmNo()), AlarmRecordDO::getAlarmNo, qry.getAlarmNo()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmSource()), AlarmRecordDO::getAlarmSource, qry.getAlarmSource()) - .like(ObjectUtil.isNotEmpty(qry.getSensorCode()), AlarmRecordDO::getSensorCode, qry.getSensorCode()) - // 支持按状态筛选(不指定则查询所有状态) - .eq(ObjectUtil.isNotEmpty(qry.getStatus()), AlarmRecordDO::getStatus, qry.getStatus()) - .eq(AlarmRecordDO::getDeleteEnum, "FALSE") - .orderByDesc(AlarmRecordDO::getAlarmTime); - - // 处理报警时间范围 - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeStart())) { - wrapper.ge(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeStart()); - } - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeEnd())) { - wrapper.le(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeEnd()); - } - - List results = alarmRecordRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List alarmRecordCOs = BeanUtil.copyToList(results, AlarmRecordCO.class); - - return PageResponse.of(alarmRecordCOs, total, qry.getPageSize(), qry.getPageIndex()); + PageResponse pageResponse = alarmRecordRepository.listPage(PageQueryHelper.toHashMap(qry)); + List alarmRecordCOs = BeanUtil.copyToList(pageResponse.getData(), AlarmRecordCO.class); + return PageResponse.of(alarmRecordCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public SingleResponse getById(Long id) { @@ -64,6 +52,44 @@ public class AlarmRecordQueryExe { AlarmRecordCO co = new AlarmRecordCO(); BeanUtils.copyProperties(d, co); + fillDisplayFields(Collections.singletonList(co)); return SingleResponse.of(co); } -} \ No newline at end of file + + private void fillDisplayFields(List alarmRecordCOs) { + if (alarmRecordCOs == null || alarmRecordCOs.isEmpty()) { + return; + } + + Set sensorIds = alarmRecordCOs.stream() + .map(AlarmRecordCO::getSensorId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + Set disposeUserIds = alarmRecordCOs.stream() + .map(AlarmRecordCO::getDisposeUserId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + + Map sensorNameMap = Collections.emptyMap(); + if (!sensorIds.isEmpty()) { + LambdaQueryWrapper sensorWrapper = new LambdaQueryWrapper<>(); + sensorWrapper.in(SensorDeviceDO::getId, sensorIds) + .eq(SensorDeviceDO::getDeleteEnum, "FALSE"); + sensorNameMap = sensorDeviceRepository.list(sensorWrapper).stream() + .collect(Collectors.toMap(SensorDeviceDO::getId, SensorDeviceDO::getSensorName, (left, right) -> left)); + } + + Map userNameMap = Collections.emptyMap(); + if (!disposeUserIds.isEmpty()) { + LambdaQueryWrapper userWrapper = new LambdaQueryWrapper<>(); + userWrapper.in(UserDO::getId, disposeUserIds); + userNameMap = userRepository.list(userWrapper).stream() + .collect(Collectors.toMap(UserDO::getId, UserDO::getName, (left, right) -> left)); + } + + for (AlarmRecordCO alarmRecordCO : alarmRecordCOs) { + alarmRecordCO.setSensorName(sensorNameMap.get(alarmRecordCO.getSensorId())); + alarmRecordCO.setDisposeUserName(userNameMap.get(alarmRecordCO.getDisposeUserId())); + } + } +} diff --git a/web-app/src/main/java/com/zcloud/command/query/AppAlarmDisposeQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/AppAlarmDisposeQueryExe.java index e05237b..896d02a 100644 --- a/web-app/src/main/java/com/zcloud/command/query/AppAlarmDisposeQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/AppAlarmDisposeQueryExe.java @@ -7,13 +7,23 @@ import com.alibaba.cola.dto.SingleResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.dto.AppAlarmDisposePageQry; import com.zcloud.dto.clientobject.AlarmDisposeCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.AlarmRecordDO; +import com.zcloud.persistence.dataobject.SensorDeviceDO; +import com.zcloud.persistence.dataobject.UserDO; import com.zcloud.persistence.repository.AlarmRecordRepository; +import com.zcloud.persistence.repository.SensorDeviceRepository; +import com.zcloud.persistence.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * AppAlarmDisposeQueryExe - APP报警处置执行器 @@ -25,43 +35,16 @@ import java.util.List; public class AppAlarmDisposeQueryExe { private final AlarmRecordRepository alarmRecordRepository; + private final SensorDeviceRepository sensorDeviceRepository; + private final UserRepository userRepository; /** * 手机端待处置列表(按当前用户过滤) */ public PageResponse execute(AppAlarmDisposePageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(ObjectUtil.isNotEmpty(qry.getTenantId()), AlarmRecordDO::getTenantId, qry.getTenantId()) - .eq(ObjectUtil.isNotEmpty(qry.getOrgId()), AlarmRecordDO::getOrgId, qry.getOrgId()) - .like(ObjectUtil.isNotEmpty(qry.getAlarmNo()), AlarmRecordDO::getAlarmNo, qry.getAlarmNo()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmSource()), AlarmRecordDO::getAlarmSource, qry.getAlarmSource()) - .like(ObjectUtil.isNotEmpty(qry.getSensorCode()), AlarmRecordDO::getSensorCode, qry.getSensorCode()) - .eq(ObjectUtil.isNotEmpty(qry.getFireRegionId()), AlarmRecordDO::getFireRegionId, qry.getFireRegionId()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmLevel()), AlarmRecordDO::getAlarmLevel, qry.getAlarmLevel()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmType()), AlarmRecordDO::getAlarmType, qry.getAlarmType()) - // 关键:按当前用户过滤(managerId = 当前用户ID) - .eq(ObjectUtil.isNotEmpty(qry.getCurrentUserId()), AlarmRecordDO::getManagerId, qry.getCurrentUserId()) - // 只查询待处置(20)状态的报警 - .eq(AlarmRecordDO::getStatus, 20) - .eq(AlarmRecordDO::getActiveFlag, 1) - .orderByDesc(AlarmRecordDO::getAlarmTime); - - // 处理报警时间范围 - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeStart())) { - wrapper.ge(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeStart()); - } - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeEnd())) { - wrapper.le(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeEnd()); - } - - List results = alarmRecordRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List alarmDisposeCOs = BeanUtil.copyToList(results, AlarmDisposeCO.class); - - return PageResponse.of(alarmDisposeCOs, total, qry.getPageSize(), qry.getPageIndex()); + PageResponse pageResponse = alarmRecordRepository.appDisposeListPage(PageQueryHelper.toHashMap(qry)); + List alarmDisposeCOs = BeanUtil.copyToList(pageResponse.getData(), AlarmDisposeCO.class); + return PageResponse.of(alarmDisposeCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } /** @@ -75,6 +58,44 @@ public class AppAlarmDisposeQueryExe { AlarmDisposeCO co = new AlarmDisposeCO(); BeanUtils.copyProperties(d, co); + fillDisplayFields(Collections.singletonList(co)); return SingleResponse.of(co); } -} \ No newline at end of file + + private void fillDisplayFields(List alarmDisposeCOs) { + if (alarmDisposeCOs == null || alarmDisposeCOs.isEmpty()) { + return; + } + + Set sensorIds = alarmDisposeCOs.stream() + .map(AlarmDisposeCO::getSensorId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + Set disposeUserIds = alarmDisposeCOs.stream() + .map(AlarmDisposeCO::getDisposeUserId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + + Map sensorNameMap = Collections.emptyMap(); + if (!sensorIds.isEmpty()) { + LambdaQueryWrapper sensorWrapper = new LambdaQueryWrapper<>(); + sensorWrapper.in(SensorDeviceDO::getId, sensorIds) + .eq(SensorDeviceDO::getDeleteEnum, "FALSE"); + sensorNameMap = sensorDeviceRepository.list(sensorWrapper).stream() + .collect(Collectors.toMap(SensorDeviceDO::getId, SensorDeviceDO::getSensorName, (left, right) -> left)); + } + + Map userNameMap = Collections.emptyMap(); + if (!disposeUserIds.isEmpty()) { + LambdaQueryWrapper userWrapper = new LambdaQueryWrapper<>(); + userWrapper.in(UserDO::getId, disposeUserIds); + userNameMap = userRepository.list(userWrapper).stream() + .collect(Collectors.toMap(UserDO::getId, UserDO::getName, (left, right) -> left)); + } + + for (AlarmDisposeCO alarmDisposeCO : alarmDisposeCOs) { + alarmDisposeCO.setSensorName(sensorNameMap.get(alarmDisposeCO.getSensorId())); + alarmDisposeCO.setDisposeUserName(userNameMap.get(alarmDisposeCO.getDisposeUserId())); + } + } +} diff --git a/web-app/src/main/java/com/zcloud/command/query/AppAlarmRecordQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/AppAlarmRecordQueryExe.java index f854f70..bf820ab 100644 --- a/web-app/src/main/java/com/zcloud/command/query/AppAlarmRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/AppAlarmRecordQueryExe.java @@ -8,13 +8,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.dto.AppAlarmRecordPageQry; import com.zcloud.dto.clientobject.AlarmRecordCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.AlarmRecordDO; +import com.zcloud.persistence.dataobject.SensorDeviceDO; +import com.zcloud.persistence.dataobject.UserDO; import com.zcloud.persistence.repository.AlarmRecordRepository; +import com.zcloud.persistence.repository.SensorDeviceRepository; +import com.zcloud.persistence.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * AppAlarmRecordQueryExe - APP报警记录执行器 @@ -26,33 +36,15 @@ import java.util.List; public class AppAlarmRecordQueryExe { private final AlarmRecordRepository alarmRecordRepository; + private final SensorDeviceRepository sensorDeviceRepository; + private final UserRepository userRepository; public PageResponse execute(AppAlarmRecordPageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - // 按当前用户过滤(处置人ID) - Long userId = AuthContext.getUserId(); - wrapper.eq(userId != null, AlarmRecordDO::getDisposeUserId, userId); - // 支持按状态筛选(30已消警/40误报) - wrapper.eq(ObjectUtil.isNotEmpty(qry.getStatus()), AlarmRecordDO::getStatus, qry.getStatus()) - .eq(AlarmRecordDO::getDeleteEnum, "FALSE") - .orderByDesc(AlarmRecordDO::getAlarmTime); - - // 处理报警时间范围 - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeStart())) { - wrapper.ge(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeStart()); - } - if (ObjectUtil.isNotEmpty(qry.getAlarmTimeEnd())) { - wrapper.le(AlarmRecordDO::getAlarmTime, qry.getAlarmTimeEnd()); - } - - List results = alarmRecordRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List alarmRecordCOs = BeanUtil.copyToList(results, AlarmRecordCO.class); - - return PageResponse.of(alarmRecordCOs, total, qry.getPageSize(), qry.getPageIndex()); + Map params = PageQueryHelper.toHashMap(qry); + params.put("currentUserId", AuthContext.getUserId()); + PageResponse pageResponse = alarmRecordRepository.appListPage(params); + List alarmRecordCOs = BeanUtil.copyToList(pageResponse.getData(), AlarmRecordCO.class); + return PageResponse.of(alarmRecordCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public SingleResponse getById(Long id) { @@ -69,6 +61,44 @@ public class AppAlarmRecordQueryExe { AlarmRecordCO co = new AlarmRecordCO(); BeanUtils.copyProperties(d, co); + fillDisplayFields(Collections.singletonList(co)); return SingleResponse.of(co); } -} \ No newline at end of file + + private void fillDisplayFields(List alarmRecordCOs) { + if (alarmRecordCOs == null || alarmRecordCOs.isEmpty()) { + return; + } + + Set sensorIds = alarmRecordCOs.stream() + .map(AlarmRecordCO::getSensorId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + Set disposeUserIds = alarmRecordCOs.stream() + .map(AlarmRecordCO::getDisposeUserId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toCollection(HashSet::new)); + + Map sensorNameMap = Collections.emptyMap(); + if (!sensorIds.isEmpty()) { + LambdaQueryWrapper sensorWrapper = new LambdaQueryWrapper<>(); + sensorWrapper.in(SensorDeviceDO::getId, sensorIds) + .eq(SensorDeviceDO::getDeleteEnum, "FALSE"); + sensorNameMap = sensorDeviceRepository.list(sensorWrapper).stream() + .collect(Collectors.toMap(SensorDeviceDO::getId, SensorDeviceDO::getSensorName, (left, right) -> left)); + } + + Map userNameMap = Collections.emptyMap(); + if (!disposeUserIds.isEmpty()) { + LambdaQueryWrapper userWrapper = new LambdaQueryWrapper<>(); + userWrapper.in(UserDO::getId, disposeUserIds); + userNameMap = userRepository.list(userWrapper).stream() + .collect(Collectors.toMap(UserDO::getId, UserDO::getName, (left, right) -> left)); + } + + for (AlarmRecordCO alarmRecordCO : alarmRecordCOs) { + alarmRecordCO.setSensorName(sensorNameMap.get(alarmRecordCO.getSensorId())); + alarmRecordCO.setDisposeUserName(userNameMap.get(alarmRecordCO.getDisposeUserId())); + } + } +} diff --git a/web-app/src/main/java/com/zcloud/command/query/DeviceRegionQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/DeviceRegionQueryExe.java index 624cea1..bf1e9ca 100644 --- a/web-app/src/main/java/com/zcloud/command/query/DeviceRegionQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/DeviceRegionQueryExe.java @@ -8,13 +8,27 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.dto.DeviceRegionPageQry; import com.zcloud.dto.clientobject.DeviceRegionCO; import com.zcloud.dto.clientobject.FireRegionCO; +import com.zcloud.dto.clientobject.SensorDeviceCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.persistence.dataobject.DepartmentDO; import com.zcloud.persistence.dataobject.DeviceRegionDO; +import com.zcloud.persistence.dataobject.RegionSensorRelDO; +import com.zcloud.persistence.dataobject.SensorDeviceDO; +import com.zcloud.persistence.dataobject.UserDO; +import com.zcloud.persistence.repository.DepartmentRepository; import com.zcloud.persistence.repository.DeviceRegionRepository; +import com.zcloud.persistence.repository.RegionSensorRelRepository; +import com.zcloud.persistence.repository.SensorDeviceRepository; +import com.zcloud.persistence.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * DeviceRegionQueryExe - 设备区域执行器 @@ -26,26 +40,15 @@ import java.util.List; public class DeviceRegionQueryExe { private final DeviceRegionRepository deviceRegionRepository; + private final RegionSensorRelRepository regionSensorRelRepository; + private final SensorDeviceRepository sensorDeviceRepository; + private final DepartmentRepository departmentRepository; + private final UserRepository userRepository; public PageResponse execute(DeviceRegionPageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(ObjectUtil.isNotEmpty(qry.getTenantId()), DeviceRegionDO::getTenantId, qry.getTenantId()) - .eq(ObjectUtil.isNotEmpty(qry.getOrgId()), DeviceRegionDO::getOrgId, qry.getOrgId()) - .like(ObjectUtil.isNotEmpty(qry.getFireRegionCode()), DeviceRegionDO::getFireRegionCode, qry.getFireRegionCode()) - .eq(ObjectUtil.isNotEmpty(qry.getDepartmentId()), DeviceRegionDO::getDepartmentId, qry.getDepartmentId()) - .eq(ObjectUtil.isNotEmpty(qry.getManagerId()), DeviceRegionDO::getManagerId, qry.getManagerId()) - .eq(ObjectUtil.isNotEmpty(qry.getStatus()), DeviceRegionDO::getStatus, qry.getStatus()) - .eq(DeviceRegionDO::getDeleteEnum, "FALSE") - .orderByDesc(DeviceRegionDO::getCreateTime); - - List results = deviceRegionRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List deviceRegionCOs = BeanUtil.copyToList(results, DeviceRegionCO.class); - - return PageResponse.of(deviceRegionCOs, total, qry.getPageSize(), qry.getPageIndex()); + PageResponse pageResponse = deviceRegionRepository.listPage(PageQueryHelper.toHashMap(qry)); + List deviceRegionCOs = BeanUtil.copyToList(pageResponse.getData(), DeviceRegionCO.class); + return PageResponse.of(deviceRegionCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public SingleResponse getById(Long id) { @@ -56,6 +59,8 @@ public class DeviceRegionQueryExe { DeviceRegionCO co = new DeviceRegionCO(); BeanUtils.copyProperties(d, co); + fillBindSensorInfo(Collections.singletonList(co), true); + fillDisplayFields(Collections.singletonList(co)); return SingleResponse.of(co); } @@ -67,10 +72,99 @@ public class DeviceRegionQueryExe { .orderByDesc(DeviceRegionDO::getCreateTime); List results = deviceRegionRepository.list(wrapper); - - // Convert to FireRegionCO List fireRegionCOs = BeanUtil.copyToList(results, FireRegionCO.class); return SingleResponse.of(fireRegionCOs.isEmpty() ? null : fireRegionCOs.get(0)); } -} \ No newline at end of file + + private void fillBindSensorInfo(List deviceRegionCOs, boolean includeBoundSensors) { + if (deviceRegionCOs == null || deviceRegionCOs.isEmpty()) { + return; + } + + Set regionIds = deviceRegionCOs.stream() + .map(DeviceRegionCO::getId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toSet()); + if (regionIds.isEmpty()) { + return; + } + + LambdaQueryWrapper relWrapper = new LambdaQueryWrapper<>(); + relWrapper.in(RegionSensorRelDO::getRegionConfigId, regionIds) + .eq(RegionSensorRelDO::getDeleteEnum, "FALSE"); + List relList = regionSensorRelRepository.list(relWrapper); + + Map> relMap = relList.stream() + .collect(Collectors.groupingBy(RegionSensorRelDO::getRegionConfigId)); + + Map sensorMap = Collections.emptyMap(); + if (includeBoundSensors && !relList.isEmpty()) { + Set sensorIds = relList.stream() + .map(RegionSensorRelDO::getSensorId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toSet()); + if (!sensorIds.isEmpty()) { + LambdaQueryWrapper sensorWrapper = new LambdaQueryWrapper<>(); + sensorWrapper.in(SensorDeviceDO::getId, sensorIds) + .eq(SensorDeviceDO::getDeleteEnum, "FALSE"); + sensorMap = sensorDeviceRepository.list(sensorWrapper).stream() + .map(sensor -> BeanUtil.copyProperties(sensor, SensorDeviceCO.class)) + .collect(Collectors.toMap(SensorDeviceCO::getId, sensor -> sensor)); + } + } + + for (DeviceRegionCO deviceRegionCO : deviceRegionCOs) { + List currentRelList = relMap.getOrDefault(deviceRegionCO.getId(), Collections.emptyList()); + deviceRegionCO.setBindSensorCount(currentRelList.size()); + if (!includeBoundSensors) { + continue; + } + + List boundSensors = currentRelList.stream() + .map(RegionSensorRelDO::getSensorId) + .map(sensorMap::get) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toList()); + deviceRegionCO.setBoundSensors(boundSensors); + } + } + + private void fillDisplayFields(List deviceRegionCOs) { + if (deviceRegionCOs == null || deviceRegionCOs.isEmpty()) { + return; + } + + Set departmentIds = deviceRegionCOs.stream() + .map(DeviceRegionCO::getDepartmentId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toSet()); + Set managerIds = deviceRegionCOs.stream() + .map(DeviceRegionCO::getManagerId) + .filter(ObjectUtil::isNotEmpty) + .collect(Collectors.toSet()); + + Map departmentNameMap = Collections.emptyMap(); + if (!departmentIds.isEmpty()) { + LambdaQueryWrapper departmentWrapper = new LambdaQueryWrapper<>(); + departmentWrapper.in(DepartmentDO::getId, departmentIds); + departmentNameMap = departmentRepository.list(departmentWrapper).stream() + .collect(Collectors.toMap(DepartmentDO::getId, DepartmentDO::getName, (left, right) -> left)); + } + + Map managerNameMap = Collections.emptyMap(); + if (!managerIds.isEmpty()) { + LambdaQueryWrapper userWrapper = new LambdaQueryWrapper<>(); + userWrapper.in(UserDO::getId, managerIds); + managerNameMap = userRepository.list(userWrapper).stream() + .collect(Collectors.toMap(UserDO::getId, UserDO::getName, (left, right) -> left)); + } + + for (DeviceRegionCO deviceRegionCO : deviceRegionCOs) { + deviceRegionCO.setDepartmentName(departmentNameMap.get(deviceRegionCO.getDepartmentId())); + if (ObjectUtil.isEmpty(deviceRegionCO.getManagerName())) { + deviceRegionCO.setManagerName(managerNameMap.get(deviceRegionCO.getManagerId())); + } + } + } +} diff --git a/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java index 9e36565..03e52f1 100644 --- a/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/SensorDeviceQueryExe.java @@ -1,12 +1,11 @@ package com.zcloud.command.query; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.ObjectUtil; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.dto.SensorDevicePageQry; import com.zcloud.dto.clientobject.SensorDeviceCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.SensorDeviceDO; import com.zcloud.persistence.repository.SensorDeviceRepository; import lombok.RequiredArgsConstructor; @@ -27,28 +26,9 @@ public class SensorDeviceQueryExe { private final SensorDeviceRepository sensorDeviceRepository; public PageResponse execute(SensorDevicePageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(ObjectUtil.isNotEmpty(qry.getTenantId()), SensorDeviceDO::getTenantId, qry.getTenantId()) - .eq(ObjectUtil.isNotEmpty(qry.getOrgId()), SensorDeviceDO::getOrgId, qry.getOrgId()) - .like(ObjectUtil.isNotEmpty(qry.getSensorCode()), SensorDeviceDO::getSensorCode, qry.getSensorCode()) - .like(ObjectUtil.isNotEmpty(qry.getSensorName()), SensorDeviceDO::getSensorName, qry.getSensorName()) - .eq(ObjectUtil.isNotEmpty(qry.getSensorTypeId()), SensorDeviceDO::getSensorTypeId, qry.getSensorTypeId()) - .eq(ObjectUtil.isNotEmpty(qry.getSensorAttr()), SensorDeviceDO::getSensorAttr, qry.getSensorAttr()) - .eq(ObjectUtil.isNotEmpty(qry.getSensorStatus()), SensorDeviceDO::getSensorStatus, qry.getSensorStatus()) - .eq(ObjectUtil.isNotEmpty(qry.getAlarmSwitch()), SensorDeviceDO::getAlarmSwitch, qry.getAlarmSwitch()) - .eq(ObjectUtil.isNotEmpty(qry.getThresholdFlag()), SensorDeviceDO::getThresholdFlag, qry.getThresholdFlag()) - .like(ObjectUtil.isNotEmpty(qry.getInstallPosition()), SensorDeviceDO::getInstallPosition, qry.getInstallPosition()) - .eq(SensorDeviceDO::getDeleteEnum, "FALSE") - .orderByDesc(SensorDeviceDO::getCreateTime); - - List results = sensorDeviceRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List sensorDeviceCOs = BeanUtil.copyToList(results, SensorDeviceCO.class); - - return PageResponse.of(sensorDeviceCOs, total, qry.getPageSize(), qry.getPageIndex()); + PageResponse pageResponse = sensorDeviceRepository.listPage(PageQueryHelper.toHashMap(qry)); + List sensorDeviceCOs = BeanUtil.copyToList(pageResponse.getData(), SensorDeviceCO.class); + return PageResponse.of(sensorDeviceCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public SingleResponse getById(Long id) { @@ -61,4 +41,4 @@ public class SensorDeviceQueryExe { BeanUtils.copyProperties(d, co); return SingleResponse.of(co); } -} \ No newline at end of file +} diff --git a/web-app/src/main/java/com/zcloud/command/query/SensorTypeQueryExe.java b/web-app/src/main/java/com/zcloud/command/query/SensorTypeQueryExe.java index b56f6a8..c9a8436 100644 --- a/web-app/src/main/java/com/zcloud/command/query/SensorTypeQueryExe.java +++ b/web-app/src/main/java/com/zcloud/command/query/SensorTypeQueryExe.java @@ -1,12 +1,11 @@ package com.zcloud.command.query; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.ObjectUtil; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zcloud.dto.SensorTypePageQry; import com.zcloud.dto.clientobject.SensorTypeCO; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.persistence.dataobject.SensorTypeDO; import com.zcloud.persistence.repository.SensorTypeRepository; import lombok.RequiredArgsConstructor; @@ -27,24 +26,9 @@ public class SensorTypeQueryExe { private final SensorTypeRepository sensorTypeRepository; public PageResponse execute(SensorTypePageQry qry) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - wrapper.eq(ObjectUtil.isNotEmpty(qry.getTenantId()), SensorTypeDO::getTenantId, qry.getTenantId()) - .eq(ObjectUtil.isNotEmpty(qry.getOrgId()), SensorTypeDO::getOrgId, qry.getOrgId()) - .like(ObjectUtil.isNotEmpty(qry.getTypeCode()), SensorTypeDO::getTypeCode, qry.getTypeCode()) - .like(ObjectUtil.isNotEmpty(qry.getTypeName()), SensorTypeDO::getTypeName, qry.getTypeName()) - .eq(ObjectUtil.isNotEmpty(qry.getSensorAttr()), SensorTypeDO::getSensorAttr, qry.getSensorAttr()) - .eq(ObjectUtil.isNotEmpty(qry.getStatus()), SensorTypeDO::getStatus, qry.getStatus()) - .eq(SensorTypeDO::getDeleteEnum, "FALSE") - .orderByDesc(SensorTypeDO::getCreateTime); - - List results = sensorTypeRepository.list(wrapper); - int total = results.size(); - - // Convert to CO - List sensorTypeCOs = BeanUtil.copyToList(results, SensorTypeCO.class); - - return PageResponse.of(sensorTypeCOs, total, qry.getPageSize(), qry.getPageIndex()); + PageResponse pageResponse = sensorTypeRepository.listPage(PageQueryHelper.toHashMap(qry)); + List sensorTypeCOs = BeanUtil.copyToList(pageResponse.getData(), SensorTypeCO.class); + return PageResponse.of(sensorTypeCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } public SingleResponse getById(Long id) { @@ -57,4 +41,4 @@ public class SensorTypeQueryExe { BeanUtils.copyProperties(d, co); return SingleResponse.of(co); } -} \ No newline at end of file +} diff --git a/web-client/src/main/java/com/zcloud/dto/DeviceRegionAddCmd.java b/web-client/src/main/java/com/zcloud/dto/DeviceRegionAddCmd.java index b2bec5d..d58c589 100644 --- a/web-client/src/main/java/com/zcloud/dto/DeviceRegionAddCmd.java +++ b/web-client/src/main/java/com/zcloud/dto/DeviceRegionAddCmd.java @@ -23,6 +23,9 @@ public class DeviceRegionAddCmd extends Command { @ApiModelProperty(value = "外部消防区域主键", name = "fireRegionId", required = true) private Long fireRegionId; + + @ApiModelProperty(value = "外部消防区域名称", name = "fireRegionName") + private String fireRegionName; @ApiModelProperty(value = "外部消防区域编码", name = "fireRegionCode") private String fireRegionCode; @@ -44,4 +47,4 @@ public class DeviceRegionAddCmd extends Command { @ApiModelProperty(value = "组织ID", name = "orgId") private Long orgId; -} \ No newline at end of file +} diff --git a/web-client/src/main/java/com/zcloud/dto/ManagerCmd.java b/web-client/src/main/java/com/zcloud/dto/ManagerCmd.java index 54de9bc..2811d6b 100644 --- a/web-client/src/main/java/com/zcloud/dto/ManagerCmd.java +++ b/web-client/src/main/java/com/zcloud/dto/ManagerCmd.java @@ -23,7 +23,10 @@ public class ManagerCmd extends Command { @ApiModelProperty(value = "负责人ID", name = "managerId", required = true) private Long managerId; + + @ApiModelProperty(value = "负责人姓名", name = "managerName") + private String managerName; @ApiModelProperty(value = "负责部门ID", name = "departmentId") private Long departmentId; -} \ No newline at end of file +} diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmDisposeCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmDisposeCO.java index a7b057d..ebe3117 100644 --- a/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmDisposeCO.java +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmDisposeCO.java @@ -36,6 +36,9 @@ public class AlarmDisposeCO extends ClientObject { @ApiModelProperty(value = "传感器编码") private String sensorCode; + + @ApiModelProperty(value = "传感器名称") + private String sensorName; @ApiModelProperty(value = "消防区域ID") private Long fireRegionId; @@ -81,6 +84,9 @@ public class AlarmDisposeCO extends ClientObject { @ApiModelProperty(value = "处置人ID") private Long disposeUserId; + + @ApiModelProperty(value = "处置人姓名") + private String disposeUserName; @ApiModelProperty(value = "当前处置结果快照") private String disposeResult; @@ -122,4 +128,4 @@ public class AlarmDisposeCO extends ClientObject { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordCO.java index 14a640a..26aabc7 100644 --- a/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordCO.java +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/AlarmRecordCO.java @@ -36,6 +36,9 @@ public class AlarmRecordCO extends ClientObject { @ApiModelProperty(value = "传感器编码") private String sensorCode; + + @ApiModelProperty(value = "传感器名称") + private String sensorName; @ApiModelProperty(value = "消防区域ID") private Long fireRegionId; @@ -81,6 +84,9 @@ public class AlarmRecordCO extends ClientObject { @ApiModelProperty(value = "处置人ID") private Long disposeUserId; + + @ApiModelProperty(value = "处置人姓名") + private String disposeUserName; @ApiModelProperty(value = "当前处置结果快照") private String disposeResult; @@ -125,4 +131,4 @@ public class AlarmRecordCO extends ClientObject { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/DeviceRegionCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/DeviceRegionCO.java index bdde701..39e6c61 100644 --- a/web-client/src/main/java/com/zcloud/dto/clientobject/DeviceRegionCO.java +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/DeviceRegionCO.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * DeviceRegionCO - 设备区域客户端对象 @@ -23,15 +24,30 @@ public class DeviceRegionCO extends ClientObject { @ApiModelProperty(value = "外部消防区域主键") private Long fireRegionId; + + @ApiModelProperty(value = "外部消防区域名称") + private String fireRegionName; @ApiModelProperty(value = "外部消防区域编码") private String fireRegionCode; @ApiModelProperty(value = "负责部门ID") private Long departmentId; + + @ApiModelProperty(value = "负责部门名称") + private String departmentName; @ApiModelProperty(value = "负责人ID") private Long managerId; + + @ApiModelProperty(value = "负责人姓名") + private String managerName; + + @ApiModelProperty(value = "已绑定传感器数量") + private Integer bindSensorCount; + + @ApiModelProperty(value = "已绑定传感器列表") + private List boundSensors; @ApiModelProperty(value = "状态 1启用0停用") private Integer status; @@ -64,4 +80,4 @@ public class DeviceRegionCO extends ClientObject { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceCO.java b/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceCO.java index 68f409c..b0db8a9 100644 --- a/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceCO.java +++ b/web-client/src/main/java/com/zcloud/dto/clientobject/SensorDeviceCO.java @@ -29,6 +29,9 @@ public class SensorDeviceCO extends ClientObject { @ApiModelProperty(value = "传感器类型主键ID") private Long sensorTypeId; + + @ApiModelProperty(value = "传感器类型名称") + private String sensorTypeName; @ApiModelProperty(value = "传感器属性快照(NUMBER/SWITCH)") private String sensorAttr; @@ -106,4 +109,4 @@ public class SensorDeviceCO extends ClientObject { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-domain/src/main/java/com/zcloud/domain/gateway/DeviceRegionGateway.java b/web-domain/src/main/java/com/zcloud/domain/gateway/DeviceRegionGateway.java index 8f87c8a..be38294 100644 --- a/web-domain/src/main/java/com/zcloud/domain/gateway/DeviceRegionGateway.java +++ b/web-domain/src/main/java/com/zcloud/domain/gateway/DeviceRegionGateway.java @@ -43,5 +43,5 @@ public interface DeviceRegionGateway { /** * 更新负责人 */ - Boolean updateManager(Long id, Long managerId, Long departmentId); -} \ No newline at end of file + Boolean updateManager(Long id, Long managerId, String managerName, Long departmentId); +} diff --git a/web-domain/src/main/java/com/zcloud/domain/model/DeviceRegionE.java b/web-domain/src/main/java/com/zcloud/domain/model/DeviceRegionE.java index 3a1d3bc..118b5c3 100644 --- a/web-domain/src/main/java/com/zcloud/domain/model/DeviceRegionE.java +++ b/web-domain/src/main/java/com/zcloud/domain/model/DeviceRegionE.java @@ -22,6 +22,11 @@ public class DeviceRegionE extends BaseE { * 外部消防区域主键 */ private Long fireRegionId; + + /** + * 外部消防区域名称 + */ + private String fireRegionName; /** * 外部消防区域编码 @@ -37,6 +42,11 @@ public class DeviceRegionE extends BaseE { * 负责人ID */ private Long managerId; + + /** + * 负责人姓名 + */ + private String managerName; /** * 状态 1启用0停用 @@ -62,4 +72,4 @@ public class DeviceRegionE extends BaseE { * 组织ID */ private Long orgId; -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/gatewayimpl/DeviceRegionGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/gatewayimpl/DeviceRegionGatewayImpl.java index d40f7e1..6cb020d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/gatewayimpl/DeviceRegionGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/gatewayimpl/DeviceRegionGatewayImpl.java @@ -85,12 +85,13 @@ public class DeviceRegionGatewayImpl implements DeviceRegionGateway { } @Override - public Boolean updateManager(Long id, Long managerId, Long departmentId) { + public Boolean updateManager(Long id, Long managerId, String managerName, Long departmentId) { DeviceRegionDO d = new DeviceRegionDO(); d.setId(id); d.setManagerId(managerId); + d.setManagerName(managerName); d.setDepartmentId(departmentId); deviceRegionRepository.updateById(d); return true; } -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/AlarmRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/AlarmRecordDO.java index 6f7d8c0..4613e7b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/AlarmRecordDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/AlarmRecordDO.java @@ -1,5 +1,6 @@ package com.zcloud.persistence.dataobject; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.jjb.saas.framework.repository.basedo.BaseDO; @@ -36,6 +37,10 @@ public class AlarmRecordDO extends BaseDO { @ApiModelProperty(value = "传感器编码") private String sensorCode; + + @TableField(exist = false) + @ApiModelProperty(value = "传感器名称") + private String sensorName; @ApiModelProperty(value = "消防区域ID") private Long fireRegionId; @@ -81,6 +86,10 @@ public class AlarmRecordDO extends BaseDO { @ApiModelProperty(value = "处置人ID") private Long disposeUserId; + + @TableField(exist = false) + @ApiModelProperty(value = "处置人姓名") + private String disposeUserName; @ApiModelProperty(value = "当前处置结果快照") private String disposeResult; @@ -109,4 +118,4 @@ public class AlarmRecordDO extends BaseDO { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/DeviceRegionDO.java b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/DeviceRegionDO.java index 7c2767d..3fa0c61 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/DeviceRegionDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/DeviceRegionDO.java @@ -1,5 +1,6 @@ package com.zcloud.persistence.dataobject; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.jjb.saas.framework.repository.basedo.BaseDO; @@ -22,18 +23,32 @@ public class DeviceRegionDO extends BaseDO { @ApiModelProperty(value = "外部消防区域主键") private Long fireRegionId; + + @ApiModelProperty(value = "外部消防区域名称") + private String fireRegionName; @ApiModelProperty(value = "外部消防区域编码") private String fireRegionCode; @ApiModelProperty(value = "负责部门ID") private Long departmentId; + + @TableField(exist = false) + @ApiModelProperty(value = "负责部门名称") + private String departmentName; @ApiModelProperty(value = "负责人ID") private Long managerId; + + @ApiModelProperty(value = "负责人姓名") + private String managerName; @ApiModelProperty(value = "状态 1启用0停用") private Integer status; + + @TableField(exist = false) + @ApiModelProperty(value = "已绑定传感器数量") + private Integer bindSensorCount; @ApiModelProperty(value = "备注") private String remarks; @@ -47,4 +62,4 @@ public class DeviceRegionDO extends BaseDO { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorDeviceDO.java b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorDeviceDO.java index f1b6c64..bbe2056 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorDeviceDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorDeviceDO.java @@ -1,5 +1,6 @@ package com.zcloud.persistence.dataobject; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.jjb.saas.framework.repository.basedo.BaseDO; @@ -28,6 +29,10 @@ public class SensorDeviceDO extends BaseDO { @ApiModelProperty(value = "传感器类型主键ID") private Long sensorTypeId; + + @TableField(exist = false) + @ApiModelProperty(value = "传感器类型名称") + private String sensorTypeName; @ApiModelProperty(value = "传感器属性快照(NUMBER/SWITCH)") private String sensorAttr; @@ -89,4 +94,4 @@ public class SensorDeviceDO extends BaseDO { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorTypeDO.java b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorTypeDO.java index 9b82f15..5bf3178 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorTypeDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/dataobject/SensorTypeDO.java @@ -47,4 +47,4 @@ public class SensorTypeDO extends BaseDO { @ApiModelProperty(value = "组织ID") private Long orgId; -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java index e782410..8267049 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/AlarmRecordMapper.java @@ -1,8 +1,12 @@ package com.zcloud.persistence.mapper; -import com.zcloud.persistence.dataobject.AlarmRecordDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.persistence.dataobject.AlarmRecordDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; /** * AlarmRecordMapper - 报警记录Mapper @@ -10,4 +14,13 @@ import org.apache.ibatis.annotations.Mapper; * @Date 2026-04-03 00:00:00 */ @Mapper -public interface AlarmRecordMapper extends BaseMapper {} \ No newline at end of file +public interface AlarmRecordMapper extends BaseMapper { + + IPage listPage(IPage page, @Param("params") Map params); + + IPage disposeListPage(IPage page, @Param("params") Map params); + + IPage appListPage(IPage page, @Param("params") Map params); + + IPage appDisposeListPage(IPage page, @Param("params") Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/DeviceRegionMapper.java b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/DeviceRegionMapper.java index 781992b..182752f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/DeviceRegionMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/DeviceRegionMapper.java @@ -1,8 +1,12 @@ package com.zcloud.persistence.mapper; -import com.zcloud.persistence.dataobject.DeviceRegionDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.persistence.dataobject.DeviceRegionDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; /** * DeviceRegionMapper - 设备区域Mapper @@ -10,4 +14,7 @@ import org.apache.ibatis.annotations.Mapper; * @Date 2026-04-03 00:00:00 */ @Mapper -public interface DeviceRegionMapper extends BaseMapper {} \ No newline at end of file +public interface DeviceRegionMapper extends BaseMapper { + + IPage listPage(IPage page, @Param("params") Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java index 3aa52a7..c9b578e 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorDeviceMapper.java @@ -1,8 +1,12 @@ package com.zcloud.persistence.mapper; -import com.zcloud.persistence.dataobject.SensorDeviceDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.persistence.dataobject.SensorDeviceDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; /** * SensorDeviceMapper - 传感器设备Mapper @@ -10,4 +14,7 @@ import org.apache.ibatis.annotations.Mapper; * @Date 2026-04-03 00:00:00 */ @Mapper -public interface SensorDeviceMapper extends BaseMapper {} \ No newline at end of file +public interface SensorDeviceMapper extends BaseMapper { + + IPage listPage(IPage page, @Param("params") Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorTypeMapper.java b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorTypeMapper.java index 493c37b..1e9f983 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorTypeMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/mapper/SensorTypeMapper.java @@ -1,8 +1,12 @@ package com.zcloud.persistence.mapper; -import com.zcloud.persistence.dataobject.SensorTypeDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.persistence.dataobject.SensorTypeDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; /** * SensorTypeMapper - 传感器类型Mapper @@ -10,4 +14,7 @@ import org.apache.ibatis.annotations.Mapper; * @Date 2026-04-03 00:00:00 */ @Mapper -public interface SensorTypeMapper extends BaseMapper {} \ No newline at end of file +public interface SensorTypeMapper extends BaseMapper { + + IPage listPage(IPage page, @Param("params") Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java index 61f8e62..640d114 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/AlarmRecordRepository.java @@ -1,11 +1,23 @@ package com.zcloud.persistence.repository; -import com.zcloud.persistence.dataobject.AlarmRecordDO; +import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.persistence.dataobject.AlarmRecordDO; + +import java.util.Map; /** * AlarmRecordRepository - 报警记录仓储接口 * @Author wangyan * @Date 2026-04-03 00:00:00 */ -public interface AlarmRecordRepository extends BaseRepository {} \ No newline at end of file +public interface AlarmRecordRepository extends BaseRepository { + + PageResponse listPage(Map params); + + PageResponse disposeListPage(Map params); + + PageResponse appListPage(Map params); + + PageResponse appDisposeListPage(Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/DeviceRegionRepository.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/DeviceRegionRepository.java index 4080ffd..9b3e28b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/DeviceRegionRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/DeviceRegionRepository.java @@ -1,11 +1,17 @@ package com.zcloud.persistence.repository; -import com.zcloud.persistence.dataobject.DeviceRegionDO; +import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.persistence.dataobject.DeviceRegionDO; + +import java.util.Map; /** * DeviceRegionRepository - 设备区域仓储接口 * @Author wangyan * @Date 2026-04-03 00:00:00 */ -public interface DeviceRegionRepository extends BaseRepository {} \ No newline at end of file +public interface DeviceRegionRepository extends BaseRepository { + + PageResponse listPage(Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java index d77d368..a0435ce 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorDeviceRepository.java @@ -1,11 +1,17 @@ package com.zcloud.persistence.repository; -import com.zcloud.persistence.dataobject.SensorDeviceDO; +import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.persistence.dataobject.SensorDeviceDO; + +import java.util.Map; /** * SensorDeviceRepository - 传感器设备仓储接口 * @Author wangyan * @Date 2026-04-03 00:00:00 */ -public interface SensorDeviceRepository extends BaseRepository {} \ No newline at end of file +public interface SensorDeviceRepository extends BaseRepository { + + PageResponse listPage(Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorTypeRepository.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorTypeRepository.java index 984ce68..1c2c446 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorTypeRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/SensorTypeRepository.java @@ -1,11 +1,17 @@ package com.zcloud.persistence.repository; -import com.zcloud.persistence.dataobject.SensorTypeDO; +import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.persistence.dataobject.SensorTypeDO; + +import java.util.Map; /** * SensorTypeRepository - 传感器类型仓储接口 * @Author wangyan * @Date 2026-04-03 00:00:00 */ -public interface SensorTypeRepository extends BaseRepository {} \ No newline at end of file +public interface SensorTypeRepository extends BaseRepository { + + PageResponse listPage(Map params); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java index 94cc367..ed71992 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorDeviceRepositoryImpl.java @@ -1,12 +1,18 @@ package com.zcloud.persistence.repository.impl; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.zcloud.persistence.dataobject.SensorDeviceDO; import com.zcloud.persistence.mapper.SensorDeviceMapper; import com.zcloud.persistence.repository.SensorDeviceRepository; -import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.utils.Query; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; +import java.util.Map; + /** * SensorDeviceRepositoryImpl - 传感器设备仓储实现类 * @Author wangyan @@ -15,4 +21,13 @@ import org.springframework.stereotype.Repository; @Repository @RequiredArgsConstructor public class SensorDeviceRepositoryImpl extends BaseRepositoryImpl implements SensorDeviceRepository { -} \ No newline at end of file + + private final SensorDeviceMapper sensorDeviceMapper; + + @Override + public PageResponse listPage(Map params) { + IPage page = new Query().getPage(params); + IPage result = sensorDeviceMapper.listPage(page, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorTypeRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorTypeRepositoryImpl.java index 3cad21e..55df113 100644 --- a/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorTypeRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/persistence/repository/impl/SensorTypeRepositoryImpl.java @@ -1,12 +1,18 @@ package com.zcloud.persistence.repository.impl; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.zcloud.persistence.dataobject.SensorTypeDO; import com.zcloud.persistence.mapper.SensorTypeMapper; import com.zcloud.persistence.repository.SensorTypeRepository; -import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.utils.Query; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; +import java.util.Map; + /** * SensorTypeRepositoryImpl - 传感器类型仓储实现类 * @Author wangyan @@ -15,4 +21,13 @@ import org.springframework.stereotype.Repository; @Repository @RequiredArgsConstructor public class SensorTypeRepositoryImpl extends BaseRepositoryImpl implements SensorTypeRepository { -} \ No newline at end of file + + private final SensorTypeMapper sensorTypeMapper; + + @Override + public PageResponse listPage(Map params) { + IPage page = new Query().getPage(params); + IPage result = sensorTypeMapper.listPage(page, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } +}