一般的业务系统,需要扩展字段,扩展字段值需要自动填充功能
@Component
public class MpMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
Date date = new Date();
this.strictInsertFill(metaObject, "dflag", Integer.class, 0);
this.strictInsertFill(metaObject, "createTime", Date.class, date);
this.strictInsertFill(metaObject, "updateTime", Date.class, date);
this.strictInsertFill(metaObject, "version", Long.class, 0L);
// 获取用户名
TrustedPrincipal principal = AuthContextHolder.getPrincipal(); // 替换成获取用户名的类
if (null != principal) {
this.strictInsertFill(metaObject, "sysCreatorId", String.class, principal.getUserCode());
this.strictInsertFill(metaObject, "sysEditorId", String.class, principal.getUserCode());
}
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "updateTime", Date.class, new Date());
// 获取用户名
TrustedPrincipal principal = AuthContextHolder.getPrincipal(); // 替换成获取用户名的类
if (null != principal) {
this.strictInsertFill(metaObject, "sysEditorId", String.class, principal.getUserCode());
}
}
public static String getUserName() {
TrustedPrincipal principal = AuthContextHolder.getPrincipal();
if (principal != null) {
return principal.getUserName();
}
return null;
}
}