src/main/java/com/whyc/exception/CustomExceptionResultHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/UserLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/UserLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/UserLogMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/exception/CustomExceptionResultHandler.java
@@ -26,11 +26,12 @@ @ResponseStatus(HttpStatus.ACCEPTED) public Response sendErrorResponse2Defined(Exception e, HttpServletResponse response, HttpServletRequest request){ String exceptionStr = e.toString(); String requestURI = request.getRequestURI(); //单项提取-登录超时 if(exceptionStr.contains("login") && exceptionStr.contains("imeout")){ CommonUtil.record(ActionUtil.getUser().getUId(), UserOperation.TYPE_LOGIN_TIMEOUT.getType(),"登录请求超时","异常信息:"+ exceptionStr); }else { CommonUtil.record(ActionUtil.getUser().getUId(), UserOperation.TYPE_EXCEPTION.getType(), "接口请求异常", "异常信息:" + exceptionStr); CommonUtil.record(ActionUtil.getUser().getUId(), UserOperation.TYPE_EXCEPTION.getType(), "接口调用异常:调用接口"+requestURI+"发生错误:"+exceptionStr); } return new Response().setII(0,"接口请求异常,请联系软件人员进行处理.异常信息"+ exceptionStr); } src/main/java/com/whyc/pojo/UserLog.java
@@ -34,6 +34,8 @@ private String operationTypeStr; @TableField(exist = false) private String uName; @TableField(exist = false) private Integer eventType; public String getOperationTypeStr() { return operationTypeStr; @@ -114,4 +116,12 @@ public void setUName(String uName) { this.uName = uName; } public Integer getEventType() { return eventType; } public void setEventType(Integer eventType) { this.eventType = eventType; } } src/main/java/com/whyc/service/UserLogService.java
@@ -29,7 +29,7 @@ public PageInfo<UserLog>getPage(int pageNum, int pageSize, UserLog userLog) { PageHelper.startPage(pageNum,pageSize,true); //List<UserLog> userLogList = mapper.selectList(wrapper); //这个接口要兼容新老审计日志记录的查询 List<UserLog> userLogList = mapper.getList(userLog); userLogList.stream().forEach(userLog1 -> { switch (userLog1.getOperationType()){ @@ -38,6 +38,12 @@ case 3: userLog1.setOperationTypeStr(UserOperation.TYPE_ADD.getTypeName());break; case 4: userLog1.setOperationTypeStr(UserOperation.TYPE_UPDATE.getTypeName());break; case 5: userLog1.setOperationTypeStr(UserOperation.TYPE_DELETE.getTypeName());break; case 20:userLog1.setOperationTypeStr(UserOperation.TYPE_UNAUTHORIZED_ACCESS.getTypeName());break; case 21:userLog1.setOperationTypeStr(UserOperation.TYPE_EXCEPTION.getTypeName());break; case 31:userLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN_FAIL.getTypeName());break; case 32:userLog1.setOperationTypeStr(UserOperation.TYPE_PARAM_CHANGE.getTypeName());break; case 33:userLog1.setOperationTypeStr(UserOperation.TYPE_PASSWORD_CHANGE.getTypeName());break; case 34:userLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN_TIMEOUT.getTypeName());break; default:userLog1.setOperationTypeStr(UserOperation.TYPE_UNRECOGNIZED.getTypeName()); } }); src/main/resources/mapper/UserLogMapper.xml
@@ -19,8 +19,68 @@ <if test="uId !=null"> and l.uId = #{uId} </if> <if test="operationType !=null"> and l.uOprateType = #{operationType} <!--条件查询-非全部--> <if test="eventType !=null"> <choose> <!--系统级别(1)--> <when test="eventType ==1"> <choose> <when test="operationType ==1 or operationType ==2 or operationType ==20 or operationType ==21 "> and uoprateType= #{operationType} </when> <when test="operationType ==31 or operationType ==32 or operationType ==33 or operationType ==34"> and uoprateType= #{operationType} <choose> <when test="operationType ==31"> or uOprateMsg regexp '登录PC系统失败' </when> <when test="operationType ==32"> or uOprateMsg regexp '配置参数修改|导航配置' </when> <when test="operationType ==33"> or uOprateMsg regexp '密码' and uOprateMsg not regexp '更新密码复杂度规则' </when> <otherwise> or uOprateMsg regexp 'LoginAction!login|imeout' </otherwise> </choose> </when> <when test="operationType == 3 or operationType == 4 or operationType == 5"> and uoprateType= #{operationType} and uOprateMsg regexp '添加新用户|的用户信息|权限组|审计数据记录容量 |执行了User模块|执行了PermitGroup' </when> </choose> </when> <!--业务级别-机房(2)--> <when test="eventType ==2"> and uoprateType= #{operationType} and uOprateMsg regexp '单体|电池组|组端|设备|Batt|Dev|FBO|Fbs|Ld9|Li9130|Lithium|Station3D' and uOprateMsg not regexp '电源|Pwrdev' </when> <!--业务级别-电源(3)--> <when test="eventType ==3"> and uoprateType= #{operationType} and uOprateMsg regexp 'PowerInf|Pwr' </when> <!--业务级别-其他(4)--> <when test="eventType ==4"> and uoprateType= #{operationType} and uOprateMsg not regexp '添加新用户|的用户信息|权限组|审计数据记录容量|配置参数修改|导航配置|密码|单体|电池组|组端|设备|电源| |执行了User模块|执行了PermitGroup| |Batt|Dev|FBO|Fbs|Ld9|Li9130|Lithium|Station3D| |PowerInf|Pwr' </when> </choose> </if> ORDER BY uOprateDay DESC </select> </mapper>