From 86df207c37502cce1b2043e1c7c0486459eef1d6 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 13 三月 2025 19:58:45 +0800 Subject: [PATCH] 党员、诉求评论基础代码 --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/manager/AsyncFactoryNew.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 95 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/manager/AsyncFactoryNew.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/manager/AsyncFactoryNew.java new file mode 100644 index 0000000..086c88a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/manager/AsyncFactoryNew.java @@ -0,0 +1,95 @@ +package com.panzhihua.auth.manager; + +import java.util.TimerTask; + +import com.panzhihua.auth.model.dos.SysLogininforDO; +import com.panzhihua.auth.model.dos.SysOperLogDO; +import com.panzhihua.common.constants.Constants; +import com.panzhihua.common.utlis.AddressUtils; +import com.panzhihua.common.utlis.IpUtils; +import com.panzhihua.common.utlis.LogUtils; +import com.panzhihua.common.utlis.ServletUtils; + +import eu.bitwalker.useragentutils.UserAgent; +import lombok.extern.slf4j.Slf4j; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: 异步工厂 + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-11-20 15:28 + **/ +@Slf4j +public class AsyncFactoryNew { + + /** + * 记录登录信息 + * + * @param username + * 用户名 + * @param status + * 状态 + * @param message + * 消息 + * @param args + * 列表 + * @return 任务task + */ + public static TimerTask recordLogininfor(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(ServletUtils.getRequest()); + 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)); + // 打印信息到日志 + log.info(s.toString(), args); + // 获取客户端操作系统 + String os = userAgent.getOperatingSystem().getName(); + // 获取客户端浏览器 + String browser = userAgent.getBrowser().getName(); + // 封装对象 + SysLogininforDO logininfor = new SysLogininforDO(); + logininfor.setUserName(username); + logininfor.setIpaddr(ip); + logininfor.setLoginLocation(address); + logininfor.setBrowser(browser); + logininfor.setOs(os); + logininfor.setMsg(message); + // 日志状态 + if (Constants.LOGIN_SUCCESS.equals(status) || Constants.LOGOUT.equals(status)) { + 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 + */ + public static TimerTask recordOper(final SysOperLogDO operLog) { + return new TimerTask() { + @Override + public void run() { + // 远程查询操作地点 + operLog.setOperLocation(AddressUtils.getRealAddressByIP(operLog.getOperIp())); + // SpringUtils.getBean(ISysOperLogService.class).insertOperlog(operLog); + } + }; + } +} -- Gitblit v1.7.1