Browse Source

合并工程

gaoyu 3 years ago
parent
commit
c557889680
37 changed files with 698 additions and 3135 deletions
  1. 8 31
      src/main/java/com/persagy/apm/dmpalarm/config/WebConfig.java
  2. 2 81
      src/main/java/com/persagy/apm/dmpalarm/controller/AlarmCommentController.java
  3. 7 72
      src/main/java/com/persagy/apm/dmpalarm/controller/AlarmConfigController.java
  4. 7 73
      src/main/java/com/persagy/apm/dmpalarm/controller/AlarmItemController.java
  5. 14 72
      src/main/java/com/persagy/apm/dmpalarm/controller/AlarmLogController.java
  6. 22 53
      src/main/java/com/persagy/apm/dmpalarm/controller/AlarmRecordController.java
  7. 7 73
      src/main/java/com/persagy/apm/dmpalarm/controller/AlarmTargetController.java
  8. 68 31
      src/main/java/com/persagy/apm/dmpalarm/criteria/CriteriaUtils.java
  9. 4 0
      src/main/java/com/persagy/apm/dmpalarm/dao/AlarmRecordMapper.java
  10. 14 0
      src/main/java/com/persagy/apm/dmpalarm/enumeration/EnumAlarmLogType.java
  11. 31 52
      src/main/java/com/persagy/apm/dmpalarm/model/AlarmLog.java
  12. 5 2
      src/main/java/com/persagy/apm/dmpalarm/model/AlarmRecord.java
  13. 0 73
      src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmCommentTool.java
  14. 0 73
      src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmConfigTool.java
  15. 0 73
      src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmItemTool.java
  16. 0 73
      src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmLogTool.java
  17. 0 78
      src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmRecordTool.java
  18. 0 73
      src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmTargetTool.java
  19. 0 64
      src/main/java/com/persagy/apm/dmpalarm/service/IAlarmCommentService.java
  20. 1 64
      src/main/java/com/persagy/apm/dmpalarm/service/IAlarmConfigService.java
  21. 1 65
      src/main/java/com/persagy/apm/dmpalarm/service/IAlarmItemService.java
  22. 3 63
      src/main/java/com/persagy/apm/dmpalarm/service/IAlarmLogService.java
  23. 9 66
      src/main/java/com/persagy/apm/dmpalarm/service/IAlarmRecordService.java
  24. 1 64
      src/main/java/com/persagy/apm/dmpalarm/service/IAlarmTargetService.java
  25. 7 0
      src/main/java/com/persagy/apm/dmpalarm/service/IBaseService.java
  26. 3 233
      src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmCommentServiceImpl.java
  27. 4 316
      src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmConfigServiceImpl.java
  28. 5 292
      src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmItemServiceImpl.java
  29. 27 254
      src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmLogServiceImpl.java
  30. 220 401
      src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmRecordServiceImpl.java
  31. 5 268
      src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmTargetServiceImpl.java
  32. 45 0
      src/main/java/com/persagy/apm/dmpalarm/service/impl/BaseServiceImpl.java
  33. 101 0
      src/main/java/com/persagy/apm/dmpalarm/utils/CheckRequiredParam.java
  34. 33 0
      src/main/java/com/persagy/apm/dmpalarm/utils/MD5Utils.java
  35. 42 0
      src/main/java/com/persagy/apm/dmpalarm/utils/UtilsTools.java
  36. 1 1
      src/main/java/com/persagy/apm/dmpalarm/web/MapResponse.java
  37. 1 1
      src/main/resources/mapper/AlarmLogMapper.xml

+ 8 - 31
src/main/java/com/persagy/apm/dmpalarm/config/WebConfig.java

@@ -1,22 +1,19 @@
 package com.persagy.apm.dmpalarm.config;
 
-import java.util.List;
-
 import org.springframework.amqp.core.AcknowledgeMode;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
 import org.springframework.amqp.rabbit.connection.ConnectionFactory;
 import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
 import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
 import org.springframework.amqp.support.converter.MessageConverter;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.alibaba.fastjson.support.config.FastJsonConfig;
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+import com.persagy.apm.dmpalarm.json.JacksonMapper;
 
 /**
  * @author: yaoll
@@ -37,32 +34,12 @@ public class WebConfig implements WebMvcConfigurer {
 		registry.addInterceptor(dmpParameterStorage()).addPathPatterns("/**");
 	}
 
-//	@Bean
-//	public HttpMessageConverters customConverters() {
-//		MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
-//		converter.setObjectMapper(JacksonMapper.nonEmptyMapper);
-//		return new HttpMessageConverters(converter);
-//	}
-
-	@Override
-	public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
-		WebMvcConfigurer.super.extendMessageConverters(converters);
-		/*
-		 * 1、需要先定义一个convert转换消息的对象 2、添加fastJson的配置信息,比如:是否要格式化返回json数据 3、在convert中添加配置信息
-		 * 4、将convert添加到converters当中
-		 * 
-		 */
-		// 1、需要先定义一个·convert转换消息的对象;
-		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
-		// 2、添加fastjson的配置信息,比如 是否要格式化返回json数据
-		FastJsonConfig fastJsonConfig = new FastJsonConfig();
-		fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
-		// 3、在convert中添加配置信息.
-		fastConverter.setFastJsonConfig(fastJsonConfig);
-		// 4、将convert添加到converters当中.
-		converters.add(fastConverter);
+	@Bean
+	public HttpMessageConverters customConverters() {
+		MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+		converter.setObjectMapper(JacksonMapper.nonEmptyMapper);
+		return new HttpMessageConverters(converter);
 	}
-
 	// JMS 使用
 	@Bean
 	public MessageConverter customMessageConvert() {

+ 2 - 81
src/main/java/com/persagy/apm/dmpalarm/controller/AlarmCommentController.java

@@ -1,33 +1,13 @@
 package com.persagy.apm.dmpalarm.controller;
 
-import java.util.List;
-
-import javax.validation.Valid;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-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.dmpalarm.model.AlarmComment;
-import com.persagy.apm.dmpalarm.model.ConvertAlarmCommentTool;
-import com.persagy.apm.dmpalarm.model.dto.AddAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.dto.DeleteAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.dto.QueryAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.dto.QueryAlarmCommentDetailDTO;
-import com.persagy.apm.dmpalarm.model.dto.UpdateAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.vo.AlarmCommentItemVO;
-import com.persagy.apm.dmpalarm.model.vo.AlarmCommentListItemVO;
 import com.persagy.apm.dmpalarm.service.IAlarmCommentService;
 
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 
 /**
  * 报警批注控制层
@@ -37,69 +17,10 @@ import io.swagger.annotations.ApiOperation;
 @Api(tags = "报警批注") 
 @Validated
 @RestController
-@RequestMapping("alarmComments")
+@RequestMapping("/alarm/comment")
 public class AlarmCommentController {
     @Autowired
     private IAlarmCommentService alarmCommentService;
-
-	@ApiOperation(value = "创建报警批注")
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmComment(
-	        @Valid @RequestBody AddAlarmCommentDTO addAlarmCommentDTO) {
-        String id = alarmCommentService.createAlarmComment(addAlarmCommentDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警批注详情")
-    @PostMapping("/get")
-    public CommonResult<AlarmCommentItemVO> queryAlarmCommentDetail(
-            @Valid @RequestBody QueryAlarmCommentDetailDTO queryAlarmCommentDetailDTO) {
-        AlarmComment alarmComment = alarmCommentService.queryAlarmCommentDetail(queryAlarmCommentDetailDTO.getId());
-        AlarmCommentItemVO alarmCommentItemVO = ConvertAlarmCommentTool.INSTANCE.convert2ResponseItemDTO(alarmComment);
-        return ResultHelper.single(alarmCommentItemVO);
-    }
-
-
-    @ApiOperation(value = "更新报警批注")
-    @PostMapping("/update")
-    public CommonResult<ApmResponseUpsertVO> updateAlarmComment(
-            @Valid @RequestBody UpdateAlarmCommentDTO updateAlarmCommentDTO) {
-        alarmCommentService.updateAlarmComment(updateAlarmCommentDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(updateAlarmCommentDTO.getId()));
-    }
-
-
-    @ApiOperation(value = "删除报警批注")
-    @PostMapping("/delete")
-    public CommonResult<?> deleteAlarmComment(
-            @RequestBody @Valid DeleteAlarmCommentDTO deleteAlarmCommentDTO) {
-        alarmCommentService.deleteAlarmComment(deleteAlarmCommentDTO.getId());
-        return ResultHelper.success();
-    }
-
-
-    @ApiOperation(value = "报警批注列表")
-    @PostMapping("/query")
-    public CommonResult<PageList<AlarmCommentListItemVO>> queryAlarmComment(
-            @Valid @RequestBody QueryAlarmCommentDTO queryAlarmCommentDTO) {
-        List<AlarmComment> alarmCommentList = alarmCommentService.queryAlarmCommentList(queryAlarmCommentDTO);
-        List<AlarmCommentListItemVO> resultList = ConvertAlarmCommentTool.INSTANCE.convert2List(alarmCommentList);
-        return ResultHelper.multi(resultList);
-    }
-    
-    //@ApiOperation(value = "报警批注列表, 分页查询")
-    //@PostMapping("/query")
-    //public CommonResult<PageList<AlarmCommentListItemVO>> queryAlarmComment(
-    //        @Valid @RequestBody PageQueryAlarmCommentDTO pageQueryAlarmCommentDTO) {
-    //    IPage<AlarmComment> pagedList = alarmCommentService.pageQueryAlarmComment(pageQueryAlarmCommentDTO);
-    //    IPage<AlarmCommentListItemVO> pagedResultList = pagedList.convert(item -> {
-    //        try {
-    //           return ConvertAlarmCommentTool.INSTANCE.convert2ResponseListItemDTO(item);
-    //        } catch (Exception e) {
-    //            throw new IllegalArgumentException("分页查询,AlarmComment实体类转换为列表对象发生异常", e);
-    //        }
-    //    });
-    //    return ResultHelper.multi(pagedResultList);
-    //}
+ 
 }
 

+ 7 - 72
src/main/java/com/persagy/apm/dmpalarm/controller/AlarmConfigController.java

@@ -1,20 +1,13 @@
 package com.persagy.apm.dmpalarm.controller;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.persagy.apm.dmpalarm.service.IAlarmConfigService;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import com.persagy.apm.common.response.*;
-import com.persagy.apm.common.utils.ResultHelper;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
-import java.util.List;
 
 /**
  * 报警定义控制层
@@ -24,69 +17,11 @@ import java.util.List;
 @Api(tags = "报警定义") 
 @Validated
 @RestController
-@RequestMapping("alarmConfigs")
+@RequestMapping("/alarm/config")
 public class AlarmConfigController {
     @Autowired
     private IAlarmConfigService alarmConfigService;
 
-	@ApiOperation(value = "创建报警定义")
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmConfig(
-	        @Valid @RequestBody AddAlarmConfigDTO addAlarmConfigDTO) {
-        String id = alarmConfigService.createAlarmConfig(addAlarmConfigDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警定义详情")
-    @PostMapping("/get")
-    public CommonResult<AlarmConfigItemVO> queryAlarmConfigDetail(
-            @Valid @RequestBody QueryAlarmConfigDetailDTO queryAlarmConfigDetailDTO) {
-        AlarmConfig alarmConfig = alarmConfigService.queryAlarmConfigDetail(queryAlarmConfigDetailDTO.getId());
-        AlarmConfigItemVO alarmConfigItemVO = ConvertAlarmConfigTool.INSTANCE.convert2ResponseItemDTO(alarmConfig);
-        return ResultHelper.single(alarmConfigItemVO);
-    }
-
-
-    @ApiOperation(value = "更新报警定义")
-    @PostMapping("/update")
-    public CommonResult<ApmResponseUpsertVO> updateAlarmConfig(
-            @Valid @RequestBody UpdateAlarmConfigDTO updateAlarmConfigDTO) {
-        alarmConfigService.updateAlarmConfig(updateAlarmConfigDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(updateAlarmConfigDTO.getId()));
-    }
-
-
-    @ApiOperation(value = "删除报警定义")
-    @PostMapping("/delete")
-    public CommonResult deleteAlarmConfig(
-            @RequestBody @Valid DeleteAlarmConfigDTO deleteAlarmConfigDTO) {
-        alarmConfigService.deleteAlarmConfig(deleteAlarmConfigDTO.getId());
-        return ResultHelper.success();
-    }
-
-
-    @ApiOperation(value = "报警定义列表")
-    @PostMapping("/query")
-    public CommonResult<PageList<AlarmConfigListItemVO>> queryAlarmConfig(
-            @Valid @RequestBody QueryAlarmConfigDTO queryAlarmConfigDTO) {
-        List<AlarmConfig> alarmConfigList = alarmConfigService.queryAlarmConfigList(queryAlarmConfigDTO);
-        List<AlarmConfigListItemVO> resultList = ConvertAlarmConfigTool.INSTANCE.convert2List(alarmConfigList);
-        return ResultHelper.multi(resultList);
-    }
-    
-    //@ApiOperation(value = "报警定义列表, 分页查询")
-    //@PostMapping("/query")
-    //public CommonResult<PageList<AlarmConfigListItemVO>> queryAlarmConfig(
-    //        @Valid @RequestBody PageQueryAlarmConfigDTO pageQueryAlarmConfigDTO) {
-    //    IPage<AlarmConfig> pagedList = alarmConfigService.pageQueryAlarmConfig(pageQueryAlarmConfigDTO);
-    //    IPage<AlarmConfigListItemVO> pagedResultList = pagedList.convert(item -> {
-    //        try {
-    //           return ConvertAlarmConfigTool.INSTANCE.convert2ResponseListItemDTO(item);
-    //        } catch (Exception e) {
-    //            throw new IllegalArgumentException("分页查询,AlarmConfig实体类转换为列表对象发生异常", e);
-    //        }
-    //    });
-    //    return ResultHelper.multi(pagedResultList);
-    //}
+	 
 }
 

+ 7 - 73
src/main/java/com/persagy/apm/dmpalarm/controller/AlarmItemController.java

@@ -1,20 +1,13 @@
 package com.persagy.apm.dmpalarm.controller;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.persagy.apm.dmpalarm.service.IAlarmItemService;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import com.persagy.apm.common.response.*;
-import com.persagy.apm.common.utils.ResultHelper;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
-import java.util.List;
 
 /**
  * 报警条目控制层
@@ -24,69 +17,10 @@ import java.util.List;
 @Api(tags = "报警条目") 
 @Validated
 @RestController
-@RequestMapping("alarmItems")
+@RequestMapping("/alarm/item")
 public class AlarmItemController {
     @Autowired
     private IAlarmItemService alarmItemService;
-
-	@ApiOperation(value = "创建报警条目")
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmItem(
-	        @Valid @RequestBody AddAlarmItemDTO addAlarmItemDTO) {
-        String id = alarmItemService.createAlarmItem(addAlarmItemDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警条目详情")
-    @PostMapping("/get")
-    public CommonResult<AlarmItemItemVO> queryAlarmItemDetail(
-            @Valid @RequestBody QueryAlarmItemDetailDTO queryAlarmItemDetailDTO) {
-        AlarmItem alarmItem = alarmItemService.queryAlarmItemDetail(queryAlarmItemDetailDTO.getId());
-        AlarmItemItemVO alarmItemItemVO = ConvertAlarmItemTool.INSTANCE.convert2ResponseItemDTO(alarmItem);
-        return ResultHelper.single(alarmItemItemVO);
-    }
-
-
-    @ApiOperation(value = "更新报警条目")
-    @PostMapping("/update")
-    public CommonResult<ApmResponseUpsertVO> updateAlarmItem(
-            @Valid @RequestBody UpdateAlarmItemDTO updateAlarmItemDTO) {
-        alarmItemService.updateAlarmItem(updateAlarmItemDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(updateAlarmItemDTO.getId()));
-    }
-
-
-    @ApiOperation(value = "删除报警条目")
-    @PostMapping("/delete")
-    public CommonResult deleteAlarmItem(
-            @RequestBody @Valid DeleteAlarmItemDTO deleteAlarmItemDTO) {
-        alarmItemService.deleteAlarmItem(deleteAlarmItemDTO.getId());
-        return ResultHelper.success();
-    }
-
-
-    @ApiOperation(value = "报警条目列表")
-    @PostMapping("/query")
-    public CommonResult<PageList<AlarmItemListItemVO>> queryAlarmItem(
-            @Valid @RequestBody QueryAlarmItemDTO queryAlarmItemDTO) {
-        List<AlarmItem> alarmItemList = alarmItemService.queryAlarmItemList(queryAlarmItemDTO);
-        List<AlarmItemListItemVO> resultList = ConvertAlarmItemTool.INSTANCE.convert2List(alarmItemList);
-        return ResultHelper.multi(resultList);
-    }
-    
-    //@ApiOperation(value = "报警条目列表, 分页查询")
-    //@PostMapping("/query")
-    //public CommonResult<PageList<AlarmItemListItemVO>> queryAlarmItem(
-    //        @Valid @RequestBody PageQueryAlarmItemDTO pageQueryAlarmItemDTO) {
-    //    IPage<AlarmItem> pagedList = alarmItemService.pageQueryAlarmItem(pageQueryAlarmItemDTO);
-    //    IPage<AlarmItemListItemVO> pagedResultList = pagedList.convert(item -> {
-    //        try {
-    //           return ConvertAlarmItemTool.INSTANCE.convert2ResponseListItemDTO(item);
-    //        } catch (Exception e) {
-    //            throw new IllegalArgumentException("分页查询,AlarmItem实体类转换为列表对象发生异常", e);
-    //        }
-    //    });
-    //    return ResultHelper.multi(pagedResultList);
-    //}
+ 
 }
 

+ 14 - 72
src/main/java/com/persagy/apm/dmpalarm/controller/AlarmLogController.java

@@ -1,20 +1,17 @@
 package com.persagy.apm.dmpalarm.controller;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.persagy.apm.dmpalarm.model.AlarmLog;
 import com.persagy.apm.dmpalarm.service.IAlarmLogService;
+import com.persagy.apm.dmpalarm.web.MapResponse;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import com.persagy.apm.common.response.*;
-import com.persagy.apm.common.utils.ResultHelper;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
-import java.util.List;
 
 /**
  * 报警日志控制层
@@ -24,69 +21,14 @@ import java.util.List;
 @Api(tags = "报警日志") 
 @Validated
 @RestController
-@RequestMapping("alarmLogs")
+@RequestMapping("/alarm/log")
 public class AlarmLogController {
     @Autowired
     private IAlarmLogService alarmLogService;
-
-	@ApiOperation(value = "创建报警日志")
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmLog(
-	        @Valid @RequestBody AddAlarmLogDTO addAlarmLogDTO) {
-        String id = alarmLogService.createAlarmLog(addAlarmLogDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警日志详情")
-    @PostMapping("/get")
-    public CommonResult<AlarmLogItemVO> queryAlarmLogDetail(
-            @Valid @RequestBody QueryAlarmLogDetailDTO queryAlarmLogDetailDTO) {
-        AlarmLog alarmLog = alarmLogService.queryAlarmLogDetail(queryAlarmLogDetailDTO.getId());
-        AlarmLogItemVO alarmLogItemVO = ConvertAlarmLogTool.INSTANCE.convert2ResponseItemDTO(alarmLog);
-        return ResultHelper.single(alarmLogItemVO);
-    }
-
-
-    @ApiOperation(value = "更新报警日志")
-    @PostMapping("/update")
-    public CommonResult<ApmResponseUpsertVO> updateAlarmLog(
-            @Valid @RequestBody UpdateAlarmLogDTO updateAlarmLogDTO) {
-        alarmLogService.updateAlarmLog(updateAlarmLogDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(updateAlarmLogDTO.getId()));
-    }
-
-
-    @ApiOperation(value = "删除报警日志")
-    @PostMapping("/delete")
-    public CommonResult deleteAlarmLog(
-            @RequestBody @Valid DeleteAlarmLogDTO deleteAlarmLogDTO) {
-        alarmLogService.deleteAlarmLog(deleteAlarmLogDTO.getId());
-        return ResultHelper.success();
-    }
-
-
-    @ApiOperation(value = "报警日志列表")
-    @PostMapping("/query")
-    public CommonResult<PageList<AlarmLogListItemVO>> queryAlarmLog(
-            @Valid @RequestBody QueryAlarmLogDTO queryAlarmLogDTO) {
-        List<AlarmLog> alarmLogList = alarmLogService.queryAlarmLogList(queryAlarmLogDTO);
-        List<AlarmLogListItemVO> resultList = ConvertAlarmLogTool.INSTANCE.convert2List(alarmLogList);
-        return ResultHelper.multi(resultList);
-    }
     
-    //@ApiOperation(value = "报警日志列表, 分页查询")
-    //@PostMapping("/query")
-    //public CommonResult<PageList<AlarmLogListItemVO>> queryAlarmLog(
-    //        @Valid @RequestBody PageQueryAlarmLogDTO pageQueryAlarmLogDTO) {
-    //    IPage<AlarmLog> pagedList = alarmLogService.pageQueryAlarmLog(pageQueryAlarmLogDTO);
-    //    IPage<AlarmLogListItemVO> pagedResultList = pagedList.convert(item -> {
-    //        try {
-    //           return ConvertAlarmLogTool.INSTANCE.convert2ResponseListItemDTO(item);
-    //        } catch (Exception e) {
-    //            throw new IllegalArgumentException("分页查询,AlarmLog实体类转换为列表对象发生异常", e);
-    //        }
-    //    });
-    //    return ResultHelper.multi(pagedResultList);
-    //}
+    @PostMapping("/create")
+	public MapResponse create(@RequestBody AlarmLog param){
+		return alarmLogService.create(param);
+	}
 }
 

+ 22 - 53
src/main/java/com/persagy/apm/dmpalarm/controller/AlarmRecordController.java

@@ -1,7 +1,5 @@
 package com.persagy.apm.dmpalarm.controller;
 
-import javax.validation.Valid;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -9,76 +7,47 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.persagy.apm.common.response.ApmResponseUpsertVO;
-import com.persagy.apm.common.response.CommonResult;
-import com.persagy.apm.common.utils.ResultHelper;
 import com.persagy.apm.dmpalarm.criteria.JsonCriteria;
 import com.persagy.apm.dmpalarm.model.AlarmRecord;
-import com.persagy.apm.dmpalarm.model.ConvertAlarmRecordTool;
-import com.persagy.apm.dmpalarm.model.dto.AddAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.DeleteAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.QueryAlarmRecordDetailDTO;
-import com.persagy.apm.dmpalarm.model.dto.UpdateAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.vo.AlarmRecordItemVO;
 import com.persagy.apm.dmpalarm.service.IAlarmRecordService;
+import com.persagy.apm.dmpalarm.web.MapResponse;
 import com.persagy.apm.dmpalarm.web.PagedResponse;
 
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 
 /**
  * 报警记录控制层
+ * 
  * @author lixing
  * @version V1.0 2021-12-09 10:43:56
  */
-@Api(tags = "报警记录") 
+@Api(tags = "报警记录")
 @Validated
 @RestController
-@RequestMapping("alarmRecords")
+@RequestMapping("/alarm/record")
 public class AlarmRecordController {
-    @Autowired
-    private IAlarmRecordService alarmRecordService;
 
-	@ApiOperation(value = "创建报警记录")
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmRecord(
-	        @Valid @RequestBody AddAlarmRecordDTO addAlarmRecordDTO) {
-        String id = alarmRecordService.createAlarmRecord(addAlarmRecordDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警记录详情")
-    @PostMapping("/get")
-    public CommonResult<AlarmRecordItemVO> queryAlarmRecordDetail(
-            @Valid @RequestBody QueryAlarmRecordDetailDTO queryAlarmRecordDetailDTO) {
-		AlarmRecord alarmRecord = alarmRecordService.queryAlarmRecordDetail(queryAlarmRecordDetailDTO.getId());
-        AlarmRecordItemVO alarmRecordItemVO = ConvertAlarmRecordTool.INSTANCE.convert2ResponseItemDTO(alarmRecord);
-        return ResultHelper.single(alarmRecordItemVO);
-    }
+	@Autowired
+	private IAlarmRecordService alarmRecordService;
 
+	@PostMapping("/query")
+	public PagedResponse<AlarmRecord> query(@RequestBody JsonCriteria criteria) {
+		return alarmRecordService.query(criteria);
+	}
 
-    @ApiOperation(value = "更新报警记录")
-    @PostMapping("/update")
-    public CommonResult<ApmResponseUpsertVO> updateAlarmRecord(
-            @Valid @RequestBody UpdateAlarmRecordDTO updateAlarmRecordDTO) {
-        alarmRecordService.updateAlarmRecord(updateAlarmRecordDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(updateAlarmRecordDTO.getId()));
-    }
+	@PostMapping("/create")
+	public MapResponse create(@RequestBody AlarmRecord alarmRecord) {
+		return alarmRecordService.create(alarmRecord);
+	}
 
+	@PostMapping("/update")
+	public MapResponse update(@RequestBody AlarmRecord alarmRecord) {
+		return alarmRecordService.update(alarmRecord);
+	}
 
-    @ApiOperation(value = "删除报警记录")
-    @PostMapping("/delete")
-    public CommonResult deleteAlarmRecord(
-            @RequestBody @Valid DeleteAlarmRecordDTO deleteAlarmRecordDTO) {
-        alarmRecordService.deleteAlarmRecord(deleteAlarmRecordDTO.getId());
-        return ResultHelper.success();
-    }
-    
-    @PostMapping("/query")
-	public PagedResponse<AlarmRecord> query(@RequestBody JsonCriteria criteria) {
-		return alarmRecordService.query(criteria);
+	@PostMapping("/batch_update")
+	public MapResponse batchUpdate(@RequestBody AlarmRecord alarmRecord) {
+		return alarmRecordService.batchUpdate(alarmRecord);
 	}
-    
-  
-}
 
+}

+ 7 - 73
src/main/java/com/persagy/apm/dmpalarm/controller/AlarmTargetController.java

@@ -1,20 +1,13 @@
 package com.persagy.apm.dmpalarm.controller;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.persagy.apm.dmpalarm.service.IAlarmTargetService;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import com.persagy.apm.common.response.*;
-import com.persagy.apm.common.utils.ResultHelper;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
-import java.util.List;
 
 /**
  * 报警匹配条件控制层
@@ -24,69 +17,10 @@ import java.util.List;
 @Api(tags = "报警匹配条件") 
 @Validated
 @RestController
-@RequestMapping("alarmTargets")
+@RequestMapping("/alarm/target")
 public class AlarmTargetController {
     @Autowired
     private IAlarmTargetService alarmTargetService;
-
-	@ApiOperation(value = "创建报警匹配条件")
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmTarget(
-	        @Valid @RequestBody AddAlarmTargetDTO addAlarmTargetDTO) {
-        String id = alarmTargetService.createAlarmTarget(addAlarmTargetDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警匹配条件详情")
-    @PostMapping("/get")
-    public CommonResult<AlarmTargetItemVO> queryAlarmTargetDetail(
-            @Valid @RequestBody QueryAlarmTargetDetailDTO queryAlarmTargetDetailDTO) {
-        AlarmTarget alarmTarget = alarmTargetService.queryAlarmTargetDetail(queryAlarmTargetDetailDTO.getId());
-        AlarmTargetItemVO alarmTargetItemVO = ConvertAlarmTargetTool.INSTANCE.convert2ResponseItemDTO(alarmTarget);
-        return ResultHelper.single(alarmTargetItemVO);
-    }
-
-
-    @ApiOperation(value = "更新报警匹配条件")
-    @PostMapping("/update")
-    public CommonResult<ApmResponseUpsertVO> updateAlarmTarget(
-            @Valid @RequestBody UpdateAlarmTargetDTO updateAlarmTargetDTO) {
-        alarmTargetService.updateAlarmTarget(updateAlarmTargetDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(updateAlarmTargetDTO.getId()));
-    }
-
-
-    @ApiOperation(value = "删除报警匹配条件")
-    @PostMapping("/delete")
-    public CommonResult deleteAlarmTarget(
-            @RequestBody @Valid DeleteAlarmTargetDTO deleteAlarmTargetDTO) {
-        alarmTargetService.deleteAlarmTarget(deleteAlarmTargetDTO.getId());
-        return ResultHelper.success();
-    }
-
-
-    @ApiOperation(value = "报警匹配条件列表")
-    @PostMapping("/query")
-    public CommonResult<PageList<AlarmTargetListItemVO>> queryAlarmTarget(
-            @Valid @RequestBody QueryAlarmTargetDTO queryAlarmTargetDTO) {
-        List<AlarmTarget> alarmTargetList = alarmTargetService.queryAlarmTargetList(queryAlarmTargetDTO);
-        List<AlarmTargetListItemVO> resultList = ConvertAlarmTargetTool.INSTANCE.convert2List(alarmTargetList);
-        return ResultHelper.multi(resultList);
-    }
-    
-    //@ApiOperation(value = "报警匹配条件列表, 分页查询")
-    //@PostMapping("/query")
-    //public CommonResult<PageList<AlarmTargetListItemVO>> queryAlarmTarget(
-    //        @Valid @RequestBody PageQueryAlarmTargetDTO pageQueryAlarmTargetDTO) {
-    //    IPage<AlarmTarget> pagedList = alarmTargetService.pageQueryAlarmTarget(pageQueryAlarmTargetDTO);
-    //    IPage<AlarmTargetListItemVO> pagedResultList = pagedList.convert(item -> {
-    //        try {
-    //           return ConvertAlarmTargetTool.INSTANCE.convert2ResponseListItemDTO(item);
-    //        } catch (Exception e) {
-    //            throw new IllegalArgumentException("分页查询,AlarmTarget实体类转换为列表对象发生异常", e);
-    //        }
-    //    });
-    //    return ResultHelper.multi(pagedResultList);
-    //}
+ 
 }
 

+ 68 - 31
src/main/java/com/persagy/apm/dmpalarm/criteria/CriteriaUtils.java

@@ -1,7 +1,11 @@
 package com.persagy.apm.dmpalarm.criteria;
 
 import java.lang.reflect.Field;
-import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -10,9 +14,10 @@ import org.springframework.stereotype.Component;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.persagy.apm.dmpalarm.criteria.JsonCriteria.Order;
+import com.persagy.apm.dmpalarm.utils.UtilsTools;
 
+import cn.hutool.core.date.DateUtil;
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
@@ -27,20 +32,26 @@ public class CriteriaUtils {
 	 */
 	@SuppressWarnings("unchecked")
 	public <T> QueryWrapper<T> handleAlarmConditions(JsonCriteria jsonCriteria, Class<T> classes) {
+		T t = null;
 		try {
-			T obj = classes.newInstance();
-			QueryWrapper<T> queryWrapper = (QueryWrapper<T>) Wrappers.query(classes);
+			t = classes.newInstance();
+		} catch (InstantiationException | IllegalAccessException e1) {
+			log.error(e1.getMessage(), e1);
+		}
+		try {
+			QueryWrapper<T> queryWrapper = new QueryWrapper<>(t);
 			JSONObject criteriaJson = jsonCriteria.getCriteria();
 			Field[] fields = classes.getDeclaredFields();
 			for (Field field : fields) {
 				String fieldName = field.getName();
+				Type type = field.getGenericType();
 				Object columnValue = criteriaJson.get(fieldName);
 				if (columnValue == null) {
 					continue;
 				}
 				if (columnValue instanceof List) {
 					List<Object> valueList = (List<Object>) columnValue;
-					queryWrapper.lambda().in(wrapper -> getMethodName(classes, fieldName), valueList);
+					queryWrapper.in(UtilsTools.humpToLine(fieldName), valueList);
 				} else if (columnValue instanceof Map) {
 					Map<String, Object> columMap = (Map<String, Object>) columnValue;
 					for (Entry<String, Object> columEntry : columMap.entrySet()) {
@@ -49,76 +60,102 @@ public class CriteriaUtils {
 						case "$ne":
 							if (value instanceof List) {
 								List<Object> valueList = (List<Object>) columnValue;
-								queryWrapper.lambda().notIn(wrapper -> getMethodName(obj, fieldName), valueList);
+								queryWrapper.notIn(UtilsTools.humpToLine(fieldName), typeConversion(valueList, type.getTypeName()));
 							} else {
-								queryWrapper.lambda().ne(wrapper -> getMethodName(obj, fieldName), value);
+								queryWrapper.ne(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							}
 							break;
 						case "$gt":
-							queryWrapper.lambda().gt(wrapper -> getMethodName(obj, fieldName), value);
+							queryWrapper.gt(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							break;
 						case "$gte":
-							queryWrapper.lambda().ge(wrapper -> getMethodName(obj, fieldName), value);
+							queryWrapper.ge(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							break;
 						case "$lt":
-							queryWrapper.lambda().lt(wrapper -> getMethodName(obj, fieldName), value);
+							queryWrapper.lt(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							break;
 						case "$lte":
-							queryWrapper.lambda().le(wrapper -> getMethodName(obj, fieldName), value);
+							queryWrapper.le(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							break;
 						case "$in":
 							if (value instanceof List) {
 								List<Object> valueList = (List<Object>) columnValue;
-								queryWrapper.lambda().in(wrapper -> getMethodName(obj, fieldName), valueList);
+								queryWrapper.in(UtilsTools.humpToLine(fieldName), typeConversion(valueList, type.getTypeName()));
 							} else {
-								queryWrapper.lambda().eq(wrapper -> getMethodName(obj, fieldName), value);
+								queryWrapper.eq(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							}
 							break;
 						case "$like":
-							queryWrapper.lambda().like(wrapper -> getMethodName(obj, fieldName), value);
+							queryWrapper.like(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							break;
 						case "$notlike":
-							queryWrapper.lambda().notLike(wrapper -> getMethodName(obj, fieldName), value);
+							queryWrapper.notLike(UtilsTools.humpToLine(fieldName), typeConversion(value, type.getTypeName()));
 							break;
 						case "$null":
 							Boolean b = (Boolean) value;
 							if (b) {
-								queryWrapper.lambda().isNull(wrapper -> getMethodName(obj, fieldName));
+								queryWrapper.isNull(UtilsTools.humpToLine(fieldName));
 							} else {
-								queryWrapper.lambda().isNotNull(wrapper -> getMethodName(obj, fieldName));
+								queryWrapper.isNotNull(UtilsTools.humpToLine(fieldName));
 							}
 							break;
 						}
 					}
 				} else {
-					queryWrapper.lambda().eq(wrapper -> getMethodName(obj, fieldName), columnValue);
+					queryWrapper.eq(UtilsTools.humpToLine(fieldName), typeConversion(columnValue,  type.getTypeName()));
 				}
 
 			}
 			for (Order order : jsonCriteria.getOrders()) {
 				if (order.isAsc()) {
-					queryWrapper.lambda().orderByAsc(wrapper -> getMethodName(obj, order.getColumn()));
+					queryWrapper.orderByAsc(UtilsTools.humpToLine(order.getColumn()));
 				} else {
-					queryWrapper.lambda().orderByDesc(wrapper -> getMethodName(obj, order.getColumn()));
+					queryWrapper.orderByDesc(UtilsTools.humpToLine(order.getColumn()));
 				}
 			}
 			return queryWrapper;
 		} catch (Exception e) {
 			log.error("CriteriaUtils handleAlarmConditions error ", e);
 		}
-		return (QueryWrapper<T>) Wrappers.query(classes);
+		return new QueryWrapper<T>(t);
 	}
 
-	private <T> Object getMethodName(T obj, String fieldName) {
-		StringBuilder sb = new StringBuilder();
-		try {
-			sb.append("get").append(fieldName.substring(0, 1).toUpperCase()).append(fieldName.substring(1));
-			Method method = obj.getClass().getMethod(sb.toString());
-			return method.invoke(obj);
-		} catch (Exception e) {
-			log.error("getMethodName NoSuchMethod", e);
+	/**
+	 * 类型转换
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	private Object typeConversion(Object obj, String typeName) {
+		Object resultObj = null;
+		if (Date.class.getName().equals(typeName) || Timestamp.class.getName().equals(typeName)) {
+			resultObj = DateUtil.parse(obj.toString());
+		} else if (Integer.class.getName().equals(typeName)) {
+			resultObj = Integer.valueOf(obj.toString());
+		} else if (Long.class.getName().equals(typeName)) {
+			resultObj = Long.valueOf(obj.toString());
+		} else if (Double.class.getName().equals(typeName)) {
+			resultObj = Double.valueOf(obj.toString());
+		} else if (Float.class.getName().equals(typeName)) {
+			resultObj = Float.valueOf(obj.toString());
+		} else if (Short.class.getName().equals(typeName)) {
+			resultObj = Short.valueOf(obj.toString());
+		} else {
+			resultObj = obj.toString();
 		}
-		return null;
+		return resultObj;
+	}
+	/**
+	 * 批量类型转换
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	private Collection<?> typeConversion(Collection<?> coll, String typeName) {
+		List<Object> resultList = new ArrayList<>();
+		for (Object object : coll) {
+			resultList.add(this.typeConversion(object, typeName));
+		}
+		return resultList;
 	}
-
 }

+ 4 - 0
src/main/java/com/persagy/apm/dmpalarm/dao/AlarmRecordMapper.java

@@ -1,5 +1,7 @@
 package com.persagy.apm.dmpalarm.dao;
 
+import java.util.List;
+
 import org.apache.ibatis.annotations.Mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -15,5 +17,7 @@ import com.persagy.apm.dmpalarm.model.AlarmRecord;
 @Mapper
 public interface AlarmRecordMapper extends BaseMapper<AlarmRecord>{
 
+	List<AlarmRecord> getAlarmRecordListByNatureIsNull();
+
 
 }

+ 14 - 0
src/main/java/com/persagy/apm/dmpalarm/enumeration/EnumAlarmLogType.java

@@ -0,0 +1,14 @@
+package com.persagy.apm.dmpalarm.enumeration;
+
+/**
+ * @description:
+ * @author: lixing
+ * @company: Persagy Technology Co.,Ltd
+ * @since: 2020/10/19 2:07 下午
+ * @version: V1.0
+ **/
+public enum EnumAlarmLogType {
+    ALARMSTATE,
+    TREATMODE,
+    TREATSTATE
+}

+ 31 - 52
src/main/java/com/persagy/apm/dmpalarm/model/AlarmLog.java

@@ -1,68 +1,47 @@
 package com.persagy.apm.dmpalarm.model;
 
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import com.persagy.apm.common.model.entity.AuditableEntity;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.alibaba.fastjson.JSONObject;
+import com.persagy.apm.dmpalarm.enumeration.EnumAlarmLogType;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
 /**
  * 报警日志(AlarmLog)实体类
+ * 
  * @author lixing
  * @version V1.0 2021-12-09 10:44:53
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel(description = "报警日志")
-public class AlarmLog extends AuditableEntity<AlarmLog> implements Serializable {
-    private static final long serialVersionUID = 618980609835731542L;
+public class AlarmLog implements Serializable {
+	private static final long serialVersionUID = 618980609835731542L;
 
-    @ApiModelProperty("报警记录id")
-    private String recordId;
-    
-    @ApiModelProperty("操作类型(报警状态、报警性质、报警处理方式、报警处理状态)")
-    private String type;
-    
-    @ApiModelProperty("报警性质")
-    private Integer nature;
-    
-    @ApiModelProperty("修改前报警记录的状态")
-    private Integer before;
-    
-    @ApiModelProperty("修改后报警记录的状态")
-    private Integer after;
-    
-    @ApiModelProperty("备注")
-    private Object remark;
-    
-    @ApiModelProperty("项目id")
-    private String projectId;
-    
-    @ApiModelProperty("集团编码")
-    private String groupCode;
-    
-    @ApiModelProperty("创建时间")
-    private Date createTime;
-    
-    @ApiModelProperty("更新时间")
-    private Date updateTime;
-    
-    @ApiModelProperty("创建人")
-    private String createUser;
-    
+	private String id;
+	private String recordId;
+	private EnumAlarmLogType type;
+	private Integer nature;
+	private Integer before;
+	private Integer after;
+	private JSONObject remark;
+	private Date createTime;
+	private String projectId;
+	private String groupCode;
+	private String createUser;
 
-    public static String PROP_RECORD_ID = "record_id";
-    public static String PROP_TYPE = "type";
-    public static String PROP_NATURE = "nature";
-    public static String PROP_BEFORE = "before";
-    public static String PROP_AFTER = "after";
-    public static String PROP_REMARK = "remark";
-    public static String PROP_PROJECT_ID = "project_id";
-    public static String PROP_GROUP_CODE = "group_code";
-    public static String PROP_CREATE_TIME = "create_time";
-    public static String PROP_UPDATE_TIME = "update_time";
-    public static String PROP_CREATE_USER = "create_user";
+	public static String PROP_RECORD_ID = "record_id";
+	public static String PROP_TYPE = "type";
+	public static String PROP_NATURE = "nature";
+	public static String PROP_BEFORE = "before";
+	public static String PROP_AFTER = "after";
+	public static String PROP_REMARK = "remark";
+	public static String PROP_PROJECT_ID = "project_id";
+	public static String PROP_GROUP_CODE = "group_code";
+	public static String PROP_CREATE_TIME = "create_time";
+	public static String PROP_UPDATE_TIME = "update_time";
+	public static String PROP_CREATE_USER = "create_user";
 
 }

+ 5 - 2
src/main/java/com/persagy/apm/dmpalarm/model/AlarmRecord.java

@@ -2,6 +2,7 @@ package com.persagy.apm.dmpalarm.model;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -59,15 +60,17 @@ public class AlarmRecord implements Serializable {
 	/**
 	 * 忽略报警时间
 	 */
-    @TableField(exist = false)
+	@TableField(exist = false)
 	private Date ignoreTime;
 	/**
 	 * 报警处理完成时间
 	 */
 
-    @TableField(exist = false)
+	@TableField(exist = false)
 	private Date treatEndTime;
 	private String targetId;
+	@TableField(exist = false)
+	private List<AlarmRecord> alarmRecordModels;
 	public static String PROP_ITEM_CODE = "item_code";
 	public static String PROP_PROJECT_ID = "project_id";
 	public static String PROP_OBJ_ID = "obj_id";

+ 0 - 73
src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmCommentTool.java

@@ -1,73 +0,0 @@
-package com.persagy.apm.dmpalarm.model;
-
-import org.mapstruct.*;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.factory.Mappers;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-
-import java.util.List;
-
-/**
- * 报警批注(AlarmComment) dto、vo、do转换工具类
- * @author lixing
- * @version V1.0 2021-12-09 10:47:10
- */
-@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
-        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface ConvertAlarmCommentTool {
-
-    ConvertAlarmCommentTool INSTANCE = Mappers.getMapper(ConvertAlarmCommentTool.class);
-    
-    /**
-    * do转换为ResponseItemVO
-    *
-    * @param alarmComment do对象
-    * @return ResponseItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmCommentItemVO convert2ResponseItemDTO(AlarmComment alarmComment);
-    
-    /**
-    * do转换为ResponseListItemVO
-    *
-    * @param alarmComment do对象
-    * @return ResponseListItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmCommentListItemVO convert2ResponseListItemDTO(AlarmComment alarmComment);
-
-    /**
-    * do列表转换为ResponseListItemVO列表
-    *
-    * @param alarmCommentList do列表
-    * @return ResponseListItemVO列表
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    List<AlarmCommentListItemVO> convert2List(List<AlarmComment> alarmCommentList);
-    
-    /**
-    * addDTO转换为do
-    *
-    * @param addAlarmCommentDTO addDTO
-    * @return 要创建的do对象 
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmComment convertAddDto2Entity(AddAlarmCommentDTO addAlarmCommentDTO);
-    
-    /**
-    * updateDTO转换为实体
-    *
-    * @param alarmComment 更新前的do对象
-    * @param updateAlarmCommentDTO updateDTO
-    * @return 更新后的do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmComment convertUpdateDto2Entity(@MappingTarget AlarmComment alarmComment, UpdateAlarmCommentDTO updateAlarmCommentDTO);
-}
-

+ 0 - 73
src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmConfigTool.java

@@ -1,73 +0,0 @@
-package com.persagy.apm.dmpalarm.model;
-
-import org.mapstruct.*;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.factory.Mappers;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-
-import java.util.List;
-
-/**
- * 报警定义(AlarmConfig) dto、vo、do转换工具类
- * @author lixing
- * @version V1.0 2021-12-09 10:47:10
- */
-@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
-        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface ConvertAlarmConfigTool {
-
-    ConvertAlarmConfigTool INSTANCE = Mappers.getMapper(ConvertAlarmConfigTool.class);
-    
-    /**
-    * do转换为ResponseItemVO
-    *
-    * @param alarmConfig do对象
-    * @return ResponseItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmConfigItemVO convert2ResponseItemDTO(AlarmConfig alarmConfig);
-    
-    /**
-    * do转换为ResponseListItemVO
-    *
-    * @param alarmConfig do对象
-    * @return ResponseListItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmConfigListItemVO convert2ResponseListItemDTO(AlarmConfig alarmConfig);
-
-    /**
-    * do列表转换为ResponseListItemVO列表
-    *
-    * @param alarmConfigList do列表
-    * @return ResponseListItemVO列表
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    List<AlarmConfigListItemVO> convert2List(List<AlarmConfig> alarmConfigList);
-    
-    /**
-    * addDTO转换为do
-    *
-    * @param addAlarmConfigDTO addDTO
-    * @return 要创建的do对象 
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmConfig convertAddDto2Entity(AddAlarmConfigDTO addAlarmConfigDTO);
-    
-    /**
-    * updateDTO转换为实体
-    *
-    * @param alarmConfig 更新前的do对象
-    * @param updateAlarmConfigDTO updateDTO
-    * @return 更新后的do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmConfig convertUpdateDto2Entity(@MappingTarget AlarmConfig alarmConfig, UpdateAlarmConfigDTO updateAlarmConfigDTO);
-}
-

+ 0 - 73
src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmItemTool.java

@@ -1,73 +0,0 @@
-package com.persagy.apm.dmpalarm.model;
-
-import org.mapstruct.*;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.factory.Mappers;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-
-import java.util.List;
-
-/**
- * 报警条目(AlarmItem) dto、vo、do转换工具类
- * @author lixing
- * @version V1.0 2021-12-09 10:47:10
- */
-@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
-        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface ConvertAlarmItemTool {
-
-    ConvertAlarmItemTool INSTANCE = Mappers.getMapper(ConvertAlarmItemTool.class);
-    
-    /**
-    * do转换为ResponseItemVO
-    *
-    * @param alarmItem do对象
-    * @return ResponseItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmItemItemVO convert2ResponseItemDTO(AlarmItem alarmItem);
-    
-    /**
-    * do转换为ResponseListItemVO
-    *
-    * @param alarmItem do对象
-    * @return ResponseListItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmItemListItemVO convert2ResponseListItemDTO(AlarmItem alarmItem);
-
-    /**
-    * do列表转换为ResponseListItemVO列表
-    *
-    * @param alarmItemList do列表
-    * @return ResponseListItemVO列表
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    List<AlarmItemListItemVO> convert2List(List<AlarmItem> alarmItemList);
-    
-    /**
-    * addDTO转换为do
-    *
-    * @param addAlarmItemDTO addDTO
-    * @return 要创建的do对象 
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmItem convertAddDto2Entity(AddAlarmItemDTO addAlarmItemDTO);
-    
-    /**
-    * updateDTO转换为实体
-    *
-    * @param alarmItem 更新前的do对象
-    * @param updateAlarmItemDTO updateDTO
-    * @return 更新后的do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmItem convertUpdateDto2Entity(@MappingTarget AlarmItem alarmItem, UpdateAlarmItemDTO updateAlarmItemDTO);
-}
-

+ 0 - 73
src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmLogTool.java

@@ -1,73 +0,0 @@
-package com.persagy.apm.dmpalarm.model;
-
-import org.mapstruct.*;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.factory.Mappers;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-
-import java.util.List;
-
-/**
- * 报警日志(AlarmLog) dto、vo、do转换工具类
- * @author lixing
- * @version V1.0 2021-12-09 10:47:10
- */
-@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
-        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface ConvertAlarmLogTool {
-
-    ConvertAlarmLogTool INSTANCE = Mappers.getMapper(ConvertAlarmLogTool.class);
-    
-    /**
-    * do转换为ResponseItemVO
-    *
-    * @param alarmLog do对象
-    * @return ResponseItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmLogItemVO convert2ResponseItemDTO(AlarmLog alarmLog);
-    
-    /**
-    * do转换为ResponseListItemVO
-    *
-    * @param alarmLog do对象
-    * @return ResponseListItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmLogListItemVO convert2ResponseListItemDTO(AlarmLog alarmLog);
-
-    /**
-    * do列表转换为ResponseListItemVO列表
-    *
-    * @param alarmLogList do列表
-    * @return ResponseListItemVO列表
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    List<AlarmLogListItemVO> convert2List(List<AlarmLog> alarmLogList);
-    
-    /**
-    * addDTO转换为do
-    *
-    * @param addAlarmLogDTO addDTO
-    * @return 要创建的do对象 
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmLog convertAddDto2Entity(AddAlarmLogDTO addAlarmLogDTO);
-    
-    /**
-    * updateDTO转换为实体
-    *
-    * @param alarmLog 更新前的do对象
-    * @param updateAlarmLogDTO updateDTO
-    * @return 更新后的do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmLog convertUpdateDto2Entity(@MappingTarget AlarmLog alarmLog, UpdateAlarmLogDTO updateAlarmLogDTO);
-}
-

+ 0 - 78
src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmRecordTool.java

@@ -1,78 +0,0 @@
-package com.persagy.apm.dmpalarm.model;
-
-import java.util.List;
-
-import org.mapstruct.Mapper;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.NullValueCheckStrategy;
-import org.mapstruct.NullValueMappingStrategy;
-import org.mapstruct.factory.Mappers;
-
-import com.persagy.apm.dmpalarm.model.dto.AddAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.UpdateAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.vo.AlarmRecordItemVO;
-import com.persagy.apm.dmpalarm.model.vo.AlarmRecordListItemVO;
-
-/**
- * 报警记录(AlarmRecord) dto、vo、do转换工具类
- * @author lixing
- * @version V1.0 2021-12-09 10:47:10
- */
-@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
-        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface ConvertAlarmRecordTool {
-
-    ConvertAlarmRecordTool INSTANCE = Mappers.getMapper(ConvertAlarmRecordTool.class);
-    
-    /**
-    * do转换为ResponseItemVO
-    *
-    * @param alarmRecord do对象
-    * @return ResponseItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmRecordItemVO convert2ResponseItemDTO(AlarmRecord alarmRecord);
-    
-    /**
-    * do转换为ResponseListItemVO
-    *
-    * @param alarmRecord do对象
-    * @return ResponseListItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmRecordListItemVO convert2ResponseListItemDTO(AlarmRecord alarmRecord);
-
-    /**
-    * do列表转换为ResponseListItemVO列表
-    *
-    * @param alarmRecordList do列表
-    * @return ResponseListItemVO列表
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    List<AlarmRecordListItemVO> convert2List(List<AlarmRecord> alarmRecordList);
-    
-    /**
-    * addDTO转换为do
-    *
-    * @param addAlarmRecordDTO addDTO
-    * @return 要创建的do对象 
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmRecord convertAddDto2Entity(AddAlarmRecordDTO addAlarmRecordDTO);
-    
-    /**
-    * updateDTO转换为实体
-    *
-    * @param alarmRecord 更新前的do对象
-    * @param updateAlarmRecordDTO updateDTO
-    * @return 更新后的do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmRecord convertUpdateDto2Entity(@MappingTarget AlarmRecord alarmRecord, UpdateAlarmRecordDTO updateAlarmRecordDTO);
-}
-

+ 0 - 73
src/main/java/com/persagy/apm/dmpalarm/model/ConvertAlarmTargetTool.java

@@ -1,73 +0,0 @@
-package com.persagy.apm.dmpalarm.model;
-
-import org.mapstruct.*;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.factory.Mappers;
-import com.persagy.apm.dmpalarm.model.vo.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-
-import java.util.List;
-
-/**
- * 报警匹配条件(AlarmTarget) dto、vo、do转换工具类
- * @author lixing
- * @version V1.0 2021-12-09 10:47:10
- */
-@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
-        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface ConvertAlarmTargetTool {
-
-    ConvertAlarmTargetTool INSTANCE = Mappers.getMapper(ConvertAlarmTargetTool.class);
-    
-    /**
-    * do转换为ResponseItemVO
-    *
-    * @param alarmTarget do对象
-    * @return ResponseItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmTargetItemVO convert2ResponseItemDTO(AlarmTarget alarmTarget);
-    
-    /**
-    * do转换为ResponseListItemVO
-    *
-    * @param alarmTarget do对象
-    * @return ResponseListItemVO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmTargetListItemVO convert2ResponseListItemDTO(AlarmTarget alarmTarget);
-
-    /**
-    * do列表转换为ResponseListItemVO列表
-    *
-    * @param alarmTargetList do列表
-    * @return ResponseListItemVO列表
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    List<AlarmTargetListItemVO> convert2List(List<AlarmTarget> alarmTargetList);
-    
-    /**
-    * addDTO转换为do
-    *
-    * @param addAlarmTargetDTO addDTO
-    * @return 要创建的do对象 
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmTarget convertAddDto2Entity(AddAlarmTargetDTO addAlarmTargetDTO);
-    
-    /**
-    * updateDTO转换为实体
-    *
-    * @param alarmTarget 更新前的do对象
-    * @param updateAlarmTargetDTO updateDTO
-    * @return 更新后的do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:47:10
-    */
-    AlarmTarget convertUpdateDto2Entity(@MappingTarget AlarmTarget alarmTarget, UpdateAlarmTargetDTO updateAlarmTargetDTO);
-}
-

+ 0 - 64
src/main/java/com/persagy/apm/dmpalarm/service/IAlarmCommentService.java

@@ -1,12 +1,5 @@
 package com.persagy.apm.dmpalarm.service;
 
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * 报警批注(AlarmComment) service接口
  *
@@ -15,61 +8,4 @@ import io.swagger.annotations.ApiOperation;
  */
 public interface IAlarmCommentService  {
     
-    /**
-    * 创建报警批注
-    *
-    * @param addAlarmCommentDTO addDTO
-    * @return 报警批注主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public String createAlarmComment(AddAlarmCommentDTO addAlarmCommentDTO);
-    
-    /**
-    * 报警批注详情
-    *
-    * @param id 主键
-    * @return 报警批注do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public AlarmComment queryAlarmCommentDetail(String id);
-    
-    /**
-    * 更新报警批注
-    *
-    * @param updateAlarmCommentDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void updateAlarmComment(UpdateAlarmCommentDTO updateAlarmCommentDTO);
-    
-    /**
-    * 删除报警批注
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void deleteAlarmComment(String id);
-    
-    /**
-    * 查询报警批注
-    *
-    * @param queryAlarmCommentDTO queryDTO
-    * @return List<AlarmComment>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public List<AlarmComment> queryAlarmCommentList(QueryAlarmCommentDTO queryAlarmCommentDTO);
-    
-    /**
-    * 分页查询报警批注
-    * 
-    * @param pageQueryAlarmCommentDTO pageQueryDTO
-    * @return IPage<AlarmComment>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public IPage<AlarmComment> pageQueryAlarmComment(PageQueryAlarmCommentDTO pageQueryAlarmCommentDTO);
 }

+ 1 - 64
src/main/java/com/persagy/apm/dmpalarm/service/IAlarmConfigService.java

@@ -1,12 +1,5 @@
 package com.persagy.apm.dmpalarm.service;
 
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * 报警定义(AlarmConfig) service接口
  *
@@ -15,61 +8,5 @@ import io.swagger.annotations.ApiOperation;
  */
 public interface IAlarmConfigService  {
     
-    /**
-    * 创建报警定义
-    *
-    * @param addAlarmConfigDTO addDTO
-    * @return 报警定义主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public String createAlarmConfig(AddAlarmConfigDTO addAlarmConfigDTO);
-    
-    /**
-    * 报警定义详情
-    *
-    * @param id 主键
-    * @return 报警定义do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public AlarmConfig queryAlarmConfigDetail(String id);
-    
-    /**
-    * 更新报警定义
-    *
-    * @param updateAlarmConfigDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void updateAlarmConfig(UpdateAlarmConfigDTO updateAlarmConfigDTO);
-    
-    /**
-    * 删除报警定义
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void deleteAlarmConfig(String id);
-    
-    /**
-    * 查询报警定义
-    *
-    * @param queryAlarmConfigDTO queryDTO
-    * @return List<AlarmConfig>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public List<AlarmConfig> queryAlarmConfigList(QueryAlarmConfigDTO queryAlarmConfigDTO);
-    
-    /**
-    * 分页查询报警定义
-    * 
-    * @param pageQueryAlarmConfigDTO pageQueryDTO
-    * @return IPage<AlarmConfig>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public IPage<AlarmConfig> pageQueryAlarmConfig(PageQueryAlarmConfigDTO pageQueryAlarmConfigDTO);
+ 
 }

+ 1 - 65
src/main/java/com/persagy/apm/dmpalarm/service/IAlarmItemService.java

@@ -1,12 +1,5 @@
 package com.persagy.apm.dmpalarm.service;
 
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * 报警条目(AlarmItem) service接口
  *
@@ -14,62 +7,5 @@ import io.swagger.annotations.ApiOperation;
  * @version V1.0 2021-12-09 10:44:19
  */
 public interface IAlarmItemService  {
-    
-    /**
-    * 创建报警条目
-    *
-    * @param addAlarmItemDTO addDTO
-    * @return 报警条目主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public String createAlarmItem(AddAlarmItemDTO addAlarmItemDTO);
-    
-    /**
-    * 报警条目详情
-    *
-    * @param id 主键
-    * @return 报警条目do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public AlarmItem queryAlarmItemDetail(String id);
-    
-    /**
-    * 更新报警条目
-    *
-    * @param updateAlarmItemDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void updateAlarmItem(UpdateAlarmItemDTO updateAlarmItemDTO);
-    
-    /**
-    * 删除报警条目
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void deleteAlarmItem(String id);
-    
-    /**
-    * 查询报警条目
-    *
-    * @param queryAlarmItemDTO queryDTO
-    * @return List<AlarmItem>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public List<AlarmItem> queryAlarmItemList(QueryAlarmItemDTO queryAlarmItemDTO);
-    
-    /**
-    * 分页查询报警条目
-    * 
-    * @param pageQueryAlarmItemDTO pageQueryDTO
-    * @return IPage<AlarmItem>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public IPage<AlarmItem> pageQueryAlarmItem(PageQueryAlarmItemDTO pageQueryAlarmItemDTO);
+  
 }

+ 3 - 63
src/main/java/com/persagy/apm/dmpalarm/service/IAlarmLogService.java

@@ -1,11 +1,7 @@
 package com.persagy.apm.dmpalarm.service;
 
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import com.persagy.apm.dmpalarm.model.AlarmLog;
+import com.persagy.apm.dmpalarm.web.MapResponse;
 
 /**
  * 报警日志(AlarmLog) service接口
@@ -15,61 +11,5 @@ import io.swagger.annotations.ApiOperation;
  */
 public interface IAlarmLogService  {
     
-    /**
-    * 创建报警日志
-    *
-    * @param addAlarmLogDTO addDTO
-    * @return 报警日志主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public String createAlarmLog(AddAlarmLogDTO addAlarmLogDTO);
-    
-    /**
-    * 报警日志详情
-    *
-    * @param id 主键
-    * @return 报警日志do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public AlarmLog queryAlarmLogDetail(String id);
-    
-    /**
-    * 更新报警日志
-    *
-    * @param updateAlarmLogDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void updateAlarmLog(UpdateAlarmLogDTO updateAlarmLogDTO);
-    
-    /**
-    * 删除报警日志
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void deleteAlarmLog(String id);
-    
-    /**
-    * 查询报警日志
-    *
-    * @param queryAlarmLogDTO queryDTO
-    * @return List<AlarmLog>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public List<AlarmLog> queryAlarmLogList(QueryAlarmLogDTO queryAlarmLogDTO);
-    
-    /**
-    * 分页查询报警日志
-    * 
-    * @param pageQueryAlarmLogDTO pageQueryDTO
-    * @return IPage<AlarmLog>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public IPage<AlarmLog> pageQueryAlarmLog(PageQueryAlarmLogDTO pageQueryAlarmLogDTO);
+	public MapResponse create(AlarmLog alarmLog);
 }

+ 9 - 66
src/main/java/com/persagy/apm/dmpalarm/service/IAlarmRecordService.java

@@ -1,14 +1,8 @@
 package com.persagy.apm.dmpalarm.service;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.persagy.apm.dmpalarm.criteria.JsonCriteria;
 import com.persagy.apm.dmpalarm.model.AlarmRecord;
-import com.persagy.apm.dmpalarm.model.dto.AddAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.PageQueryAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.QueryAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.UpdateAlarmRecordDTO;
+import com.persagy.apm.dmpalarm.web.MapResponse;
 import com.persagy.apm.dmpalarm.web.PagedResponse;
 
 /**
@@ -17,65 +11,14 @@ import com.persagy.apm.dmpalarm.web.PagedResponse;
  * @author lixing
  * @version V1.0 2021-12-09 10:44:19
  */
-public interface IAlarmRecordService  {
-    
-    /**
-    * 创建报警记录
-    *
-    * @param addAlarmRecordDTO addDTO
-    * @return 报警记录主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public String createAlarmRecord(AddAlarmRecordDTO addAlarmRecordDTO);
-    
-    /**
-    * 报警记录详情
-    *
-    * @param id 主键
-    * @return 报警记录do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public AlarmRecord queryAlarmRecordDetail(String id);
-    
-    /**
-    * 更新报警记录
-    *
-    * @param updateAlarmRecordDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void updateAlarmRecord(UpdateAlarmRecordDTO updateAlarmRecordDTO);
-    
-    /**
-    * 删除报警记录
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void deleteAlarmRecord(String id);
-    
-    /**
-    * 查询报警记录
-    *
-    * @param queryAlarmRecordDTO queryDTO
-    * @return List<AlarmRecord>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public List<AlarmRecord> queryAlarmRecordList(QueryAlarmRecordDTO queryAlarmRecordDTO);
-    
-    /**
-    * 分页查询报警记录
-    * 
-    * @param pageQueryAlarmRecordDTO pageQueryDTO
-    * @return IPage<AlarmRecord>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public IPage<AlarmRecord> pageQueryAlarmRecord(PageQueryAlarmRecordDTO pageQueryAlarmRecordDTO);
+public interface IAlarmRecordService {
 
 	public PagedResponse<AlarmRecord> query(JsonCriteria criteria);
+
+	public MapResponse create(AlarmRecord alarmRecord);
+
+	public MapResponse update(AlarmRecord alarmRecord);
+
+	public MapResponse batchUpdate(AlarmRecord alarmRecord);
+
 }

+ 1 - 64
src/main/java/com/persagy/apm/dmpalarm/service/IAlarmTargetService.java

@@ -1,12 +1,5 @@
 package com.persagy.apm.dmpalarm.service;
 
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * 报警匹配条件(AlarmTarget) service接口
  *
@@ -15,61 +8,5 @@ import io.swagger.annotations.ApiOperation;
  */
 public interface IAlarmTargetService  {
     
-    /**
-    * 创建报警匹配条件
-    *
-    * @param addAlarmTargetDTO addDTO
-    * @return 报警匹配条件主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public String createAlarmTarget(AddAlarmTargetDTO addAlarmTargetDTO);
-    
-    /**
-    * 报警匹配条件详情
-    *
-    * @param id 主键
-    * @return 报警匹配条件do对象
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public AlarmTarget queryAlarmTargetDetail(String id);
-    
-    /**
-    * 更新报警匹配条件
-    *
-    * @param updateAlarmTargetDTO updateDTO
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void updateAlarmTarget(UpdateAlarmTargetDTO updateAlarmTargetDTO);
-    
-    /**
-    * 删除报警匹配条件
-    *
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public void deleteAlarmTarget(String id);
-    
-    /**
-    * 查询报警匹配条件
-    *
-    * @param queryAlarmTargetDTO queryDTO
-    * @return List<AlarmTarget>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public List<AlarmTarget> queryAlarmTargetList(QueryAlarmTargetDTO queryAlarmTargetDTO);
-    
-    /**
-    * 分页查询报警匹配条件
-    * 
-    * @param pageQueryAlarmTargetDTO pageQueryDTO
-    * @return IPage<AlarmTarget>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    public IPage<AlarmTarget> pageQueryAlarmTarget(PageQueryAlarmTargetDTO pageQueryAlarmTargetDTO);
+   
 }

+ 7 - 0
src/main/java/com/persagy/apm/dmpalarm/service/IBaseService.java

@@ -0,0 +1,7 @@
+package com.persagy.apm.dmpalarm.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IBaseService<T> extends IService<T> {
+ 
+}

+ 3 - 233
src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmCommentServiceImpl.java

@@ -1,25 +1,9 @@
 package com.persagy.apm.dmpalarm.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.persagy.apm.common.context.poems.PoemsContext;
-import com.persagy.apm.common.model.dto.Sort;
-import com.persagy.apm.dmpalarm.dao.AlarmCommentMapper;
-import com.persagy.apm.dmpalarm.model.AlarmComment;
-import com.persagy.apm.dmpalarm.model.ConvertAlarmCommentTool;
-import com.persagy.apm.dmpalarm.model.dto.AddAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.dto.PageQueryAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.dto.QueryAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.model.dto.UpdateAlarmCommentDTO;
-import com.persagy.apm.dmpalarm.service.IAlarmCommentService;
-import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import com.persagy.apm.dmpalarm.model.AlarmComment;
+import com.persagy.apm.dmpalarm.service.IAlarmCommentService;
 
 /**
  * 报警批注(AlarmComment) service层
@@ -28,220 +12,6 @@ import java.util.List;
  * @version V1.0 2021-12-09 10:44:19
  */
 @Service
-public class AlarmCommentServiceImpl extends ServiceImpl<AlarmCommentMapper, AlarmComment>
-        implements IAlarmCommentService {
-
-    /**
-     * 创建报警批注
-     *
-     * @return 报警批注主键
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    @Override
-    public String createAlarmComment(AddAlarmCommentDTO addAlarmCommentDTO) {
-        AlarmComment alarmComment = ConvertAlarmCommentTool.INSTANCE.convertAddDto2Entity(addAlarmCommentDTO);
-        // 设置默认值
-        setDefaultValue(alarmComment);
-        save(alarmComment);
-        return alarmComment.getId();
-    }
-
-    /**
-     * 如果某些字段没有赋值,使用默认的值
-     *
-     * @param alarmComment 报警批注实体
-     * @author lixing
-     * @version V1.0 2021/3/12 12:29 下午
-     */
-    private void setDefaultValue(AlarmComment alarmComment) {
-        // todo 其他默认的属性
-
-    }
-
-    /**
-     * 报警批注详情
-     *
-     * @param id 主键
-     * @return 部门do类
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    @Override
-    public AlarmComment queryAlarmCommentDetail(String id) {
-        AlarmComment alarmComment = getById(id);
-        if (alarmComment == null) {
-            throw new IllegalArgumentException("查看AlarmComment详情时发生异常,找不到要查看的记录,id=" + id);
-        }
-        return alarmComment;
-    }
-
-    /**
-     * 更新报警批注
-     *
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    @Override
-    public void updateAlarmComment(UpdateAlarmCommentDTO updateAlarmCommentDTO) {
-        AlarmComment alarmComment = getById(updateAlarmCommentDTO.getId());
-        alarmComment = ConvertAlarmCommentTool.INSTANCE.convertUpdateDto2Entity(alarmComment, updateAlarmCommentDTO);
-        alarmComment.setUpdateUser(PoemsContext.getContext().getUserId());
-        updateById(alarmComment);
-    }
-
-    /**
-     * 校验报警批注是否可删除
-     *
-     * @param id 报警批注主键
-     * @return 报警批注do类
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    public AlarmComment checkDeletable(String id) {
-        if (id == null) {
-            throw new IllegalArgumentException("删除AlarmComment时发生异常,主键为空");
-        }
-
-        AlarmComment alarmComment = getById(id);
-
-        if (alarmComment == null) {
-            throw new IllegalArgumentException("删除AlarmComment时发生异常,找不到要删除的数据,id:" + id);
-        }
-
-        return alarmComment;
-    }
-
-    /**
-     * 删除报警批注
-     *
-     * @param id 主键
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    @Override
-    public void deleteAlarmComment(String id) {
-        // 校验是否可删除
-        AlarmComment alarmComment = checkDeletable(id);
-
-        alarmComment.setValid(ValidEnum.FALSE.getType());
-        updateById(alarmComment);
-    }
-
-    /**
-     * 查询报警批注
-     *
-     * @return List<AlarmComment>
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    @Override
-    public List<AlarmComment> queryAlarmCommentList(QueryAlarmCommentDTO queryAlarmCommentDTO) {
-        QueryWrapper<AlarmComment> queryWrapper = new QueryWrapper<>();
-
-        if (queryAlarmCommentDTO != null) {
-
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmCommentDTO.getRecordId())) {
-                queryWrapper.like(AlarmComment.PROP_RECORD_ID, queryAlarmCommentDTO.getRecordId());
-            }
-
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmCommentDTO.getContent())) {
-                queryWrapper.like(AlarmComment.PROP_CONTENT, queryAlarmCommentDTO.getContent());
-            }
-
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmCommentDTO.getCreateUser())) {
-                queryWrapper.like(AlarmComment.PROP_CREATE_USER, queryAlarmCommentDTO.getCreateUser());
-            }
-
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmCommentDTO.getProjectId())) {
-                queryWrapper.like(AlarmComment.PROP_PROJECT_ID, queryAlarmCommentDTO.getProjectId());
-            }
-
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmCommentDTO.getGroupCode())) {
-                queryWrapper.like(AlarmComment.PROP_GROUP_CODE, queryAlarmCommentDTO.getGroupCode());
-            }
-
-            if (queryAlarmCommentDTO.getCreateTime() != null) {
-                queryWrapper.eq(AlarmComment.PROP_CREATE_TIME, queryAlarmCommentDTO.getCreateTime());
-            }
-
-            if (queryAlarmCommentDTO.getUpdateTime() != null) {
-                queryWrapper.eq(AlarmComment.PROP_UPDATE_TIME, queryAlarmCommentDTO.getUpdateTime());
-            }
-
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmCommentDTO.getUpdateUser())) {
-                queryWrapper.like(AlarmComment.PROP_UPDATE_USER, queryAlarmCommentDTO.getUpdateUser());
-            }
-
-        }
-
-        return list(queryWrapper);
-    }
-
-    /**
-     * 分页查询报警批注
-     *
-     * @return IPage<AlarmComment>
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    @Override
-    public IPage<AlarmComment> pageQueryAlarmComment(PageQueryAlarmCommentDTO pageQueryAlarmCommentDTO) {
-        QueryWrapper<AlarmComment> queryWrapper = new QueryWrapper<>();
-        // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<AlarmComment> pageParam = new Page<>(pageQueryAlarmCommentDTO.getPage(), pageQueryAlarmCommentDTO.getSize(), true);
-        // 排序信息
-        List<Sort> orders = pageQueryAlarmCommentDTO.getOrders();
-        for (Sort sort : orders) {
-            // 将驼峰转换为下划线格式
-            sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sort.getColumn()));
-            queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
-        }
-
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmCommentDTO.getRecordId())) {
-            queryWrapper.like(AlarmComment.PROP_RECORD_ID, pageQueryAlarmCommentDTO.getRecordId());
-        }
-
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmCommentDTO.getContent())) {
-            queryWrapper.like(AlarmComment.PROP_CONTENT, pageQueryAlarmCommentDTO.getContent());
-        }
-
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmCommentDTO.getCreateUser())) {
-            queryWrapper.like(AlarmComment.PROP_CREATE_USER, pageQueryAlarmCommentDTO.getCreateUser());
-        }
-
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmCommentDTO.getProjectId())) {
-            queryWrapper.like(AlarmComment.PROP_PROJECT_ID, pageQueryAlarmCommentDTO.getProjectId());
-        }
-
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmCommentDTO.getGroupCode())) {
-            queryWrapper.like(AlarmComment.PROP_GROUP_CODE, pageQueryAlarmCommentDTO.getGroupCode());
-        }
-
-        if (pageQueryAlarmCommentDTO.getCreateTime() != null) {
-            queryWrapper.eq(AlarmComment.PROP_CREATE_TIME, pageQueryAlarmCommentDTO.getCreateTime());
-        }
-
-        if (pageQueryAlarmCommentDTO.getUpdateTime() != null) {
-            queryWrapper.eq(AlarmComment.PROP_UPDATE_TIME, pageQueryAlarmCommentDTO.getUpdateTime());
-        }
-
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmCommentDTO.getUpdateUser())) {
-            queryWrapper.like(AlarmComment.PROP_UPDATE_USER, pageQueryAlarmCommentDTO.getUpdateUser());
-        }
+public class AlarmCommentServiceImpl extends BaseServiceImpl<AlarmComment> implements IAlarmCommentService {
 
-        return getBaseMapper().selectPage(pageParam, queryWrapper);
-    }
 }

+ 4 - 316
src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmConfigServiceImpl.java

@@ -1,21 +1,9 @@
 package com.persagy.apm.dmpalarm.service.impl;
 
-import com.persagy.apm.common.context.poems.PoemsContext;
-import com.persagy.apm.dmpalarm.dao.AlarmConfigMapper;
-import com.persagy.apm.dmpalarm.service.IAlarmConfigService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.model.dto.Sort;
-import org.springframework.util.CollectionUtils;
+
+import com.persagy.apm.dmpalarm.model.AlarmConfig;
+import com.persagy.apm.dmpalarm.service.IAlarmConfigService;
 
 /**
  * 报警定义(AlarmConfig) service层
@@ -24,306 +12,6 @@ import org.springframework.util.CollectionUtils;
  * @version V1.0 2021-12-09 10:44:19
  */
 @Service
-public class AlarmConfigServiceImpl extends ServiceImpl<AlarmConfigMapper, AlarmConfig> 
-    implements IAlarmConfigService {
-    
-    /**
-    * 创建报警定义
-    * @return 报警定义主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public String createAlarmConfig(AddAlarmConfigDTO addAlarmConfigDTO) {
-        AlarmConfig alarmConfig = ConvertAlarmConfigTool.INSTANCE.convertAddDto2Entity(addAlarmConfigDTO);
-        // 设置默认值
-        setDefaultValue(alarmConfig);
-        save(alarmConfig);
-        return alarmConfig.getId();
-    }
-    
-    /**
-     * 如果某些字段没有赋值,使用默认的值
-     *
-     * @param alarmConfig 报警定义实体
-     * @author lixing
-     * @version V1.0 2021/3/12 12:29 下午
-     */
-    private void setDefaultValue(AlarmConfig alarmConfig) {
-        alarmConfig.setCreator(PoemsContext.getContext().getUserId());
-        // todo 其他默认的属性
-        
-    }
-    
-    /**
-    * 报警定义详情
-    * @param id 主键
-    * @return 部门do类
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public AlarmConfig queryAlarmConfigDetail(String id) {
-        AlarmConfig alarmConfig = getById(id);
-        if (alarmConfig == null) {
-            throw new IllegalArgumentException("查看AlarmConfig详情时发生异常,找不到要查看的记录,id=" + id);
-        }
-        return alarmConfig;
-    }
-    
-    /**
-    * 更新报警定义
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void updateAlarmConfig(UpdateAlarmConfigDTO updateAlarmConfigDTO) {
-        AlarmConfig alarmConfig = getById(updateAlarmConfigDTO.getId());
-        alarmConfig = ConvertAlarmConfigTool.INSTANCE.convertUpdateDto2Entity(alarmConfig, updateAlarmConfigDTO);
-        alarmConfig.setModifier(PoemsContext.getContext().getUserId());
-        updateById(alarmConfig);
-    }
-    
-    /**
-     * 校验报警定义是否可删除
-     *
-     * @param id 报警定义主键
-     * @return 报警定义do类
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    public AlarmConfig checkDeletable(String id) {
-        if (id == null) {
-            throw new IllegalArgumentException("删除AlarmConfig时发生异常,主键为空");
-        }
-
-        AlarmConfig alarmConfig = getById(id);
-
-        if (alarmConfig == null) {
-            throw new IllegalArgumentException("删除AlarmConfig时发生异常,找不到要删除的数据,id:" + id);
-        }
-
-        return alarmConfig;
-    }
-    
-    /**
-    * 删除报警定义
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void deleteAlarmConfig(String id) {
-        // 校验是否可删除
-        AlarmConfig alarmConfig = checkDeletable(id);
+public class AlarmConfigServiceImpl extends BaseServiceImpl<AlarmConfig> implements IAlarmConfigService {
 
-        alarmConfig.setValid(ValidEnum.FALSE.getType());
-        updateById(alarmConfig);
-    }
-    
-    /**
-    * 查询报警定义
-    * @return List<AlarmConfig>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public List<AlarmConfig> queryAlarmConfigList(QueryAlarmConfigDTO queryAlarmConfigDTO) {
-        QueryWrapper<AlarmConfig> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmConfig.PROP_VALID, ValidEnum.TRUE.getType());
-        // 默认按创建时间倒序排序
-        queryWrapper.orderBy(true, false, AlarmConfig.PROP_CREATIONTIME);
-        
-        if (queryAlarmConfigDTO != null) {
-                                
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getObjId())) {
-                queryWrapper.like(AlarmConfig.PROP_OBJ_ID, queryAlarmConfigDTO.getObjId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getClassCode())) {
-                queryWrapper.like(AlarmConfig.PROP_CLASS_CODE, queryAlarmConfigDTO.getClassCode());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getProjectId())) {
-                queryWrapper.like(AlarmConfig.PROP_PROJECT_ID, queryAlarmConfigDTO.getProjectId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getGroupCode())) {
-                queryWrapper.like(AlarmConfig.PROP_GROUP_CODE, queryAlarmConfigDTO.getGroupCode());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getItemCode())) {
-                queryWrapper.like(AlarmConfig.PROP_ITEM_CODE, queryAlarmConfigDTO.getItemCode());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getTargetId())) {
-                queryWrapper.like(AlarmConfig.PROP_TARGET_ID, queryAlarmConfigDTO.getTargetId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getCategory())) {
-                queryWrapper.like(AlarmConfig.PROP_CATEGORY, queryAlarmConfigDTO.getCategory());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getLevel())) {
-                queryWrapper.like(AlarmConfig.PROP_LEVEL, queryAlarmConfigDTO.getLevel());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getRemark())) {
-                queryWrapper.like(AlarmConfig.PROP_REMARK, queryAlarmConfigDTO.getRemark());
-            }
-                                            
-            if (queryAlarmConfigDTO.getCondition() != null) {
-                queryWrapper.eq(AlarmConfig.PROP_CONDITION, queryAlarmConfigDTO.getCondition());
-            }
-                                            
-            if (queryAlarmConfigDTO.getOpen() != null) {
-                queryWrapper.eq(AlarmConfig.PROP_OPEN, queryAlarmConfigDTO.getOpen());
-            }
-                                            
-            if (queryAlarmConfigDTO.getConcern() != null) {
-                queryWrapper.eq(AlarmConfig.PROP_CONCERN, queryAlarmConfigDTO.getConcern());
-            }
-                                            
-            if (queryAlarmConfigDTO.getUserDefined() != null) {
-                queryWrapper.eq(AlarmConfig.PROP_USER_DEFINED, queryAlarmConfigDTO.getUserDefined());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getCreateUser())) {
-                queryWrapper.like(AlarmConfig.PROP_CREATE_USER, queryAlarmConfigDTO.getCreateUser());
-            }
-                                            
-            if (queryAlarmConfigDTO.getCreateTime() != null) {
-                queryWrapper.eq(AlarmConfig.PROP_CREATE_TIME, queryAlarmConfigDTO.getCreateTime());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmConfigDTO.getUpdateUser())) {
-                queryWrapper.like(AlarmConfig.PROP_UPDATE_USER, queryAlarmConfigDTO.getUpdateUser());
-            }
-                                            
-            if (queryAlarmConfigDTO.getUpdateTime() != null) {
-                queryWrapper.eq(AlarmConfig.PROP_UPDATE_TIME, queryAlarmConfigDTO.getUpdateTime());
-            }
-                        
-        }
-        
-        return list(queryWrapper);
-    }
-    
-    /**
-    * 分页查询报警定义
-    * @return IPage<AlarmConfig>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public IPage<AlarmConfig> pageQueryAlarmConfig(PageQueryAlarmConfigDTO pageQueryAlarmConfigDTO) {
-        QueryWrapper<AlarmConfig> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmConfig.PROP_VALID, ValidEnum.TRUE.getType());
-        // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<AlarmConfig> pageParam = new Page<>(pageQueryAlarmConfigDTO.getPage(), pageQueryAlarmConfigDTO.getSize(),true);
-        // 排序信息
-        if(CollectionUtils.isEmpty(pageQueryAlarmConfigDTO.getOrders())){
-            // 默认按创建时间倒序排序
-            queryWrapper.orderBy(true, false, AlarmConfig.PROP_CREATIONTIME);
-        }else {
-            List<Sort> orders = pageQueryAlarmConfigDTO.getOrders();
-            for(Sort sort: orders) {
-                // 将驼峰转换为下划线格式
-                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
-                queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
-            }
-        }
-                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getObjId())) {
-            queryWrapper.like(AlarmConfig.PROP_OBJ_ID, pageQueryAlarmConfigDTO.getObjId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getClassCode())) {
-            queryWrapper.like(AlarmConfig.PROP_CLASS_CODE, pageQueryAlarmConfigDTO.getClassCode());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getProjectId())) {
-            queryWrapper.like(AlarmConfig.PROP_PROJECT_ID, pageQueryAlarmConfigDTO.getProjectId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getGroupCode())) {
-            queryWrapper.like(AlarmConfig.PROP_GROUP_CODE, pageQueryAlarmConfigDTO.getGroupCode());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getItemCode())) {
-            queryWrapper.like(AlarmConfig.PROP_ITEM_CODE, pageQueryAlarmConfigDTO.getItemCode());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getTargetId())) {
-            queryWrapper.like(AlarmConfig.PROP_TARGET_ID, pageQueryAlarmConfigDTO.getTargetId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getCategory())) {
-            queryWrapper.like(AlarmConfig.PROP_CATEGORY, pageQueryAlarmConfigDTO.getCategory());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getLevel())) {
-            queryWrapper.like(AlarmConfig.PROP_LEVEL, pageQueryAlarmConfigDTO.getLevel());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getRemark())) {
-            queryWrapper.like(AlarmConfig.PROP_REMARK, pageQueryAlarmConfigDTO.getRemark());
-        }
-                            
-        if (pageQueryAlarmConfigDTO.getCondition() != null) {
-            queryWrapper.eq(AlarmConfig.PROP_CONDITION, pageQueryAlarmConfigDTO.getCondition());
-        }
-                            
-        if (pageQueryAlarmConfigDTO.getOpen() != null) {
-            queryWrapper.eq(AlarmConfig.PROP_OPEN, pageQueryAlarmConfigDTO.getOpen());
-        }
-                            
-        if (pageQueryAlarmConfigDTO.getConcern() != null) {
-            queryWrapper.eq(AlarmConfig.PROP_CONCERN, pageQueryAlarmConfigDTO.getConcern());
-        }
-                            
-        if (pageQueryAlarmConfigDTO.getUserDefined() != null) {
-            queryWrapper.eq(AlarmConfig.PROP_USER_DEFINED, pageQueryAlarmConfigDTO.getUserDefined());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getCreateUser())) {
-            queryWrapper.like(AlarmConfig.PROP_CREATE_USER, pageQueryAlarmConfigDTO.getCreateUser());
-        }
-                            
-        if (pageQueryAlarmConfigDTO.getCreateTime() != null) {
-            queryWrapper.eq(AlarmConfig.PROP_CREATE_TIME, pageQueryAlarmConfigDTO.getCreateTime());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmConfigDTO.getUpdateUser())) {
-            queryWrapper.like(AlarmConfig.PROP_UPDATE_USER, pageQueryAlarmConfigDTO.getUpdateUser());
-        }
-                            
-        if (pageQueryAlarmConfigDTO.getUpdateTime() != null) {
-            queryWrapper.eq(AlarmConfig.PROP_UPDATE_TIME, pageQueryAlarmConfigDTO.getUpdateTime());
-        }
-                
-        return getBaseMapper().selectPage(pageParam, queryWrapper);
-    }
 }

+ 5 - 292
src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmItemServiceImpl.java

@@ -1,21 +1,9 @@
 package com.persagy.apm.dmpalarm.service.impl;
 
-import com.persagy.apm.common.context.poems.PoemsContext;
-import com.persagy.apm.dmpalarm.dao.AlarmItemMapper;
-import com.persagy.apm.dmpalarm.service.IAlarmItemService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.model.dto.Sort;
-import org.springframework.util.CollectionUtils;
+
+import com.persagy.apm.dmpalarm.model.AlarmItem;
+import com.persagy.apm.dmpalarm.service.IAlarmItemService;
 
 /**
  * 报警条目(AlarmItem) service层
@@ -24,282 +12,7 @@ import org.springframework.util.CollectionUtils;
  * @version V1.0 2021-12-09 10:44:19
  */
 @Service
-public class AlarmItemServiceImpl extends ServiceImpl<AlarmItemMapper, AlarmItem> 
+public class AlarmItemServiceImpl extends BaseServiceImpl<AlarmItem>
     implements IAlarmItemService {
-    
-    /**
-    * 创建报警条目
-    * @return 报警条目主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public String createAlarmItem(AddAlarmItemDTO addAlarmItemDTO) {
-        AlarmItem alarmItem = ConvertAlarmItemTool.INSTANCE.convertAddDto2Entity(addAlarmItemDTO);
-        // 设置默认值
-        setDefaultValue(alarmItem);
-        save(alarmItem);
-        return alarmItem.getId();
-    }
-    
-    /**
-     * 如果某些字段没有赋值,使用默认的值
-     *
-     * @param alarmItem 报警条目实体
-     * @author lixing
-     * @version V1.0 2021/3/12 12:29 下午
-     */
-    private void setDefaultValue(AlarmItem alarmItem) {
-        alarmItem.setCreator(PoemsContext.getContext().getUserId());
-        // todo 其他默认的属性
-        
-    }
-    
-    /**
-    * 报警条目详情
-    * @param id 主键
-    * @return 部门do类
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public AlarmItem queryAlarmItemDetail(String id) {
-        AlarmItem alarmItem = getById(id);
-        if (alarmItem == null) {
-            throw new IllegalArgumentException("查看AlarmItem详情时发生异常,找不到要查看的记录,id=" + id);
-        }
-        return alarmItem;
-    }
-    
-    /**
-    * 更新报警条目
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void updateAlarmItem(UpdateAlarmItemDTO updateAlarmItemDTO) {
-        AlarmItem alarmItem = getById(updateAlarmItemDTO.getId());
-        alarmItem = ConvertAlarmItemTool.INSTANCE.convertUpdateDto2Entity(alarmItem, updateAlarmItemDTO);
-        alarmItem.setModifier(PoemsContext.getContext().getUserId());
-        updateById(alarmItem);
-    }
-    
-    /**
-     * 校验报警条目是否可删除
-     *
-     * @param id 报警条目主键
-     * @return 报警条目do类
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    public AlarmItem checkDeletable(String id) {
-        if (id == null) {
-            throw new IllegalArgumentException("删除AlarmItem时发生异常,主键为空");
-        }
-
-        AlarmItem alarmItem = getById(id);
-
-        if (alarmItem == null) {
-            throw new IllegalArgumentException("删除AlarmItem时发生异常,找不到要删除的数据,id:" + id);
-        }
-
-        return alarmItem;
-    }
-    
-    /**
-    * 删除报警条目
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void deleteAlarmItem(String id) {
-        // 校验是否可删除
-        AlarmItem alarmItem = checkDeletable(id);
-
-        alarmItem.setValid(ValidEnum.FALSE.getType());
-        updateById(alarmItem);
-    }
-    
-    /**
-    * 查询报警条目
-    * @return List<AlarmItem>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public List<AlarmItem> queryAlarmItemList(QueryAlarmItemDTO queryAlarmItemDTO) {
-        QueryWrapper<AlarmItem> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmItem.PROP_VALID, ValidEnum.TRUE.getType());
-        // 默认按创建时间倒序排序
-        queryWrapper.orderBy(true, false, AlarmItem.PROP_CREATIONTIME);
-        
-        if (queryAlarmItemDTO != null) {
-                                
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getCode())) {
-                queryWrapper.like(AlarmItem.PROP_CODE, queryAlarmItemDTO.getCode());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getName())) {
-                queryWrapper.like(AlarmItem.PROP_NAME, queryAlarmItemDTO.getName());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getCategory())) {
-                queryWrapper.like(AlarmItem.PROP_CATEGORY, queryAlarmItemDTO.getCategory());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getLevel())) {
-                queryWrapper.like(AlarmItem.PROP_LEVEL, queryAlarmItemDTO.getLevel());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getRemark())) {
-                queryWrapper.like(AlarmItem.PROP_REMARK, queryAlarmItemDTO.getRemark());
-            }
-                                            
-            if (queryAlarmItemDTO.getCondition() != null) {
-                queryWrapper.eq(AlarmItem.PROP_CONDITION, queryAlarmItemDTO.getCondition());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getDealFun())) {
-                queryWrapper.like(AlarmItem.PROP_DEAL_FUN, queryAlarmItemDTO.getDealFun());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getCreateUser())) {
-                queryWrapper.like(AlarmItem.PROP_CREATE_USER, queryAlarmItemDTO.getCreateUser());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getProjectId())) {
-                queryWrapper.like(AlarmItem.PROP_PROJECT_ID, queryAlarmItemDTO.getProjectId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getGroupCode())) {
-                queryWrapper.like(AlarmItem.PROP_GROUP_CODE, queryAlarmItemDTO.getGroupCode());
-            }
-                                            
-            if (queryAlarmItemDTO.getCreateTime() != null) {
-                queryWrapper.eq(AlarmItem.PROP_CREATE_TIME, queryAlarmItemDTO.getCreateTime());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getUpdateUser())) {
-                queryWrapper.like(AlarmItem.PROP_UPDATE_USER, queryAlarmItemDTO.getUpdateUser());
-            }
-                                            
-            if (queryAlarmItemDTO.getUpdateTime() != null) {
-                queryWrapper.eq(AlarmItem.PROP_UPDATE_TIME, queryAlarmItemDTO.getUpdateTime());
-            }
-                                            
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmItemDTO.getAppId())) {
-                queryWrapper.like(AlarmItem.PROP_APP_ID, queryAlarmItemDTO.getAppId());
-            }
-                    
-        }
-        
-        return list(queryWrapper);
-    }
-    
-    /**
-    * 分页查询报警条目
-    * @return IPage<AlarmItem>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public IPage<AlarmItem> pageQueryAlarmItem(PageQueryAlarmItemDTO pageQueryAlarmItemDTO) {
-        QueryWrapper<AlarmItem> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmItem.PROP_VALID, ValidEnum.TRUE.getType());
-        // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<AlarmItem> pageParam = new Page<>(pageQueryAlarmItemDTO.getPage(), pageQueryAlarmItemDTO.getSize(),true);
-        // 排序信息
-        if(CollectionUtils.isEmpty(pageQueryAlarmItemDTO.getOrders())){
-            // 默认按创建时间倒序排序
-            queryWrapper.orderBy(true, false, AlarmItem.PROP_CREATIONTIME);
-        }else {
-            List<Sort> orders = pageQueryAlarmItemDTO.getOrders();
-            for(Sort sort: orders) {
-                // 将驼峰转换为下划线格式
-                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
-                queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
-            }
-        }
-                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getCode())) {
-            queryWrapper.like(AlarmItem.PROP_CODE, pageQueryAlarmItemDTO.getCode());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getName())) {
-            queryWrapper.like(AlarmItem.PROP_NAME, pageQueryAlarmItemDTO.getName());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getCategory())) {
-            queryWrapper.like(AlarmItem.PROP_CATEGORY, pageQueryAlarmItemDTO.getCategory());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getLevel())) {
-            queryWrapper.like(AlarmItem.PROP_LEVEL, pageQueryAlarmItemDTO.getLevel());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getRemark())) {
-            queryWrapper.like(AlarmItem.PROP_REMARK, pageQueryAlarmItemDTO.getRemark());
-        }
-                            
-        if (pageQueryAlarmItemDTO.getCondition() != null) {
-            queryWrapper.eq(AlarmItem.PROP_CONDITION, pageQueryAlarmItemDTO.getCondition());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getDealFun())) {
-            queryWrapper.like(AlarmItem.PROP_DEAL_FUN, pageQueryAlarmItemDTO.getDealFun());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getCreateUser())) {
-            queryWrapper.like(AlarmItem.PROP_CREATE_USER, pageQueryAlarmItemDTO.getCreateUser());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getProjectId())) {
-            queryWrapper.like(AlarmItem.PROP_PROJECT_ID, pageQueryAlarmItemDTO.getProjectId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getGroupCode())) {
-            queryWrapper.like(AlarmItem.PROP_GROUP_CODE, pageQueryAlarmItemDTO.getGroupCode());
-        }
-                            
-        if (pageQueryAlarmItemDTO.getCreateTime() != null) {
-            queryWrapper.eq(AlarmItem.PROP_CREATE_TIME, pageQueryAlarmItemDTO.getCreateTime());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getUpdateUser())) {
-            queryWrapper.like(AlarmItem.PROP_UPDATE_USER, pageQueryAlarmItemDTO.getUpdateUser());
-        }
-                            
-        if (pageQueryAlarmItemDTO.getUpdateTime() != null) {
-            queryWrapper.eq(AlarmItem.PROP_UPDATE_TIME, pageQueryAlarmItemDTO.getUpdateTime());
-        }
-                                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmItemDTO.getAppId())) {
-            queryWrapper.like(AlarmItem.PROP_APP_ID, pageQueryAlarmItemDTO.getAppId());
-        }
-            
-        return getBaseMapper().selectPage(pageParam, queryWrapper);
-    }
+   
 }

+ 27 - 254
src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmLogServiceImpl.java

@@ -1,21 +1,14 @@
 package com.persagy.apm.dmpalarm.service.impl;
 
-import com.persagy.apm.common.context.poems.PoemsContext;
-import com.persagy.apm.dmpalarm.dao.AlarmLogMapper;
-import com.persagy.apm.dmpalarm.service.IAlarmLogService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.Date;
+import java.util.UUID;
+
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.model.dto.Sort;
-import org.springframework.util.CollectionUtils;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.persagy.apm.dmpalarm.model.AlarmLog;
+import com.persagy.apm.dmpalarm.service.IAlarmLogService;
+import com.persagy.apm.dmpalarm.web.MapResponse;
 
 /**
  * 报警日志(AlarmLog) service层
@@ -24,246 +17,26 @@ import org.springframework.util.CollectionUtils;
  * @version V1.0 2021-12-09 10:44:19
  */
 @Service
-public class AlarmLogServiceImpl extends ServiceImpl<AlarmLogMapper, AlarmLog> 
-    implements IAlarmLogService {
-    
-    /**
-    * 创建报警日志
-    * @return 报警日志主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public String createAlarmLog(AddAlarmLogDTO addAlarmLogDTO) {
-        AlarmLog alarmLog = ConvertAlarmLogTool.INSTANCE.convertAddDto2Entity(addAlarmLogDTO);
-        // 设置默认值
-        setDefaultValue(alarmLog);
-        save(alarmLog);
-        return alarmLog.getId();
-    }
-    
-    /**
-     * 如果某些字段没有赋值,使用默认的值
-     *
-     * @param alarmLog 报警日志实体
-     * @author lixing
-     * @version V1.0 2021/3/12 12:29 下午
-     */
-    private void setDefaultValue(AlarmLog alarmLog) {
-        alarmLog.setCreator(PoemsContext.getContext().getUserId());
-        // todo 其他默认的属性
-        
-    }
-    
-    /**
-    * 报警日志详情
-    * @param id 主键
-    * @return 部门do类
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public AlarmLog queryAlarmLogDetail(String id) {
-        AlarmLog alarmLog = getById(id);
-        if (alarmLog == null) {
-            throw new IllegalArgumentException("查看AlarmLog详情时发生异常,找不到要查看的记录,id=" + id);
-        }
-        return alarmLog;
-    }
-    
-    /**
-    * 更新报警日志
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void updateAlarmLog(UpdateAlarmLogDTO updateAlarmLogDTO) {
-        AlarmLog alarmLog = getById(updateAlarmLogDTO.getId());
-        alarmLog = ConvertAlarmLogTool.INSTANCE.convertUpdateDto2Entity(alarmLog, updateAlarmLogDTO);
-        alarmLog.setModifier(PoemsContext.getContext().getUserId());
-        updateById(alarmLog);
-    }
-    
-    /**
-     * 校验报警日志是否可删除
-     *
-     * @param id 报警日志主键
-     * @return 报警日志do类
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    public AlarmLog checkDeletable(String id) {
-        if (id == null) {
-            throw new IllegalArgumentException("删除AlarmLog时发生异常,主键为空");
-        }
-
-        AlarmLog alarmLog = getById(id);
+public class AlarmLogServiceImpl extends BaseServiceImpl<AlarmLog> implements IAlarmLogService {
 
-        if (alarmLog == null) {
-            throw new IllegalArgumentException("删除AlarmLog时发生异常,找不到要删除的数据,id:" + id);
-        }
+	@Override
+	@Transactional
+	public MapResponse create(AlarmLog param) {
+		MapResponse response = new MapResponse();
+		AlarmParam alarmParam = prepareParam(response);
+		if (alarmParam == null) {
+			return response;
+		}
+		AlarmLog entity = param;
+		entity.setId(UUID.randomUUID().toString());
+		entity.setCreateTime(new Date());
+		entity.setProjectId(alarmParam.projectId);
+		entity.setGroupCode(alarmParam.groupCode);
+		entity.setCreateUser(alarmParam.userId);
+		save(entity);
+		response.add("id", entity.getId());
+		return response;
 
-        return alarmLog;
-    }
-    
-    /**
-    * 删除报警日志
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void deleteAlarmLog(String id) {
-        // 校验是否可删除
-        AlarmLog alarmLog = checkDeletable(id);
+	}
 
-        alarmLog.setValid(ValidEnum.FALSE.getType());
-        updateById(alarmLog);
-    }
-    
-    /**
-    * 查询报警日志
-    * @return List<AlarmLog>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public List<AlarmLog> queryAlarmLogList(QueryAlarmLogDTO queryAlarmLogDTO) {
-        QueryWrapper<AlarmLog> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmLog.PROP_VALID, ValidEnum.TRUE.getType());
-        // 默认按创建时间倒序排序
-        queryWrapper.orderBy(true, false, AlarmLog.PROP_CREATIONTIME);
-        
-        if (queryAlarmLogDTO != null) {
-                                
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmLogDTO.getRecordId())) {
-                queryWrapper.like(AlarmLog.PROP_RECORD_ID, queryAlarmLogDTO.getRecordId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmLogDTO.getType())) {
-                queryWrapper.like(AlarmLog.PROP_TYPE, queryAlarmLogDTO.getType());
-            }
-                                            
-            if (queryAlarmLogDTO.getNature() != null) {
-                queryWrapper.eq(AlarmLog.PROP_NATURE, queryAlarmLogDTO.getNature());
-            }
-                                            
-            if (queryAlarmLogDTO.getBefore() != null) {
-                queryWrapper.eq(AlarmLog.PROP_BEFORE, queryAlarmLogDTO.getBefore());
-            }
-                                            
-            if (queryAlarmLogDTO.getAfter() != null) {
-                queryWrapper.eq(AlarmLog.PROP_AFTER, queryAlarmLogDTO.getAfter());
-            }
-                                            
-            if (queryAlarmLogDTO.getRemark() != null) {
-                queryWrapper.eq(AlarmLog.PROP_REMARK, queryAlarmLogDTO.getRemark());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmLogDTO.getProjectId())) {
-                queryWrapper.like(AlarmLog.PROP_PROJECT_ID, queryAlarmLogDTO.getProjectId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmLogDTO.getGroupCode())) {
-                queryWrapper.like(AlarmLog.PROP_GROUP_CODE, queryAlarmLogDTO.getGroupCode());
-            }
-                                            
-            if (queryAlarmLogDTO.getCreateTime() != null) {
-                queryWrapper.eq(AlarmLog.PROP_CREATE_TIME, queryAlarmLogDTO.getCreateTime());
-            }
-                                            
-            if (queryAlarmLogDTO.getUpdateTime() != null) {
-                queryWrapper.eq(AlarmLog.PROP_UPDATE_TIME, queryAlarmLogDTO.getUpdateTime());
-            }
-                                            
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmLogDTO.getCreateUser())) {
-                queryWrapper.like(AlarmLog.PROP_CREATE_USER, queryAlarmLogDTO.getCreateUser());
-            }
-                    
-        }
-        
-        return list(queryWrapper);
-    }
-    
-    /**
-    * 分页查询报警日志
-    * @return IPage<AlarmLog>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public IPage<AlarmLog> pageQueryAlarmLog(PageQueryAlarmLogDTO pageQueryAlarmLogDTO) {
-        QueryWrapper<AlarmLog> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmLog.PROP_VALID, ValidEnum.TRUE.getType());
-        // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<AlarmLog> pageParam = new Page<>(pageQueryAlarmLogDTO.getPage(), pageQueryAlarmLogDTO.getSize(),true);
-        // 排序信息
-        if(CollectionUtils.isEmpty(pageQueryAlarmLogDTO.getOrders())){
-            // 默认按创建时间倒序排序
-            queryWrapper.orderBy(true, false, AlarmLog.PROP_CREATIONTIME);
-        }else {
-            List<Sort> orders = pageQueryAlarmLogDTO.getOrders();
-            for(Sort sort: orders) {
-                // 将驼峰转换为下划线格式
-                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
-                queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
-            }
-        }
-                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmLogDTO.getRecordId())) {
-            queryWrapper.like(AlarmLog.PROP_RECORD_ID, pageQueryAlarmLogDTO.getRecordId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmLogDTO.getType())) {
-            queryWrapper.like(AlarmLog.PROP_TYPE, pageQueryAlarmLogDTO.getType());
-        }
-                            
-        if (pageQueryAlarmLogDTO.getNature() != null) {
-            queryWrapper.eq(AlarmLog.PROP_NATURE, pageQueryAlarmLogDTO.getNature());
-        }
-                            
-        if (pageQueryAlarmLogDTO.getBefore() != null) {
-            queryWrapper.eq(AlarmLog.PROP_BEFORE, pageQueryAlarmLogDTO.getBefore());
-        }
-                            
-        if (pageQueryAlarmLogDTO.getAfter() != null) {
-            queryWrapper.eq(AlarmLog.PROP_AFTER, pageQueryAlarmLogDTO.getAfter());
-        }
-                            
-        if (pageQueryAlarmLogDTO.getRemark() != null) {
-            queryWrapper.eq(AlarmLog.PROP_REMARK, pageQueryAlarmLogDTO.getRemark());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmLogDTO.getProjectId())) {
-            queryWrapper.like(AlarmLog.PROP_PROJECT_ID, pageQueryAlarmLogDTO.getProjectId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmLogDTO.getGroupCode())) {
-            queryWrapper.like(AlarmLog.PROP_GROUP_CODE, pageQueryAlarmLogDTO.getGroupCode());
-        }
-                            
-        if (pageQueryAlarmLogDTO.getCreateTime() != null) {
-            queryWrapper.eq(AlarmLog.PROP_CREATE_TIME, pageQueryAlarmLogDTO.getCreateTime());
-        }
-                            
-        if (pageQueryAlarmLogDTO.getUpdateTime() != null) {
-            queryWrapper.eq(AlarmLog.PROP_UPDATE_TIME, pageQueryAlarmLogDTO.getUpdateTime());
-        }
-                                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmLogDTO.getCreateUser())) {
-            queryWrapper.like(AlarmLog.PROP_CREATE_USER, pageQueryAlarmLogDTO.getCreateUser());
-        }
-            
-        return getBaseMapper().selectPage(pageParam, queryWrapper);
-    }
 }

+ 220 - 401
src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmRecordServiceImpl.java

@@ -1,35 +1,40 @@
 package com.persagy.apm.dmpalarm.service.impl;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.persagy.apm.common.model.dto.Sort;
+import com.persagy.apm.dmpalarm.config.DmpParameterStorage;
 import com.persagy.apm.dmpalarm.criteria.CriteriaUtils;
 import com.persagy.apm.dmpalarm.criteria.JsonCriteria;
 import com.persagy.apm.dmpalarm.dao.AlarmRecordMapper;
 import com.persagy.apm.dmpalarm.enumeration.EnumAlarmListType;
+import com.persagy.apm.dmpalarm.enumeration.EnumAlarmLogType;
+import com.persagy.apm.dmpalarm.enumeration.EnumAlarmMessageType;
 import com.persagy.apm.dmpalarm.enumeration.EnumAlarmState;
 import com.persagy.apm.dmpalarm.enumeration.EnumAlarmTreatState;
+import com.persagy.apm.dmpalarm.json.JacksonMapper;
+import com.persagy.apm.dmpalarm.model.AlarmLog;
 import com.persagy.apm.dmpalarm.model.AlarmRecord;
-import com.persagy.apm.dmpalarm.model.ConvertAlarmRecordTool;
-import com.persagy.apm.dmpalarm.model.dto.AddAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.PageQueryAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.QueryAlarmRecordDTO;
-import com.persagy.apm.dmpalarm.model.dto.UpdateAlarmRecordDTO;
+import com.persagy.apm.dmpalarm.model.DmpMessage;
+import com.persagy.apm.dmpalarm.service.IAlarmLogService;
 import com.persagy.apm.dmpalarm.service.IAlarmRecordService;
+import com.persagy.apm.dmpalarm.utils.CheckRequiredParam;
+import com.persagy.apm.dmpalarm.utils.DatePatternStyle;
+import com.persagy.apm.dmpalarm.web.MapResponse;
 import com.persagy.apm.dmpalarm.web.PagedResponse;
 
+import cn.hutool.core.date.DateUtil;
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -38,439 +43,253 @@ import lombok.extern.slf4j.Slf4j;
  * @author lixing
  * @version V1.0 2021-12-09 10:44:19
  */
-@Slf4j
 @Service
-public class AlarmRecordServiceImpl extends ServiceImpl<AlarmRecordMapper, AlarmRecord> implements IAlarmRecordService {
+@Slf4j
+public class AlarmRecordServiceImpl extends BaseServiceImpl<AlarmRecord> implements IAlarmRecordService {
 
 	@Autowired
 	private CriteriaUtils criteriaUtils;
+	@Autowired
+	private IAlarmLogService alarmLogService;
+	@Autowired
+	private AlarmRecordMapper alarmRecordMapper;
 
-	/**
-	 * 创建报警记录
-	 * 
-	 * @return 报警记录主键
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
-	 */
 	@Override
-	public String createAlarmRecord(AddAlarmRecordDTO addAlarmRecordDTO) {
-		AlarmRecord alarmRecord = ConvertAlarmRecordTool.INSTANCE.convertAddDto2Entity(addAlarmRecordDTO);
-		// 设置默认值
-		save(alarmRecord);
-		return alarmRecord.getId();
-	}
-
-	/**
-	 * 报警记录详情
-	 * 
-	 * @param id 主键
-	 * @return 部门do类
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
-	 */
-	@Override
-	public AlarmRecord queryAlarmRecordDetail(String id) {
-		AlarmRecord alarmRecord = getById(id);
-		if (alarmRecord == null) {
-			throw new IllegalArgumentException("查看AlarmRecord详情时发生异常,找不到要查看的记录,id=" + id);
+	public PagedResponse<AlarmRecord> query(JsonCriteria jsonCriteria) {
+		QueryWrapper<AlarmRecord> queryWrapper = criteriaUtils.handleAlarmConditions(jsonCriteria, AlarmRecord.class);
+		this.addAlarmQueryCondition(jsonCriteria.getCriteria(), queryWrapper);
+		PagedResponse<AlarmRecord> pagedResponse = new PagedResponse<>();
+		if (jsonCriteria.isOnlyCount()) {
+			Integer count = baseMapper.selectCount(queryWrapper);
+			pagedResponse.setCount(count.longValue());
+		} else {
+			Page<AlarmRecord> page = baseMapper.selectPage(new Page<>(jsonCriteria.getPage(), jsonCriteria.getSize()),
+					queryWrapper);
+			pagedResponse.setCount(page.getTotal());
+			pagedResponse.setData(page.getRecords());
 		}
-		return alarmRecord;
+		return pagedResponse;
 	}
 
 	/**
-	 * 更新报警记录
+	 * 添加查询报警条件 CURRENT 当前报警 HISTORY 历史报警
 	 * 
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
-	 */
-	@Override
-	public void updateAlarmRecord(UpdateAlarmRecordDTO updateAlarmRecordDTO) {
-		AlarmRecord alarmRecord = getById(updateAlarmRecordDTO.getId());
-		alarmRecord = ConvertAlarmRecordTool.INSTANCE.convertUpdateDto2Entity(alarmRecord, updateAlarmRecordDTO);
-		updateById(alarmRecord);
-	}
-
-	/**
-	 * 校验报警记录是否可删除
-	 *
-	 * @param id 报警记录主键
-	 * @return 报警记录do类
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
+	 * @param <T>
+	 * 
+	 * @param jsonObject
+	 * @param alarmRecordWrappers
 	 */
-	public AlarmRecord checkDeletable(String id) {
-		if (id == null) {
-			throw new IllegalArgumentException("删除AlarmRecord时发生异常,主键为空");
+	private <T> void addAlarmQueryCondition(JSONObject criteria, QueryWrapper<T> queryWrappers) {
+		String listType = criteria.getString("listType");
+		if (EnumAlarmListType.CURRENT.name().equals(listType)) {
+			queryWrappers.and(andw -> andw.eq(AlarmRecord.PROP_STATE, EnumAlarmState.UN_HANDLE.getType())
+					.or(orw -> orw.eq(AlarmRecord.PROP_TREAT_STATE, EnumAlarmState.UN_HANDLE.getType())
+							.eq(AlarmRecord.PROP_TREAT_STATE, EnumAlarmTreatState.HANDLING.getType())));
 		}
 
-		AlarmRecord alarmRecord = getById(id);
+		if (EnumAlarmListType.HISTORY.name().equals(listType)) {
+			queryWrappers.and(andw -> andw.eq(AlarmRecord.PROP_STATE, EnumAlarmState.END.getType())
+					.or(orw -> orw.eq(AlarmRecord.PROP_STATE, EnumAlarmState.EXPIRE.getType())
+							.eq(AlarmRecord.PROP_TREAT_STATE, EnumAlarmTreatState.DONE.getType())));
 
-		if (alarmRecord == null) {
-			throw new IllegalArgumentException("删除AlarmRecord时发生异常,找不到要删除的数据,id:" + id);
 		}
-
-		return alarmRecord;
 	}
 
-	/**
-	 * 删除报警记录
-	 * 
-	 * @param id 主键
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
-	 */
 	@Override
-	public void deleteAlarmRecord(String id) {
-		// 校验是否可删除
-		AlarmRecord alarmRecord = checkDeletable(id);
-
-		alarmRecord.setValid(ValidEnum.FALSE.getType());
-		updateById(alarmRecord);
-	}
-
-	/**
-	 * 查询报警记录
-	 * 
-	 * @return List<AlarmRecord>
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
-	 */
-	@Override
-	public List<AlarmRecord> queryAlarmRecordList(QueryAlarmRecordDTO queryAlarmRecordDTO) {
-		QueryWrapper<AlarmRecord> queryWrapper = new QueryWrapper<>();
-		// 默认按创建时间倒序排序
-		if (queryAlarmRecordDTO != null) {
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getItemCode())) {
-				queryWrapper.like(AlarmRecord.PROP_ITEM_CODE, queryAlarmRecordDTO.getItemCode());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getProjectId())) {
-				queryWrapper.like(AlarmRecord.PROP_PROJECT_ID, queryAlarmRecordDTO.getProjectId());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getObjId())) {
-				queryWrapper.like(AlarmRecord.PROP_OBJ_ID, queryAlarmRecordDTO.getObjId());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getClassCode())) {
-				queryWrapper.like(AlarmRecord.PROP_CLASS_CODE, queryAlarmRecordDTO.getClassCode());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getLevel())) {
-				queryWrapper.like(AlarmRecord.PROP_LEVEL, queryAlarmRecordDTO.getLevel());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getRemark())) {
-				queryWrapper.like(AlarmRecord.PROP_REMARK, queryAlarmRecordDTO.getRemark());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getCreateUser())) {
-				queryWrapper.like(AlarmRecord.PROP_CREATE_USER, queryAlarmRecordDTO.getCreateUser());
-			}
-
-			if (queryAlarmRecordDTO.getCreateTime() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_CREATE_TIME, queryAlarmRecordDTO.getCreateTime());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getUpdateUser())) {
-				queryWrapper.like(AlarmRecord.PROP_UPDATE_USER, queryAlarmRecordDTO.getUpdateUser());
-			}
-
-			if (queryAlarmRecordDTO.getUpdateTime() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_UPDATE_TIME, queryAlarmRecordDTO.getUpdateTime());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getName())) {
-				queryWrapper.like(AlarmRecord.PROP_NAME, queryAlarmRecordDTO.getName());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getCategory())) {
-				queryWrapper.like(AlarmRecord.PROP_CATEGORY, queryAlarmRecordDTO.getCategory());
-			}
-
-			if (queryAlarmRecordDTO.getConcern() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_CONCERN, queryAlarmRecordDTO.getConcern());
-			}
-
-			if (queryAlarmRecordDTO.getState() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_STATE, queryAlarmRecordDTO.getState());
-			}
-
-			if (queryAlarmRecordDTO.getEffectStartTime() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_EFFECT_START_TIME, queryAlarmRecordDTO.getEffectStartTime());
-			}
-
-			if (queryAlarmRecordDTO.getEffectEndTime() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_EFFECT_END_TIME, queryAlarmRecordDTO.getEffectEndTime());
-			}
-
-			if (queryAlarmRecordDTO.getNature() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_NATURE, queryAlarmRecordDTO.getNature());
-			}
-
-			if (queryAlarmRecordDTO.getTreatMode() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_TREAT_MODE, queryAlarmRecordDTO.getTreatMode());
-			}
-
-			if (queryAlarmRecordDTO.getTreatState() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_TREAT_STATE, queryAlarmRecordDTO.getTreatState());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getGroupCode())) {
-				queryWrapper.like(AlarmRecord.PROP_GROUP_CODE, queryAlarmRecordDTO.getGroupCode());
-			}
-
-			if (queryAlarmRecordDTO.getCondition() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_CONDITION, queryAlarmRecordDTO.getCondition());
-			}
-
-			if (queryAlarmRecordDTO.getTriggerInfo() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_TRIGGER_INFO, queryAlarmRecordDTO.getTriggerInfo());
-			}
-
-			if (queryAlarmRecordDTO.getEndInfo() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_END_INFO, queryAlarmRecordDTO.getEndInfo());
-			}
-
-			if (queryAlarmRecordDTO.getTriggerTime() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_TRIGGER_TIME, queryAlarmRecordDTO.getTriggerTime());
-			}
-
-			if (queryAlarmRecordDTO.getEndTime() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_END_TIME, queryAlarmRecordDTO.getEndTime());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getOrderId())) {
-				queryWrapper.like(AlarmRecord.PROP_ORDER_ID, queryAlarmRecordDTO.getOrderId());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getOrderState())) {
-				queryWrapper.like(AlarmRecord.PROP_ORDER_STATE, queryAlarmRecordDTO.getOrderState());
+	@Transactional
+	public MapResponse create(AlarmRecord param) {
+
+		MapResponse response = new MapResponse();
+		AlarmParam alarmParam = prepareParam(response);
+		if (alarmParam == null) {
+			return response;
+		}
+		// 必填项校验
+		String checkResult = CheckRequiredParam.check(param, "itemCode", "objId", "level");
+		if (!StringUtils.isEmpty(checkResult)) {
+			response.setFail(checkResult);
+			return response;
+		}
+
+		String id = UUID.randomUUID().toString();
+		// 如果创建时,入参包含id,则使用入参中的id。但需要先校验id是否已存在
+		if (!StringUtils.isEmpty(param.getId())) {
+
+			AlarmRecord alarmRecord = getById(param.getId());
+			if (null != alarmRecord) {
+				response.setFail("已存在相同id的报警记录!创建失败!");
+				return response;
+			} else {
+				id = param.getId();
 			}
-
-			if (queryAlarmRecordDTO.getSupplement() != null) {
-				queryWrapper.eq(AlarmRecord.PROP_SUPPLEMENT, queryAlarmRecordDTO.getSupplement());
-			}
-
-			// todo 需判断使用like还是eq
-			if (StringUtils.isNotEmpty(queryAlarmRecordDTO.getTargetId())) {
-				queryWrapper.like(AlarmRecord.PROP_TARGET_ID, queryAlarmRecordDTO.getTargetId());
-			}
-
 		}
+		AlarmRecord entity = param;
+		entity.setId(id);
+		entity.setCreateUser(alarmParam.userId);
+		if (param.getCreateTime() != null) {
+			entity.setCreateTime(param.getCreateTime());
+		} else {
+			entity.setCreateTime(new Date());
+		}
+		// 默认处理状态为未处理
+		if (entity.getTreatState() == null) {
+			entity.setTreatState(1);
+		}
+		entity.setValid(1);
+		entity.setProjectId(alarmParam.projectId);
+		entity.setGroupCode(alarmParam.groupCode);
+		save(entity);
+		response.add("id", entity.getId());
+		// 推送消息至mq
+		DmpMessage msg = new DmpMessage();
+		msg.setMid(UUID.randomUUID().toString());
+		msg.setType(EnumAlarmMessageType.ALARM_RECORD_CREATE.getValue());
+		msg.setGroupCode(DmpParameterStorage.getGroupCode());
+		msg.setProjectId(DmpParameterStorage.getProjectId());
+		msg.setTargetId(entity.getId());
+		msg.add("obj", JacksonMapper.toSimpleJson(entity));
+		msg.setAppId(DmpParameterStorage.getAppId());
+		msg.setSendTime(DateUtil.format(new Date(), DatePatternStyle.PATTERN_YYYYMMDDHHMMSS));
+		response.add(msg);
+		return response;
+	}
 
-		return list(queryWrapper);
+	private AlarmLog initAlarmLogModel(AlarmRecord param) {
+		AlarmLog alarmLog = new AlarmLog();
+		alarmLog.setRecordId(param.getId());
+		alarmLog.setCreateTime(new Date());
+		alarmLog.setCreateUser(DmpParameterStorage.getUserId());
+		alarmLog.setProjectId(DmpParameterStorage.getProjectId());
+		alarmLog.setGroupCode(DmpParameterStorage.getGroupCode());
+		return alarmLog;
 	}
 
-	/**
-	 * 分页查询报警记录
-	 * 
-	 * @return IPage<AlarmRecord>
-	 * @author lixing
-	 * @version V1.0 2021-12-09 10:44:19
-	 */
 	@Override
-	public IPage<AlarmRecord> pageQueryAlarmRecord(PageQueryAlarmRecordDTO pageQueryAlarmRecordDTO) {
-		QueryWrapper<AlarmRecord> queryWrapper = new QueryWrapper<>();
-		// 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-		IPage<AlarmRecord> pageParam = new Page<>(pageQueryAlarmRecordDTO.getPage(), pageQueryAlarmRecordDTO.getSize(),
-				true);
-		// 排序信息
-		if (CollectionUtils.isEmpty(pageQueryAlarmRecordDTO.getOrders())) {
-			// 默认按创建时间倒序排序
-		} else {
-			List<Sort> orders = pageQueryAlarmRecordDTO.getOrders();
-			for (Sort sort : orders) {
-				// 将驼峰转换为下划线格式
-				sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sort.getColumn()));
-				queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
+	@Transactional
+	public MapResponse update(AlarmRecord param) {
+		MapResponse response = new MapResponse();
+		AlarmRecord alarmRecord = getById(param.getId());
+		if (alarmRecord == null) {
+			response.setFail("无法获取到要更新的数据!");
+			return response;
+		}
+		AlarmParam alarmParam = prepareParam(response);
+		if (alarmParam == null) {
+			return response;
+		}
+		if (param.getName() != null && !param.getName().isEmpty()) {
+			alarmRecord.setName(param.getName());
+		}
+		if (param.getRemark() != null && !param.getRemark().isEmpty()) {
+			alarmRecord.setRemark(param.getRemark());
+		}
+		// 状态修改记录日志
+		if (param.getState() != null) {
+			if (!param.getState().equals(alarmRecord.getState())) {
+				AlarmLog alarmLog = initAlarmLogModel(param);
+				alarmLog.setType(EnumAlarmLogType.ALARMSTATE);
+				alarmLog.setNature(alarmRecord.getNature());
+				alarmLog.setBefore(alarmRecord.getState());
+				alarmLog.setAfter(param.getState());
+				alarmLogService.create(alarmLog);
 			}
+			alarmRecord.setState(param.getState());
+		}
+		if (param.getNature() != null) {
+			alarmRecord.setNature(param.getNature());
+		}
+		// 处理方式修改记录日志
+		if (param.getTreatMode() != null) {
+			if (!param.getTreatMode().equals(alarmRecord.getTreatMode())) {
+				AlarmLog alarmLogModel = initAlarmLogModel(param);
+				alarmLogModel.setType(EnumAlarmLogType.TREATMODE);
+				alarmLogModel.setNature(alarmRecord.getNature());
+				alarmLogModel.setBefore(alarmRecord.getTreatMode());
+				alarmLogModel.setAfter(param.getTreatMode());
+				alarmLogService.create(alarmLogModel);
+			}
+			alarmRecord.setTreatMode(param.getTreatMode());
+		}
+		// 处理状态更改记录日志
+		if (param.getTreatState() != null) {
+			if (!param.getTreatState().equals(alarmRecord.getTreatState())) {
+				AlarmLog alarmLogModel = initAlarmLogModel(param);
+				alarmLogModel.setType(EnumAlarmLogType.TREATSTATE);
+				alarmLogModel.setNature(alarmRecord.getNature());
+				alarmLogModel.setBefore(alarmRecord.getTreatState());
+				alarmLogModel.setAfter(param.getTreatState());
+				alarmLogService.create(alarmLogModel);
+			}
+			alarmRecord.setTreatState(param.getTreatState());
 		}
 
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getItemCode())) {
-			queryWrapper.like(AlarmRecord.PROP_ITEM_CODE, pageQueryAlarmRecordDTO.getItemCode());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getProjectId())) {
-			queryWrapper.like(AlarmRecord.PROP_PROJECT_ID, pageQueryAlarmRecordDTO.getProjectId());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getObjId())) {
-			queryWrapper.like(AlarmRecord.PROP_OBJ_ID, pageQueryAlarmRecordDTO.getObjId());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getClassCode())) {
-			queryWrapper.like(AlarmRecord.PROP_CLASS_CODE, pageQueryAlarmRecordDTO.getClassCode());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getLevel())) {
-			queryWrapper.like(AlarmRecord.PROP_LEVEL, pageQueryAlarmRecordDTO.getLevel());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getRemark())) {
-			queryWrapper.like(AlarmRecord.PROP_REMARK, pageQueryAlarmRecordDTO.getRemark());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getCreateUser())) {
-			queryWrapper.like(AlarmRecord.PROP_CREATE_USER, pageQueryAlarmRecordDTO.getCreateUser());
-		}
-
-		if (pageQueryAlarmRecordDTO.getCreateTime() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_CREATE_TIME, pageQueryAlarmRecordDTO.getCreateTime());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getUpdateUser())) {
-			queryWrapper.like(AlarmRecord.PROP_UPDATE_USER, pageQueryAlarmRecordDTO.getUpdateUser());
-		}
-
-		if (pageQueryAlarmRecordDTO.getUpdateTime() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_UPDATE_TIME, pageQueryAlarmRecordDTO.getUpdateTime());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getName())) {
-			queryWrapper.like(AlarmRecord.PROP_NAME, pageQueryAlarmRecordDTO.getName());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getCategory())) {
-			queryWrapper.like(AlarmRecord.PROP_CATEGORY, pageQueryAlarmRecordDTO.getCategory());
-		}
-
-		if (pageQueryAlarmRecordDTO.getConcern() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_CONCERN, pageQueryAlarmRecordDTO.getConcern());
-		}
-
-		if (pageQueryAlarmRecordDTO.getState() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_STATE, pageQueryAlarmRecordDTO.getState());
-		}
-
-		if (pageQueryAlarmRecordDTO.getEffectStartTime() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_EFFECT_START_TIME, pageQueryAlarmRecordDTO.getEffectStartTime());
-		}
-
-		if (pageQueryAlarmRecordDTO.getEffectEndTime() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_EFFECT_END_TIME, pageQueryAlarmRecordDTO.getEffectEndTime());
-		}
-
-		if (pageQueryAlarmRecordDTO.getNature() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_NATURE, pageQueryAlarmRecordDTO.getNature());
-		}
-
-		if (pageQueryAlarmRecordDTO.getTreatMode() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_TREAT_MODE, pageQueryAlarmRecordDTO.getTreatMode());
-		}
-
-		if (pageQueryAlarmRecordDTO.getTreatState() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_TREAT_STATE, pageQueryAlarmRecordDTO.getTreatState());
-		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getGroupCode())) {
-			queryWrapper.like(AlarmRecord.PROP_GROUP_CODE, pageQueryAlarmRecordDTO.getGroupCode());
-		}
-
-		if (pageQueryAlarmRecordDTO.getCondition() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_CONDITION, pageQueryAlarmRecordDTO.getCondition());
-		}
-
-		if (pageQueryAlarmRecordDTO.getTriggerInfo() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_TRIGGER_INFO, pageQueryAlarmRecordDTO.getTriggerInfo());
-		}
-
-		if (pageQueryAlarmRecordDTO.getEndInfo() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_END_INFO, pageQueryAlarmRecordDTO.getEndInfo());
+		// 恢复值
+		if (param.getEndInfo() != null) {
+			alarmRecord.setEndInfo(param.getEndInfo());
 		}
-
-		if (pageQueryAlarmRecordDTO.getTriggerTime() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_TRIGGER_TIME, pageQueryAlarmRecordDTO.getTriggerTime());
+		// 恢复时间
+		if (param.getEndTime() != null) {
+			alarmRecord.setEndTime(param.getEndTime());
 		}
-
-		if (pageQueryAlarmRecordDTO.getEndTime() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_END_TIME, pageQueryAlarmRecordDTO.getEndTime());
+		// 工单id
+		if (param.getOrderId() != null) {
+			alarmRecord.setOrderId(param.getOrderId());
 		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getOrderId())) {
-			queryWrapper.like(AlarmRecord.PROP_ORDER_ID, pageQueryAlarmRecordDTO.getOrderId());
+		// 工单状态
+		if (param.getOrderState() != null) {
+			alarmRecord.setOrderState(param.getOrderState());
 		}
-
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getOrderState())) {
-			queryWrapper.like(AlarmRecord.PROP_ORDER_STATE, pageQueryAlarmRecordDTO.getOrderState());
+		// 补充说明
+		if (param.getSupplement() != null) {
+			alarmRecord.setSupplement(param.getSupplement());
 		}
-
-		if (pageQueryAlarmRecordDTO.getSupplement() != null) {
-			queryWrapper.eq(AlarmRecord.PROP_SUPPLEMENT, pageQueryAlarmRecordDTO.getSupplement());
+		// 报警等级
+		if (!StringUtils.isEmpty(param.getLevel())) {
+			alarmRecord.setLevel(param.getLevel());
 		}
+		alarmRecord.setUpdateUser(alarmParam.userId);
+		alarmRecord.setUpdateTime(new Date());
+		save(alarmRecord);
 
-		// todo 需判断使用like还是eq
-		if (StringUtils.isNotEmpty(pageQueryAlarmRecordDTO.getTargetId())) {
-			queryWrapper.like(AlarmRecord.PROP_TARGET_ID, pageQueryAlarmRecordDTO.getTargetId());
-		}
+		response.add("id", alarmRecord.getId());
+		// 推送消息至mq
+		DmpMessage msg = new DmpMessage();
+		msg.setMid(UUID.randomUUID().toString());
+		msg.setType(EnumAlarmMessageType.ALARM_RECORD_UPDATE.getValue());
+		msg.setGroupCode(DmpParameterStorage.getGroupCode());
+		msg.setProjectId(DmpParameterStorage.getProjectId());
+		msg.setTargetId(alarmRecord.getId());
+		msg.add("obj", JacksonMapper.toSimpleJson(alarmRecord));
+		msg.setAppId(DmpParameterStorage.getAppId());
+		msg.setSendTime(DateUtil.format(new Date(), DatePatternStyle.PATTERN_YYYYMMDDHHMMSS));
+		response.add(msg);
+		return response;
 
-		return getBaseMapper().selectPage(pageParam, queryWrapper);
 	}
 
 	@Override
-	public PagedResponse<AlarmRecord> query(JsonCriteria jsonCriteria) {
-		QueryWrapper<AlarmRecord> queryWrapper = criteriaUtils.handleAlarmConditions(jsonCriteria, AlarmRecord.class);
-		this.addAlarmQueryCondition(jsonCriteria.getCriteria(), queryWrapper);
-		PagedResponse<AlarmRecord> pagedResponse = new PagedResponse<>();
-		if (jsonCriteria.isOnlyCount()) {
-			Integer count = baseMapper.selectCount(queryWrapper);
-			pagedResponse.setCount(count.longValue());
-		} else {
-			Page<AlarmRecord> page = baseMapper.selectPage(new Page<>(jsonCriteria.getPage(), jsonCriteria.getSize()),
-					queryWrapper);
-			pagedResponse.setCount(page.getTotal());
-			pagedResponse.setData(page.getRecords());
-		}
-		return pagedResponse;
-	}
+	@Transactional
+	public MapResponse batchUpdate(AlarmRecord param) {
+		MapResponse response = new MapResponse();
 
-	/**
-	 * 添加查询报警条件 CURRENT 当前报警 HISTORY 历史报警
-	 * 
-	 * @param jsonObject
-	 * @param alarmRecordWrappers
-	 */
-	private void addAlarmQueryCondition(JSONObject criteria, QueryWrapper<?> queryWrappers) {
-		String listType = criteria.getString("listType");
-		if (EnumAlarmListType.CURRENT.name().equals(listType)) {
-			queryWrappers.eq(AlarmRecord.PROP_STATE, EnumAlarmState.UN_HANDLE.getType());
-			queryWrappers.and(andWrapper -> andWrapper
-					.eq(AlarmRecord.PROP_TREAT_STATE, EnumAlarmTreatState.UN_HANDLE.getType()).or(orWrapper -> orWrapper
-							.eq(AlarmRecord.PROP_TREAT_STATE, EnumAlarmTreatState.HANDLING.getType())));
+		List<AlarmRecord> alarmRecordModelList = param.getAlarmRecordModels();
+		if (CollectionUtils.isEmpty(alarmRecordModelList)) {
+			response.setFail("批量更新报警记录,没有传入需要更新的对象");
+			return response;
 		}
-		if (EnumAlarmListType.HISTORY.name().equals(listType)) {
-			queryWrappers.eq(AlarmRecord.PROP_STATE, EnumAlarmState.END.getType()).or(orWrapper -> orWrapper
-					.eq(AlarmRecord.PROP_STATE, EnumAlarmState.EXPIRE.getType())
-					.or(or2Wrapper -> or2Wrapper.eq(AlarmRecord.PROP_TREAT_STATE, EnumAlarmTreatState.DONE.getType())));
 
+		// 一次最多更新200条数据
+		if (alarmRecordModelList.size() > 200) {
+			response.setFail("一次最多更新200条数据");
+			return response;
 		}
-	}
 
+		List<DmpMessage> msgList = new ArrayList<>();
+		alarmRecordModelList.forEach(alarmRecordModel -> {
+			MapResponse updateResponse = update(alarmRecordModel);
+			msgList.addAll(updateResponse.getMessageList());
+		});
+		response.add(msgList);
+		return response;
+	}
 }

+ 5 - 268
src/main/java/com/persagy/apm/dmpalarm/service/impl/AlarmTargetServiceImpl.java

@@ -1,21 +1,9 @@
 package com.persagy.apm.dmpalarm.service.impl;
 
-import com.persagy.apm.common.context.poems.PoemsContext;
-import com.persagy.apm.dmpalarm.dao.AlarmTargetMapper;
-import com.persagy.apm.dmpalarm.service.IAlarmTargetService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.dmpalarm.model.*;
-import com.persagy.apm.dmpalarm.model.dto.*;
-import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.model.dto.Sort;
-import org.springframework.util.CollectionUtils;
+
+import com.persagy.apm.dmpalarm.model.AlarmTarget;
+import com.persagy.apm.dmpalarm.service.IAlarmTargetService;
 
 /**
  * 报警匹配条件(AlarmTarget) service层
@@ -24,258 +12,7 @@ import org.springframework.util.CollectionUtils;
  * @version V1.0 2021-12-09 10:44:19
  */
 @Service
-public class AlarmTargetServiceImpl extends ServiceImpl<AlarmTargetMapper, AlarmTarget> 
+public class AlarmTargetServiceImpl extends BaseServiceImpl<AlarmTarget>
     implements IAlarmTargetService {
-    
-    /**
-    * 创建报警匹配条件
-    * @return 报警匹配条件主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public String createAlarmTarget(AddAlarmTargetDTO addAlarmTargetDTO) {
-        AlarmTarget alarmTarget = ConvertAlarmTargetTool.INSTANCE.convertAddDto2Entity(addAlarmTargetDTO);
-        // 设置默认值
-        setDefaultValue(alarmTarget);
-        save(alarmTarget);
-        return alarmTarget.getId();
-    }
-    
-    /**
-     * 如果某些字段没有赋值,使用默认的值
-     *
-     * @param alarmTarget 报警匹配条件实体
-     * @author lixing
-     * @version V1.0 2021/3/12 12:29 下午
-     */
-    private void setDefaultValue(AlarmTarget alarmTarget) {
-        alarmTarget.setCreator(PoemsContext.getContext().getUserId());
-        // todo 其他默认的属性
-        
-    }
-    
-    /**
-    * 报警匹配条件详情
-    * @param id 主键
-    * @return 部门do类
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public AlarmTarget queryAlarmTargetDetail(String id) {
-        AlarmTarget alarmTarget = getById(id);
-        if (alarmTarget == null) {
-            throw new IllegalArgumentException("查看AlarmTarget详情时发生异常,找不到要查看的记录,id=" + id);
-        }
-        return alarmTarget;
-    }
-    
-    /**
-    * 更新报警匹配条件
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void updateAlarmTarget(UpdateAlarmTargetDTO updateAlarmTargetDTO) {
-        AlarmTarget alarmTarget = getById(updateAlarmTargetDTO.getId());
-        alarmTarget = ConvertAlarmTargetTool.INSTANCE.convertUpdateDto2Entity(alarmTarget, updateAlarmTargetDTO);
-        alarmTarget.setModifier(PoemsContext.getContext().getUserId());
-        updateById(alarmTarget);
-    }
-    
-    /**
-     * 校验报警匹配条件是否可删除
-     *
-     * @param id 报警匹配条件主键
-     * @return 报警匹配条件do类
-     * @author lixing
-     * @version V1.0 2021-12-09 10:44:19
-     */
-    public AlarmTarget checkDeletable(String id) {
-        if (id == null) {
-            throw new IllegalArgumentException("删除AlarmTarget时发生异常,主键为空");
-        }
-
-        AlarmTarget alarmTarget = getById(id);
-
-        if (alarmTarget == null) {
-            throw new IllegalArgumentException("删除AlarmTarget时发生异常,找不到要删除的数据,id:" + id);
-        }
-
-        return alarmTarget;
-    }
-    
-    /**
-    * 删除报警匹配条件
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public void deleteAlarmTarget(String id) {
-        // 校验是否可删除
-        AlarmTarget alarmTarget = checkDeletable(id);
-
-        alarmTarget.setValid(ValidEnum.FALSE.getType());
-        updateById(alarmTarget);
-    }
-    
-    /**
-    * 查询报警匹配条件
-    * @return List<AlarmTarget>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public List<AlarmTarget> queryAlarmTargetList(QueryAlarmTargetDTO queryAlarmTargetDTO) {
-        QueryWrapper<AlarmTarget> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmTarget.PROP_VALID, ValidEnum.TRUE.getType());
-        // 默认按创建时间倒序排序
-        queryWrapper.orderBy(true, false, AlarmTarget.PROP_CREATIONTIME);
-        
-        if (queryAlarmTargetDTO != null) {
-                                
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getItemCode())) {
-                queryWrapper.like(AlarmTarget.PROP_ITEM_CODE, queryAlarmTargetDTO.getItemCode());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getClassCode())) {
-                queryWrapper.like(AlarmTarget.PROP_CLASS_CODE, queryAlarmTargetDTO.getClassCode());
-            }
-                                            
-            if (queryAlarmTargetDTO.getCondition() != null) {
-                queryWrapper.eq(AlarmTarget.PROP_CONDITION, queryAlarmTargetDTO.getCondition());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getLevel())) {
-                queryWrapper.like(AlarmTarget.PROP_LEVEL, queryAlarmTargetDTO.getLevel());
-            }
-                                            
-            if (queryAlarmTargetDTO.getConcern() != null) {
-                queryWrapper.eq(AlarmTarget.PROP_CONCERN, queryAlarmTargetDTO.getConcern());
-            }
-                                            
-            if (queryAlarmTargetDTO.getOpen() != null) {
-                queryWrapper.eq(AlarmTarget.PROP_OPEN, queryAlarmTargetDTO.getOpen());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getCreateUser())) {
-                queryWrapper.like(AlarmTarget.PROP_CREATE_USER, queryAlarmTargetDTO.getCreateUser());
-            }
-                                            
-            if (queryAlarmTargetDTO.getCreateTime() != null) {
-                queryWrapper.eq(AlarmTarget.PROP_CREATE_TIME, queryAlarmTargetDTO.getCreateTime());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getUpdateUser())) {
-                queryWrapper.like(AlarmTarget.PROP_UPDATE_USER, queryAlarmTargetDTO.getUpdateUser());
-            }
-                                            
-            if (queryAlarmTargetDTO.getUpdateTime() != null) {
-                queryWrapper.eq(AlarmTarget.PROP_UPDATE_TIME, queryAlarmTargetDTO.getUpdateTime());
-            }
-                                            
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getProjectId())) {
-                queryWrapper.like(AlarmTarget.PROP_PROJECT_ID, queryAlarmTargetDTO.getProjectId());
-            }
-                                        
-            // todo 需判断使用like还是eq
-            if (StringUtils.isNotEmpty(queryAlarmTargetDTO.getGroupCode())) {
-                queryWrapper.like(AlarmTarget.PROP_GROUP_CODE, queryAlarmTargetDTO.getGroupCode());
-            }
-                    
-        }
-        
-        return list(queryWrapper);
-    }
-    
-    /**
-    * 分页查询报警匹配条件
-    * @return IPage<AlarmTarget>
-    * @author lixing
-    * @version V1.0 2021-12-09 10:44:19
-    */
-    @Override
-    public IPage<AlarmTarget> pageQueryAlarmTarget(PageQueryAlarmTargetDTO pageQueryAlarmTargetDTO) {
-        QueryWrapper<AlarmTarget> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(AlarmTarget.PROP_VALID, ValidEnum.TRUE.getType());
-        // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<AlarmTarget> pageParam = new Page<>(pageQueryAlarmTargetDTO.getPage(), pageQueryAlarmTargetDTO.getSize(),true);
-        // 排序信息
-        if(CollectionUtils.isEmpty(pageQueryAlarmTargetDTO.getOrders())){
-            // 默认按创建时间倒序排序
-            queryWrapper.orderBy(true, false, AlarmTarget.PROP_CREATIONTIME);
-        }else {
-            List<Sort> orders = pageQueryAlarmTargetDTO.getOrders();
-            for(Sort sort: orders) {
-                // 将驼峰转换为下划线格式
-                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
-                queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
-            }
-        }
-                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getItemCode())) {
-            queryWrapper.like(AlarmTarget.PROP_ITEM_CODE, pageQueryAlarmTargetDTO.getItemCode());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getClassCode())) {
-            queryWrapper.like(AlarmTarget.PROP_CLASS_CODE, pageQueryAlarmTargetDTO.getClassCode());
-        }
-                            
-        if (pageQueryAlarmTargetDTO.getCondition() != null) {
-            queryWrapper.eq(AlarmTarget.PROP_CONDITION, pageQueryAlarmTargetDTO.getCondition());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getLevel())) {
-            queryWrapper.like(AlarmTarget.PROP_LEVEL, pageQueryAlarmTargetDTO.getLevel());
-        }
-                            
-        if (pageQueryAlarmTargetDTO.getConcern() != null) {
-            queryWrapper.eq(AlarmTarget.PROP_CONCERN, pageQueryAlarmTargetDTO.getConcern());
-        }
-                            
-        if (pageQueryAlarmTargetDTO.getOpen() != null) {
-            queryWrapper.eq(AlarmTarget.PROP_OPEN, pageQueryAlarmTargetDTO.getOpen());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getCreateUser())) {
-            queryWrapper.like(AlarmTarget.PROP_CREATE_USER, pageQueryAlarmTargetDTO.getCreateUser());
-        }
-                            
-        if (pageQueryAlarmTargetDTO.getCreateTime() != null) {
-            queryWrapper.eq(AlarmTarget.PROP_CREATE_TIME, pageQueryAlarmTargetDTO.getCreateTime());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getUpdateUser())) {
-            queryWrapper.like(AlarmTarget.PROP_UPDATE_USER, pageQueryAlarmTargetDTO.getUpdateUser());
-        }
-                            
-        if (pageQueryAlarmTargetDTO.getUpdateTime() != null) {
-            queryWrapper.eq(AlarmTarget.PROP_UPDATE_TIME, pageQueryAlarmTargetDTO.getUpdateTime());
-        }
-                                
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getProjectId())) {
-            queryWrapper.like(AlarmTarget.PROP_PROJECT_ID, pageQueryAlarmTargetDTO.getProjectId());
-        }
-                            
-        // todo 需判断使用like还是eq
-        if (StringUtils.isNotEmpty(pageQueryAlarmTargetDTO.getGroupCode())) {
-            queryWrapper.like(AlarmTarget.PROP_GROUP_CODE, pageQueryAlarmTargetDTO.getGroupCode());
-        }
-            
-        return getBaseMapper().selectPage(pageParam, queryWrapper);
-    }
+   
 }

+ 45 - 0
src/main/java/com/persagy/apm/dmpalarm/service/impl/BaseServiceImpl.java

@@ -0,0 +1,45 @@
+package com.persagy.apm.dmpalarm.service.impl;
+
+import org.apache.poi.ss.formula.functions.T;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.persagy.apm.dmpalarm.config.DmpParameterStorage;
+import com.persagy.apm.dmpalarm.service.IBaseService;
+import com.persagy.apm.dmpalarm.web.BaseResponse;
+
+@SuppressWarnings("hiding")
+public class BaseServiceImpl<T> extends ServiceImpl<BaseMapper<T>, T>{
+
+	protected static class AlarmParam {
+		String groupCode;
+		String userId;
+		String projectId;
+		String appId;
+	}
+
+	protected AlarmParam prepareParam(BaseResponse<?> resp) {
+		AlarmParam param = new AlarmParam();
+		param.groupCode = DmpParameterStorage.getGroupCode();
+		param.userId = DmpParameterStorage.getUserId();
+		param.projectId = DmpParameterStorage.getProjectId();
+		param.appId = DmpParameterStorage.getAppId();
+		if (param.userId == null || param.userId.isEmpty()) {
+			resp.setResult("fail");
+			resp.setMessage("userId 必须有值");
+			return null;
+		}
+		if (param.groupCode == null || param.groupCode.isEmpty()) {
+			resp.setResult("fail");
+			resp.setMessage("groupCode 必须有值");
+			return null;
+		}
+		if (param.projectId == null || param.projectId.isEmpty()) {
+			resp.setResult("fail");
+			resp.setMessage("projectId 必须有值");
+			return null;
+		}
+		return param;
+	}
+
+}

+ 101 - 0
src/main/java/com/persagy/apm/dmpalarm/utils/CheckRequiredParam.java

@@ -0,0 +1,101 @@
+package com.persagy.apm.dmpalarm.utils;
+
+import org.springframework.util.StringUtils;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+/**
+ * @description: 必填项校验
+ * @author: lixing
+ * @company: Persagy Technology Co.,Ltd
+ * @since: 2020/11/25 9:46 上午
+ * @version: V1.0
+ **/
+public class CheckRequiredParam {
+    /**
+     * @description: 反射校验必填项
+     * @param: t
+     * @param: params
+     * @return: java.lang.String
+     * @exception:
+     * @author: lixing
+     * @company: Persagy Technology Co.,Ltd
+     * @since: 2020/11/25 9:49 上午
+     * @version: V1.0
+     */
+    public static <T> String check(T t, String... params) {
+        // message用来存放校验结果
+        StringBuilder message = new StringBuilder();
+        Class<?> clazz = t.getClass();
+        // 校验参数
+        for (String param : params) {
+            if (StringUtils.isEmpty(param)) {
+                message.append("校验必填项参数错误,参数不能为空");
+                return message.toString();
+            }
+            try {
+                // 属性, 这里需要注意getField方法无法获取私有属性,应使用getDeclaredField方法
+                Field field = clazz.getDeclaredField(param);
+                // 属性类型
+                Class<?> fieldType = field.getType();
+
+                // get方法
+                Method method = clazz.getMethod("get" + firstUpperCase(param));
+
+                // 执行get方法,验证是否为空
+                try {
+                    if (fieldType == String.class) {
+                        String result = (String) method.invoke(t);
+                        if (StringUtils.isEmpty(result)) {
+                            message.append(param).append("必填!");
+                        }
+                    } else {
+                        Object result = method.invoke(t);
+                        if (result == null) {
+                            message.append(param).append("必填!");
+                        }
+                    }
+
+                } catch (Exception e) {
+                    message.append(e.getMessage());
+                    return message.toString();
+                }
+
+            } catch (NoSuchFieldException e) {
+                message.append("校验必填项参数错误,").
+                        append(clazz.getSimpleName()).
+                        append("不包含属性:").
+                        append(param);
+                return message.toString();
+            } catch (NoSuchMethodException e) {
+                message.append("校验必填项参数错误,").
+                        append(clazz.getSimpleName()).
+                        append("不包含方法:get").
+                        append(firstUpperCase(param)).
+                        append("()");
+                return message.toString();
+            }
+        }
+        return message.toString();
+    }
+
+    /**
+     * @description: 字符串首字母大写
+     * @param: s
+     * @return: java.lang.String
+     * @exception:
+     * @author: lixing
+     * @company: Persagy Technology Co.,Ltd
+     * @since: 2020/11/25 10:08 上午
+     * @version: V1.0
+     */
+    private static String firstUpperCase(String s) {
+        if (StringUtils.isEmpty(s)) {
+            return null;
+        }
+        char[] chars = s.toCharArray();
+        chars[0] -= 32;
+        return String.valueOf(chars);
+    }
+}

+ 33 - 0
src/main/java/com/persagy/apm/dmpalarm/utils/MD5Utils.java

@@ -0,0 +1,33 @@
+package com.persagy.apm.dmpalarm.utils;
+
+import java.security.MessageDigest;
+
+public class MD5Utils {
+
+	public static String getSign(String str) {
+		char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+		try {
+			byte[] btInput = str.getBytes();
+			// 获得MD5摘要算法的 MessageDigest 对象
+			MessageDigest mdInst = MessageDigest.getInstance("MD5");
+			// 使用指定的字节更新摘要
+			mdInst.update(btInput);
+			// 获得密文
+			byte[] md = mdInst.digest();
+			// 把密文转换成十六进制的字符串形式
+			int j = md.length;
+			char arr[] = new char[j * 2];
+			int k = 0;
+			for (int i = 0; i < j; i++) {
+				byte byte0 = md[i];
+				arr[k++] = hexDigits[byte0 >>> 4 & 0xf];
+				arr[k++] = hexDigits[byte0 & 0xf];
+			}
+			return new String(arr);
+		} catch (Exception e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
+
+}

+ 42 - 0
src/main/java/com/persagy/apm/dmpalarm/utils/UtilsTools.java

@@ -0,0 +1,42 @@
+package com.persagy.apm.dmpalarm.utils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class UtilsTools {
+	private static Pattern linePattern = Pattern.compile("_(\\w)");
+	private static Pattern humpPattern = Pattern.compile("[A-Z]");
+
+	/**
+	 * 下划线转驼峰
+	 * 
+	 * @param str
+	 * @return
+	 */
+	public static String lineToHump(String str) {
+		str = str.toLowerCase();
+		Matcher matcher = linePattern.matcher(str);
+		StringBuffer sb = new StringBuffer();
+		while (matcher.find()) {
+			matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
+		}
+		matcher.appendTail(sb);
+		return sb.toString();
+	}
+
+	/**
+	 * 驼峰转下划线
+	 * 
+	 * @param str
+	 * @return
+	 */
+	public static String humpToLine(String str) {
+		Matcher matcher = humpPattern.matcher(str);
+		StringBuffer sb = new StringBuffer();
+		while (matcher.find()) {
+			matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
+		}
+		matcher.appendTail(sb);
+		return sb.toString();
+	}
+}

+ 1 - 1
src/main/java/com/persagy/apm/dmpalarm/web/MapResponse.java

@@ -10,7 +10,7 @@ import java.util.Map;
  * @date: 2020-09-04
  * @verison: 1.0
  */
-public class MapResponse extends BaseResponse<Map<String, Object>> {
+public class MapResponse extends BaseResponse<Map<String, Object>>{
 
 	public MapResponse() {
 		super();

+ 1 - 1
src/main/resources/mapper/AlarmLogMapper.xml

@@ -8,7 +8,7 @@
 		<result column="nature" property="nature" />
 		<result column="before" property="before" />
 		<result column="after" property="after" />
-		<result column="remark" property="remark" />
+		<result column="remark" property="remark" typeHandler="com.persagy.apm.dmpalarm.config.MybatisJsonHandler" />
 		<result column="project_id" property="projectId" />
 		<result column="group_code" property="groupCode" />
 		<result column="create_time" property="createTime" />