Prechádzať zdrojové kódy

解决分页的问题

lixing 3 rokov pred
rodič
commit
478d574c7b

+ 4 - 17
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/controller/AlarmItemController.java

@@ -1,30 +1,16 @@
 package com.persagy.apm.alarmservice.group.alarmrecord.controller;
 
-import com.persagy.apm.alarmservice.dependency.saasweb.service.SaasWebClientWrapper;
-import com.persagy.apm.alarmservice.group.alarmrecord.model.ConvertAlarmCommentTool;
-import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.CreateAlarmCommentDTO;
-import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.PageQueryAlarmCommentDTO;
-import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmCommentListItem;
-import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
-import com.persagy.apm.common.response.ApmResponseUpsertVO;
 import com.persagy.apm.common.response.CommonResult;
 import com.persagy.apm.common.response.PageList;
 import com.persagy.apm.common.utils.ResultHelper;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmcomment.QueryAlarmCommentDTO;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.AddAlarmCommentDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmitem.QueryAlarmItemDTO;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryDTO;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmCommentItem;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmItem;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.DmpUpsertVO;
-import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmCommentServiceImpl;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmItemServiceImpl;
 import com.persagy.common.exception.BusinessException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.assertj.core.util.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -33,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.text.Collator;
+import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -50,9 +38,6 @@ public class AlarmItemController {
     @Autowired
     AlarmItemServiceImpl alarmItemService;
 
-    @Autowired
-    private IGroupAlarmRuleService groupAlarmRuleService;
-
     @ApiOperation(value = "报警类型列表")
     @PostMapping("/query")
     public CommonResult<PageList<SimpleObjVO>> queryAlarmItem(
@@ -63,6 +48,8 @@ public class AlarmItemController {
         }
         List<SimpleObjVO> resultList = dmpResult.getData().stream().map(
                 alarmItem -> new SimpleObjVO(alarmItem.getCode(), alarmItem.getName())
+        ).sorted(
+                Comparator.comparing(SimpleObjVO::getName, Collator.getInstance(java.util.Locale.CHINA))
         ).collect(Collectors.toList());
         return ResultHelper.multi(resultList);
     }

+ 5 - 2
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/impl/GroupAlarmRuleServiceImpl.java

@@ -195,12 +195,13 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         String classCode = updateGroupAlarmRuleDTO.getClassCode();
         String alarmItemCode = updateGroupAlarmRuleDTO.getAlarmItemCode();
         deleteEquipCondition(condition,classCode, alarmItemCode);
-        List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
+
         BatchAddAlarmConfigDTO batchAddAlarmConfigDTO = new BatchAddAlarmConfigDTO();
         //新增中台设备的报警条件
         //查询所有设备
         List<ProjectVO> projects = projectAlarmRuleService.getProject();
         for (ProjectVO project : projects) {
+            List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
             QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
             queryEquipDTO.setProjectId(project.getProjectId());
             queryEquipDTO.setClassCode(classCode);
@@ -372,6 +373,7 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         deleteEquipCondition(condition,classCode, groupAlarmRule.getAlarmItemCode());
     }
 
+    @Override
     public void deleteEquipCondition(String condition,String classCode, String alarmItemCode) throws Exception {
         //删除设备报警条件 begin
         BatchDeleteAlarmConfigDTO batchDeleteAlarmConfigDTO = new BatchDeleteAlarmConfigDTO();
@@ -446,7 +448,8 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         return result;
     }
 
-    public List<EquipItem> getAllEquip(String classCode,String condition){
+    @Override
+    public List<EquipItem> getAllEquip(String classCode, String condition){
         //查询所有项目
         List<ProjectVO> projects = projectAlarmRuleService.getProject();
         List<EquipItem> records = new ArrayList<>();

+ 1 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/impl/ProjectAlarmRuleObjRelServiceImpl.java

@@ -405,6 +405,7 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
         return list(queryWrapper);
     }
 
+    @Override
     public List<ProjectAlarmRuleObjRel> queryObjRelList(List<String> projectAlarmRuleIdList) {
         List<ProjectAlarmRuleObjRel> list = new ArrayList<>();
         for (String projectAlarmRuleId : projectAlarmRuleIdList) {

+ 9 - 1
src/main/java/com/persagy/apm/alarmservice/project/monitorindicatorconfig/service/impl/ProjectMonitorIndicatorConfigServiceImpl.java

@@ -288,13 +288,21 @@ public class ProjectMonitorIndicatorConfigServiceImpl extends ServiceImpl<Projec
      */
     private List<ProjectMonitorIndicatorConfigListItemVO> subResultByPageInfo(
             PageQueryProjectMonitorIndicatorConfigDTO pageQueryProjectMonitorIndicatorConfigDTO, List<ProjectMonitorIndicatorConfigListItemVO> recordList) {
+        if (CollectionUtils.isEmpty(recordList)) {
+            return new ArrayList<>();
+        }
+
         Integer page = pageQueryProjectMonitorIndicatorConfigDTO.getPage();
         Integer size = pageQueryProjectMonitorIndicatorConfigDTO.getSize();
 
         if (page == null || size == null) {
             throw new IllegalArgumentException("缺少分页条件");
         }
-        return recordList.subList((page - 1) * size, page * size);
+
+        if ((page - 1) * size > recordList.size()) {
+            return new ArrayList<>();
+        }
+        return recordList.subList((page - 1) * size, Math.min(page * size, recordList.size()));
     }
 
     /**