Explorar o código

告警规则同步bug修改

jingyuanchao hai 1 ano
pai
achega
39a1b163bf

+ 1 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/alarm/service/IotAlarmRuleExpressService.java

@@ -8,4 +8,5 @@ import java.util.List;
 public interface IotAlarmRuleExpressService extends IService<IotAlarmRuleExpress> {
 
     List<IotAlarmRuleExpress> selectByRuleId(Long ruleId);
+    void delByRuleId(Long ruleId);
 }

+ 1 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/alarm/service/IotAlarmRuleSourceService.java

@@ -10,5 +10,6 @@ public interface IotAlarmRuleSourceService  extends IService<IotAlarmRuleSource>
 
 
     List<IotAlarmRuleSource> selectByRuleId(Long ruleId);
+    void deleteByRuleId(Long ruleId);
 
 }

+ 8 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/alarm/service/impl/IotAlarmRuleExpressServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xunmei.host.alarm.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.domain.mediator.domain.IotAlarmRuleExpress;
 import com.xunmei.host.alarm.mapper.IotAlarmRuleExpressMapper;
@@ -15,4 +16,11 @@ public class IotAlarmRuleExpressServiceImpl extends ServiceImpl<IotAlarmRuleExpr
     public List<IotAlarmRuleExpress> selectByRuleId(Long ruleId) {
         return lambdaQuery().eq(IotAlarmRuleExpress::getRuleId, ruleId).list();
     }
+
+    @Override
+    public void delByRuleId(Long ruleId) {
+        final LambdaQueryWrapper<IotAlarmRuleExpress> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(IotAlarmRuleExpress::getRuleId, ruleId);
+        remove(wrapper);
+    }
 }

+ 3 - 1
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/alarm/service/impl/IotAlarmRuleServiceImpl.java

@@ -94,8 +94,10 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
 
         final Object rs = jsb.get("ruleSourceList");
         final Object re = jsb.get("ruleExpresses");
+        final Long ruleId = rule.getId();
         if (rs != null) {
             final List<JSONObject> list = JSON.parseArray(rs.toString(), JSONObject.class);
+            ruleSourceService.deleteByRuleId(ruleId);
             for (JSONObject j : list) {
                 final IotAlarmRuleSource ruleSource = j.toJavaObject(IotAlarmRuleSource.class);
                 final IotAlarmRuleSource source = new IotAlarmRuleSource();
@@ -109,8 +111,8 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
         }
         if (re != null) {
             final List<IotAlarmRuleExpress> list = JSON.parseArray(re.toString(), IotAlarmRuleExpress.class);
+            ruleExpressService.delByRuleId(ruleId);
             ruleExpressService.saveOrUpdateBatch(list);
         }
-
     }
 }

+ 8 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/alarm/service/impl/IotAlarmRuleSourceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xunmei.host.alarm.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.domain.mediator.domain.IotAlarmRuleSource;
 import com.xunmei.host.alarm.mapper.IotAlarmRuleSourceMapper;
@@ -17,4 +18,11 @@ public class IotAlarmRuleSourceServiceImpl extends ServiceImpl<IotAlarmRuleSourc
         return lambdaQuery().eq(IotAlarmRuleSource::getRuleId, ruleId).list();
 
     }
+
+    @Override
+    public void deleteByRuleId(Long ruleId) {
+        final LambdaQueryWrapper<IotAlarmRuleSource> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(IotAlarmRuleSource::getRuleId, ruleId);
+        remove(wrapper);
+    }
 }