1、规则删去策略模板、防护对象。增加sdl字段
2、任务增加策略模板、防护对象 3、相应地方修改
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
package com.realtime.protection.configuration.entity.rule.dynamicrule;
|
package com.realtime.protection.configuration.entity.rule.dynamicrule;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
|
||||||
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusEnum;
|
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusEnum;
|
||||||
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusValidator;
|
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusValidator;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
@@ -46,19 +44,7 @@ public class DynamicRuleObject {
|
|||||||
@Schema(description = "动态规则创建用户所属部门", accessMode = Schema.AccessMode.READ_ONLY)
|
@Schema(description = "动态规则创建用户所属部门", accessMode = Schema.AccessMode.READ_ONLY)
|
||||||
private String dynamicRuleCreateDepart;
|
private String dynamicRuleCreateDepart;
|
||||||
|
|
||||||
//动态规则选择的防护对象ids?
|
|
||||||
@NotNull(message = "防护对象不能为NULL")
|
|
||||||
@NotEmpty(message = "防护对象不能为空")
|
|
||||||
@JsonProperty("protect_object_ids")
|
|
||||||
@Schema(description = "请求时发送防护对象ID", accessMode = Schema.AccessMode.WRITE_ONLY, requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private List<Integer> protectObjectIds;
|
|
||||||
@JsonProperty("protect_objects")
|
|
||||||
@Schema(description = "响应时回复防护对象完整信息", accessMode = Schema.AccessMode.READ_ONLY)
|
|
||||||
private List<ProtectObject> protectObjects;
|
|
||||||
|
|
||||||
@JsonProperty("strategy_template_name")
|
|
||||||
@Schema(description = "动态规则选择的策略模板", accessMode = Schema.AccessMode.READ_ONLY)
|
|
||||||
private String templateName;
|
|
||||||
|
|
||||||
|
|
||||||
//还没有建立外键
|
//还没有建立外键
|
||||||
@@ -73,40 +59,23 @@ public class DynamicRuleObject {
|
|||||||
@JsonProperty("dynamic_rule_source_system")
|
@JsonProperty("dynamic_rule_source_system")
|
||||||
@Schema(description = "动态规则数据来源系统", example = "bw系统", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "动态规则数据来源系统", example = "bw系统", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String dynamicRuleSourceSystem;
|
private String dynamicRuleSourceSystem;
|
||||||
@JsonProperty("dynamic_rule_event_type")
|
|
||||||
@Schema(description = "动态规则事件类型", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private String dynamicRuleEventType;
|
|
||||||
@NotNull
|
|
||||||
@JsonProperty("template_id")
|
|
||||||
@Schema(description = "策略模板id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Integer templateId;
|
|
||||||
// @NotNull
|
|
||||||
@JsonProperty("dynamic_rule_protect_level")
|
|
||||||
@Max(value = 3)
|
|
||||||
@Min(value = 1)
|
|
||||||
@Schema(description = "防护等级:1代表日常态、2代表应急态、3代表紧急态", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Integer dynamicRuleProtectLevel;
|
|
||||||
|
|
||||||
@NotNull
|
// @NotNull
|
||||||
@JsonProperty("dynamic_rule_priority")
|
@JsonProperty("dynamic_rule_priority")
|
||||||
@Schema(description = "优先级", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "优先级", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Integer dynamicRulePriority;
|
private Integer dynamicRulePriority;
|
||||||
@NotNull
|
// @NotNull
|
||||||
// @JsonProperty("dynamic_rule_range")
|
// @JsonProperty("dynamic_rule_range")
|
||||||
// @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
// private String dynamicRuleRange;
|
// private String dynamicRuleRange;
|
||||||
// @NotNull
|
// @NotNull
|
||||||
@JsonProperty("dynamic_rule_frequency")
|
@JsonProperty("dynamic_rule_frequency")
|
||||||
@Schema(description = "频率", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "频率", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Integer dynamicRuleFrequency;
|
private Integer dynamicRuleFrequency;
|
||||||
|
|
||||||
@NotNull
|
// @NotNull
|
||||||
@JsonProperty("log_rule_id")
|
|
||||||
@Schema(description = "筛选条件-日志规则id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Long logRuleId;
|
|
||||||
|
|
||||||
@JsonProperty("dynamic_rule_audit_status")
|
@JsonProperty("dynamic_rule_audit_status")
|
||||||
@ExcelIgnore
|
|
||||||
@Schema(description = "动态规则审核状态(0为未审核,1为已退回,2为审核通过)", example = "2", accessMode = Schema.AccessMode.READ_ONLY)
|
@Schema(description = "动态规则审核状态(0为未审核,1为已退回,2为审核通过)", example = "2", accessMode = Schema.AccessMode.READ_ONLY)
|
||||||
private Integer auditStatus;
|
private Integer auditStatus;
|
||||||
|
|
||||||
@@ -120,6 +89,14 @@ public class DynamicRuleObject {
|
|||||||
@Schema(description = "审核用户部门", example = "部门1")
|
@Schema(description = "审核用户部门", example = "部门1")
|
||||||
private String auditUserDepart;
|
private String auditUserDepart;
|
||||||
|
|
||||||
|
@JsonProperty("bw_sql")
|
||||||
|
@Schema(description = "BW系统所需sql", example = "select * from table1 where rule_id=12222")
|
||||||
|
private String bwSql;
|
||||||
|
|
||||||
|
@JsonProperty("description")
|
||||||
|
@Schema(description = "动态规则描述", example = "动态规则描述")
|
||||||
|
private String description;
|
||||||
|
|
||||||
public void checkAuditStatusValidate(AuditStatusEnum newAuditStatus) {
|
public void checkAuditStatusValidate(AuditStatusEnum newAuditStatus) {
|
||||||
if (!List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum()).contains(this.getAuditStatus())) {
|
if (!List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum()).contains(this.getAuditStatus())) {
|
||||||
throw new IllegalArgumentException("规则《" + this.getDynamicRuleName() + "》原审批状态非法");
|
throw new IllegalArgumentException("规则《" + this.getDynamicRuleName() + "》原审批状态非法");
|
||||||
|
|||||||
@@ -138,8 +138,8 @@ public class StaticRuleObject {
|
|||||||
@ExcelProperty("优先级")
|
@ExcelProperty("优先级")
|
||||||
@Max(value = 3)
|
@Max(value = 3)
|
||||||
@Min(value = 1)
|
@Min(value = 1)
|
||||||
@Schema(description = "优先级,1代表高2代表中3代表低", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "优先级,1代表高2代表中3代表低", example = "1")
|
||||||
private Integer staticRulePriority;
|
private Integer staticRulePriority = 1;
|
||||||
// @JsonProperty("static_rule_range")
|
// @JsonProperty("static_rule_range")
|
||||||
// @ExcelProperty("范围")
|
// @ExcelProperty("范围")
|
||||||
// @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@@ -147,7 +147,7 @@ public class StaticRuleObject {
|
|||||||
@JsonProperty("static_rule_frequency")
|
@JsonProperty("static_rule_frequency")
|
||||||
@ExcelIgnore
|
@ExcelIgnore
|
||||||
@Min(value = 1)
|
@Min(value = 1)
|
||||||
@Schema(description = "频率,最低为1", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "频率,最低为1", example = "1")
|
||||||
private Integer staticRuleFrequency = 2;
|
private Integer staticRuleFrequency = 2;
|
||||||
|
|
||||||
@JsonProperty("audit_user_name")
|
@JsonProperty("audit_user_name")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.realtime.protection.configuration.entity.task;
|
package com.realtime.protection.configuration.entity.task;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.Future;
|
import jakarta.validation.constraints.Future;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
@@ -101,4 +102,40 @@ public class Task {
|
|||||||
@JsonProperty("audit_user_depart")
|
@JsonProperty("audit_user_depart")
|
||||||
@Schema(description = "审核用户部门", example = "部门1")
|
@Schema(description = "审核用户部门", example = "部门1")
|
||||||
private String auditUserDepart;
|
private String auditUserDepart;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
策略模板(事件类型、防护等级)都移动到任务表中
|
||||||
|
*/
|
||||||
|
@JsonProperty("event_type")
|
||||||
|
@Schema(description = "事件类型", example = "反射型ddos")
|
||||||
|
private String eventType;
|
||||||
|
|
||||||
|
@JsonProperty("protect_level")
|
||||||
|
@Schema(description = "防护等级", example = "低=1,中=2,高=3")
|
||||||
|
private Integer protectLevel;
|
||||||
|
|
||||||
|
@JsonProperty("template_id")
|
||||||
|
@Schema(description = "策略模板ID", example = "1")
|
||||||
|
private Integer templateId;
|
||||||
|
|
||||||
|
@JsonProperty("template_name")
|
||||||
|
@Schema(description = "策略模板名称", example = "策略模板1")
|
||||||
|
private String templateName;
|
||||||
|
|
||||||
|
@JsonProperty("source_system")
|
||||||
|
@Schema(description = "数据来源系统", example = "bw系统")
|
||||||
|
private String sourceSystem;
|
||||||
|
|
||||||
|
@JsonProperty("protect_object_ids")
|
||||||
|
@Schema(description = "防护对象ID列表", example = "[1, 2, 3]")
|
||||||
|
private List<Integer> protectObjectIds;
|
||||||
|
|
||||||
|
@JsonProperty("protect_objects")
|
||||||
|
@Schema(description = "完整防护对象列表", example = "[{protect_object_id: 1, protect_object_name: '北京'}, {protect_object_id: 2, protect_object_name: '上海'}]",
|
||||||
|
accessMode = Schema.AccessMode.READ_ONLY)
|
||||||
|
private List<ProtectObject> protectObjects;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,9 +61,9 @@ public class TaskCommandInfo {
|
|||||||
private String eventType;
|
private String eventType;
|
||||||
|
|
||||||
@Schema(description = "指令下发频率", example = "30")
|
@Schema(description = "指令下发频率", example = "30")
|
||||||
@NotNull(message = "指令下发频率不能为空。")
|
// @NotNull(message = "指令下发频率不能为空。")
|
||||||
@JsonProperty("frequency")
|
@JsonProperty("frequency")
|
||||||
private Integer frequency;
|
private Integer frequency = 3;
|
||||||
|
|
||||||
@Schema(description = "任务开始时间", example = "2025-10-14T10:23:33")
|
@Schema(description = "任务开始时间", example = "2025-10-14T10:23:33")
|
||||||
@NotNull(message = "任务开始时间不能为空。")
|
@NotNull(message = "任务开始时间不能为空。")
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ public class AlertMessageService {
|
|||||||
private final AlertMessageMapper alertMessageMapper;
|
private final AlertMessageMapper alertMessageMapper;
|
||||||
|
|
||||||
public AlertMessageService(
|
public AlertMessageService(
|
||||||
CommandService commandService,
|
CommandService commandService, AlertMessageMapper alertMessageMapper) {
|
||||||
AlertMessageMapper alertMessageMapper) {
|
|
||||||
this.commandService = commandService;
|
this.commandService = commandService;
|
||||||
this.alertMessageMapper = alertMessageMapper;
|
this.alertMessageMapper = alertMessageMapper;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,14 +15,10 @@ public interface DynamicRuleMapper {
|
|||||||
//新建动态规则
|
//新建动态规则
|
||||||
void newDynamicRule(@Param("object") DynamicRuleObject dynamicRuleObject);
|
void newDynamicRule(@Param("object") DynamicRuleObject dynamicRuleObject);
|
||||||
|
|
||||||
//新建动态规则与保护对象关联
|
|
||||||
Boolean newDynamicRulProtectObjectConcat(long dynamicRuleId, Integer protectObjectId);
|
|
||||||
|
|
||||||
void deleteDynamicRuleObject(Integer dynamicRuleId);
|
void deleteDynamicRuleObject(Integer dynamicRuleId);
|
||||||
|
|
||||||
DynamicRuleObject queryDynamicRuleById(Integer dynamicRuleId);
|
DynamicRuleObject queryDynamicRuleById(Integer dynamicRuleId);
|
||||||
|
|
||||||
List<ProtectObject> queryProtectObjectByRuleId(Integer dynamicRuleId);
|
|
||||||
|
|
||||||
Boolean updateDynamicRuleObject(@Param("dynamicRuleId") Integer dynamicRuleId, @Param("object") DynamicRuleObject dynamicRuleObject);
|
Boolean updateDynamicRuleObject(@Param("dynamicRuleId") Integer dynamicRuleId, @Param("object") DynamicRuleObject dynamicRuleObject);
|
||||||
|
|
||||||
@@ -36,12 +32,6 @@ public interface DynamicRuleMapper {
|
|||||||
String auditUserName, String createDate,
|
String auditUserName, String createDate,
|
||||||
Integer page, Integer pageSize);
|
Integer page, Integer pageSize);
|
||||||
|
|
||||||
void deleteDynamicRuleProtectObjectConcat(Integer dynamicRuleId);
|
|
||||||
|
|
||||||
TemplateNew queryTemplateByRuleId(Integer dynamicRuleId);
|
|
||||||
|
|
||||||
boolean newDynamicRulProtectObjectsConcat(Integer dynamicRuleId, List<Integer> protectObjectIds);
|
|
||||||
|
|
||||||
boolean queryProtectObjectById(Integer protectObjectId);
|
boolean queryProtectObjectById(Integer protectObjectId);
|
||||||
|
|
||||||
Integer queryDynamicRuleTotalNum(String dynamicRuleName, Integer dynamicRuleId,
|
Integer queryDynamicRuleTotalNum(String dynamicRuleName, Integer dynamicRuleId,
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.realtime.protection.server.rule.dynamicrule;
|
package com.realtime.protection.server.rule.dynamicrule;
|
||||||
|
|
||||||
import com.alibaba.excel.util.ListUtils;
|
import com.alibaba.excel.util.ListUtils;
|
||||||
import com.realtime.protection.configuration.entity.defense.template.TemplateNew;
|
|
||||||
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
|
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
|
||||||
import com.realtime.protection.configuration.utils.Counter;
|
import com.realtime.protection.configuration.utils.Counter;
|
||||||
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
|
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
|
||||||
@@ -33,13 +32,6 @@ public class DynamicRuleService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public Integer newDynamicRuleObject(DynamicRuleObject dynamicRule) {
|
public Integer newDynamicRuleObject(DynamicRuleObject dynamicRule) {
|
||||||
|
|
||||||
//判断protectObject id是否有效
|
|
||||||
boolean ProtectObjIdValid = dynamicRule.getProtectObjectIds().stream()
|
|
||||||
.allMatch(dynamicRuleMapper::queryProtectObjectById);
|
|
||||||
if (!ProtectObjIdValid) {
|
|
||||||
throw new IllegalArgumentException("protect object id is invalid");
|
|
||||||
}
|
|
||||||
|
|
||||||
dynamicRule.setDynamicRuleDisplayId(
|
dynamicRule.setDynamicRuleDisplayId(
|
||||||
"DTGZ-"
|
"DTGZ-"
|
||||||
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))
|
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))
|
||||||
@@ -48,11 +40,8 @@ public class DynamicRuleService {
|
|||||||
);
|
);
|
||||||
|
|
||||||
dynamicRuleMapper.newDynamicRule(dynamicRule);
|
dynamicRuleMapper.newDynamicRule(dynamicRule);
|
||||||
Integer dynamicRuleId = dynamicRule.getDynamicRuleId();
|
|
||||||
dynamicRule.getProtectObjectIds().forEach(
|
|
||||||
protectObjectId -> dynamicRuleMapper.newDynamicRulProtectObjectConcat(dynamicRuleId, protectObjectId));
|
|
||||||
|
|
||||||
return dynamicRuleId;
|
return dynamicRule.getDynamicRuleId();
|
||||||
}
|
}
|
||||||
|
|
||||||
//批量新建多个动态规则
|
//批量新建多个动态规则
|
||||||
@@ -117,20 +106,7 @@ public class DynamicRuleService {
|
|||||||
//查询DynamicRule
|
//查询DynamicRule
|
||||||
DynamicRuleObject dynamicRuleObject = dynamicRuleMapper.queryDynamicRuleById(dynamicRuleId);
|
DynamicRuleObject dynamicRuleObject = dynamicRuleMapper.queryDynamicRuleById(dynamicRuleId);
|
||||||
if (dynamicRuleObject == null){
|
if (dynamicRuleObject == null){
|
||||||
throw new IllegalArgumentException("dynamic rule id is invalid");
|
throw new IllegalArgumentException("动态规则不存在");
|
||||||
}
|
|
||||||
//查询DynamicRule关联的ProtectObject
|
|
||||||
dynamicRuleObject.setProtectObjects(dynamicRuleMapper.queryProtectObjectByRuleId(dynamicRuleId));
|
|
||||||
//查询DynamicRule关联的template详细信息
|
|
||||||
TemplateNew template = dynamicRuleMapper.queryTemplateByRuleId(dynamicRuleId);
|
|
||||||
if (template == null){
|
|
||||||
//template在表中删除了,需要重新设置template(感觉这种情况不多见)
|
|
||||||
dynamicRuleObject.setDynamicRuleSourceSystem(null);
|
|
||||||
dynamicRuleObject.setDynamicRuleEventType(null);
|
|
||||||
}else{
|
|
||||||
dynamicRuleObject.setDynamicRuleSourceSystem(template.getSourceSystem());
|
|
||||||
dynamicRuleObject.setDynamicRuleEventType(template.getTemplateName());
|
|
||||||
dynamicRuleObject.setDynamicRuleProtectLevel(Integer.valueOf(template.getProtectLevel()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return dynamicRuleObject;
|
return dynamicRuleObject;
|
||||||
@@ -139,22 +115,24 @@ public class DynamicRuleService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public boolean updateDynamicRuleObject(Integer dynamicRuleId, DynamicRuleObject dynamicRuleObject) {
|
public boolean updateDynamicRuleObject(Integer dynamicRuleId, DynamicRuleObject dynamicRuleObject) {
|
||||||
//更新DynamicRule
|
//更新DynamicRule
|
||||||
dynamicRuleObject.setDynamicRuleModifyTime(LocalDateTime.now());
|
|
||||||
|
// dynamicRuleMapper
|
||||||
|
|
||||||
Boolean idValid = dynamicRuleMapper.updateDynamicRuleObject(dynamicRuleId, dynamicRuleObject);
|
Boolean idValid = dynamicRuleMapper.updateDynamicRuleObject(dynamicRuleId, dynamicRuleObject);
|
||||||
if (!idValid) {
|
if (!idValid) {
|
||||||
throw new IllegalArgumentException("dynamic rule id is invalid");
|
throw new IllegalArgumentException("动态规则id无效");
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
//删除DynamicRule关联的ProtectObject
|
//删除DynamicRule关联的ProtectObject
|
||||||
dynamicRuleMapper.deleteDynamicRuleProtectObjectConcat(dynamicRuleId);
|
dynamicRuleMapper.deleteDynamicRuleProtectObjectConcat(dynamicRuleId);
|
||||||
//新增DynamicRule关联的ProtectObject
|
//新增DynamicRule关联的ProtectObject
|
||||||
boolean ProtectObjIdValid = dynamicRuleObject.getProtectObjectIds().stream()
|
boolean ProtectObjIdValid = dynamicRuleObject.getProtectObjectIds().stream()
|
||||||
.allMatch(dynamicRuleMapper::queryProtectObjectById);
|
.allMatch(dynamicRuleMapper::queryProtectObjectById);
|
||||||
if (!ProtectObjIdValid) {
|
if (!ProtectObjIdValid) {
|
||||||
throw new IllegalArgumentException("protect object id is invalid");
|
throw new IllegalArgumentException("防护对象id无效");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return dynamicRuleMapper.newDynamicRulProtectObjectsConcat(dynamicRuleId, dynamicRuleObject.getProtectObjectIds());
|
return idValid;
|
||||||
|
|
||||||
}
|
}
|
||||||
// 批量删除
|
// 批量删除
|
||||||
@@ -233,11 +211,7 @@ public class DynamicRuleService {
|
|||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 用于任务状态修改时,内部批量更新任务所属动态规则的状态,不需要修改审批人信息
|
|
||||||
* @param idsWithAuditStatusMap
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public Object updateAuditStatusBatch(Map<Integer, Integer> idsWithAuditStatusMap) {
|
public Object updateAuditStatusBatch(Map<Integer, Integer> idsWithAuditStatusMap) {
|
||||||
//校验id和status是否合法
|
//校验id和status是否合法
|
||||||
List<Integer> originalAuditStatusList = dynamicRuleMapper.queryAuditStatusByIds(idsWithAuditStatusMap);
|
List<Integer> originalAuditStatusList = dynamicRuleMapper.queryAuditStatusByIds(idsWithAuditStatusMap);
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ public class TaskController implements TaskControllerApi {
|
|||||||
@RequestParam(value = "event_type", required = false) String eventType,
|
@RequestParam(value = "event_type", required = false) String eventType,
|
||||||
@RequestParam(value = "create_time", required = false) LocalDate createTime,
|
@RequestParam(value = "create_time", required = false) LocalDate createTime,
|
||||||
@RequestParam(value = "start_time", required = false) LocalDate startTime,
|
@RequestParam(value = "start_time", required = false) LocalDate startTime,
|
||||||
|
@RequestParam(value = "protect_level", required = false) Integer protectLevel,
|
||||||
|
|
||||||
@RequestParam("page") @Min(1) Integer page,
|
@RequestParam("page") @Min(1) Integer page,
|
||||||
@RequestParam("page_size") @Min(1) Integer pageSize) {
|
@RequestParam("page_size") @Min(1) Integer pageSize) {
|
||||||
@@ -112,11 +113,11 @@ public class TaskController implements TaskControllerApi {
|
|||||||
}
|
}
|
||||||
List<Task> tasks = taskService.queryTasks(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
List<Task> tasks = taskService.queryTasks(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
||||||
taskAct, taskAuditor, taskSource, ruleName,
|
taskAct, taskAuditor, taskSource, ruleName,
|
||||||
eventType, createDateStr, startTimeStr, page, pageSize);
|
eventType, createDateStr, startTimeStr,protectLevel, page, pageSize);
|
||||||
return ResponseResult.ok()
|
return ResponseResult.ok()
|
||||||
.setData("task_list", tasks)
|
.setData("task_list", tasks)
|
||||||
.setData("total_num", taskService.queryTaskTotalNum(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
.setData("total_num", taskService.queryTaskTotalNum(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
||||||
taskAct, taskAuditor, taskSource, ruleName,eventType, createDateStr, startTimeStr));
|
taskAct, taskAuditor, taskSource, ruleName,eventType, createDateStr, startTimeStr,protectLevel));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -140,6 +141,8 @@ public class TaskController implements TaskControllerApi {
|
|||||||
.setData("success", taskService.updateTask(task));
|
.setData("success", taskService.updateTask(task));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@GetMapping("/{taskId}/audit/{auditStatus}")
|
@GetMapping("/{taskId}/audit/{auditStatus}")
|
||||||
public ResponseResult changeTaskAuditStatus(@PathVariable @NotNull @Max(10) Integer auditStatus,
|
public ResponseResult changeTaskAuditStatus(@PathVariable @NotNull @Max(10) Integer auditStatus,
|
||||||
@@ -254,11 +257,11 @@ public class TaskController implements TaskControllerApi {
|
|||||||
public ResponseResult statistics() {
|
public ResponseResult statistics() {
|
||||||
return ResponseResult.ok()
|
return ResponseResult.ok()
|
||||||
.setData("total_num", taskService.queryTaskTotalNum(null, null, null, null, null,
|
.setData("total_num", taskService.queryTaskTotalNum(null, null, null, null, null,
|
||||||
null, null, null, null,null,null,null))
|
null, null, null, null,null,null,null,null))
|
||||||
.setData("running_num", taskService.queryTaskTotalNum(StateEnum.RUNNING.getStateNum(), null, null, null, null,
|
.setData("running_num", taskService.queryTaskTotalNum(StateEnum.RUNNING.getStateNum(), null, null, null, null,
|
||||||
null, null, null, null,null,null,null))
|
null, null, null, null,null,null,null,null))
|
||||||
.setData("finished_num", taskService.queryTaskTotalNum(StateEnum.FINISHED.getStateNum(), null, null, null, null,
|
.setData("finished_num", taskService.queryTaskTotalNum(StateEnum.FINISHED.getStateNum(), null, null, null, null,
|
||||||
null, null, null, null,null,null,null))
|
null, null, null, null,null,null,null,null))
|
||||||
.setData("unaudit_num", taskService.queryAuditTaskTotalNum(
|
.setData("unaudit_num", taskService.queryAuditTaskTotalNum(
|
||||||
AuditStatusEnum.PENDING.getNum()
|
AuditStatusEnum.PENDING.getNum()
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -193,6 +193,7 @@ public interface TaskControllerApi {
|
|||||||
@Parameter(name = "task_source", description = "任务来源系统"),
|
@Parameter(name = "task_source", description = "任务来源系统"),
|
||||||
@Parameter(name = "rule_name", description = "规则名称"),
|
@Parameter(name = "rule_name", description = "规则名称"),
|
||||||
@Parameter(name = "event_type", description = "事件类型"),
|
@Parameter(name = "event_type", description = "事件类型"),
|
||||||
|
@Parameter(name = "protect_level", description = "防护等级"),
|
||||||
@Parameter(name = "create_time", description = "任务创建时间",example = "2021-01-01" ),
|
@Parameter(name = "create_time", description = "任务创建时间",example = "2021-01-01" ),
|
||||||
@Parameter(name = "start_time", description = "任务开始时间",example = "2024-04-25" ),
|
@Parameter(name = "start_time", description = "任务开始时间",example = "2024-04-25" ),
|
||||||
|
|
||||||
@@ -212,6 +213,7 @@ public interface TaskControllerApi {
|
|||||||
@RequestParam(value = "event_type", required = false) String eventType,
|
@RequestParam(value = "event_type", required = false) String eventType,
|
||||||
@RequestParam(value = "create_time", required = false) LocalDate createTime,
|
@RequestParam(value = "create_time", required = false) LocalDate createTime,
|
||||||
@RequestParam(value = "start_time", required = false) LocalDate startTime,
|
@RequestParam(value = "start_time", required = false) LocalDate startTime,
|
||||||
|
@RequestParam(value = "protect_level", required = false) Integer protectLevel,
|
||||||
|
|
||||||
@RequestParam("page") @Min(1) Integer page,
|
@RequestParam("page") @Min(1) Integer page,
|
||||||
@RequestParam("page_size") @Min(1) Integer pageSize);
|
@RequestParam("page_size") @Min(1) Integer pageSize);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.realtime.protection.server.task;
|
package com.realtime.protection.server.task;
|
||||||
|
|
||||||
|
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
||||||
import com.realtime.protection.configuration.entity.task.DynamicTaskInfo;
|
import com.realtime.protection.configuration.entity.task.DynamicTaskInfo;
|
||||||
import com.realtime.protection.configuration.entity.task.Task;
|
import com.realtime.protection.configuration.entity.task.Task;
|
||||||
import com.realtime.protection.configuration.entity.task.TaskCommandInfo;
|
import com.realtime.protection.configuration.entity.task.TaskCommandInfo;
|
||||||
@@ -31,6 +32,7 @@ public interface TaskMapper {
|
|||||||
@Param("event_type")String eventType,
|
@Param("event_type")String eventType,
|
||||||
@Param("create_date") String createDateStr,
|
@Param("create_date") String createDateStr,
|
||||||
@Param("start_date")String startDateStr,
|
@Param("start_date")String startDateStr,
|
||||||
|
@Param("protect_level")Integer protectLevel,
|
||||||
@Param("page") Integer page, @Param("page_size") Integer pageSize);
|
@Param("page") Integer page, @Param("page_size") Integer pageSize);
|
||||||
|
|
||||||
Task queryTask(@Param("task_id") Long taskId);
|
Task queryTask(@Param("task_id") Long taskId);
|
||||||
@@ -78,7 +80,8 @@ public interface TaskMapper {
|
|||||||
@Param("task_create_time") LocalDateTime taskCreateTime,
|
@Param("task_create_time") LocalDateTime taskCreateTime,
|
||||||
@Param("event_type")String eventType,
|
@Param("event_type")String eventType,
|
||||||
@Param("create_date")String createDate,
|
@Param("create_date")String createDate,
|
||||||
@Param("start_date")String startDate);
|
@Param("start_date")String startDate,
|
||||||
|
@Param("protect_level")Integer protectLevel);
|
||||||
|
|
||||||
void updateAuditStatusByIdBatch(@Param("idWithAuditStatusBatch") Map<Integer, Integer> idWithAuditStatusBatch);
|
void updateAuditStatusByIdBatch(@Param("idWithAuditStatusBatch") Map<Integer, Integer> idWithAuditStatusBatch);
|
||||||
|
|
||||||
@@ -94,4 +97,11 @@ public interface TaskMapper {
|
|||||||
@Param("auditUserName")String auditUserName,
|
@Param("auditUserName")String auditUserName,
|
||||||
@Param("auditUserId")String auditUserId,
|
@Param("auditUserId")String auditUserId,
|
||||||
@Param("auditUserDepart")String auditUserDepart);
|
@Param("auditUserDepart")String auditUserDepart);
|
||||||
|
|
||||||
|
void newTaskProtectObjectConcat(@Param("taskId")Long taskId,
|
||||||
|
@Param("protectObjectIds")List<Integer> protectObjectIds);
|
||||||
|
|
||||||
|
void deleteTaskProtectObjectConcat(Long taskId);
|
||||||
|
|
||||||
|
List<ProtectObject> queryProtectObjectsByTaskId(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.realtime.protection.server.task;
|
|||||||
|
|
||||||
import com.alibaba.excel.util.MapUtils;
|
import com.alibaba.excel.util.MapUtils;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
||||||
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
|
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
|
||||||
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
||||||
import com.realtime.protection.configuration.entity.task.DynamicTaskInfo;
|
import com.realtime.protection.configuration.entity.task.DynamicTaskInfo;
|
||||||
@@ -10,6 +11,7 @@ import com.realtime.protection.configuration.entity.task.TaskCommandInfo;
|
|||||||
import com.realtime.protection.configuration.utils.Counter;
|
import com.realtime.protection.configuration.utils.Counter;
|
||||||
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
|
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
|
||||||
import com.realtime.protection.configuration.utils.enums.StateEnum;
|
import com.realtime.protection.configuration.utils.enums.StateEnum;
|
||||||
|
import com.realtime.protection.configuration.utils.enums.TaskTypeEnum;
|
||||||
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusEnum;
|
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusEnum;
|
||||||
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusValidator;
|
import com.realtime.protection.configuration.utils.enums.audit.AuditStatusValidator;
|
||||||
import com.realtime.protection.server.rule.dynamicrule.DynamicRuleMapper;
|
import com.realtime.protection.server.rule.dynamicrule.DynamicRuleMapper;
|
||||||
@@ -54,6 +56,7 @@ public class TaskService {
|
|||||||
// task.setTaskCreateUsername("xxx");
|
// task.setTaskCreateUsername("xxx");
|
||||||
// task.setTaskCreateDepart("xxx");
|
// task.setTaskCreateDepart("xxx");
|
||||||
|
|
||||||
|
|
||||||
task.setTaskDisplayId(
|
task.setTaskDisplayId(
|
||||||
"RW-"
|
"RW-"
|
||||||
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))
|
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))
|
||||||
@@ -61,7 +64,6 @@ public class TaskService {
|
|||||||
+ String.format("%06d", counter.generateId("task")));
|
+ String.format("%06d", counter.generateId("task")));
|
||||||
|
|
||||||
taskMapper.newTask(task);
|
taskMapper.newTask(task);
|
||||||
|
|
||||||
if (task.getStaticRuleIds() != null && !task.getStaticRuleIds().isEmpty()) {
|
if (task.getStaticRuleIds() != null && !task.getStaticRuleIds().isEmpty()) {
|
||||||
staticRuleMapper.queryStaticRuleByIds(task.getStaticRuleIds()).forEach(staticRuleObject -> {
|
staticRuleMapper.queryStaticRuleByIds(task.getStaticRuleIds()).forEach(staticRuleObject -> {
|
||||||
if (!staticRuleObject.getAuditStatus().equals(AuditStatusEnum.AUDITED.getNum())) {
|
if (!staticRuleObject.getAuditStatus().equals(AuditStatusEnum.AUDITED.getNum())) {
|
||||||
@@ -86,6 +88,17 @@ public class TaskService {
|
|||||||
});
|
});
|
||||||
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds());
|
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds());
|
||||||
}
|
}
|
||||||
|
if (task.getTaskType() != TaskTypeEnum.STATIC.getTaskType()){
|
||||||
|
//校验防护对象是否存在
|
||||||
|
boolean ProtectObjIdValid = task.getProtectObjectIds().stream()
|
||||||
|
.allMatch(dynamicRuleMapper::queryProtectObjectById);
|
||||||
|
if (!ProtectObjIdValid) {
|
||||||
|
throw new IllegalArgumentException("部分防护对象不存在");
|
||||||
|
}
|
||||||
|
//任务和防护对象多对多关联建立
|
||||||
|
taskMapper.newTaskProtectObjectConcat(task.getTaskId(), task.getProtectObjectIds());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return task.getTaskId();
|
return task.getTaskId();
|
||||||
}
|
}
|
||||||
@@ -219,10 +232,11 @@ public class TaskService {
|
|||||||
String taskAct, String taskAuditor,
|
String taskAct, String taskAuditor,
|
||||||
String taskSource, String ruleName,
|
String taskSource, String ruleName,
|
||||||
String eventType,String createDateStr, String startDateStr,
|
String eventType,String createDateStr, String startDateStr,
|
||||||
|
Integer protectLevel,
|
||||||
Integer page, Integer pageSize) {
|
Integer page, Integer pageSize) {
|
||||||
|
|
||||||
List<Task> tasks = taskMapper.queryTasks(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
List<Task> tasks = taskMapper.queryTasks(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
||||||
taskAct, taskAuditor, taskSource, ruleName,eventType, createDateStr, startDateStr, page, pageSize);
|
taskAct, taskAuditor, taskSource, ruleName,eventType, createDateStr, startDateStr,protectLevel, page, pageSize);
|
||||||
for (Task task : tasks) {
|
for (Task task : tasks) {
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
continue;
|
continue;
|
||||||
@@ -243,6 +257,8 @@ public class TaskService {
|
|||||||
if (task == null) {
|
if (task == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
List<ProtectObject> protectObjects = taskMapper.queryProtectObjectsByTaskId(id);
|
||||||
|
task.setProtectObjects(protectObjects);
|
||||||
|
|
||||||
task.setStaticRuleIds(taskMapper.queryStaticRuleIdsFromTaskId(task.getTaskId(),
|
task.setStaticRuleIds(taskMapper.queryStaticRuleIdsFromTaskId(task.getTaskId(),
|
||||||
List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum())));
|
List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum())));
|
||||||
@@ -260,7 +276,20 @@ public class TaskService {
|
|||||||
|
|
||||||
task.setTaskAuditStatus(AuditStatusEnum.PENDING.getNum());
|
task.setTaskAuditStatus(AuditStatusEnum.PENDING.getNum());
|
||||||
|
|
||||||
|
//校验防护对象是否存在
|
||||||
|
boolean ProtectObjIdValid = task.getProtectObjectIds().stream()
|
||||||
|
.allMatch(dynamicRuleMapper::queryProtectObjectById);
|
||||||
|
if (!ProtectObjIdValid) {
|
||||||
|
throw new IllegalArgumentException("部分防护对象不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
//删除task关联的protectObjects
|
||||||
|
taskMapper.deleteTaskProtectObjectConcat(task.getTaskId());
|
||||||
|
//更新task
|
||||||
taskMapper.updateTask(task);
|
taskMapper.updateTask(task);
|
||||||
|
//重新关联task和protectObjects
|
||||||
|
|
||||||
|
taskMapper.newTaskProtectObjectConcat(task.getTaskId(), task.getProtectObjectIds());
|
||||||
|
|
||||||
taskMapper.clearTaskConnectedStaticRule(task.getTaskId());
|
taskMapper.clearTaskConnectedStaticRule(task.getTaskId());
|
||||||
taskMapper.clearTaskConnectedDynamicRule(task.getTaskId());
|
taskMapper.clearTaskConnectedDynamicRule(task.getTaskId());
|
||||||
@@ -354,9 +383,9 @@ public class TaskService {
|
|||||||
|
|
||||||
public Integer queryTaskTotalNum(Integer taskStatus, Integer taskType, String taskName, String taskCreator, Integer auditStatus
|
public Integer queryTaskTotalNum(Integer taskStatus, Integer taskType, String taskName, String taskCreator, Integer auditStatus
|
||||||
,String taskAct, String taskAuditor, String taskSource, String ruleName,
|
,String taskAct, String taskAuditor, String taskSource, String ruleName,
|
||||||
String eventType, String createDate, String startDate) {
|
String eventType, String createDate, String startDate,Integer protectLevel) {
|
||||||
return taskMapper.queryTaskTotalNum(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
return taskMapper.queryTaskTotalNum(taskStatus, taskType, taskName, taskCreator, auditStatus,
|
||||||
taskAct, taskAuditor, taskSource, ruleName,null, eventType, createDate, startDate);
|
taskAct, taskAuditor, taskSource, ruleName,null, eventType, createDate, startDate, protectLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean updateAuditStatusBatch(Map<Integer, Integer> idsWithAuditStatusMap) {
|
public Boolean updateAuditStatusBatch(Map<Integer, Integer> idsWithAuditStatusMap) {
|
||||||
|
|||||||
@@ -163,14 +163,14 @@
|
|||||||
|
|
||||||
t_task.task_type,
|
t_task.task_type,
|
||||||
t_task.task_act,
|
t_task.task_act,
|
||||||
t_dr.dynamic_rule_frequency,
|
-- t_dr.dynamic_rule_frequency,
|
||||||
|
|
||||||
t_task.task_start_time,
|
t_task.task_start_time,
|
||||||
t_task.task_end_time,
|
t_task.task_end_time,
|
||||||
|
|
||||||
t_dr.template_id,
|
t_task.template_id,
|
||||||
t_task.task_range,
|
t_task.task_range,
|
||||||
t_dr.dynamic_rule_protect_level,
|
t_task.protect_level,
|
||||||
t_task.task_status,
|
t_task.task_status,
|
||||||
|
|
||||||
t_tmplate.strategy_template_name
|
t_tmplate.strategy_template_name
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
left join realtime_protection.t_dynamic_rule t_dr on
|
left join realtime_protection.t_dynamic_rule t_dr on
|
||||||
(t_task.task_id = t_dr.dynamic_rule_used_task_id and t_dr.dynamic_rule_id = #{dynamicRuleId})
|
(t_task.task_id = t_dr.dynamic_rule_used_task_id and t_dr.dynamic_rule_id = #{dynamicRuleId})
|
||||||
left join realtime_protection.t_strategy_template_new t_tmplate on
|
left join realtime_protection.t_strategy_template_new t_tmplate on
|
||||||
( t_dr.template_id = t_tmplate.strategy_template_id )
|
( t_task.template_id = t_tmplate.strategy_template_id )
|
||||||
where
|
where
|
||||||
t_task.task_id = #{taskId}
|
t_task.task_id = #{taskId}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -11,53 +11,38 @@
|
|||||||
insert into t_dynamic_rule
|
insert into t_dynamic_rule
|
||||||
(dynamic_rule_name,
|
(dynamic_rule_name,
|
||||||
create_time, modify_time, dynamic_rule_create_username,
|
create_time, modify_time, dynamic_rule_create_username,
|
||||||
dynamic_rule_create_depart, template_id, dynamic_rule_protect_level,
|
dynamic_rule_create_depart,
|
||||||
dynamic_rule_priority,
|
dynamic_rule_create_user_id, bw_sql, dynamic_rule_display_id)
|
||||||
dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id, dynamic_rule_display_id)
|
|
||||||
values (#{object.dynamicRuleName},
|
values (#{object.dynamicRuleName},
|
||||||
NOW(), #{object.dynamicRuleModifyTime},
|
NOW(), NOW(),
|
||||||
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
|
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
|
||||||
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
#{object.dynamicRuleCreateUserId}, #{object.bwSql}, #{object.dynamicRuleDisplayId})
|
||||||
#{object.dynamicRulePriority},
|
|
||||||
#{object.dynamicRuleFrequency},
|
|
||||||
#{object.dynamicRuleCreateUserId}, #{object.logRuleId}, #{object.dynamicRuleDisplayId})
|
|
||||||
|
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="newDynamicRulProtectObjectConcat">
|
<!-- <insert id="newDynamicRulProtectObjectConcat">-->
|
||||||
insert into t_protect_object_dynamic_rule_conn(dynamic_rule_id, protect_object_id)
|
<!-- insert into t_protect_object_dynamic_rule_conn(dynamic_rule_id, protect_object_id)-->
|
||||||
values (#{dynamicRuleId}, #{protectObjectId})
|
<!-- values (#{dynamicRuleId}, #{protectObjectId})-->
|
||||||
</insert>
|
<!-- </insert>-->
|
||||||
|
|
||||||
<insert id="newDynamicRules">
|
<insert id="newDynamicRules">
|
||||||
insert into t_dynamic_rule
|
insert into t_dynamic_rule
|
||||||
(dynamic_rule_name,
|
(dynamic_rule_name,
|
||||||
create_time, modify_time, dynamic_rule_create_username,
|
create_time, modify_time, dynamic_rule_create_username,
|
||||||
dynamic_rule_create_depart, template_id, dynamic_rule_protect_level,
|
dynamic_rule_create_depart,
|
||||||
dynamic_rule_priority,
|
dynamic_rule_create_user_id, bw_sql, dynamic_rule_display_id)
|
||||||
dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id, dynamic_rule_display_id
|
|
||||||
)
|
|
||||||
values
|
values
|
||||||
<foreach collection="dynamicRuleObjects" item="object" separator=",">
|
<foreach collection="dynamicRuleObjects" item="object" separator=",">
|
||||||
(#{object.dynamicRuleName},
|
(
|
||||||
NOW(),#{object.dynamicRuleModifyTime},
|
#{object.dynamicRuleName},
|
||||||
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
|
NOW(), NOW(),
|
||||||
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
|
||||||
#{object.dynamicRulePriority}, #{object.dynamicRuleRange},
|
#{object.dynamicRuleCreateUserId}, #{object.bwSql}, #{object.dynamicRuleDisplayId}
|
||||||
#{object.dynamicRuleFrequency},
|
)
|
||||||
#{object.dynamicRuleCreateUserId},#{object.logRuleId}, #{object.dynamicRuleDisplayId})
|
|
||||||
</foreach>
|
|
||||||
</insert>
|
|
||||||
<insert id="newDynamicRulProtectObjectsConcat">
|
|
||||||
insert into
|
|
||||||
t_protect_object_dynamic_rule_conn(dynamic_rule_id, protect_object_id)
|
|
||||||
values
|
|
||||||
<foreach collection="protectObjectIds" item="protectObjectId" separator=",">
|
|
||||||
(#{dynamicRuleId}, #{protectObjectId})
|
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- join删除-->
|
<!-- join删除-->
|
||||||
<!-- # delete t_dynamic_rule, t_protect_object_dynamic_rule_conn-->
|
<!-- # delete t_dynamic_rule, t_protect_object_dynamic_rule_conn-->
|
||||||
<!-- # from t_dynamic_rule-->
|
<!-- # from t_dynamic_rule-->
|
||||||
@@ -70,11 +55,7 @@
|
|||||||
where dynamic_rule_id = #{dynamicRuleId}
|
where dynamic_rule_id = #{dynamicRuleId}
|
||||||
</delete>
|
</delete>
|
||||||
<!-- 用于update时删去之前的关联-->
|
<!-- 用于update时删去之前的关联-->
|
||||||
<delete id="deleteDynamicRuleProtectObjectConcat">
|
|
||||||
delete
|
|
||||||
from t_protect_object_dynamic_rule_conn
|
|
||||||
where dynamic_rule_id = #{dynamicRuleId}
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
<delete id="deleteDynamicRules">
|
<delete id="deleteDynamicRules">
|
||||||
delete from t_dynamic_rule
|
delete from t_dynamic_rule
|
||||||
@@ -89,13 +70,10 @@
|
|||||||
update t_dynamic_rule
|
update t_dynamic_rule
|
||||||
set
|
set
|
||||||
<if test="object.dynamicRuleName != null">dynamic_rule_name = #{object.dynamicRuleName},</if>
|
<if test="object.dynamicRuleName != null">dynamic_rule_name = #{object.dynamicRuleName},</if>
|
||||||
<if test="object.dynamicRuleModifyTime != null">modify_time = #{object.dynamicRuleModifyTime},</if>
|
<!-- <if test="object.dynamicRuleModifyTime != null">modify_time = #{object.dynamicRuleModifyTime},</if>-->
|
||||||
<if test="object.templateId != null">template_id = #{object.templateId},</if>
|
<if test="object.description != null">description = #{object.description},</if>
|
||||||
<if test="object.dynamicRuleProtectLevel != null">dynamic_rule_protect_level =
|
<if test="object.dynamicRuleSourceSystem != null">source_system = #{object.dynamicRuleSourceSystem},</if>
|
||||||
#{object.dynamicRuleProtectLevel},
|
<if test="object.bwSql != null">bw_sql = #{object.bwSql},</if>
|
||||||
</if>
|
|
||||||
<if test="object.dynamicRulePriority != null">dynamic_rule_priority = #{object.dynamicRulePriority},</if>
|
|
||||||
<if test="object.dynamicRuleFrequency != null">dynamic_rule_frequency = #{object.dynamicRuleFrequency},</if>
|
|
||||||
modify_time = NOW()
|
modify_time = NOW()
|
||||||
where
|
where
|
||||||
dynamic_rule_id = #{dynamicRuleId}
|
dynamic_rule_id = #{dynamicRuleId}
|
||||||
@@ -160,11 +138,19 @@
|
|||||||
<result column="modify_time" property="dynamicRuleModifyTime"/>
|
<result column="modify_time" property="dynamicRuleModifyTime"/>
|
||||||
<result column="dynamic_rule_create_username" property="dynamicRuleCreateUsername"/>
|
<result column="dynamic_rule_create_username" property="dynamicRuleCreateUsername"/>
|
||||||
<result column="dynamic_rule_create_depart" property="dynamicRuleCreateDepart"/>
|
<result column="dynamic_rule_create_depart" property="dynamicRuleCreateDepart"/>
|
||||||
<result column="template_id" property="templateId"/>
|
<!-- <result column="template_id" property="templateId"/>-->
|
||||||
<result column="dynamic_rule_protect_level" property="dynamicRuleProtectLevel"/>
|
<!-- <result column="dynamic_rule_protect_level" property="dynamicRuleProtectLevel"/>-->
|
||||||
<result column="dynamic_rule_priority" property="dynamicRulePriority"/>
|
<!-- <result column="dynamic_rule_priority" property="dynamicRulePriority"/>-->
|
||||||
<result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>
|
<!-- <result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>-->
|
||||||
<result column="dynamic_rule_create_user_id" property="dynamicRuleCreateUserId"/>
|
<result column="dynamic_rule_create_user_id" property="dynamicRuleCreateUserId"/>
|
||||||
|
<result column="dynamic_rule_display_id" property="dynamicRuleDisplayId"/>
|
||||||
|
<result column="audit_status" property="auditStatus"/>
|
||||||
|
<result column="audit_user_id" property="auditUserId"/>
|
||||||
|
<result column="audit_user_name" property="auditUserName"/>
|
||||||
|
<result column="audit_user_depart" property="auditUserDepart"/>
|
||||||
|
<result column="bw_sql" property="bwSql"/>
|
||||||
|
<result column="description" property="description"/>
|
||||||
|
<result column="source_system" property="dynamicRuleSourceSystem"/>
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
@@ -174,24 +160,24 @@
|
|||||||
<result column="create_time" property="dynamicRuleCreateTime"/>
|
<result column="create_time" property="dynamicRuleCreateTime"/>
|
||||||
<result column="dynamic_rule_create_username" property="dynamicRuleCreateUsername"/>
|
<result column="dynamic_rule_create_username" property="dynamicRuleCreateUsername"/>
|
||||||
<result column="dynamic_rule_create_depart" property="dynamicRuleCreateDepart"/>
|
<result column="dynamic_rule_create_depart" property="dynamicRuleCreateDepart"/>
|
||||||
<result column="template_id" property="templateId"/>
|
<!-- <result column="template_id" property="templateId"/>-->
|
||||||
<!-- <result column="dynamic_rule_protect_level" property="dynamicRuleProtectLevel"/>-->
|
<!-- <result column="dynamic_rule_protect_level" property="dynamicRuleProtectLevel"/>-->
|
||||||
<result column="dynamic_rule_priority" property="dynamicRulePriority"/>
|
<!-- <result column="dynamic_rule_priority" property="dynamicRulePriority"/>-->
|
||||||
<result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>
|
<!-- <result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>-->
|
||||||
<result column="audit_status" property="auditStatus"/>
|
<result column="audit_status" property="auditStatus"/>
|
||||||
<!-- <result column="protect_object_id" property="protectObjectIds"/>-->
|
<!-- <result column="protect_object_id" property="protectObjectIds"/>-->
|
||||||
<result column="event_type" property="dynamicRuleEventType"/>
|
<!-- <result column="event_type" property="dynamicRuleEventType"/>-->
|
||||||
<result column="strategy_template_source_system" property="dynamicRuleSourceSystem"/>
|
<result column="source_system" property="dynamicRuleSourceSystem"/>
|
||||||
<!-- <result column="event_type" property="dynamicRuleSourceSystem"/>-->
|
<!-- <result column="event_type" property="dynamicRuleSourceSystem"/>-->
|
||||||
<result column="protect_level" property="dynamicRuleProtectLevel"/>
|
<!-- <result column="protect_level" property="dynamicRuleProtectLevel"/>-->
|
||||||
|
<!-- <result column="strategy_template_name" property="templateName"/>-->
|
||||||
|
|
||||||
<result column="strategy_template_name" property="templateName"/>
|
|
||||||
|
|
||||||
<result column="audit_status" property="auditStatus"/>
|
|
||||||
<result column="dynamic_rule_display_id" property="dynamicRuleDisplayId"/>
|
<result column="dynamic_rule_display_id" property="dynamicRuleDisplayId"/>
|
||||||
<result column="audit_user_name" property="auditUserName"/>
|
<result column="audit_user_name" property="auditUserName"/>
|
||||||
<result column="audit_user_id" property="auditUserId"/>
|
<result column="audit_user_id" property="auditUserId"/>
|
||||||
<result column="audit_user_depart" property="auditUserDepart"/>
|
<result column="audit_user_depart" property="auditUserDepart"/>
|
||||||
|
<result column="bw_sql" property="bwSql"/>
|
||||||
|
<result column="description" property="description"/>
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
@@ -213,23 +199,13 @@
|
|||||||
<result column="protect_object_audit_status" property="protectObjectAuditStatus"/>
|
<result column="protect_object_audit_status" property="protectObjectAuditStatus"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="queryProtectObjectByRuleId"
|
|
||||||
resultMap="protectObjectMap">
|
|
||||||
select t_protect_object.*
|
|
||||||
from t_protect_object
|
|
||||||
inner join t_protect_object_dynamic_rule_conn
|
|
||||||
on t_protect_object.protect_object_id = t_protect_object_dynamic_rule_conn.protect_object_id
|
|
||||||
where t_protect_object_dynamic_rule_conn.dynamic_rule_id = #{dynamicRuleId}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="queryDynamicRuleObject"
|
<select id="queryDynamicRuleObject"
|
||||||
resultMap="dynamicRulePageQueryMap">
|
resultMap="dynamicRulePageQueryMap">
|
||||||
select *
|
select *
|
||||||
from t_dynamic_rule
|
from t_dynamic_rule
|
||||||
# left join t_protect_object_dynamic_rule_conn
|
|
||||||
# on t_dynamic_rule.dynamic_rule_id = t_protect_object_dynamic_rule_conn.dynamic_rule_id
|
|
||||||
left join t_strategy_template_new
|
|
||||||
on t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id
|
|
||||||
<where>
|
<where>
|
||||||
<if test="dynamicRuleName != null and dynamicRuleName !=''" >
|
<if test="dynamicRuleName != null and dynamicRuleName !=''" >
|
||||||
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
||||||
@@ -238,7 +214,7 @@
|
|||||||
and t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}
|
and t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}
|
||||||
</if>
|
</if>
|
||||||
<if test="sourceSystem != null and sourceSystem !=''">
|
<if test="sourceSystem != null and sourceSystem !=''">
|
||||||
and t_strategy_template_new.strategy_template_source_system = #{sourceSystem}
|
and t_dynamic_rule.source_system = #{sourceSystem}
|
||||||
</if>
|
</if>
|
||||||
<if test="creator != null and creator !=''">
|
<if test="creator != null and creator !=''">
|
||||||
and t_dynamic_rule.dynamic_rule_create_username = #{creator}
|
and t_dynamic_rule.dynamic_rule_create_username = #{creator}
|
||||||
@@ -246,12 +222,7 @@
|
|||||||
<if test="auditStatus != null">
|
<if test="auditStatus != null">
|
||||||
and t_dynamic_rule.audit_status = #{auditStatus}
|
and t_dynamic_rule.audit_status = #{auditStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="eventType != null and eventType !=''">
|
|
||||||
and t_strategy_template_new.event_type = #{eventType}
|
|
||||||
</if>
|
|
||||||
<if test="protectLevel != null">
|
|
||||||
and t_strategy_template_new.protect_level = #{protectLevel}
|
|
||||||
</if>
|
|
||||||
<if test="auditUserName != null and auditUserName !='' ">
|
<if test="auditUserName != null and auditUserName !='' ">
|
||||||
AND audit_user_name like concat('%', #{auditUserName}, '%')
|
AND audit_user_name like concat('%', #{auditUserName}, '%')
|
||||||
</if>
|
</if>
|
||||||
@@ -284,13 +255,7 @@
|
|||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="queryTemplateByRuleId" resultMap="templateMap">
|
|
||||||
select *
|
|
||||||
from t_strategy_template_new
|
|
||||||
inner join t_dynamic_rule
|
|
||||||
on t_strategy_template_new.strategy_template_id = t_dynamic_rule.template_id
|
|
||||||
where t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}
|
|
||||||
</select>
|
|
||||||
<select id="queryProtectObjectById" resultType="java.lang.Boolean">
|
<select id="queryProtectObjectById" resultType="java.lang.Boolean">
|
||||||
select count(*)
|
select count(*)
|
||||||
from t_protect_object
|
from t_protect_object
|
||||||
@@ -300,8 +265,7 @@
|
|||||||
<select id="queryDynamicRuleTotalNum" resultType="java.lang.Integer">
|
<select id="queryDynamicRuleTotalNum" resultType="java.lang.Integer">
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
FROM t_dynamic_rule
|
FROM t_dynamic_rule
|
||||||
left join t_strategy_template_new
|
|
||||||
on t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id
|
|
||||||
<where>
|
<where>
|
||||||
<if test="dynamicRuleName != null">
|
<if test="dynamicRuleName != null">
|
||||||
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
||||||
@@ -310,7 +274,7 @@
|
|||||||
and t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}
|
and t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}
|
||||||
</if>
|
</if>
|
||||||
<if test="sourceSystem != null">
|
<if test="sourceSystem != null">
|
||||||
and t_strategy_template_new.strategy_template_source_system = #{sourceSystem}
|
and t_dynamic_rule.source_system = #{sourceSystem}
|
||||||
</if>
|
</if>
|
||||||
<if test="creator != null">
|
<if test="creator != null">
|
||||||
and t_dynamic_rule.dynamic_rule_create_username = #{creator}
|
and t_dynamic_rule.dynamic_rule_create_username = #{creator}
|
||||||
@@ -318,12 +282,7 @@
|
|||||||
<if test="auditStatus != null">
|
<if test="auditStatus != null">
|
||||||
and t_dynamic_rule.audit_status = #{auditStatus}
|
and t_dynamic_rule.audit_status = #{auditStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="eventType != null and eventType !=''">
|
|
||||||
and t_strategy_template_new.strategy_template_name = #{eventType}
|
|
||||||
</if>
|
|
||||||
<if test="protectLevel != null">
|
|
||||||
and t_strategy_template_new.protect_level = #{protectLevel}
|
|
||||||
</if>
|
|
||||||
<if test="auditUserName != null and auditUserName !='' ">
|
<if test="auditUserName != null and auditUserName !='' ">
|
||||||
AND audit_user_name like concat('%', #{auditUserName}, '%')
|
AND audit_user_name like concat('%', #{auditUserName}, '%')
|
||||||
</if>
|
</if>
|
||||||
@@ -337,8 +296,8 @@
|
|||||||
resultMap="dynamicRulePageQueryMap">
|
resultMap="dynamicRulePageQueryMap">
|
||||||
select *
|
select *
|
||||||
from t_dynamic_rule
|
from t_dynamic_rule
|
||||||
left join t_strategy_template_new
|
-- left join t_strategy_template_new
|
||||||
on t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id
|
-- on t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id
|
||||||
where dynamic_rule_id in
|
where dynamic_rule_id in
|
||||||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
|
|||||||
@@ -138,7 +138,7 @@
|
|||||||
<select id="queryUsedProtectObjectsTotalNum"
|
<select id="queryUsedProtectObjectsTotalNum"
|
||||||
resultType="java.lang.Integer">
|
resultType="java.lang.Integer">
|
||||||
SELECT COUNT(DISTINCT protect_object_id)
|
SELECT COUNT(DISTINCT protect_object_id)
|
||||||
FROM t_protect_object_dynamic_rule_conn
|
FROM t_task_protectobject_conn
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryAuditStatusByIds" resultType="java.lang.Integer">
|
<select id="queryAuditStatusByIds" resultType="java.lang.Integer">
|
||||||
|
|||||||
@@ -9,12 +9,14 @@
|
|||||||
task_act, task_type,
|
task_act, task_type,
|
||||||
task_create_time, task_modify_time,
|
task_create_time, task_modify_time,
|
||||||
task_create_userid, task_create_username, task_create_depart,task_range,
|
task_create_userid, task_create_username, task_create_depart,task_range,
|
||||||
task_display_id)
|
task_display_id, event_type, protect_level, template_id, template_name, source_system)
|
||||||
VALUE (#{task.taskName}, #{task.taskStartTime}, #{task.taskEndTime},
|
VALUE (#{task.taskName}, #{task.taskStartTime}, #{task.taskEndTime},
|
||||||
#{task.taskAct}, #{task.taskType},
|
#{task.taskAct}, #{task.taskType},
|
||||||
NOW(), NOW(),
|
NOW(), NOW(),
|
||||||
#{task.taskCreateUserId}, #{task.taskCreateUsername}, #{task.taskCreateDepart},#{task.taskRange},
|
#{task.taskCreateUserId}, #{task.taskCreateUsername}, #{task.taskCreateDepart},#{task.taskRange},
|
||||||
#{task.taskDisplayId}
|
#{task.taskDisplayId},
|
||||||
|
#{task.eventType},#{task.protectLevel},#{task.templateId},
|
||||||
|
#{task.templateName},#{task.sourceSystem}
|
||||||
)
|
)
|
||||||
|
|
||||||
</insert>
|
</insert>
|
||||||
@@ -61,19 +63,28 @@
|
|||||||
|
|
||||||
<result column="task_display_id" property="taskDisplayId"/>
|
<result column="task_display_id" property="taskDisplayId"/>
|
||||||
|
|
||||||
|
<!--策略模板字段-->
|
||||||
|
<result column="event_type" property="eventType"/>
|
||||||
|
<result column="protect_level" property="protectLevel"/>
|
||||||
|
<result column="template_id" property="templateId"/>
|
||||||
|
<result column="template_name" property="templateName"/>
|
||||||
|
<result column="source_system" property="sourceSystem"/>
|
||||||
|
<!--防护对象字段-->
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="queryTasks" resultMap="taskMap">
|
<select id="queryTasks" resultMap="taskMap">
|
||||||
SELECT t_task.* FROM t_task
|
SELECT t_task.* FROM t_task
|
||||||
<if test="rule_name != null and rule_name != '' and (event_type == null or event_type == '')">
|
<if test="rule_name != null and rule_name != '' and (event_type == null or event_type == '')">
|
||||||
LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id
|
LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id
|
||||||
LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id
|
LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id
|
||||||
</if>
|
</if>
|
||||||
<if test="event_type != null and event_type != ''">
|
<!-- <if test="event_type != null and event_type != ''">-->
|
||||||
LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id
|
<!-- LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id-->
|
||||||
LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id
|
<!-- LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id-->
|
||||||
LEFT JOIN t_strategy_template_new ON t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id
|
<!-- LEFT JOIN t_strategy_template_new ON t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id-->
|
||||||
</if>
|
<!-- </if>-->
|
||||||
|
|
||||||
<where>
|
<where>
|
||||||
<if test="rule_name != null and rule_name != ''">
|
<if test="rule_name != null and rule_name != ''">
|
||||||
@@ -107,7 +118,7 @@
|
|||||||
AND task_source LIKE CONCAT('%', #{task_source}, '%')
|
AND task_source LIKE CONCAT('%', #{task_source}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="event_type != null and event_type != '' ">
|
<if test="event_type != null and event_type != '' ">
|
||||||
AND t_strategy_template_new.event_type LIKE CONCAT('%', #{event_type}, '%')
|
AND event_type LIKE CONCAT('%', #{event_type}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="create_date != null and create_date != '' ">
|
<if test="create_date != null and create_date != '' ">
|
||||||
AND task_crate_time LIKE CONCAT('%', #{create_date}, '%')
|
AND task_crate_time LIKE CONCAT('%', #{create_date}, '%')
|
||||||
@@ -115,6 +126,9 @@
|
|||||||
<if test="start_date != null and start_date != '' ">
|
<if test="start_date != null and start_date != '' ">
|
||||||
AND task_start_time LIKE CONCAT('%', #{start_date}, '%')
|
AND task_start_time LIKE CONCAT('%', #{start_date}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="protect_level != null ">
|
||||||
|
AND protect_level = #{protect_level}
|
||||||
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
@@ -180,6 +194,11 @@
|
|||||||
<if test="task.taskStartTime != null">task_start_time = #{task.taskStartTime},</if>
|
<if test="task.taskStartTime != null">task_start_time = #{task.taskStartTime},</if>
|
||||||
<if test="task.taskEndTime != null">task_end_time = #{task.taskEndTime},</if>
|
<if test="task.taskEndTime != null">task_end_time = #{task.taskEndTime},</if>
|
||||||
<if test="task.taskRange != null">task_range = #{task.taskRange},</if>
|
<if test="task.taskRange != null">task_range = #{task.taskRange},</if>
|
||||||
|
<if test="task.eventType != null">event_type = #{task.eventType},</if>
|
||||||
|
<if test="task.protectLevel != null">protect_level = #{task.protectLevel},</if>
|
||||||
|
<if test="task.templateId != null">template_id = #{task.templateId},</if>
|
||||||
|
<if test="task.templateName != null">template_name = #{task.templateName},</if>
|
||||||
|
<if test="task.sourceSystem != null">source_system = #{task.sourceSystem},</if>
|
||||||
task_modify_time = NOW(),
|
task_modify_time = NOW(),
|
||||||
</set>
|
</set>
|
||||||
WHERE task_id = #{task.taskId}
|
WHERE task_id = #{task.taskId}
|
||||||
@@ -238,7 +257,7 @@
|
|||||||
</update>
|
</update>
|
||||||
<update id="changeTaskAuditStatusWithAudior">
|
<update id="changeTaskAuditStatusWithAudior">
|
||||||
UPDATE t_task
|
UPDATE t_task
|
||||||
SET task_status = #{state},
|
SET task_status = #{audit_status},
|
||||||
task_modify_time = NOW(),
|
task_modify_time = NOW(),
|
||||||
task_audit_username = #{auditUserName},
|
task_audit_username = #{auditUserName},
|
||||||
task_audit_userid = #{auditUserId},
|
task_audit_userid = #{auditUserId},
|
||||||
@@ -270,6 +289,12 @@
|
|||||||
WHERE task_id = #{task_id}
|
WHERE task_id = #{task_id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteTaskProtectObjectConcat">
|
||||||
|
DELETE
|
||||||
|
FROM t_task_protectobject_conn
|
||||||
|
WHERE task_id = #{taskId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
<resultMap id="staticCommandMap" type="com.realtime.protection.configuration.entity.task.TaskCommandInfo">
|
<resultMap id="staticCommandMap" type="com.realtime.protection.configuration.entity.task.TaskCommandInfo">
|
||||||
<result column="task_name" property="taskName"/>
|
<result column="task_name" property="taskName"/>
|
||||||
<result column="task_create_username" property="taskCreateUsername"/>
|
<result column="task_create_username" property="taskCreateUsername"/>
|
||||||
@@ -313,6 +338,15 @@
|
|||||||
#{info.distributePoint},#{info.taskDisplayId}
|
#{info.distributePoint},#{info.taskDisplayId}
|
||||||
);
|
);
|
||||||
</insert>
|
</insert>
|
||||||
|
<insert id="newTaskProtectObjectConcat">
|
||||||
|
INSERT INTO t_task_protectobject_conn(task_id, protect_object_id)
|
||||||
|
VALUES
|
||||||
|
<foreach collection="protectObjectIds" item="protectObjectId" separator=",">
|
||||||
|
(
|
||||||
|
#{taskId}, #{protectObjectId}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
<select id="getStaticCommandInfos" resultMap="staticCommandMap">
|
<select id="getStaticCommandInfos" resultMap="staticCommandMap">
|
||||||
SELECT t_task.task_name,
|
SELECT t_task.task_name,
|
||||||
@@ -393,11 +427,6 @@
|
|||||||
LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id
|
LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id
|
||||||
LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id
|
LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id
|
||||||
</if>
|
</if>
|
||||||
<if test="event_type != null and event_type != ''">
|
|
||||||
LEFT JOIN t_static_rule ON t_task.task_id = t_static_rule.static_rule_used_task_id
|
|
||||||
LEFT JOIN t_dynamic_rule ON t_task.task_id = t_dynamic_rule.dynamic_rule_used_task_id
|
|
||||||
LEFT JOIN t_strategy_template_new ON t_dynamic_rule.template_id = t_strategy_template_new.strategy_template_id
|
|
||||||
</if>
|
|
||||||
|
|
||||||
<where>
|
<where>
|
||||||
<if test="rule_name != null and task_source != ''">
|
<if test="rule_name != null and task_source != ''">
|
||||||
@@ -435,7 +464,7 @@
|
|||||||
AND DATE(#{task_create_time}) = CURRENT_DATE
|
AND DATE(#{task_create_time}) = CURRENT_DATE
|
||||||
</if>
|
</if>
|
||||||
<if test="event_type != null and event_type != '' ">
|
<if test="event_type != null and event_type != '' ">
|
||||||
AND t_strategy_template_new.event_type LIKE CONCAT('%', #{event_type}, '%')
|
AND event_type LIKE CONCAT('%', #{event_type}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="create_date != null and create_date != '' ">
|
<if test="create_date != null and create_date != '' ">
|
||||||
AND task_crate_time LIKE CONCAT('%', #{create_date}, '%')
|
AND task_crate_time LIKE CONCAT('%', #{create_date}, '%')
|
||||||
@@ -443,6 +472,9 @@
|
|||||||
<if test="start_date != null and start_date != '' ">
|
<if test="start_date != null and start_date != '' ">
|
||||||
AND task_start_time LIKE CONCAT('%', #{start_date}, '%')
|
AND task_start_time LIKE CONCAT('%', #{start_date}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="protect_level != null ">
|
||||||
|
AND protect_level = #{protect_level}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
@@ -465,4 +497,25 @@
|
|||||||
FROM t_task
|
FROM t_task
|
||||||
WHERE task_id = #{taskId}
|
WHERE task_id = #{taskId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<resultMap id="protectObjectMap" type="com.realtime.protection.configuration.entity.defense.object.ProtectObject">
|
||||||
|
<id column="protect_object_id" property="protectObjectId"/>
|
||||||
|
<result column="protect_object_name" property="protectObjectName"/>
|
||||||
|
<result column="protect_object_system_name" property="protectObjectSystemName"/>
|
||||||
|
<result column="protect_object_ip" property="protectObjectIPAddress"/>
|
||||||
|
<result column="protect_object_port" property="protectObjectPort"/>
|
||||||
|
<result column="protect_object_url" property="protectObjectURL"/>
|
||||||
|
<result column="protect_object_protocol" property="protectObjectProtocol"/>
|
||||||
|
<result column="protect_object_audit_status" property="protectObjectAuditStatus"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="queryProtectObjectsByTaskId"
|
||||||
|
resultMap="protectObjectMap">
|
||||||
|
select t_protect_object.*
|
||||||
|
from t_protect_object
|
||||||
|
inner join t_task_protectobject_conn
|
||||||
|
on t_protect_object.protect_object_id = t_task_protectobject_conn.protect_object_id
|
||||||
|
where t_task_protectobject_conn.task_id = #{id}
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
|
|
||||||
<select id="queryUsedTemplateTotalNum" resultType="java.lang.Integer">
|
<select id="queryUsedTemplateTotalNum" resultType="java.lang.Integer">
|
||||||
SELECT COUNT(DISTINCT template_id)
|
SELECT COUNT(DISTINCT template_id)
|
||||||
FROM t_dynamic_rule
|
FROM t_task
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryAuditTemplateTotalNum" resultType="java.lang.Integer">
|
<select id="queryAuditTemplateTotalNum" resultType="java.lang.Integer">
|
||||||
|
|||||||
@@ -177,7 +177,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="queryUsedTemplateTotalNum" resultType="java.lang.Integer">
|
<select id="queryUsedTemplateTotalNum" resultType="java.lang.Integer">
|
||||||
SELECT COUNT(DISTINCT template_id)
|
SELECT COUNT(DISTINCT template_id)
|
||||||
FROM t_dynamic_rule
|
FROM t_task
|
||||||
</select>
|
</select>
|
||||||
<select id="queryAuditTemplateTotalNum" resultType="java.lang.Integer">
|
<select id="queryAuditTemplateTotalNum" resultType="java.lang.Integer">
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
|
|||||||
@@ -47,54 +47,62 @@ public class AlertMessageTest {
|
|||||||
@Test
|
@Test
|
||||||
void testReceiveAlertMessage() throws DorisStartException {
|
void testReceiveAlertMessage() throws DorisStartException {
|
||||||
|
|
||||||
|
for(int n = 10;n < 20;n++) {
|
||||||
|
|
||||||
|
|
||||||
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
||||||
null, null, null, null,
|
null, null, null, null,
|
||||||
null, null, null, null,
|
null, null, null, null,
|
||||||
null, null, 1, 1);
|
null, null, 1, 1);
|
||||||
List<TemplateNew> templates = templateService.queryTemplates(
|
List<TemplateNew> templates = templateService.queryTemplates(
|
||||||
null, null, null, null, null,null,null,1, 1);
|
null, null, null, null, null, null, null, 1, 1);
|
||||||
|
|
||||||
DynamicRuleObject object = new DynamicRuleObject();
|
DynamicRuleObject object = new DynamicRuleObject();
|
||||||
object.setDynamicRuleName("UpdateDynamicRule2");
|
object.setDynamicRuleName("测试动态任务规则"+n);
|
||||||
object.setDynamicRuleFrequency(1);
|
object.setDescription("动态规则新建测试");
|
||||||
object.setDynamicRulePriority(1);
|
object.setDynamicRuleSourceSystem("BW");
|
||||||
// object.setDynamicRuleRange("北京");
|
object.setBwSql("select * from test where event_id = 1");
|
||||||
object.setDynamicRuleProtectLevel(1);
|
object.setDynamicRuleCreateDepart("组织树");
|
||||||
object.setLogRuleId(1L);
|
object.setDynamicRuleCreateUserId(1100664);
|
||||||
object.setTemplateId(templates.get(0).getTemplateId());
|
object.setDynamicRuleCreateUsername("NSADD管理员");
|
||||||
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
|
||||||
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
||||||
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2,null,null,null);
|
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2, "NSADD管理员", 1100664, "组织树");
|
||||||
|
|
||||||
|
|
||||||
Task task = new Task();
|
Task task = new Task();
|
||||||
task.setTaskName("生产告警信息测试");
|
task.setTaskName("生产告警信息测试"+n);
|
||||||
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||||
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
||||||
task.setTaskStartTime(taskStartTime);
|
task.setTaskStartTime(taskStartTime);
|
||||||
task.setTaskEndTime(taskEndTime);
|
task.setTaskEndTime(taskEndTime);
|
||||||
task.setTaskAct("阻断");
|
task.setTaskAct("23");
|
||||||
task.setTaskType(2);
|
task.setTaskType(2);
|
||||||
task.setTaskCreateUserId(1);
|
task.setTaskCreateUserId(1100664);
|
||||||
task.setTaskCreateUsername("xxx");
|
task.setTaskCreateUsername("NSADD管理员");
|
||||||
task.setTaskCreateDepart("xxx");
|
task.setTaskCreateDepart("组织树");
|
||||||
task.setTaskRange("北京");
|
task.setTaskRange("1007");
|
||||||
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
|
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
|
||||||
|
task.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
||||||
|
task.setTemplateId(templates.get(0).getTemplateId());
|
||||||
|
task.setSourceSystem(templates.get(0).getSourceSystem());
|
||||||
|
task.setEventType(templates.get(0).getEventType());
|
||||||
|
task.setProtectLevel(Integer.valueOf(templates.get(0).getProtectLevel()));
|
||||||
|
task.setTemplateName(templates.get(0).getTemplateName());
|
||||||
Long taskId = taskService.newTask(task);
|
Long taskId = taskService.newTask(task);
|
||||||
System.out.println(taskId);
|
System.out.println(taskId);
|
||||||
//审核状态
|
//审核状态
|
||||||
taskService.changeTaskAuditStatus(taskId, 2);
|
taskService.changeTaskAuditStatus(taskId, 2, "NSADD管理员", "1100664", "组织树");
|
||||||
//启动任务
|
//启动任务
|
||||||
stateChangeService.changeState(2, taskId, false);
|
stateChangeService.changeState(2, taskId, false);
|
||||||
|
|
||||||
for (int i = 0 ; i< 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
AlertMessage alert = new AlertMessage();
|
AlertMessage alert = new AlertMessage();
|
||||||
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
|
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
|
||||||
fiveTupleWithMask.setSourceIP("111.1.1." + i);
|
fiveTupleWithMask.setSourceIP(n+".1.1." + i);
|
||||||
fiveTupleWithMask.setDestinationIP("222.22.2." + i);
|
fiveTupleWithMask.setDestinationIP(n+".22.2." + i);
|
||||||
fiveTupleWithMask.setSourcePort("111");
|
fiveTupleWithMask.setSourcePort("111");
|
||||||
fiveTupleWithMask.setDestinationPort("222");
|
fiveTupleWithMask.setDestinationPort("80");
|
||||||
fiveTupleWithMask.setProtocol("tcp");
|
fiveTupleWithMask.setProtocol("6");
|
||||||
|
|
||||||
alert.setDynamicRuleId(dynamicRuleId);
|
alert.setDynamicRuleId(dynamicRuleId);
|
||||||
alert.setTaskId(taskId);
|
alert.setTaskId(taskId);
|
||||||
@@ -104,7 +112,7 @@ public class AlertMessageTest {
|
|||||||
alertMessageService.processAlertMessage(alert);
|
alertMessageService.processAlertMessage(alert);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,23 +37,23 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testNewDynamicRule() {
|
void testNewDynamicRule() {
|
||||||
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
// List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
||||||
null, null, null,null,
|
// null, null, null,null,
|
||||||
null,null,null,null,
|
// null,null,null,null,
|
||||||
null,null, 1, 1);
|
// null,null, 1, 1);
|
||||||
List<Template> templates = templateService.queryTemplates(
|
// List<Template> templates = templateService.queryTemplates(
|
||||||
null, null, null, null, null,1, 1);
|
// null, null, null, null, null,1, 1);
|
||||||
|
for (int i = 0;i<30; i++) {
|
||||||
DynamicRuleObject object = new DynamicRuleObject();
|
DynamicRuleObject object = new DynamicRuleObject();
|
||||||
object.setDynamicRuleName("UpdateDynamicRule2");
|
object.setDynamicRuleName("动态规则"+i);
|
||||||
object.setDynamicRuleFrequency(1);
|
object.setDescription("动态规则新建测试");
|
||||||
object.setDynamicRulePriority(1);
|
object.setDynamicRuleSourceSystem("BW");
|
||||||
// object.setDynamicRuleRange("北京");
|
object.setBwSql("select * from test where event_id = "+i);
|
||||||
object.setDynamicRuleProtectLevel(2);
|
object.setDynamicRuleCreateDepart("组织树");
|
||||||
object.setTemplateId(templates.get(0).getTemplateId());
|
object.setDynamicRuleCreateUserId(1100664);
|
||||||
object.setLogRuleId(1L);
|
object.setDynamicRuleCreateUsername("NSADD管理员");
|
||||||
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
dynamicRuleService.newDynamicRuleObject(object);
|
||||||
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -78,9 +78,9 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
object.setDynamicRuleFrequency(1);
|
object.setDynamicRuleFrequency(1);
|
||||||
object.setDynamicRulePriority(1);
|
object.setDynamicRulePriority(1);
|
||||||
// object.setDynamicRuleRange("北京");
|
// object.setDynamicRuleRange("北京");
|
||||||
object.setDynamicRuleProtectLevel(2);
|
// object.setDynamicRuleProtectLevel(2);
|
||||||
object.setTemplateId(templates.get(0).getTemplateId());
|
// object.setTemplateId(templates.get(0).getTemplateId());
|
||||||
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
// object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
||||||
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
||||||
dynamicRuleService.updateAuditStatus(dynamicRuleId, 2,null,null,null);
|
dynamicRuleService.updateAuditStatus(dynamicRuleId, 2,null,null,null);
|
||||||
|
|
||||||
@@ -107,31 +107,34 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testQueryDynamicRule() {
|
void testQueryDynamicRule() {
|
||||||
// DynamicRuleObject object = dynamicRuleService.queryDynamicRuleById(9);
|
DynamicRuleObject object = dynamicRuleService.queryDynamicRuleById(166);
|
||||||
// System.out.println(object);
|
System.out.println(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testUpdateDynamicRule() {
|
void testUpdateDynamicRule() {
|
||||||
/*
|
|
||||||
DynamicRuleObject object = new DynamicRuleObject();
|
DynamicRuleObject object = new DynamicRuleObject();
|
||||||
object.setDynamicRuleName("UpdateDynamicRule2");
|
object.setDynamicRuleName("UpdateDynamicRule2");
|
||||||
object.setDynamicRuleFrequency(1);
|
// object.setDynamicRuleFrequency(1);
|
||||||
object.setDynamicRulePriority(1);
|
// object.setDynamicRulePriority(1);
|
||||||
// object.setDynamicRuleRange("北京");
|
//// object.setDynamicRuleRange("北京");
|
||||||
object.setDynamicRuleProtectLevel(2);
|
// object.setDynamicRuleProtectLevel(2);
|
||||||
object.setTemplateId(1);
|
// object.setTemplateId(1);
|
||||||
object.setProtectObjectIds(List.of(new Integer[]{6061}));
|
// object.setProtectObjectIds(List.of(new Integer[]{6061}));
|
||||||
|
|
||||||
|
dynamicRuleService.updateDynamicRuleObject(166, object);
|
||||||
|
|
||||||
dynamicRuleService.updateDynamicRuleObject(5, object);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testQueryDynamicRuleObject() {
|
void testQueryDynamicRuleObject() {
|
||||||
List<DynamicRuleObject> objects = dynamicRuleService.queryDynamicRuleObject(
|
List<DynamicRuleObject> objects = dynamicRuleService.queryDynamicRuleObject(
|
||||||
null,null,null, null,2,null,null,null,null,null,1, 10);
|
null,null,null, null,2,null,null,null,null,null,1, 10);
|
||||||
System.out.println(objects);
|
objects.forEach(object-> System.out.println(object));
|
||||||
|
Integer num = dynamicRuleService.queryDynamicRuleTotalNum(
|
||||||
|
null,null,null,null,null,null,null,null,null,null);
|
||||||
|
System.out.println(num);
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
void testQueryDynamicRuleTotalNum(){
|
void testQueryDynamicRuleTotalNum(){
|
||||||
@@ -144,11 +147,14 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
void testUpdateDynamicRuleAuditStatusBatch(){
|
void testUpdateDynamicRuleAuditStatusBatch(){
|
||||||
Map<Integer, Integer> map = new HashMap<>();
|
Map<Integer, Integer> map = new HashMap<>();
|
||||||
// map.put(101, 1);
|
// map.put(101, 1);
|
||||||
map.put(110, 2);
|
// map.put(110, 2);
|
||||||
map.put(112, 2);
|
// map.put(112, 2);
|
||||||
|
for(int i = 167; i < 197; i++){
|
||||||
|
map.put(i, 2);
|
||||||
|
}
|
||||||
|
|
||||||
// System.out.println(dynamicRuleMapper.queryAuditStatusByIds(map));
|
// System.out.println(dynamicRuleMapper.queryAuditStatusByIds(map));
|
||||||
System.out.println(dynamicRuleService.queryAuditStatusByIds(map));
|
System.out.println(dynamicRuleService.updateAuditStatusBatch(map, "NSADD管理员", "1100664", "组织树"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,15 +38,27 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
// staticRuleTest.setStaticRuleMdip("255.255.255.0");
|
// staticRuleTest.setStaticRuleMdip("255.255.255.0");
|
||||||
// staticRuleTest.setStaticRuleSport(11);
|
// staticRuleTest.setStaticRuleSport(11);
|
||||||
|
|
||||||
staticRuleTest.setStaticRulePriority(1);
|
// staticRuleTest.setStaticRulePriority(1);
|
||||||
staticRuleTest.setStaticRuleFrequency(1);
|
// staticRuleTest.setStaticRuleFrequency(1);
|
||||||
// staticRuleTest.setStaticRuleRange("北京");
|
// staticRuleTest.setStaticRuleRange("北京");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testNewStaticRule(){
|
void testNewStaticRule(){
|
||||||
|
for (int i = 1; i < 10; i++) {
|
||||||
|
staticRuleTest = new StaticRuleObject();
|
||||||
|
staticRuleTest.setStaticRuleName("test_staticrule"+i);
|
||||||
|
staticRuleTest.setStaticRuleCreateUsername("NSADD管理员");
|
||||||
|
staticRuleTest.setStaticRuleCreateDepart("组织树");
|
||||||
|
staticRuleTest.setStaticRuleCreateUserId(22222222);
|
||||||
|
staticRuleTest.setAuditStatus(0);
|
||||||
|
|
||||||
|
staticRuleTest.setStaticRuleSip("32.2.3."+i);
|
||||||
|
staticRuleTest.setStaticRuleDip(i+".2.3.2");
|
||||||
staticRuleService.newStaticRuleObject(staticRuleTest);
|
staticRuleService.newStaticRuleObject(staticRuleTest);
|
||||||
|
}
|
||||||
|
|
||||||
//assertTrue(id>0);
|
//assertTrue(id>0);
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.realtime.protection.server.task;
|
|||||||
|
|
||||||
import com.realtime.protection.ProtectionApplicationTests;
|
import com.realtime.protection.ProtectionApplicationTests;
|
||||||
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
||||||
import com.realtime.protection.configuration.entity.defense.template.Template;
|
|
||||||
import com.realtime.protection.configuration.entity.defense.template.TemplateNew;
|
import com.realtime.protection.configuration.entity.defense.template.TemplateNew;
|
||||||
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
|
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
|
||||||
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
||||||
@@ -21,6 +20,7 @@ import org.junit.jupiter.api.Test;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.dao.DataIntegrityViolationException;
|
import org.springframework.dao.DataIntegrityViolationException;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -108,7 +108,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testPageQueryTask(){
|
void testPageQueryTask(){
|
||||||
List<Task> tasks = taskService.queryTasks(null, null, "", "", null,"", null, "", "", null,null,null,1, 10);
|
List<Task> tasks = taskService.queryTasks(null, null, "", "", null,"", null, "", "", null,null,null,null,1, 10);
|
||||||
// System.out.println(tasks);
|
// System.out.println(tasks);
|
||||||
tasks.forEach(task -> System.out.println(task));
|
tasks.forEach(task -> System.out.println(task));
|
||||||
}
|
}
|
||||||
@@ -121,7 +121,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
// for (int i = 0; i < 10; i++) {
|
// for (int i = 0; i < 10; i++) {
|
||||||
// task.setTaskName(testName);
|
// task.setTaskName(testName);
|
||||||
// task.setTaskCreateUsername(testCreateName);
|
// task.setTaskCreateUsername(testCreateName);
|
||||||
// List<StaticRuleObject> staticRuleObjects = staticRuleService.queryStaticRule(
|
// List<StaticRuleObject> staticRuleObjects = s taticRuleService.queryStaticRule(
|
||||||
// null, null, null, null, null,null, null, null,1, 5);
|
// null, null, null, null, null,null, null, null,1, 5);
|
||||||
// List<Integer> staticRuleIds = new ArrayList<>();
|
// List<Integer> staticRuleIds = new ArrayList<>();
|
||||||
// staticRuleObjects.forEach(staticRuleObject ->
|
// staticRuleObjects.forEach(staticRuleObject ->
|
||||||
@@ -144,8 +144,8 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
// List<Task> tasks = taskService.queryTasks(null, null, null, null, null, null, null, null, null,1, 10);
|
List<Task> tasks = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 10);
|
||||||
// assertEquals(10, tasks.size());
|
assertEquals(10, tasks.size());
|
||||||
//
|
//
|
||||||
// tasks = taskService.queryTasks(0, null, null, null, null,null, null, null, null, 1, 10);
|
// tasks = taskService.queryTasks(0, null, null, null, null,null, null, null, null, 1, 10);
|
||||||
// assertEquals(10, tasks.size());
|
// assertEquals(10, tasks.size());
|
||||||
@@ -162,7 +162,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
@Test
|
@Test
|
||||||
void testUpdateTasks() {
|
void testUpdateTasks() {
|
||||||
Task originalTask = taskService.queryTasks(
|
Task originalTask = taskService.queryTasks(
|
||||||
null, null, null, null, null, null, null, null, null,null,null,null,1, 1)
|
null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1)
|
||||||
.get(0);
|
.get(0);
|
||||||
|
|
||||||
List<StaticRuleObject> staticRuleObjects = staticRuleService.queryStaticRule(
|
List<StaticRuleObject> staticRuleObjects = staticRuleService.queryStaticRule(
|
||||||
@@ -179,7 +179,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testDeleteTask() {
|
void testDeleteTask() {
|
||||||
long testNum = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 10)
|
long testNum = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 10)
|
||||||
.get(0).getTaskId();
|
.get(0).getTaskId();
|
||||||
|
|
||||||
assertTrue(taskService.deleteTask(testNum));
|
assertTrue(taskService.deleteTask(testNum));
|
||||||
@@ -226,50 +226,53 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Transactional
|
||||||
@Test
|
@Test
|
||||||
void testStartStaticTask() throws DorisStartException {
|
void testStartStaticTask() throws DorisStartException {
|
||||||
|
|
||||||
|
for (int n = 10; n < 20; n++) {
|
||||||
|
List<Integer> staticRuleIds = new ArrayList<>();
|
||||||
|
for (int i = 10; i < 15; i++) {
|
||||||
StaticRuleObject staticRuleTest = new StaticRuleObject();
|
StaticRuleObject staticRuleTest = new StaticRuleObject();
|
||||||
staticRuleTest.setStaticRuleName("mh-静态测试");
|
staticRuleTest.setStaticRuleName(n+"test_staticrule" + i);
|
||||||
staticRuleTest.setStaticRuleCreateUsername("mh");
|
staticRuleTest.setStaticRuleCreateUsername("NSADD管理员");
|
||||||
staticRuleTest.setStaticRuleCreateDepart("mmeess");
|
staticRuleTest.setStaticRuleCreateDepart("组织树");
|
||||||
staticRuleTest.setStaticRuleCreateUserId(2);
|
staticRuleTest.setStaticRuleCreateUserId(22222222);
|
||||||
staticRuleTest.setAuditStatus(0);
|
staticRuleTest.setAuditStatus(0);
|
||||||
|
|
||||||
staticRuleTest.setStaticRuleSip("1.1.2.0");
|
staticRuleTest.setStaticRuleSip("32.2.3." + i);
|
||||||
// staticRuleTest.setStaticRuleMsip("255.255.255.0");
|
staticRuleTest.setStaticRuleDip(n + ".2.3.2");
|
||||||
|
staticRuleService.newStaticRuleObject(staticRuleTest);
|
||||||
|
staticRuleIds.add(staticRuleTest.getStaticRuleId());
|
||||||
|
staticRuleService.updateAuditStatus(staticRuleTest.getStaticRuleId(), 2, "xxx管理员", 1111111, "组织树");
|
||||||
|
|
||||||
// staticRuleTest.setStaticRuleDip("1.1.1.2");
|
}
|
||||||
// staticRuleTest.setStaticRuleMdip("255.255.255.0");
|
|
||||||
// staticRuleTest.setStaticRuleSport(80);
|
|
||||||
|
|
||||||
staticRuleTest.setStaticRulePriority(1);
|
|
||||||
staticRuleTest.setStaticRuleFrequency(1);
|
|
||||||
// staticRuleTest.setStaticRuleRange("北京");
|
|
||||||
Integer staticRuleId = staticRuleService.newStaticRuleObject(staticRuleTest);
|
|
||||||
|
|
||||||
|
|
||||||
Task task = new Task();
|
Task task = new Task();
|
||||||
task.setTaskName("mh-task测试3");
|
task.setTaskName("静态task测试"+n);
|
||||||
|
|
||||||
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||||
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
||||||
|
|
||||||
task.setTaskStartTime(taskStartTime);
|
task.setTaskStartTime(taskStartTime);
|
||||||
task.setTaskEndTime(taskEndTime);
|
task.setTaskEndTime(taskEndTime);
|
||||||
task.setTaskAct("阻断");
|
task.setTaskAct("23");
|
||||||
task.setTaskType(1);
|
task.setTaskType(1);
|
||||||
task.setTaskRange("1009");
|
task.setTaskRange("1007");
|
||||||
|
|
||||||
task.setTaskCreateUserId(1);
|
task.setTaskCreateUserId(111111);
|
||||||
task.setTaskCreateUsername("xxx");
|
task.setTaskCreateUsername("xxx管理员");
|
||||||
task.setTaskCreateDepart("xxx");
|
task.setTaskCreateDepart("xxx");
|
||||||
|
|
||||||
List<Integer> staticRuleIds = new ArrayList<>();
|
|
||||||
staticRuleIds.add(staticRuleId);
|
|
||||||
staticRuleService.updateAuditStatus(staticRuleId, 2,null,null,null);
|
|
||||||
|
|
||||||
task.setStaticRuleIds(staticRuleIds);
|
task.setStaticRuleIds(staticRuleIds);
|
||||||
|
|
||||||
|
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
||||||
|
null, null, null, null,
|
||||||
|
null, null, null, null,
|
||||||
|
null, null, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
Long taskId = taskService.newTask(task);
|
Long taskId = taskService.newTask(task);
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -277,8 +280,8 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
stateChangeService.changeState(2, taskId, false);
|
stateChangeService.changeState(2, taskId, false);
|
||||||
|
|
||||||
System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -303,10 +306,10 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
object.setDynamicRuleFrequency(1);
|
object.setDynamicRuleFrequency(1);
|
||||||
object.setDynamicRulePriority(1);
|
object.setDynamicRulePriority(1);
|
||||||
// object.setDynamicRuleRange("北京");
|
// object.setDynamicRuleRange("北京");
|
||||||
object.setDynamicRuleProtectLevel(1);
|
// object.setDynamicRuleProtectLevel(1);
|
||||||
object.setLogRuleId(1L);
|
// object.setLogRuleId(1L);
|
||||||
object.setTemplateId(templates.get(0).getTemplateId());
|
// object.setTemplateId(templates.get(0).getTemplateId());
|
||||||
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
// object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
||||||
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
||||||
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2,null,null,null);
|
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2,null,null,null);
|
||||||
|
|
||||||
@@ -325,12 +328,19 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
task.setTaskCreateUsername("xxx");
|
task.setTaskCreateUsername("xxx");
|
||||||
task.setTaskCreateDepart("xxx");
|
task.setTaskCreateDepart("xxx");
|
||||||
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
|
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
|
||||||
|
task.setEventType("ddos");
|
||||||
|
task.setProtectLevel(1);
|
||||||
|
task.setTemplateName(templates.get(0).getTemplateName());
|
||||||
|
task.setSourceSystem("bw");
|
||||||
|
task.setTemplateId(templates.get(0).getTemplateId());
|
||||||
|
task.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
||||||
|
|
||||||
Long taskId = taskService.newTask(task);
|
Long taskId = taskService.newTask(task);
|
||||||
System.out.println(taskId);
|
System.out.println(taskId);
|
||||||
//审核状态
|
//审核状态
|
||||||
taskService.changeTaskAuditStatus(taskId, 2);
|
// taskService.changeTaskAuditStatus(taskId, 2);
|
||||||
//启动任务
|
//启动任务
|
||||||
stateChangeService.changeState(2, taskId, false);
|
// stateChangeService.changeState(2, taskId, false);
|
||||||
|
|
||||||
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
||||||
}
|
}
|
||||||
@@ -358,6 +368,6 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testQueryTaskTotalNum(){
|
void testQueryTaskTotalNum(){
|
||||||
System.out.println(taskService.queryTaskTotalNum(null, null, "", "", null, "", "", "", ""));
|
System.out.println(taskService.queryTaskTotalNum(null, null, "", "", null, "", "", "", "",null,null,null,null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class CommandServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void mockCommand() {
|
void mockCommand() {
|
||||||
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 1).get(0);
|
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1).get(0);
|
||||||
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
|
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
|
||||||
fiveTupleWithMask.setMaskSourceIP("192.168.155.24");
|
fiveTupleWithMask.setMaskSourceIP("192.168.155.24");
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ class CommandServiceTest extends ProtectionApplicationTests {
|
|||||||
@Test
|
@Test
|
||||||
void createCommands() {
|
void createCommands() {
|
||||||
List<TaskCommandInfo> taskCommandInfos = ListUtils.newArrayListWithExpectedSize(100);
|
List<TaskCommandInfo> taskCommandInfos = ListUtils.newArrayListWithExpectedSize(100);
|
||||||
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 1).get(0);
|
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1).get(0);
|
||||||
for (int i = 0; i < 100; i++) {
|
for (int i = 0; i < 100; i++) {
|
||||||
int port = i + 1000;
|
int port = i + 1000;
|
||||||
TaskCommandInfo taskCommandInfo = new TaskCommandInfo();
|
TaskCommandInfo taskCommandInfo = new TaskCommandInfo();
|
||||||
@@ -92,7 +92,7 @@ class CommandServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void queryCommandInfos() {
|
void queryCommandInfos() {
|
||||||
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 1).get(0);
|
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1).get(0);
|
||||||
List<TaskCommandInfo> taskCommandInfos = commandService.queryCommandInfos(task.getTaskId(),
|
List<TaskCommandInfo> taskCommandInfos = commandService.queryCommandInfos(task.getTaskId(),
|
||||||
null, null, null, null,1, 5);
|
null, null, null, null,1, 5);
|
||||||
assertTrue(taskCommandInfos != null && !taskCommandInfos.isEmpty());
|
assertTrue(taskCommandInfos != null && !taskCommandInfos.isEmpty());
|
||||||
|
|||||||
Reference in New Issue
Block a user