|
@@ -18,7 +18,7 @@ import eu.bitwalker.useragentutils.UserAgent;
|
|
|
|
|
|
/**
|
|
|
* 异步工厂(产生任务用)
|
|
|
- *
|
|
|
+ *
|
|
|
* @author zkqy
|
|
|
*/
|
|
|
public class AsyncFactory
|
|
@@ -27,7 +27,7 @@ public class AsyncFactory
|
|
|
|
|
|
/**
|
|
|
* 记录登录信息
|
|
|
- *
|
|
|
+ *
|
|
|
* @param username 用户名
|
|
|
* @param status 状态
|
|
|
* @param message 消息
|
|
@@ -35,7 +35,7 @@ public class AsyncFactory
|
|
|
* @return 任务task
|
|
|
*/
|
|
|
public static TimerTask recordLogininfor(final String username, final String status, final String message,
|
|
|
- final Object... args)
|
|
|
+ final Object... args)
|
|
|
{
|
|
|
final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
|
|
|
final String ip = IpUtils.getIpAddr();
|
|
@@ -80,9 +80,57 @@ public class AsyncFactory
|
|
|
};
|
|
|
}
|
|
|
|
|
|
+ // 重写
|
|
|
+ public static TimerTask recordLogininfor(final Long tenantId,final String username, final String status, final String message,
|
|
|
+ final Object... args)
|
|
|
+ {
|
|
|
+ final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
|
|
|
+ final String ip = IpUtils.getIpAddr();
|
|
|
+ return new TimerTask()
|
|
|
+ {
|
|
|
+ @Override
|
|
|
+ public void run()
|
|
|
+ {
|
|
|
+ String address = AddressUtils.getRealAddressByIP(ip);
|
|
|
+ StringBuilder s = new StringBuilder();
|
|
|
+ s.append(LogUtils.getBlock(ip));
|
|
|
+ s.append(address);
|
|
|
+ s.append(LogUtils.getBlock(username));
|
|
|
+ s.append(LogUtils.getBlock(status));
|
|
|
+ s.append(LogUtils.getBlock(message));
|
|
|
+ // 打印信息到日志
|
|
|
+ sys_user_logger.info(s.toString(), args);
|
|
|
+ // 获取客户端操作系统
|
|
|
+ String os = userAgent.getOperatingSystem().getName();
|
|
|
+ // 获取客户端浏览器
|
|
|
+ String browser = userAgent.getBrowser().getName();
|
|
|
+ // 封装对象
|
|
|
+ SysLogininfor logininfor = new SysLogininfor();
|
|
|
+ logininfor.setUserName(username);
|
|
|
+ logininfor.setIpaddr(ip);
|
|
|
+ logininfor.setLoginLocation(address);
|
|
|
+ logininfor.setBrowser(browser);
|
|
|
+ logininfor.setOs(os);
|
|
|
+ logininfor.setMsg(message);
|
|
|
+ // 增加租户标识
|
|
|
+ logininfor.setTenantId(tenantId);
|
|
|
+ // 日志状态
|
|
|
+ if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER))
|
|
|
+ {
|
|
|
+ logininfor.setStatus(Constants.SUCCESS);
|
|
|
+ }
|
|
|
+ else if (Constants.LOGIN_FAIL.equals(status))
|
|
|
+ {
|
|
|
+ logininfor.setStatus(Constants.FAIL);
|
|
|
+ }
|
|
|
+ // 插入数据
|
|
|
+ SpringUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
/**
|
|
|
* 操作日志记录
|
|
|
- *
|
|
|
+ *
|
|
|
* @param operLog 操作日志信息
|
|
|
* @return 任务task
|
|
|
*/
|