diff --git a/hsweb-core/src/main/java/org/hswebframework/web/bean/Diff.java b/hsweb-core/src/main/java/org/hswebframework/web/bean/Diff.java index 08a9a2f37..6a40bb1f7 100644 --- a/hsweb-core/src/main/java/org/hswebframework/web/bean/Diff.java +++ b/hsweb-core/src/main/java/org/hswebframework/web/bean/Diff.java @@ -1,16 +1,13 @@ package org.hswebframework.web.bean; import com.alibaba.fastjson.JSON; +import com.google.common.collect.Sets; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import lombok.ToString; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Getter @Setter @@ -24,13 +21,18 @@ public class Diff { private Object after; - public static List of(Object before, Object after) { + + public static List of(Object before, Object after, String... ignoreProperty) { List diffs = new ArrayList<>(); + Set ignores = Sets.newHashSet(ignoreProperty); Map beforeMap = FastBeanCopier.copy(before, HashMap::new); Map afterMap = FastBeanCopier.copy(after, HashMap::new); for (Map.Entry entry : afterMap.entrySet()) { + if (ignores.contains(entry.getKey())) { + continue; + } Object afterValue = entry.getValue(); String key = entry.getKey(); Object beforeValue = beforeMap.get(key);