diff --git a/help/sql/ddl_1.0.0.sql b/help/sql/ddl_1.0.0.sql index 4590e81..2f6f492 100644 --- a/help/sql/ddl_1.0.0.sql +++ b/help/sql/ddl_1.0.0.sql @@ -1983,6 +1983,8 @@ COMMENT ON COLUMN "public"."filter_log"."updater" IS '更新人'; COMMENT ON COLUMN "public"."filter_log"."update_date" IS '更新时间'; COMMENT ON TABLE "public"."filter_log" IS '过滤日志表'; +alter table public.filter_log add constraint filter_log_uk unique (filter_rule_id, time); + -- ---------------------------- -- Table structure for filter_rule -- ---------------------------- diff --git a/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java b/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java index 88fcac2..bc9f3e8 100644 --- a/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java +++ b/modules/filter-rule/src/main/java/com/thing/filter/rule/listener/FilterLogSaveEventListener.java @@ -241,12 +241,13 @@ public class FilterLogSaveEventListener { Set unMergedLogs = new HashSet<>(); for (FilterLogEntity currentLog : logs) { Set thingAttrs; - if(onlyMergeMissThingAttr){ + if (onlyMergeMissThingAttr) { thingAttrs = currentLog.getMissingThingAttrs(); if (CollectionUtils.isEmpty(thingAttrs)) { + mergedLogs.add(currentLog); continue; } - }else { + } else { thingAttrs = currentLog.getDefThingAttrs(); } thingAttrs.forEach( @@ -271,7 +272,9 @@ public class FilterLogSaveEventListener { } }); } - mergedLogs.addAll(unMergedLogs); + if (!unMergedLogs.isEmpty()) { + mergedLogs.addAll(unMergedLogs); + } return mergedLogs.stream().filter(Objects::nonNull).collect(Collectors.toSet()); } diff --git a/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java index 666187a..858b6b3 100644 --- a/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java @@ -610,6 +610,7 @@ public class IotThingApiServiceImpl extends BaseServiceImpl