diff --git a/src/main/java/com/gaotao/config/MyMetaObjectHandler.java b/src/main/java/com/gaotao/config/MyMetaObjectHandler.java index fe6bdf4..db8a76b 100644 --- a/src/main/java/com/gaotao/config/MyMetaObjectHandler.java +++ b/src/main/java/com/gaotao/config/MyMetaObjectHandler.java @@ -21,11 +21,26 @@ public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { - SysUserEntity user = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); logger.info("start insert fill ...."); this.strictInsertFill(metaObject,"createdDate",Date.class, new Date()); - this.strictInsertFill(metaObject,"site",String.class, user.getSite()); - this.strictInsertFill(metaObject,"createdBy",String.class, user.getUserDisplay()); + + try { + SysUserEntity user = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + if (user != null) { + this.strictInsertFill(metaObject,"site",String.class, user.getSite()); + this.strictInsertFill(metaObject,"createdBy",String.class, user.getUserDisplay()); + } else { + // 当没有用户上下文时,使用默认值 + this.strictInsertFill(metaObject,"site",String.class, "SYSTEM"); + this.strictInsertFill(metaObject,"createdBy",String.class, "SYSTEM"); + logger.warn("No user context found, using default values for site and createdBy"); + } + } catch (Exception e) { + // 当获取用户信息失败时,使用默认值 + this.strictInsertFill(metaObject,"site",String.class, "SYSTEM"); + this.strictInsertFill(metaObject,"createdBy",String.class, "SYSTEM"); + logger.warn("Failed to get user context, using default values: " + e.getMessage()); + } } @Override