ft:
1、指令状态记录bug fix 2、审计日志中心修改同步 3、User实体增加中心权限系统新添加字段
This commit is contained in:
@@ -32,7 +32,7 @@ server主要存放所有的业务逻辑以及Mapper接口。业务逻辑和Mappe
|
||||
4. log:日志模块,目前无文件
|
||||
5. rule:规则模块,用于处理静态/动态规则
|
||||
6. task:任务模块,用于处理任务相关信息
|
||||
7. user:用户模块
|
||||
7. user:用户模块,用于处理权限系统对接的用户登录等
|
||||
8. whitelist:白名单模块,用于处理白名单配置
|
||||
|
||||
### Resources
|
||||
|
||||
@@ -22,7 +22,7 @@ public class UserFull {
|
||||
public String employeeNumber;
|
||||
public String name;
|
||||
public Object resoures;
|
||||
|
||||
public Object orgCode;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -264,8 +264,8 @@ public class AuditAdvice implements ResponseBodyAdvice<ResponseResult> {
|
||||
private final WebClient webClient = WebClient
|
||||
.builder()
|
||||
// .baseUrl("http://39.105.210.156:8090/chanct-log/audit-xgs")
|
||||
.baseUrl("http://10.58.44.241:1888/api/chanct-log/audit-xgs")
|
||||
// .baseUrl("http://10.58.44.241:1888/magic-api/audit/save")
|
||||
// .baseUrl("http://10.58.44.241:1888/api/chanct-log/audit-xgs")
|
||||
.baseUrl("http://10.58.44.241:1888/magic-api/audit")
|
||||
.build();
|
||||
|
||||
@Data
|
||||
@@ -314,11 +314,12 @@ public class AuditAdvice implements ResponseBodyAdvice<ResponseResult> {
|
||||
if (request.getURI().getPath().contains("query")
|
||||
|| request.getURI().getPath().contains("swagger")
|
||||
|| request.getURI().getPath().contains("dict")
|
||||
|| request.getURI().getPath().contains("statistics")){
|
||||
|| request.getURI().getPath().contains("statistics")
|
||||
|| request.getURI().getPath().contains("auth")){
|
||||
return body;
|
||||
}
|
||||
|
||||
AuditData auditData ;
|
||||
AuditDataNew auditData ;
|
||||
try {
|
||||
auditData = getAuditData(body, request);
|
||||
} catch (Exception e) {
|
||||
@@ -326,13 +327,13 @@ public class AuditAdvice implements ResponseBodyAdvice<ResponseResult> {
|
||||
return body;
|
||||
}
|
||||
|
||||
AuditRes auditRes = new AuditRes(auditData);
|
||||
log.info("auditData-----------:"+auditRes.toString());
|
||||
// AuditRes auditRes = new AuditRes(auditData);
|
||||
log.info("auditData-----------:"+auditData.toString());
|
||||
|
||||
Mono<String> mono = webClient
|
||||
.post()
|
||||
.uri("/save")
|
||||
.bodyValue(auditRes)
|
||||
.bodyValue(auditData)
|
||||
.exchangeToMono(res -> {
|
||||
if (res.statusCode().equals(HttpStatus.OK)) {
|
||||
log.info("发送审计日志成功:{}",res.statusCode());
|
||||
@@ -395,41 +396,48 @@ public class AuditAdvice implements ResponseBodyAdvice<ResponseResult> {
|
||||
|
||||
|
||||
@NotNull
|
||||
private static AuditData getAuditData(ResponseResult body, ServerHttpRequest request) throws IOException {
|
||||
private static AuditDataNew getAuditData(ResponseResult body, ServerHttpRequest request) throws IOException {
|
||||
HttpSession session = ((ServletServerHttpRequest) request).getServletRequest().getSession();
|
||||
AuditData auditData;
|
||||
AuditDataNew auditData;
|
||||
log.info(request.getHeaders().getFirst("X-Forwarded-For"));
|
||||
|
||||
String requestBody = request.getBody().toString();
|
||||
if(session==null || session.getAttribute("user")==null){
|
||||
auditData = new AuditData(
|
||||
"0000000","0000000","NSADD管理员","组织树",
|
||||
extractFirstIpAddress(request.getHeaders().getFirst("X-Forwarded-For")),
|
||||
// auditData = new AuditData(
|
||||
// "0000000","0000000","NSADD管理员","组织树",
|
||||
// extractFirstIpAddress(request.getHeaders().getFirst("X-Forwarded-For")),
|
||||
// getTag(request.getURI().getPath()),
|
||||
// getSummary(request.getURI().getPath()),
|
||||
// body.toString(),
|
||||
// String.format("名称:%s, 操作:%s, 请求内容:%s, 是否成功:%s, 响应内容:%s",
|
||||
// getTag(request.getURI().getPath()),
|
||||
// getSummary(request.getURI().getPath()),
|
||||
// request.getURI().getPath(),
|
||||
// body.getCode()==200?"成功":"失败",
|
||||
// body.toString())
|
||||
// );
|
||||
auditData = new AuditDataNew(
|
||||
"NSADD管理员",extractFirstIpAddress(request.getHeaders().getFirst("X-Forwarded-For")),
|
||||
"xgs","组织树",
|
||||
getTag(request.getURI().getPath()),
|
||||
getSummary(request.getURI().getPath()),
|
||||
body.toString(),
|
||||
// body.toString()+" "+request.getURI().getPath()
|
||||
String.format("名称:%s, 操作:%s, 请求内容:%s, 是否成功:%s, 响应内容:%s",
|
||||
getTag(request.getURI().getPath()),
|
||||
getSummary(request.getURI().getPath()),
|
||||
request.getURI().getPath(),
|
||||
body.getCode()==200?"成功":"失败",
|
||||
body.toString())
|
||||
body.toString()
|
||||
)
|
||||
);
|
||||
// auditData = new AuditData(
|
||||
// "NSADD管理员",extractFirstIpAddress(request.getHeaders().getFirst("X-Forwarded-For"))
|
||||
// "xgs","组织树",
|
||||
// getTag(request.getURI().getPath()),
|
||||
// getSummary(request.getURI().getPath()),
|
||||
// body.toString()+" "+request.getURI().getPath()
|
||||
// );
|
||||
}else {
|
||||
UserFull user = (UserFull) session.getAttribute("user");
|
||||
auditData = new AuditData(
|
||||
user.uid, user.getOrgCode(),user.name, user.getOrgName(),
|
||||
extractFirstIpAddress(request.getHeaders().getFirst("X-Forwarded-For")),
|
||||
auditData = new AuditDataNew(
|
||||
user.name, extractFirstIpAddress(request.getHeaders().getFirst("X-Forwarded-For")),
|
||||
user.getOrgName(), user.getOrgCode(),
|
||||
getTag(request.getURI().getPath()),
|
||||
getSummary(request.getURI().getPath()),
|
||||
body.toString(),
|
||||
// body.toString(),
|
||||
String.format("名称:%s, 操作:%s, 请求内容:%s, 是否成功:%s, 响应内容:%s",
|
||||
getTag(request.getURI().getPath()),
|
||||
getSummary(request.getURI().getPath()),
|
||||
|
||||
@@ -107,4 +107,10 @@ public interface CommandMapper {
|
||||
@Param("log_id")String logId,
|
||||
@Param("command_status")Integer commandStatus,
|
||||
@Param("effective_time")LocalDateTime lastTrafficQueryTime);
|
||||
|
||||
void insertCommandHistoryWithStatusWithTimeWithTraffic(@Param("command_id")String commandUUID,
|
||||
@Param("log_id")String logId,
|
||||
@Param("command_status") Integer commandStatusNum,
|
||||
@Param("effective_time")LocalDateTime lastRCPQueryTime,
|
||||
@Param("traffic_num") Long totalPacketNum);
|
||||
}
|
||||
|
||||
@@ -375,4 +375,9 @@ public class CommandService {
|
||||
String logId = UUID.randomUUID().toString();
|
||||
commandMapper.insertCommandHistoryWithStatusWithTime(commandUUID, logId, commandStatus, lastTrafficQueryTime);
|
||||
}
|
||||
|
||||
public void insertCommandHistoryWithTimeWithTraffic(String commandUUID, Integer commandStatusNum, LocalDateTime lastRCPQueryTime, Long totalPacketNum) {
|
||||
String logId = UUID.randomUUID().toString();
|
||||
commandMapper.insertCommandHistoryWithStatusWithTimeWithTraffic(commandUUID, logId, commandStatusNum, lastRCPQueryTime, totalPacketNum);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,27 +161,30 @@ public class StateChangeService {
|
||||
//全为成功
|
||||
try {
|
||||
changeState(StateEnum.RUNNING_SUCCESS.getStateNum(), taskId, true);
|
||||
continue;
|
||||
} catch (Exception e) {
|
||||
log.warn(String.format("任务%d从%s状态变为运行中RUNNING_SUCCESS状态遭遇异常:%s",
|
||||
taskId, taskService.queryTaskStatus(taskId), e.getMessage()));
|
||||
}
|
||||
} else if (commandStatusList.stream().anyMatch(status -> status == null || status == 0)) {
|
||||
}
|
||||
if (commandStatusList.stream().anyMatch(status -> status == null || status == 0)) {
|
||||
//部分成功
|
||||
try {
|
||||
changeState(StateEnum.RUNNING_PARTIAL_SUCCESS.getStateNum(), taskId, true);
|
||||
continue;
|
||||
} catch (Exception e) {
|
||||
log.warn(String.format("任务%d从%s状态变为运行中RUNNING_PARTIAL_SUCCESS状态遭遇异常:%s",
|
||||
taskId, taskService.queryTaskStatus(taskId), e.getMessage()));
|
||||
}
|
||||
}else{
|
||||
//全失败
|
||||
try {
|
||||
changeState(StateEnum.RUNNING_FAILED.getStateNum(), taskId, true);
|
||||
} catch (Exception e) {
|
||||
log.warn(String.format("任务%d从%s状态变为运行中RUNNING_FAILED状态遭遇异常:%s",
|
||||
taskId, taskService.queryTaskStatus(taskId), e.getMessage()));
|
||||
}
|
||||
}
|
||||
//全失败
|
||||
try {
|
||||
changeState(StateEnum.RUNNING_FAILED.getStateNum(), taskId, true);
|
||||
} catch (Exception e) {
|
||||
log.warn(String.format("任务%d从%s状态变为运行中RUNNING_FAILED状态遭遇异常:%s",
|
||||
taskId, taskService.queryTaskStatus(taskId), e.getMessage()));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,20 +220,22 @@ public class StateChangeService {
|
||||
log.info("rcp命中查询:{},{}",taskCommandInfo.getRcpHitCount(), commandLogLatest.getRcpHitCount());
|
||||
if (taskCommandInfo.getRcpHitCount()!=null && commandLogLatest.getRcpHitCount()==null) {
|
||||
//更新log表,rcp命中
|
||||
commandService.insertCommandHistoryWithTime(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.RCPHIT.getCommandStatusNum(), taskCommandInfo.getLastRCPQueryTime());
|
||||
commandService.insertCommandHistoryWithTimeWithTraffic(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.RCPHIT.getCommandStatusNum(), taskCommandInfo.getLastRCPQueryTime(),
|
||||
commandLogLatest.getTotalPacketNum());
|
||||
}
|
||||
if (taskCommandInfo.getRcpHitCount()!=null && commandLogLatest.getRcpHitCount()!=null) {
|
||||
if (taskCommandInfo.getRcpHitCount() > commandLogLatest.getRcpHitCount()) {
|
||||
//更新log表,rcp命中
|
||||
commandService.insertCommandHistoryWithTime(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.RCPHIT.getCommandStatusNum(), taskCommandInfo.getLastRCPQueryTime());
|
||||
commandService.insertCommandHistoryWithTimeWithTraffic(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.RCPHIT.getCommandStatusNum(), taskCommandInfo.getLastRCPQueryTime(),
|
||||
commandLogLatest.getTotalPacketNum());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
log.info("流量命中查询:{},{}",taskCommandInfo.getTotalPacketNum(), commandLogLatest.getTotalPacketNum());
|
||||
if (taskCommandInfo.getTotalPacketNum()==null && commandLogLatest.getTotalPacketNum()!=null) {
|
||||
if (taskCommandInfo.getTotalPacketNum()!=null && commandLogLatest.getTotalPacketNum()==null) {
|
||||
//更新log表,流量命中
|
||||
commandService.insertCommandHistoryWithTime(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.FLOWHIT.getCommandStatusNum(),taskCommandInfo.getLastTrafficQueryTime());
|
||||
@@ -255,16 +260,16 @@ public class StateChangeService {
|
||||
{
|
||||
|
||||
log.info("流量命中查询:{},{}",taskCommandInfo.getTotalPacketNum(), commandLogLatest.getTotalPacketNum());
|
||||
if (taskCommandInfo.getTotalPacketNum()==null && commandLogLatest.getTotalPacketNum()!=null) {
|
||||
if (taskCommandInfo.getTotalPacketNum()!=null && commandLogLatest.getTotalPacketNum()==null) {
|
||||
//更新log表,流量命中
|
||||
commandService.insertCommandHistoryWithTime(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.FLOWHIT.getCommandStatusNum(),taskCommandInfo.getLastTrafficQueryTime());
|
||||
commandService.insertCommandHistory(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.FLOWHIT.getCommandStatusNum());
|
||||
}
|
||||
if (taskCommandInfo.getTotalPacketNum()!=null && commandLogLatest.getTotalPacketNum()!=null) {
|
||||
if (taskCommandInfo.getTotalPacketNum() > commandLogLatest.getTotalPacketNum()) {
|
||||
//更新log表,流量命中
|
||||
commandService.insertCommandHistoryWithTime(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.FLOWHIT.getCommandStatusNum(),taskCommandInfo.getLastTrafficQueryTime());
|
||||
commandService.insertCommandHistory(taskCommandInfo.getUUID(),
|
||||
CommandStatusEnum.FLOWHIT.getCommandStatusNum());
|
||||
}
|
||||
}
|
||||
continue;
|
||||
|
||||
@@ -126,7 +126,7 @@ public class StateHandler {
|
||||
return true;
|
||||
}
|
||||
|
||||
protected Boolean handleRunningFail(CommandService commandService, TaskService taskService, Long taskId) {
|
||||
protected Boolean handleRunningSuccess(CommandService commandService, TaskService taskService, Long taskId) {
|
||||
//查询任务状态
|
||||
Integer taskStatusNum = taskService.queryTaskStatus(taskId);
|
||||
|
||||
@@ -158,7 +158,7 @@ public class StateHandler {
|
||||
return true;
|
||||
}
|
||||
|
||||
protected Boolean handleRunningSuccess(CommandService commandService, TaskService taskService, Long taskId) {
|
||||
protected Boolean handleRunningFail(CommandService commandService, TaskService taskService, Long taskId) {
|
||||
///查询任务状态
|
||||
Integer taskStatusNum = taskService.queryTaskStatus(taskId);
|
||||
|
||||
|
||||
@@ -1008,6 +1008,123 @@
|
||||
from t_command
|
||||
where COMMAND_ID = #{command_id}
|
||||
</insert>
|
||||
<insert id="insertCommandHistoryWithStatusWithTimeWithTraffic">
|
||||
insert into t_command_log(
|
||||
log_uuid,
|
||||
effective_time,
|
||||
expire_time,
|
||||
TASK_ID,
|
||||
RULE_ID,
|
||||
COMMAND_ID,
|
||||
TASKTYPE,
|
||||
ADDR_TYPE,
|
||||
SRC_IP,
|
||||
SRC_PORT,
|
||||
DST_IP,
|
||||
DST_PORT,
|
||||
PROTOCOL,
|
||||
MASK_SRC_IP,
|
||||
MASK_SRC_PORT,
|
||||
MASK_DST_IP,
|
||||
MASK_DST_PORT,
|
||||
MASK_PROTOCOL,
|
||||
TASK_ACT,
|
||||
EVENTTYPE,
|
||||
TASKNAME,
|
||||
DISTRIBUTEPOINT,
|
||||
DEPARTMENT,
|
||||
FREQUENCY,
|
||||
VALID_TIME,
|
||||
INVALID_TIME,
|
||||
IS_VALID,
|
||||
IS_JUDGED,
|
||||
SEND_TIMES,
|
||||
SUCCESS_TIMES,
|
||||
FIRST_SEND_TIME,
|
||||
LAST_SEND_TIME,
|
||||
CREATE_TIME,
|
||||
LAST_UPDATE,
|
||||
IS_DELETED,
|
||||
RULE_NAME,
|
||||
RCP_HIT_COUNT,
|
||||
TOTAL_PACKET_NUM,
|
||||
TOTAL_BYTE_NUM,
|
||||
EFFECTIVE_EQUIPMENT_NUM,
|
||||
AVERAGE_LATENCY,
|
||||
MAX_LATENCY,
|
||||
MIN_LATENCY,
|
||||
c2s_pkt_num,
|
||||
s2c_pkt_num,
|
||||
c2s_byte_num,
|
||||
s2c_byte_num,
|
||||
display_id,
|
||||
session_num,
|
||||
first_effect_time,
|
||||
last_rcp_query_time,
|
||||
last_traffic_query_time,
|
||||
sip_int,
|
||||
dip_int,
|
||||
command_status
|
||||
)
|
||||
select
|
||||
#{log_id},
|
||||
#{effective_time},
|
||||
NULL,
|
||||
TASK_ID,
|
||||
RULE_ID,
|
||||
COMMAND_ID,
|
||||
TASKTYPE,
|
||||
ADDR_TYPE,
|
||||
SRC_IP,
|
||||
SRC_PORT,
|
||||
DST_IP,
|
||||
DST_PORT,
|
||||
PROTOCOL,
|
||||
MASK_SRC_IP,
|
||||
MASK_SRC_PORT,
|
||||
MASK_DST_IP,
|
||||
MASK_DST_PORT,
|
||||
MASK_PROTOCOL,
|
||||
TASK_ACT,
|
||||
EVENTTYPE,
|
||||
TASKNAME,
|
||||
DISTRIBUTEPOINT,
|
||||
DEPARTMENT,
|
||||
FREQUENCY,
|
||||
VALID_TIME,
|
||||
INVALID_TIME,
|
||||
IS_VALID,
|
||||
IS_JUDGED,
|
||||
SEND_TIMES,
|
||||
SUCCESS_TIMES,
|
||||
FIRST_SEND_TIME,
|
||||
LAST_SEND_TIME,
|
||||
CREATE_TIME,
|
||||
LAST_UPDATE,
|
||||
IS_DELETED,
|
||||
RULE_NAME,
|
||||
RCP_HIT_COUNT,
|
||||
#{traffic_num},
|
||||
TOTAL_BYTE_NUM,
|
||||
EFFECTIVE_EQUIPMENT_NUM,
|
||||
AVERAGE_LATENCY,
|
||||
MAX_LATENCY,
|
||||
MIN_LATENCY,
|
||||
c2s_pkt_num,
|
||||
s2c_pkt_num,
|
||||
c2s_byte_num,
|
||||
s2c_byte_num,
|
||||
display_id,
|
||||
session_num,
|
||||
first_effect_time,
|
||||
last_rcp_query_time,
|
||||
last_traffic_query_time,
|
||||
sip_int,
|
||||
dip_int,
|
||||
#{command_status}
|
||||
from t_command
|
||||
where COMMAND_ID = #{command_id}
|
||||
</insert>
|
||||
|
||||
<resultMap id="commandLogMap" type="com.realtime.protection.configuration.entity.task.TaskCommandInfo">
|
||||
<id column="log_uuid" property="logUUID"/>
|
||||
|
||||
Reference in New Issue
Block a user