From 18810e50d448388ec6849d2b7745b19190daf064 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 26 二月 2025 02:10:59 +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