diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java index feb73a458..9b5ce7106 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java @@ -27,7 +27,9 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { this.setFieldValByName("createTime", new Date(), metaObject); } if (metaObject.hasGetter("createBy")) { - this.setFieldValByName("createBy", getLoginUsername(), metaObject); + if (metaObject.getValue("createBy") == null) { + this.setFieldValByName("createBy", getLoginUsername(), metaObject); + } } } catch (Exception e) { throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED); @@ -39,7 +41,9 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { public void updateFill(MetaObject metaObject) { try { if (metaObject.hasGetter("updateBy")) { - this.setFieldValByName("updateBy", getLoginUsername(), metaObject); + if (metaObject.getValue("updateBy") == null) { + this.setFieldValByName("updateBy", getLoginUsername(), metaObject); + } } if (metaObject.hasGetter("updateTime")) { this.setFieldValByName("updateTime", new Date(), metaObject); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java index 0d2218ecb..59cba7fbf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java @@ -78,7 +78,7 @@ public class SysLoginService { } asyncService.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"), request); LoginUser loginUser = (LoginUser) authentication.getPrincipal(); - recordLoginInfo(loginUser.getUserId()); + recordLoginInfo(loginUser.getUserId(), username); // 生成token return tokenService.createToken(loginUser); } @@ -110,11 +110,12 @@ public class SysLoginService { * * @param userId 用户ID */ - public void recordLoginInfo(Long userId) { + public void recordLoginInfo(Long userId, String username) { SysUser sysUser = new SysUser(); sysUser.setUserId(userId); sysUser.setLoginIp(ServletUtils.getClientIP()); sysUser.setLoginDate(DateUtils.getNowDate()); + sysUser.setUpdateBy(username); userService.updateUserProfile(sysUser); } }