1、AlertMessage入库修复字段和库表不匹配问题,增加display_id

2、command增加display_id
3、规则、任务、配置增加新建时(批量导入除外)、任务运行状态、审核状态改变时的历史记录
This commit is contained in:
PushM
2024-06-04 20:07:29 +08:00
parent 25ade2ef06
commit a756f9aedb
27 changed files with 1063 additions and 59 deletions

View File

@@ -6,6 +6,7 @@ import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRule
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -64,4 +65,12 @@ public interface DynamicRuleMapper {
@Param("auditUserName")String auditUserName,
@Param("auditUserId")String auditUserId,
@Param("auditUserDepart")String auditUserDepart);
void insertStatusLog(Integer id);
void updateStatusLogExpireTime(Integer id);
void insertStatusLogBatch(List<Integer> ids);
void updateStatusLogExpireTimeBatch(List<Integer> ids);
}

View File

@@ -2,6 +2,7 @@ package com.realtime.protection.server.rule.dynamicrule;
import com.alibaba.excel.util.ListUtils;
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
import com.realtime.protection.configuration.utils.Counter;
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
import com.realtime.protection.configuration.utils.enums.StateEnum;
@@ -11,10 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
@Service
@@ -40,7 +38,7 @@ public class DynamicRuleService {
);
dynamicRuleMapper.newDynamicRule(dynamicRule);
insertStatusLog(dynamicRule.getDynamicRuleId());
return dynamicRule.getDynamicRuleId();
}
@@ -205,6 +203,8 @@ public class DynamicRuleService {
}
Boolean success = dynamicRuleMapper.updateAuditStatusById(id, auditStatus ,auditUserName, auditUserId, auditUserDepart);
insertStatusLog(id);
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("success", success);
resultMap.put("audit_status", auditStatus);
@@ -250,10 +250,12 @@ public class DynamicRuleService {
}
//mapper指的就是外层函数输入的参数也就是WhiteListMapper
mapper.updateAuditStatusByIdBatch(idWithAuditStatusBatch);
insertStatusLog(idWithAuditStatusBatch);
idWithAuditStatusBatch.clear();
}
if (!idWithAuditStatusBatch.isEmpty()) {
mapper.updateAuditStatusByIdBatch(idWithAuditStatusBatch);
insertStatusLog(idWithAuditStatusBatch);
}
return true;
};
@@ -309,10 +311,13 @@ public class DynamicRuleService {
}
//mapper指的就是外层函数输入的参数也就是WhiteListMapper
mapper.updateAuditStatusWithAuditorByIdBatch(idWithAuditStatusBatch, auditUserName, auditUserId, auditUserDepart);
insertStatusLog(idWithAuditStatusBatch);
idWithAuditStatusBatch.clear();
}
if (!idWithAuditStatusBatch.isEmpty()) {
mapper.updateAuditStatusWithAuditorByIdBatch(idWithAuditStatusBatch, auditUserName, auditUserId, auditUserDepart);
insertStatusLog(idWithAuditStatusBatch);
}
return true;
};
@@ -331,4 +336,30 @@ public class DynamicRuleService {
public String queryAuditInfo(Integer id) {
return dynamicRuleMapper.queryAuditInfo(id);
}
public void insertStatusLog(Integer id) {
dynamicRuleMapper.updateStatusLogExpireTime(id);
dynamicRuleMapper.insertStatusLog(id);
}
public void insertStatusLog(Map<Integer, Integer> idWithAuditStatusBatch) {
Set<Integer> keys = idWithAuditStatusBatch.keySet();
ArrayList<Integer> ids = new ArrayList<>(keys);
dynamicRuleMapper.updateStatusLogExpireTimeBatch(ids);
dynamicRuleMapper.insertStatusLogBatch(ids);
}
public void insertSStatusLog(List<StaticRuleObject> objects) {
List<Integer> ids = new ArrayList<>();
for (StaticRuleObject staticRuleObject : objects) {
ids.add(staticRuleObject.getStaticRuleId());
}
dynamicRuleMapper.updateStatusLogExpireTimeBatch(ids);
dynamicRuleMapper.insertStatusLogBatch(ids);
}
}

View File

@@ -52,6 +52,7 @@ public class StaticRuleController implements StaticRuleControllerApi {
object.setStaticRuleCreateUserId(Integer.valueOf(user.uid));
object.setStaticRuleCreateDepart(user.getOrgName());
}
//调用service新增
staticRuleService.newStaticRuleObject(object);
return ResponseResult.ok()

View File

@@ -5,7 +5,6 @@ import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -37,7 +36,7 @@ public interface StaticRuleMapper {
void deleteStaticRules(@Param("staticRuleIds") List<Integer> staticRuleBatch);
void newStaticRules(List<StaticRuleObject> staticRuleBatch);
void newStaticRules(List<StaticRuleObject> list);
Integer queryAuditStatusById(Integer id);
@@ -69,4 +68,12 @@ public interface StaticRuleMapper {
Boolean updateAuditInfo(@Param("ids") List<Integer> ids, @Param("auditInfo") String auditInfo);
String queryAuditInfo(Integer id);
void insertStaticRuleStatusLog(Integer id);
void updateStaticRuleStatusLogExpireTime(Integer id);
void insertStaticRuleStatusLogBatch(List<Integer> ids);
void updateStaticRuleStatusLogExpireTimeBatch(List<Integer> ids);
}

View File

@@ -99,6 +99,8 @@ public class StaticRuleService {
staticRuleMapper.newStaticRuleObject(object);
insertStaticRuleStatusLog(object.getStaticRuleId());
return object.getStaticRuleId();
}
@@ -210,10 +212,13 @@ public class StaticRuleService {
}
//mapper指的就是外层函数输入的参数也就是WhiteListMapper
mapper.newStaticRules(StaticRuleBatch);
//todo: 批量插入静态规则mybatis未返回主键id待解决
// insertStaticRuleStatusLog(StaticRuleBatch);
StaticRuleBatch.clear();
}
if (!StaticRuleBatch.isEmpty()) {
mapper.newStaticRules(StaticRuleBatch);
// insertStaticRuleStatusLog(StaticRuleBatch);
}
return true;
};
@@ -237,7 +242,8 @@ public class StaticRuleService {
throw new IllegalArgumentException("invalid audit status");
}
Boolean success = staticRuleMapper.updateAuditStatusById(id, auditStatus, auditUserName, auditUserId, auditUserDepart);
//记录状态历史
insertStaticRuleStatusLog(id);
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("success", success);
resultMap.put("audit_status", auditStatus);
@@ -309,11 +315,13 @@ public class StaticRuleService {
//mapper指的就是外层函数输入的参数也就是WhiteListMapper
mapper.updateAuditStatusWithAuditorByIdBatch(idWithAuditStatusBatch,
auditUserName, auditUserId, auditUserDepart);
insertStaticRuleStatusLog(idWithAuditStatusBatch);
idWithAuditStatusBatch.clear();
}
if (!idWithAuditStatusBatch.isEmpty()) {
mapper.updateAuditStatusWithAuditorByIdBatch(idWithAuditStatusBatch,
auditUserName, auditUserId, auditUserDepart);
insertStaticRuleStatusLog(idWithAuditStatusBatch);
}
return true;
};
@@ -358,10 +366,12 @@ public class StaticRuleService {
}
//mapper指的就是外层函数输入的参数也就是WhiteListMapper
mapper.updateAuditStatusByIdBatch(idWithAuditStatusBatch);
insertStaticRuleStatusLog(idWithAuditStatusBatch);
idWithAuditStatusBatch.clear();
}
if (!idWithAuditStatusBatch.isEmpty()) {
mapper.updateAuditStatusByIdBatch(idWithAuditStatusBatch);
insertStaticRuleStatusLog(idWithAuditStatusBatch);
}
return true;
};
@@ -388,4 +398,26 @@ public class StaticRuleService {
public String queryAuditInfo(Integer id) {
return staticRuleMapper.queryAuditInfo(id);
}
public void insertStaticRuleStatusLog(Integer id) {
staticRuleMapper.updateStaticRuleStatusLogExpireTime(id);
staticRuleMapper.insertStaticRuleStatusLog(id);
}
public void insertStaticRuleStatusLog(Map<Integer, Integer> idWithAuditStatusBatch) {
Set<Integer> keys = idWithAuditStatusBatch.keySet();
ArrayList<Integer> ids = new ArrayList<>(keys);
staticRuleMapper.updateStaticRuleStatusLogExpireTimeBatch(ids);
staticRuleMapper.insertStaticRuleStatusLogBatch(ids);
}
public void insertStaticRuleStatusLog(List<StaticRuleObject> objects) {
List<Integer> ids = new ArrayList<>();
for (StaticRuleObject staticRuleObject : objects) {
ids.add(staticRuleObject.getStaticRuleId());
}
staticRuleMapper.updateStaticRuleStatusLogExpireTimeBatch(ids);
staticRuleMapper.insertStaticRuleStatusLogBatch(ids);
}
}