| | |
| | | } |
| | | |
| | | /** |
| | | * 记录登录信息 |
| | | * 记录登录信息(异步执行,不阻塞登录主流程) |
| | | * |
| | | * @param userId 用户ID |
| | | */ |
| | | public void recordLoginInfo(Long userId) { |
| | | // 在异步前捕获IP,避免异步线程中Request上下文失效 |
| | | String loginIp = IpUtils.getIpAddr(ServletUtils.getRequest()); |
| | | AsyncManager.me().execute(new java.util.TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setUserId(userId); |
| | | sysUser.setLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest())); |
| | | sysUser.setLoginIp(loginIp); |
| | | sysUser.setLoginDate(DateUtils.getNowDate()); |
| | | userService.updateUserProfile(sysUser); |
| | | } |
| | | }); |
| | | } |
| | | } |