package com.oying.modules.pc.common; import cn.hutool.core.util.ObjUtil; import lombok.Data; /** * 用于封装字段值的变化记录,支持泛型比较逻辑 * @param */ @Data public class ValueUpdate { private final T newValue; private final T oldValue; public ValueUpdate(T newValue, T oldValue) { this.newValue = newValue; this.oldValue = oldValue; } public boolean isChange() { return isChange(newValue, oldValue); } public boolean isChangeAndOldValueNotEmpty() { return isChangeAndOldValueNotEmpty(newValue, oldValue); } public static boolean isChange(T newValue, T oldValue) { return ObjUtil.isNotEmpty(newValue) && !newValue.equals(oldValue); } public static boolean isChangeAndOldValueNotEmpty(T newValue, T oldValue) { return ObjUtil.isNotEmpty(oldValue) && isChange(newValue, oldValue); } }