Quellcode durchsuchen

报警规则后台修改

wubiyu vor 1 Jahr
Ursprung
Commit
27542ae0df

+ 15 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/IotAlarmRuleController.java

@@ -8,6 +8,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 @RestController
 @RequestMapping("/iot_alarm")
 public class IotAlarmRuleController {
@@ -39,6 +41,19 @@ public class IotAlarmRuleController {
         }
     }
 
+    @ApiOperation(value = "查询报警规则")
+    @GetMapping(value = "/getRules")
+    public AjaxResult getRules(String alarmType, String ruleName, Integer pageIndex, Integer pageSize){
+        try {
+            List<IotInitAlarmRuleVo> alarmRuleData = iotAlarmRuleService.getAlarmRuleDatas(alarmType,ruleName,pageIndex,pageSize);
+            return AjaxResult.success(alarmRuleData);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error(e.getMessage());
+        }
+    }
+
+
     @ApiOperation(value = "保存或者更新告警规则")
     @PostMapping(value = "/saveOrUpdateAlarmRule")
     public AjaxResult saveOrUpdateAlarmRule( @RequestBody IotAlarmRuleDto request) {

+ 12 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/IotAlarmRuleService.java

@@ -5,6 +5,8 @@ import com.xunmei.common.core.domain.mediator.domain.IotAlarmRule;
 import com.xunmei.iot.dto.alarm.IotAlarmRuleDto;
 import com.xunmei.iot.vo.alarm.IotInitAlarmRuleVo;
 
+import java.util.List;
+
 /**
  * @author 高雄
  * 告警规则服务类
@@ -25,6 +27,16 @@ public interface IotAlarmRuleService extends IService<IotAlarmRule> {
     IotInitAlarmRuleVo getAlarmRuleData(Long ruleId)throws Exception;
 
     /**
+     * 获取告警规则数据例表
+     * @param alarmType
+     * @param ruleName
+     * @param pageIndex
+     * @param pageSize
+     * @return {@link IotInitAlarmRuleVo}
+     */
+    List<IotInitAlarmRuleVo> getAlarmRuleDatas(String alarmType, String ruleName, Integer pageIndex, Integer pageSize) throws Exception;
+
+    /**
      *
      * @param ruleDto
      * @throws Exception

+ 55 - 39
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotAlarmRuleServiceImpl.java

@@ -38,23 +38,23 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
     private IotAlarmRuleExpressService iotAlarmRuleExpressService;
 
     @Override
-    public IotInitAlarmRuleVo getAddInitAlarmRuleData()throws Exception {
+    public IotInitAlarmRuleVo getAddInitAlarmRuleData() throws Exception {
 
-        IotInitAlarmRuleVo  ruleVo = new IotInitAlarmRuleVo();
-        LambdaQueryWrapper<IotAlarmSystemField>  lqw = new LambdaQueryWrapper<IotAlarmSystemField>().eq(IotAlarmSystemField::getEnable, 1).orderByDesc(IotAlarmSystemField::getId);
+        IotInitAlarmRuleVo ruleVo = new IotInitAlarmRuleVo();
+        LambdaQueryWrapper<IotAlarmSystemField> lqw = new LambdaQueryWrapper<IotAlarmSystemField>().eq(IotAlarmSystemField::getEnable, 1).orderByDesc(IotAlarmSystemField::getId);
         List<IotAlarmSystemField> systemFieldList = iotAlarmSystemFieldMapper.selectList(lqw);
         //
         List<IotAlarmSystemFieldVo> appAlarmSystemFieldVoList = new ArrayList<>();
-        for(IotAlarmSystemField systemField:systemFieldList){
+        for (IotAlarmSystemField systemField : systemFieldList) {
             IotAlarmSystemFieldVo appAlarmSystemFieldVo = new IotAlarmSystemFieldVo();
             BeanHelper.copyProperties(appAlarmSystemFieldVo, systemField);
             List<KeyValue> specsList = new ArrayList<>();
             List<KeyValue> operatorsList = new ArrayList<>();
-            if(systemField.getType().equals("ENUM")){
+            if (systemField.getType().equals("ENUM")) {
                 String specs = systemField.getSpecs();
                 JSONObject obj = JSON.parseObject(specs);
                 Iterator iterator = obj.entrySet().iterator();
-                while (iterator.hasNext()){
+                while (iterator.hasNext()) {
                     Map.Entry entry = (Map.Entry) iterator.next();
                     KeyValue keyValue = new KeyValue();
                     keyValue.setKey(entry.getKey());
@@ -65,7 +65,7 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
             String operators = systemField.getOperators();
             JSONObject obj = JSON.parseObject(operators);
             Iterator iterator = obj.entrySet().iterator();
-            while (iterator.hasNext()){
+            while (iterator.hasNext()) {
                 Map.Entry entry = (Map.Entry) iterator.next();
                 KeyValue keyValue = new KeyValue();
                 keyValue.setKey(entry.getKey());
@@ -76,26 +76,26 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
             appAlarmSystemFieldVo.setOperatorsList(operatorsList);
             appAlarmSystemFieldVoList.add(appAlarmSystemFieldVo);
         }
-        Map<Integer,List<IotAlarmSystemFieldVo>> appAlarmSystemFieldVoMapList = appAlarmSystemFieldVoList.stream().collect(Collectors.groupingBy(r->r.getSourceType()));
-        List<Map<String,Object>> mapList = new ArrayList<>();
-        for(Integer key:appAlarmSystemFieldVoMapList.keySet()){
-            Map<String,Object> map = new HashMap<>();
-            List<IotAlarmSystemFieldVo> systemFieldVos  = appAlarmSystemFieldVoMapList.get(key);
-            map.put("sourceTypeDes",systemFieldVos.get(0).getSourceTypeDes());
-            map.put("sourceType",systemFieldVos.get(0).getSourceType());
-            List<Map<String,Object>> systemFieldsList = new ArrayList<>();
-            for(IotAlarmSystemFieldVo vo:systemFieldVos){
-                Map<String,Object> mapa = new HashMap<>();
-                mapa.put("sysFieldCode",vo.getSysFieldCode());
-                mapa.put("name",vo.getName());
-                mapa.put("specsList",vo.getSpecsList());
-                mapa.put("operatorsList",vo.getOperatorsList());
-                mapa.put("type",vo.getType());
-                mapa.put("typeDes",vo.getTypeDes());
-                mapa.put("unit",vo.getUnit());
+        Map<Integer, List<IotAlarmSystemFieldVo>> appAlarmSystemFieldVoMapList = appAlarmSystemFieldVoList.stream().collect(Collectors.groupingBy(r -> r.getSourceType()));
+        List<Map<String, Object>> mapList = new ArrayList<>();
+        for (Integer key : appAlarmSystemFieldVoMapList.keySet()) {
+            Map<String, Object> map = new HashMap<>();
+            List<IotAlarmSystemFieldVo> systemFieldVos = appAlarmSystemFieldVoMapList.get(key);
+            map.put("sourceTypeDes", systemFieldVos.get(0).getSourceTypeDes());
+            map.put("sourceType", systemFieldVos.get(0).getSourceType());
+            List<Map<String, Object>> systemFieldsList = new ArrayList<>();
+            for (IotAlarmSystemFieldVo vo : systemFieldVos) {
+                Map<String, Object> mapa = new HashMap<>();
+                mapa.put("sysFieldCode", vo.getSysFieldCode());
+                mapa.put("name", vo.getName());
+                mapa.put("specsList", vo.getSpecsList());
+                mapa.put("operatorsList", vo.getOperatorsList());
+                mapa.put("type", vo.getType());
+                mapa.put("typeDes", vo.getTypeDes());
+                mapa.put("unit", vo.getUnit());
                 systemFieldsList.add(mapa);
             }
-            map.put("systemFields",systemFieldsList);
+            map.put("systemFields", systemFieldsList);
             mapList.add(map);
         }
         ruleVo.setSourceTypeList(mapList);
@@ -111,19 +111,19 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
         BeanHelper.copyProperties(ruleEditVo, appAlarmRule);
         ruleVo.setIotAlarmRule(appAlarmRule);
 
-        List<IotAlarmRuleExpress> appAlarmRuleExpressList =iotAlarmRuleExpressService.list(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId,ruleId));
+        List<IotAlarmRuleExpress> appAlarmRuleExpressList = iotAlarmRuleExpressService.list(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId, ruleId));
         List<IotAlarmRuleExpressEditVo> appAlarmRuleExpressEditVos = new ArrayList<>();
-        for(IotAlarmRuleExpress express:appAlarmRuleExpressList){
+        for (IotAlarmRuleExpress express : appAlarmRuleExpressList) {
             IotAlarmRuleExpressEditVo expressNew = new IotAlarmRuleExpressEditVo();
             BeanHelper.copyProperties(expressNew, express);
             appAlarmRuleExpressEditVos.add(expressNew);
         }
-        Map<Integer,List<IotAlarmRuleExpressEditVo>> appAlarmSystemFieldVoMapList = appAlarmRuleExpressEditVos.stream().collect(Collectors.groupingBy(r->r.getSourceType()));
-        List<Map<String,Object>> mapList = new ArrayList<>();
-        for(Integer key:appAlarmSystemFieldVoMapList.keySet()){
-            Map<String,Object> map = new HashMap();
-            map.put("sourceType",key);
-            map.put("AppAlarmRuleExpressList",appAlarmSystemFieldVoMapList.get(key));
+        Map<Integer, List<IotAlarmRuleExpressEditVo>> appAlarmSystemFieldVoMapList = appAlarmRuleExpressEditVos.stream().collect(Collectors.groupingBy(r -> r.getSourceType()));
+        List<Map<String, Object>> mapList = new ArrayList<>();
+        for (Integer key : appAlarmSystemFieldVoMapList.keySet()) {
+            Map<String, Object> map = new HashMap();
+            map.put("sourceType", key);
+            map.put("appAlarmRuleExpressList", appAlarmSystemFieldVoMapList.get(key));
             mapList.add(map);
         }
         ruleVo.setIotAlarmRuleExpressEditVosBySourceType(mapList);
@@ -131,23 +131,39 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
     }
 
     @Override
+    public List<IotInitAlarmRuleVo> getAlarmRuleDatas(String alarmType, String ruleName, Integer pageIndex, Integer pageSize) throws Exception {
+        LambdaQueryWrapper<IotAlarmRule> queryWrapper = new LambdaQueryWrapper<>();
+        List<IotAlarmRule> appAlarmRule = this.baseMapper.selectList(queryWrapper);
+
+        List<IotInitAlarmRuleVo> datas = new ArrayList<>();
+        appAlarmRule.stream().forEach(i -> {
+            try {
+                datas.add(getAlarmRuleData(i.getId()));
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        });
+        return datas;
+    }
+
+    @Override
     public void saveOrUpdateAlarmRule(IotAlarmRuleDto ruleDto) throws Exception {
         IotAlarmRule rule = new IotAlarmRule();
         BeanHelper.copyProperties(rule, ruleDto);
-        if(rule.getId()==null){//新增
+        if (rule.getId() == null) {//新增
             rule.setId(IDHelper.id());
             rule.setCreateTime(LocalDateTime.now());
             rule.setCreateBy(SecurityUtils.getUsername());
             rule.setUpdateBy(SecurityUtils.getUsername());
             rule.setUpdateTime(LocalDateTime.now());
-        }else{//修改
+        } else {//修改
             rule.setUpdateBy(SecurityUtils.getUsername());
             rule.setUpdateTime(LocalDateTime.now());
         }
         List<IotAlarmRuleExpressDto> appAlarmRuleExpressDtos = ruleDto.getIotAlarmRuleExpressDtoList();
         List<IotAlarmRuleExpress> appAlarmRuleExpressesList = new ArrayList<>();
-        if(appAlarmRuleExpressDtos!=null&&appAlarmRuleExpressDtos.size()>0){
-            for(IotAlarmRuleExpressDto vo:appAlarmRuleExpressDtos){
+        if (appAlarmRuleExpressDtos != null && appAlarmRuleExpressDtos.size() > 0) {
+            for (IotAlarmRuleExpressDto vo : appAlarmRuleExpressDtos) {
                 IotAlarmRuleExpress express = new IotAlarmRuleExpress();
                 BeanHelper.copyProperties(express, vo);
                 express.setRuleId(rule.getId());
@@ -159,10 +175,10 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
             }
         }
         Set<Integer> sourceTypes = new HashSet<>();
-        appAlarmRuleExpressesList.forEach(r->sourceTypes.add(r.getSourceType()));
+        appAlarmRuleExpressesList.forEach(r -> sourceTypes.add(r.getSourceType()));
         this.saveOrUpdate(rule);
         //规则先删除原来的然重新插入
-        iotAlarmRuleExpressService.remove(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId,rule.getId()));
+        iotAlarmRuleExpressService.remove(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId, rule.getId()));
         iotAlarmRuleExpressService.saveBatch(appAlarmRuleExpressesList);
     }
 }