Browse Source

1、优化告警分页接口,先查询设备信息表中未删除的设备信息,然后根据devIdList去过滤刷选告警记录,保证删除后的设备告警信息不做查询,测试接口;
2、优化定时任务同步全量设备状态接口,增加调用datarealtime表数据,用于更新设备状态,测试定时任务;
3、测试更新设备列表状态接口;

james 5 days ago
parent
commit
a1108722fc

+ 2 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/config/DeviceOperate.java

@@ -43,8 +43,8 @@ public class DeviceOperate {
         List<Map<String,Object>> dataList = list.getData();
         if(CollectionUtils.isNotEmpty(dataList)){
             for(int i=0;i<dataList.size();i++){
-                String deviceuuid = dataList.get(i).get("deviceuuid").toString();
-                LocalDateTime lTime = Instant.ofEpochMilli(Long.valueOf(dataList.get(i).get("time").toString())).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
+                String deviceuuid = dataList.get(i).get("device_uuid").toString();
+                LocalDateTime lTime = Instant.ofEpochMilli(Long.valueOf(dataList.get(i).get("realtime").toString())).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
                 String date =  lTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                 String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                 LambdaUpdateWrapper<DmpDeviceStatus> updateWrapper = Wrappers.lambdaUpdate();

+ 65 - 55
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java

@@ -198,75 +198,85 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
 
     public CommonPage<BaseAlarm> page(BaseAlarmListVO baseAlarmListVO){
         List<BaseAlarm> list = new ArrayList<>();
-        IPage<BaseAlarm> page = new Page<>(baseAlarmListVO.getCurrent(), baseAlarmListVO.getSize());
-        LambdaQueryWrapper<BaseAlarm> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
-                .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
-                .in(CollectionUtils.isNotEmpty(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,
-                        baseAlarmListVO.getAlarmType())
-                .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
-                .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
-                .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
-                .eq(Objects.nonNull(baseAlarmListVO.getId()),BaseAlarm::getId,baseAlarmListVO.getId());
-        if (StringUtils.isNotBlank(baseAlarmListVO.getTypeCode())){
-            if (baseAlarmListVO.getTypeCode().equals("1")){
-                queryWrapper.eq(BaseAlarm::getAlarmGrade,1)
-                        .orderByDesc(BaseAlarm::getId);
-            }else if (baseAlarmListVO.getTypeCode().equals("2")){
-                queryWrapper.ne(BaseAlarm::getAlarmGrade,1)
-                        .orderByDesc(BaseAlarm::getId);
+
+        List<String> devIdList = new ArrayList<>();
+        LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.eq(DmpDeviceInfo::getTenantId,SecurityUtils.getTenantId())
+                .eq(DmpDeviceInfo::getDeleteFlag,0);
+        List<DmpDeviceInfo> deviceInfo = dmpDeviceInfoService.list(queryWrapper1);
+        if(CollectionUtils.isNotEmpty(deviceInfo)){
+            for(int j=0;j<deviceInfo.size();j++){
+                devIdList.add(deviceInfo.get(j).getDeviceId());
             }
-        }else {
-            queryWrapper.orderByDesc(BaseAlarm::getId);
         }
-        page = this.page(page,queryWrapper);
-//        List<BaseAlarm> records = this.list(queryWrapper);
-        if(page.getRecords().size()>0){
-            List<String> devList = new ArrayList<>();
-            for(int i=0;i<page.getRecords().size();i++){
-                devList.add(page.getRecords().get(i).getDeviceId());
+
+        IPage<BaseAlarm> page = new Page<>(baseAlarmListVO.getCurrent(), baseAlarmListVO.getSize());
+        if(CollectionUtils.isNotEmpty(devIdList)){
+            LambdaQueryWrapper<BaseAlarm> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.in(BaseAlarm::getDeviceId,devIdList)
+                    .eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
+                    .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
+                    .in(CollectionUtils.isNotEmpty(baseAlarmListVO.getAlarmType()),BaseAlarm::getAlarmType,
+                            baseAlarmListVO.getAlarmType())
+                    .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
+                    .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
+                    .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
+                    .eq(Objects.nonNull(baseAlarmListVO.getId()),BaseAlarm::getId,baseAlarmListVO.getId());
+            if (StringUtils.isNotBlank(baseAlarmListVO.getTypeCode())){
+                if (baseAlarmListVO.getTypeCode().equals("1")){
+                    queryWrapper.eq(BaseAlarm::getAlarmGrade,1)
+                            .orderByDesc(BaseAlarm::getId);
+                }else if (baseAlarmListVO.getTypeCode().equals("2")){
+                    queryWrapper.ne(BaseAlarm::getAlarmGrade,1)
+                            .orderByDesc(BaseAlarm::getId);
+                }
+            }else {
+                queryWrapper.orderByDesc(BaseAlarm::getId);
             }
+            page = this.page(page,queryWrapper);
+//        List<BaseAlarm> records = this.list(queryWrapper);
+            if(page.getRecords().size()>0){
+                List<String> devList = new ArrayList<>();
+                for(int i=0;i<page.getRecords().size();i++){
+                    devList.add(page.getRecords().get(i).getDeviceId());
+                }
 
-            if(devList.size() > 0){
-                LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
-                queryWrapper1.in(DmpDeviceInfo::getDeviceId,devList)
-                        .eq(DmpDeviceInfo::getTenantId,SecurityUtils.getTenantId())
-                        .eq(DmpDeviceInfo::getDeleteFlag,0);
-                List<DmpDeviceInfo> deviceInfo = dmpDeviceInfoService.list(queryWrapper1);
-                LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery1 = Wrappers.lambdaQuery();
-                lambdaQuery1.in(BaseFacilityDevice::getDeviceId,devList);
-                List<BaseFacilityDevice> records1 = baseFacilityDeviceService.list(lambdaQuery1);
-                if(CollectionUtils.isNotEmpty(deviceInfo)){
-                    for(int i=0;i<page.getRecords().size();i++){
-                        for(int j=0;j<deviceInfo.size();j++){
-                            if(page.getRecords().get(i).getDeviceId().equals(deviceInfo.get(j).getDeviceId())){
-                                page.getRecords().get(i).setDeviceName(deviceInfo.get(j).getDeviceName());
-                                page.getRecords().get(i).setDeviceType(deviceInfo.get(j).getDeviceType());
-                                break;
+                if(devList.size() > 0){
+                    LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery1 = Wrappers.lambdaQuery();
+                    lambdaQuery1.in(BaseFacilityDevice::getDeviceId,devList);
+                    List<BaseFacilityDevice> records1 = baseFacilityDeviceService.list(lambdaQuery1);
+                    if(CollectionUtils.isNotEmpty(deviceInfo)){
+                        for(int i=0;i<page.getRecords().size();i++){
+                            for(int j=0;j<deviceInfo.size();j++){
+                                if(page.getRecords().get(i).getDeviceId().equals(deviceInfo.get(j).getDeviceId())){
+                                    page.getRecords().get(i).setDeviceName(deviceInfo.get(j).getDeviceName());
+                                    page.getRecords().get(i).setDeviceType(deviceInfo.get(j).getDeviceType());
+                                    break;
+                                }
                             }
-                        }
-                        for(int k=0;k<records1.size();k++){
-                            if(page.getRecords().get(i).getDeviceId().equals(records1.get(k).getDeviceId())){
-                                page.getRecords().get(i).setFacilityId(records1.get(k).getFacilityId());
-                                break;
+                            for(int k=0;k<records1.size();k++){
+                                if(page.getRecords().get(i).getDeviceId().equals(records1.get(k).getDeviceId())){
+                                    page.getRecords().get(i).setFacilityId(records1.get(k).getFacilityId());
+                                    break;
+                                }
                             }
                         }
                     }
                 }
-            }
 
-            List<BaseAlarmType> alarmTypeList = baseMapper.getAlarmTypeList();
-            if(CollectionUtils.isNotEmpty(alarmTypeList)){
-                for(int i=0;i<page.getRecords().size();i++){
-                    for(int j=0;j<alarmTypeList.size();j++){
-                        if(page.getRecords().get(i).getAlarmType().equals(alarmTypeList.get(j).getTypeCode())){
-                            page.getRecords().get(i).setTypeImg(alarmTypeList.get(j).getTypeImg());
-                            break;
+                List<BaseAlarmType> alarmTypeList = baseMapper.getAlarmTypeList();
+                if(CollectionUtils.isNotEmpty(alarmTypeList)){
+                    for(int i=0;i<page.getRecords().size();i++){
+                        for(int j=0;j<alarmTypeList.size();j++){
+                            if(page.getRecords().get(i).getAlarmType().equals(alarmTypeList.get(j).getTypeCode())){
+                                page.getRecords().get(i).setTypeImg(alarmTypeList.get(j).getTypeImg());
+                                break;
+                            }
                         }
                     }
                 }
-            }
 
+            }
         }
 
         if(StringUtils.isNotBlank(baseAlarmListVO.getDeviceName())){

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceInfoServiceImpl.java

@@ -440,7 +440,7 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
             for(int i=0;i<list.size();i++){
                 if(Objects.nonNull(list.get(i).getMetrics())){
                     String deviceuuid = list.get(i).getDeviceuuid();
-                    LocalDateTime lTime = Instant.ofEpochMilli(Long.valueOf(list.get(i).getMetrics().get("time").toString())).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
+                    LocalDateTime lTime = Instant.ofEpochMilli(Long.valueOf(list.get(i).getMetrics().get("realtime").toString())).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
                     String date =  lTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     LambdaUpdateWrapper<DmpDeviceStatus> updateWrapper = Wrappers.lambdaUpdate();