1.审计日志处理2
This commit is contained in:
@@ -84,6 +84,9 @@ public class UserLog {
|
||||
@ExcelProperty(value = "事件类型")
|
||||
private Integer type;
|
||||
|
||||
@ExcelProperty(value = "日志类型")
|
||||
private Integer roleType;
|
||||
|
||||
/**
|
||||
* 模块名
|
||||
*/
|
||||
|
||||
@@ -3,23 +3,30 @@ package com.njcn.system.handler;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
|
||||
import com.github.tocrhz.mqtt.annotation.Payload;
|
||||
import com.njcn.common.pojo.constant.PatternRegex;
|
||||
import com.njcn.common.pojo.dto.LogInfoDTO;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.redis.pojo.enums.RedisKeyEnum;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.service.IUserLogService;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.po.User;
|
||||
import com.njcn.web.utils.EmailUtil;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
||||
import org.springframework.data.redis.core.BoundHashOperations;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -37,12 +44,33 @@ public class MqttMessageHandler {
|
||||
private final UserFeignClient userFeignClient;
|
||||
private final EmailUtil emailUtil;
|
||||
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
|
||||
|
||||
private JSONObject jsonObject = null;
|
||||
/**
|
||||
* 订阅审计日志的记录,并进行入库操作
|
||||
*/
|
||||
@MqttSubscribe(value = "/userLog")
|
||||
public void subUserLog(String topic, MqttMessage message, @Payload String payload) {
|
||||
if(Objects.isNull(jsonObject)){
|
||||
jsonObject = (JSONObject) redisUtil.getObjectByKey(RedisKeyEnum.USER_ROLE_TYPE_KEY.getKey());
|
||||
if(Objects.isNull(jsonObject)){
|
||||
userFeignClient.userRoleList();
|
||||
}
|
||||
}
|
||||
LogInfoDTO logInfoDTO = PubUtils.json2obj(new String(message.getPayload(), StandardCharsets.UTF_8),LogInfoDTO.class);
|
||||
String loginName = logInfoDTO.getLoginName();
|
||||
if(StrUtil.isNotBlank(loginName) && jsonObject.containsKey(loginName)){
|
||||
if((Integer) jsonObject.get(loginName)==2){
|
||||
logInfoDTO.setRoleType(0);
|
||||
}else {
|
||||
logInfoDTO.setRoleType(1);
|
||||
};
|
||||
}else {
|
||||
logInfoDTO.setRoleType(1);
|
||||
}
|
||||
userLogService.addUserLog(logInfoDTO);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user