ObjectLogHelper

open class ObjectLogHelper<T>

对象日志辅助类 -- 会对时间、数字类型自行格式化

参考示例

        TelSellTaskEntity new1 = new TelSellTaskEntity();
        new1.setId(1L);
        new1.setType(TelSellTaskTypeEnums.OIL.getCode());
        new1.setCloseTime(new Date());

        TelSellTaskEntity old1 = new TelSellTaskEntity();
        old1.setId(2L);
        old1.setType(TelSellTaskTypeEnums.PREPAY.getCode());
        old1.setCloseTime(DateUtil.toDate("2014-01-01 00:00:00"));

        ObjectLogHelperhelper = ObjectLogHelper.of(new1, old1)
                .appendPrefix("前缀一般是时间")
                .appendUserName("操作人")
                .appendSuffix("后缀可不写")
                .compareObjectProperty(TelSellTaskEntity::getId, "主键")
                .compareObjectProperty(TelSellTaskEntity::getCloseTime, "关闭时间")
                //如果是以下写法,没有声明对象类型,需要主动声明泛型类型
                .compareObjectProperty(f -> TelSellTaskTypeEnums.getByCode(f.getType()).getName(), "类型", TelSellTaskEntity.class)
                .compareObjectProperty(f -> f.getId() + f.getType(), "自定义字段", TelSellTaskEntity.class)
                .compareObjectProperty(TelSellTaskEntity::getCalled, "是否接通");
        System.out.println(helper.generateLogStr());
        //【前缀一般是时间】【操作人】【修改】【主键】从[2]改为[1];【关闭时间】从[2014-01-01 00:00:00]改为[2024-01-30 22:22:59];【类型】从[司机预付]改为[油];【自定义字段】从[2prepay]改为[1oil];【后缀可不写】
    }
}

Functions

Link copied to clipboard
open fun append(str: String): ObjectLogHelper<T>
设置值,按顺序拼接自定义值
Link copied to clipboard
设置前缀-默认当前时间
open fun appendPrefix(prefix: String): ObjectLogHelper<T>
设置前缀
Link copied to clipboard
open fun appendSuffix(suffix: String): ObjectLogHelper<T>
设置后缀
Link copied to clipboard
open fun appendUserName(userName: String): ObjectLogHelper<T>
设置修改人
Link copied to clipboard
fun <R> compareObjectProperty(getter: (T) -> R, desc: String, tClass: Array<Class<T>>): ObjectLogHelper<T>
设置对象属性改变日志
Link copied to clipboard
生成变更日志
Link copied to clipboard
open fun <T> of(newObj: T, oldObj: T): ObjectLogHelper<T>