From 0832f385234a8a2f3b69a5c3fc1e1c95e3c4849e Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 09 六月 2025 17:48:20 +0800 Subject: [PATCH] zjh20250609 --- ltkj-framework/src/main/java/com/ltkj/framework/manager/factory/AsyncFactory.java | 80 +++++++++++++++++++++++++++++++++++----- 1 files changed, 70 insertions(+), 10 deletions(-) diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/manager/factory/AsyncFactory.java b/ltkj-framework/src/main/java/com/ltkj/framework/manager/factory/AsyncFactory.java index b3652b7..a2bc142 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/manager/factory/AsyncFactory.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/manager/factory/AsyncFactory.java @@ -1,7 +1,14 @@ package com.ltkj.framework.manager.factory; +import java.io.IOException; import java.util.TimerTask; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.db.DataSourceConfig; +import com.ltkj.db.DataSourceContextHolder; +import com.ltkj.hosp.domain.DictHosp; +import com.ltkj.hosp.service.IDictHospService; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ltkj.common.constant.Constants; @@ -16,12 +23,17 @@ import com.ltkj.system.service.ISysLogininforService; import com.ltkj.system.service.ISysOperLogService; import eu.bitwalker.useragentutils.UserAgent; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletResponse; /** * 寮傛宸ュ巶锛堜骇鐢熶换鍔$敤锛� * * @author ltkj */ +//@Component + @Slf4j public class AsyncFactory { private static final Logger sys_user_logger = LoggerFactory.getLogger("sys-user"); @@ -34,13 +46,20 @@ * @param args 鍒楄〃 * @return 浠诲姟task */ - public static TimerTask recordLogininfor(final String username, final String status, final String message, + public static TimerTask recordLogininfor(final String username, final String status, final String message,final String hospId, final Object... args) { final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent")); final String ip = IpUtils.getIpAddr(ServletUtils.getRequest()); + +// log.info("闄㈠尯鍙傛暟hospId"+hospId); return new TimerTask() { @Override public void run() { + + log.info("闄㈠尯鍙傛暟hospId"+hospId); + DataSourceContextHolder.setDataSourceKey(hospId); + SpringUtils.getBean(DataSourceConfig.class).addDataSource(hospId); + String address = AddressUtils.getRealAddressByIP(ip); StringBuilder s = new StringBuilder(); s.append(LogUtils.getBlock(ip)); @@ -74,20 +93,61 @@ }; } + + public static void recordLogininfornew(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()); + 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); + // 鏃ュ織鐘舵�� + 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 */ - public static TimerTask recordOper(final SysOperLog operLog) { - return new TimerTask() { - @Override - public void run() { - // 杩滅▼鏌ヨ鎿嶄綔鍦扮偣 - operLog.setOperLocation(AddressUtils.getRealAddressByIP(operLog.getOperIp())); - SpringUtils.getBean(ISysOperLogService.class).insertOperlog(operLog); - } - }; +// public static TimerTask recordOper(final SysOperLog operLog) { +// return new TimerTask() { +// @Override +// public void run() { +// // 杩滅▼鏌ヨ鎿嶄綔鍦扮偣 +// operLog.setOperLocation(AddressUtils.getRealAddressByIP(operLog.getOperIp())); +// SpringUtils.getBean(ISysOperLogService.class).insertOperlog(operLog); +// } +// }; +// } + + public static void recordOper(final SysOperLog operLog) { + // 杩滅▼鏌ヨ鎿嶄綔鍦扮偣 + operLog.setOperLocation(AddressUtils.getRealAddressByIP(operLog.getOperIp())); + SpringUtils.getBean(ISysOperLogService.class).insertOperlog(operLog); } } -- Gitblit v1.8.0