Selaa lähdekoodia

修改报警记录列表排序bug;修改报警详情中报警持续时间bug;

lixing 3 vuotta sitten
vanhempi
commit
eb12889d09

+ 4 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/controller/AlarmRecordController.java

@@ -24,6 +24,7 @@ import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord.BatchUpdateAlarmRecordDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord.QueryAlarmRecordDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord.UpdateAlarmRecordDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.OrderDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmRecordItem;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmItemServiceImpl;
@@ -116,8 +117,10 @@ public class AlarmRecordController {
             sort.setColumn("triggerTime");
             sort.setAsc(false);
             orders = Lists.newArrayList(sort);
-            pageQueryAlarmRecordDTO.setOrders(orders);
         }
+        // pageQueryAlarmRecordDTO中的排序转换为queryDTO中的排序
+        List<OrderDTO> orderDTOList = ConvertAlarmRecordTool.INSTANCE.convert2OrderDTOList(orders);
+        queryDTO.setOrders(orderDTOList);
         DmpResult<List<AlarmRecordItem>> query = alarmRecordService.query(queryDTO);
         // 报警数据中台查询结果转换为报警业务中台报警记录
         List<AlarmRecordListItem> resultList = alarmRecordWrapper.getAlarmRecordListItems(query);

+ 8 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/model/ConvertAlarmRecordTool.java

@@ -1,10 +1,14 @@
 package com.persagy.apm.alarmservice.group.alarmrecord.model;
 
 import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.PageQueryAlarmRecordDTO;
+import com.persagy.apm.common.model.dto.Sort;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord.QueryAlarmRecordDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.OrderDTO;
 import org.mapstruct.*;
 import org.mapstruct.factory.Mappers;
 
+import java.util.List;
+
 /**
  * 报警记录(AlarmRecord) dto、vo、do转换工具类
  * @author lixing
@@ -25,4 +29,8 @@ public interface ConvertAlarmRecordTool {
             @Mapping(source = "alarmTreatMode", target = "treatMode"),
     })
     QueryAlarmRecordDTO convert2QueryAlarmRecordDTO(PageQueryAlarmRecordDTO pageQueryAlarmRecordDTO);
+
+    OrderDTO convert2OrderDTO(Sort sort);
+
+    List<OrderDTO> convert2OrderDTOList(List<Sort> sortList);
 }

+ 2 - 3
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/service/AlarmRecordWrapper.java

@@ -95,10 +95,9 @@ public class AlarmRecordWrapper {
 
         long durationNs = endTime.getTime() - triggerTime.getTime();
         // ns/1000=s s/60=min min/60=hour
-        long durationHour = durationNs / (1000 * 60 * 60);
         // 保留两位小数
-        BigDecimal bd = new BigDecimal(durationHour);
-        bd = bd.setScale(2, RoundingMode.HALF_UP);
+        BigDecimal bd = new BigDecimal(durationNs);
+        bd = bd.divide(new BigDecimal(1000 * 60 * 60),2, RoundingMode.HALF_UP);
         return bd.toString();
     }