From 0b977fb16e8272739bbe25973947f45a55ebe842 Mon Sep 17 00:00:00 2001 From: 唐耀东 <18861537@qq.com> Date: 星期五, 31 十二月 2021 11:30:49 +0800 Subject: [PATCH] 提交代码 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java | 65 +++++++++++++++++++++++--------- 1 files changed, 46 insertions(+), 19 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java index 0ce33be..d538d15 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java @@ -4,13 +4,19 @@ import cn.hutool.http.useragent.UserAgentUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.dto.EquipmentLogDTO; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.service.EquipmentService; import com.ruoyi.common.core.service.LogininforService; +import com.ruoyi.common.enums.BusinessStatus; +import com.ruoyi.common.enums.EquipmentLog; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.ip.AddressUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.SysLogininfor; import com.ruoyi.system.mapper.SysLogininforMapper; import com.ruoyi.system.service.ISysLogininforService; @@ -57,26 +63,47 @@ s.append(getBlock(message)); // 鎵撳嵃淇℃伅鍒版棩蹇� log.info(s.toString(), args); - // 鑾峰彇瀹㈡埛绔搷浣滅郴缁� - String os = userAgent.getOs().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); + // 鐢ㄦ埛绫诲瀷锛圖EVICE锛氳澶囩锛岀┖锛歱c绯荤粺锛� + String userType = request.getHeader("User-Type"); + // pc绯荤粺 + if (StringUtils.isEmpty(userType)) { + // 鑾峰彇瀹㈡埛绔搷浣滅郴缁� + String os = userAgent.getOs().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); + } + // 鎻掑叆鏁版嵁 + insertLogininfor(logininfor); } - // 鎻掑叆鏁版嵁 - insertLogininfor(logininfor); + // 璁惧绔� + if ("DEVICE".equals(userType)) { + EquipmentLogDTO dto = new EquipmentLogDTO(); + dto.setLoginLocation(address); + dto.setUserName(username); + dto.setIp(ip); + dto.setLoginTime(DateUtils.getNowDate()); + dto.setOperation(EquipmentLog.LOGIN.ordinal()); + // 鏃ュ織鐘舵�� + if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) { + dto.setStatus(BusinessStatus.SUCCESS.ordinal()); + } else if (Constants.LOGIN_FAIL.equals(status)) { + dto.setStatus(BusinessStatus.FAIL.ordinal()); + } + SpringUtils.getBean(EquipmentService.class).recordOper(dto); + } } private String getBlock(Object msg) { -- Gitblit v1.9.1