1、静态、动态规则删去局点,任务添加局点
2、修改fakec3的测试ip地址
(cherry picked from commit 540795b5f6)
This commit is contained in:
@@ -86,9 +86,9 @@ public class DynamicRuleObject {
|
|||||||
@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)
|
||||||
|
|||||||
@@ -135,10 +135,10 @@ public class StaticRuleObject {
|
|||||||
@Min(value = 1)
|
@Min(value = 1)
|
||||||
@Schema(description = "优先级,1代表高2代表中3代表低", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "优先级,1代表高2代表中3代表低", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Integer staticRulePriority;
|
private Integer staticRulePriority;
|
||||||
@JsonProperty("static_rule_range")
|
// @JsonProperty("static_rule_range")
|
||||||
@ExcelProperty("范围")
|
// @ExcelProperty("范围")
|
||||||
@Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String staticRuleRange;
|
// private String staticRuleRange;
|
||||||
@JsonProperty("static_rule_frequency")
|
@JsonProperty("static_rule_frequency")
|
||||||
@ExcelProperty("频率")
|
@ExcelProperty("频率")
|
||||||
@Min(value = 1)
|
@Min(value = 1)
|
||||||
|
|||||||
@@ -78,4 +78,9 @@ public class Task {
|
|||||||
@JsonProperty("task_audit_status")
|
@JsonProperty("task_audit_status")
|
||||||
@Schema(description = "任务审核状态(0为未审核,1为已退回,2为已通过)", accessMode = Schema.AccessMode.READ_ONLY)
|
@Schema(description = "任务审核状态(0为未审核,1为已退回,2为已通过)", accessMode = Schema.AccessMode.READ_ONLY)
|
||||||
private Integer taskAuditStatus;
|
private Integer taskAuditStatus;
|
||||||
|
|
||||||
|
@JsonProperty("task_range")
|
||||||
|
@NotNull(message = "task_range字段不能为空。")
|
||||||
|
@Schema(description = "局点范围,由规则移动到任务", example = "1009")
|
||||||
|
private String taskRange;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,8 +109,8 @@ public class DynamicRuleService {
|
|||||||
Template template = dynamicRuleMapper.queryTemplateByRuleId(dynamicRuleId);
|
Template template = dynamicRuleMapper.queryTemplateByRuleId(dynamicRuleId);
|
||||||
if (template == null){
|
if (template == null){
|
||||||
//template在表中删除了,需要重新设置template(感觉这种情况不多见)
|
//template在表中删除了,需要重新设置template(感觉这种情况不多见)
|
||||||
dynamicRuleObject.setDynamicRuleSourceSystem("need reset");
|
dynamicRuleObject.setDynamicRuleSourceSystem(null);
|
||||||
dynamicRuleObject.setDynamicRuleEventType("need reset");
|
dynamicRuleObject.setDynamicRuleEventType(null);
|
||||||
}else{
|
}else{
|
||||||
dynamicRuleObject.setDynamicRuleSourceSystem(template.getSourceSystem());
|
dynamicRuleObject.setDynamicRuleSourceSystem(template.getSourceSystem());
|
||||||
dynamicRuleObject.setDynamicRuleEventType(template.getTemplateName());
|
dynamicRuleObject.setDynamicRuleEventType(template.getTemplateName());
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.realtime.protection.server.rule.staticrule;
|
|||||||
|
|
||||||
import com.alibaba.excel.util.ListUtils;
|
import com.alibaba.excel.util.ListUtils;
|
||||||
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
||||||
|
import com.realtime.protection.configuration.utils.Counter;
|
||||||
import com.realtime.protection.configuration.entity.whitelist.WhiteListObject;
|
import com.realtime.protection.configuration.entity.whitelist.WhiteListObject;
|
||||||
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
|
import com.realtime.protection.configuration.utils.SqlSessionWrapper;
|
||||||
import com.realtime.protection.configuration.utils.enums.RuleEnum;
|
import com.realtime.protection.configuration.utils.enums.RuleEnum;
|
||||||
@@ -16,6 +17,11 @@ import java.net.InetAddress;
|
|||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
@@ -70,6 +76,9 @@ public class StaticRuleService {
|
|||||||
if (!RuleEnum.checkValidate(object)) {
|
if (!RuleEnum.checkValidate(object)) {
|
||||||
throw new IllegalArgumentException("静态规则不符合指定的配置方法,请参考规则模板以配置静态规则");
|
throw new IllegalArgumentException("静态规则不符合指定的配置方法,请参考规则模板以配置静态规则");
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
新建静态规则,过一下白名单审核
|
||||||
|
*/
|
||||||
List<StaticRuleObject> staticRuleObjects = new ArrayList<>();
|
List<StaticRuleObject> staticRuleObjects = new ArrayList<>();
|
||||||
staticRuleObjects.add(object);
|
staticRuleObjects.add(object);
|
||||||
List<WhiteListObject> whiteListsHit = whiteListService.whiteListStaticRulesObjectCheck(staticRuleObjects);
|
List<WhiteListObject> whiteListsHit = whiteListService.whiteListStaticRulesObjectCheck(staticRuleObjects);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||||||
public class StateHandler {
|
public class StateHandler {
|
||||||
|
|
||||||
private final WebClient client = WebClient.builder()
|
private final WebClient client = WebClient.builder()
|
||||||
.baseUrl("http://192.168.107.89:9081")
|
.baseUrl("http://192.168.107.49:8088")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
protected Boolean handleStart(TaskService taskService, CommandService commandService, Long taskId) {
|
protected Boolean handleStart(TaskService taskService, CommandService commandService, Long taskId) {
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ spring:
|
|||||||
default-property-inclusion: non_null
|
default-property-inclusion: non_null
|
||||||
kafka:
|
kafka:
|
||||||
# kafka集群信息,多个用逗号间隔
|
# kafka集群信息,多个用逗号间隔
|
||||||
bootstrap-servers: localhost:9092
|
bootstrap-servers: 192.168.107.49:9092
|
||||||
consumer:
|
consumer:
|
||||||
topic-name: topic-test
|
topic-name: topic-test
|
||||||
# 消费者组
|
# 消费者组
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: test
|
active: kafkatest
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<result column="template_id" property="templateId"/>
|
<result column="template_id" property="templateId"/>
|
||||||
|
|
||||||
<result column="dynamic_rule_range" property="distributePoint"/>
|
<result column="task_range" property="distributePoint"/>
|
||||||
<result column="strategy_template_name" property="eventType"/>
|
<result column="strategy_template_name" property="eventType"/>
|
||||||
|
|
||||||
<result column="dynamic_rule_protect_level" property="protectLevel"/>
|
<result column="dynamic_rule_protect_level" property="protectLevel"/>
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
t_task.task_end_time,
|
t_task.task_end_time,
|
||||||
|
|
||||||
t_dr.template_id,
|
t_dr.template_id,
|
||||||
t_dr.dynamic_rule_range,
|
t_task.task_range,
|
||||||
t_dr.dynamic_rule_protect_level,
|
t_dr.dynamic_rule_protect_level,
|
||||||
t_task.task_status,
|
t_task.task_status,
|
||||||
|
|
||||||
|
|||||||
@@ -12,15 +12,15 @@
|
|||||||
(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, template_id, dynamic_rule_protect_level,
|
||||||
dynamic_rule_priority, dynamic_rule_range,
|
dynamic_rule_priority,
|
||||||
dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id)
|
dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id)
|
||||||
values (#{object.dynamicRuleName},
|
values (#{object.dynamicRuleName},
|
||||||
NOW(), #{object.dynamicRuleModifyTime},
|
NOW(), #{object.dynamicRuleModifyTime},
|
||||||
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
|
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
|
||||||
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
||||||
#{object.dynamicRulePriority}, #{object.dynamicRuleRange},
|
#{object.dynamicRulePriority},
|
||||||
#{object.dynamicRuleFrequency},
|
#{object.dynamicRuleFrequency},
|
||||||
#{object.dynamicRuleCreateUserId},#{object.logRuleId})
|
#{object.dynamicRuleCreateUserId}, #{object.logRuleId})
|
||||||
|
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -34,8 +34,8 @@
|
|||||||
(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, template_id, dynamic_rule_protect_level,
|
||||||
dynamic_rule_priority, dynamic_rule_range,
|
dynamic_rule_priority,
|
||||||
dynamic_rule_frequency, dynamic_rule_create_user_id,log_rule_id
|
dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id
|
||||||
)
|
)
|
||||||
values
|
values
|
||||||
<foreach collection="dynamicRuleObjects" item="object" separator=",">
|
<foreach collection="dynamicRuleObjects" item="object" separator=",">
|
||||||
@@ -43,9 +43,9 @@
|
|||||||
NOW(),#{object.dynamicRuleModifyTime},
|
NOW(),#{object.dynamicRuleModifyTime},
|
||||||
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
|
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
|
||||||
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
||||||
#{object.dynamicRulePriority}, #{object.dynamicRuleRange},
|
#{object.dynamicRulePriority},
|
||||||
#{object.dynamicRuleFrequency},
|
#{object.dynamicRuleFrequency},
|
||||||
#{object.dynamicRuleCreateUserId},#{object.logRuleId})
|
#{object.dynamicRuleCreateUserId}, #{object.logRuleId})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="newDynamicRulProtectObjectsConcat">
|
<insert id="newDynamicRulProtectObjectsConcat">
|
||||||
@@ -95,7 +95,6 @@
|
|||||||
#{object.dynamicRuleProtectLevel},
|
#{object.dynamicRuleProtectLevel},
|
||||||
</if>
|
</if>
|
||||||
<if test="object.dynamicRulePriority != null">dynamic_rule_priority = #{object.dynamicRulePriority},</if>
|
<if test="object.dynamicRulePriority != null">dynamic_rule_priority = #{object.dynamicRulePriority},</if>
|
||||||
<if test="object.dynamicRuleRange != null">dynamic_rule_range = #{object.dynamicRuleRange},</if>
|
|
||||||
<if test="object.dynamicRuleFrequency != null">dynamic_rule_frequency = #{object.dynamicRuleFrequency},</if>
|
<if test="object.dynamicRuleFrequency != null">dynamic_rule_frequency = #{object.dynamicRuleFrequency},</if>
|
||||||
modify_time = NOW()
|
modify_time = NOW()
|
||||||
where
|
where
|
||||||
@@ -134,7 +133,6 @@
|
|||||||
<result column="template_id" property="templateId"/>
|
<result column="template_id" property="templateId"/>
|
||||||
<result column="dynamic_rule_protec_level" property="dynamicRuleProtectLevel"/>
|
<result column="dynamic_rule_protec_level" property="dynamicRuleProtectLevel"/>
|
||||||
<result column="dynamic_rule_priority" property="dynamicRulePriority"/>
|
<result column="dynamic_rule_priority" property="dynamicRulePriority"/>
|
||||||
<result column="dynamic_rule_range" property="dynamicRuleRange"/>
|
|
||||||
<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"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
@@ -148,7 +146,6 @@
|
|||||||
<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_range" property="dynamicRuleRange"/>
|
|
||||||
<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"/>-->
|
||||||
|
|||||||
@@ -6,22 +6,22 @@
|
|||||||
|
|
||||||
<insert id="newStaticRuleObject" useGeneratedKeys="true" keyProperty="staticRuleId"
|
<insert id="newStaticRuleObject" useGeneratedKeys="true" keyProperty="staticRuleId"
|
||||||
parameterType="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject">
|
parameterType="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject">
|
||||||
|
|
||||||
insert into t_static_rule(static_rule_name, static_rule_create_time,
|
insert into t_static_rule(static_rule_name, static_rule_create_time,
|
||||||
static_rule_create_username, static_rule_create_depart,
|
static_rule_create_username, static_rule_create_depart,
|
||||||
static_rule_create_user_id, static_rule_sip, static_rule_msip,
|
static_rule_create_user_id, static_rule_sip, static_rule_msip,
|
||||||
static_rule_sport, static_rule_msport,
|
static_rule_sport, static_rule_msport,
|
||||||
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
|
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
|
||||||
static_rule_protocol, static_rule_mprotocol, static_rule_dns,
|
static_rule_protocol, static_rule_mprotocol, static_rule_dns,
|
||||||
static_rule_url, static_rule_priority, static_rule_range,
|
static_rule_url, static_rule_priority,
|
||||||
static_rule_frequency, static_rule_audit_status)
|
static_rule_frequency, static_rule_audit_status
|
||||||
|
)
|
||||||
values (#{object.staticRuleName}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername},
|
values (#{object.staticRuleName}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername},
|
||||||
#{object.staticRuleCreateDepart}, #{object.staticRuleCreateUserId}, INET_ATON(#{object.staticRuleSip}),
|
#{object.staticRuleCreateDepart}, #{object.staticRuleCreateUserId}, INET_ATON(#{object.staticRuleSip}),
|
||||||
INET_ATON(#{object.staticRuleMsip}), #{object.staticRuleSport}, #{object.staticRuleMsport},
|
INET_ATON(#{object.staticRuleMsip}), #{object.staticRuleSport}, #{object.staticRuleMsport},
|
||||||
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
|
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
|
||||||
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
||||||
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
||||||
#{object.staticRuleRange}, #{object.staticRuleFrequency},
|
#{object.staticRuleFrequency},
|
||||||
#{object.auditStatus})
|
#{object.auditStatus})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="newStaticRules">
|
<insert id="newStaticRules">
|
||||||
@@ -31,8 +31,9 @@
|
|||||||
static_rule_sport, static_rule_msport,
|
static_rule_sport, static_rule_msport,
|
||||||
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
|
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
|
||||||
static_rule_protocol, static_rule_mprotocol, static_rule_dns,
|
static_rule_protocol, static_rule_mprotocol, static_rule_dns,
|
||||||
static_rule_url, static_rule_priority, static_rule_range,
|
static_rule_url, static_rule_priority,
|
||||||
static_rule_frequency, static_rule_audit_status)
|
static_rule_frequency, static_rule_audit_status
|
||||||
|
)
|
||||||
values
|
values
|
||||||
<foreach collection="staticRuleBatch" item="object" separator=",">
|
<foreach collection="staticRuleBatch" item="object" separator=",">
|
||||||
(#{object.staticRuleName}, NOW(), #{object.staticRuleCreateUsername},
|
(#{object.staticRuleName}, NOW(), #{object.staticRuleCreateUsername},
|
||||||
@@ -41,8 +42,8 @@
|
|||||||
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
|
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
|
||||||
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
||||||
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
||||||
#{object.staticRuleRange}, #{object.staticRuleFrequency},
|
#{object.staticRuleFrequency}, 0
|
||||||
0)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -68,9 +69,7 @@
|
|||||||
<if test="object.staticRulePriority != null and object.staticRulePriority != ''">
|
<if test="object.staticRulePriority != null and object.staticRulePriority != ''">
|
||||||
static_rule_priority = #{object.staticRulePriority},
|
static_rule_priority = #{object.staticRulePriority},
|
||||||
</if>
|
</if>
|
||||||
<if test="object.staticRuleRange != null and object.staticRuleRange != ''">
|
|
||||||
static_rule_range = #{object.staticRuleRange},
|
|
||||||
</if>
|
|
||||||
<if test="object.staticRuleFrequency != null and object.staticRuleFrequency != ''">
|
<if test="object.staticRuleFrequency != null and object.staticRuleFrequency != ''">
|
||||||
static_rule_frequency = #{object.staticRuleFrequency},
|
static_rule_frequency = #{object.staticRuleFrequency},
|
||||||
</if>
|
</if>
|
||||||
@@ -132,7 +131,6 @@
|
|||||||
<result column="static_rule_dns" property="staticRuleDns"/>
|
<result column="static_rule_dns" property="staticRuleDns"/>
|
||||||
<result column="static_rule_url" property="staticRuleURL"/>
|
<result column="static_rule_url" property="staticRuleURL"/>
|
||||||
<result column="static_rule_priority" property="staticRulePriority"/>
|
<result column="static_rule_priority" property="staticRulePriority"/>
|
||||||
<result column="static_rule_range" property="staticRuleRange"/>
|
|
||||||
<result column="static_rule_frequency" property="staticRuleFrequency"/>
|
<result column="static_rule_frequency" property="staticRuleFrequency"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|||||||
@@ -8,11 +8,14 @@
|
|||||||
INSERT INTO t_task(task_name, task_start_time, task_end_time,
|
INSERT INTO t_task(task_name, task_start_time, task_end_time,
|
||||||
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_create_userid, task_create_username, task_create_depart,task_range
|
||||||
|
)
|
||||||
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.taskCreateUserId}, #{task.taskCreateUsername}, #{task.taskCreateDepart},#{task.taskRange})
|
||||||
|
}
|
||||||
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="newTaskStaticRuleConcat">
|
<update id="newTaskStaticRuleConcat">
|
||||||
@@ -44,6 +47,7 @@
|
|||||||
<result column="task_name" property="taskName"/>
|
<result column="task_name" property="taskName"/>
|
||||||
<result column="task_type" property="taskType"/>
|
<result column="task_type" property="taskType"/>
|
||||||
<result column="task_act" property="taskAct"/>
|
<result column="task_act" property="taskAct"/>
|
||||||
|
<result column="task_range" property="taskRange"/>
|
||||||
|
|
||||||
<result column="task_status" property="taskStatus"/>
|
<result column="task_status" property="taskStatus"/>
|
||||||
<result column="task_audit_status" property="taskAuditStatus"/>
|
<result column="task_audit_status" property="taskAuditStatus"/>
|
||||||
@@ -136,6 +140,7 @@
|
|||||||
<if test="task.taskAct != null">task_act = #{task.taskAct},</if>
|
<if test="task.taskAct != null">task_act = #{task.taskAct},</if>
|
||||||
<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>
|
||||||
task_modify_time = NOW(),
|
task_modify_time = NOW(),
|
||||||
</set>
|
</set>
|
||||||
WHERE task_id = #{task.taskId}
|
WHERE task_id = #{task.taskId}
|
||||||
@@ -202,7 +207,7 @@
|
|||||||
|
|
||||||
<result column="task_act" property="taskAct"/>
|
<result column="task_act" property="taskAct"/>
|
||||||
<result column="task_create_depart" property="taskCreateDepart"/>
|
<result column="task_create_depart" property="taskCreateDepart"/>
|
||||||
<result column="static_rule_range" property="distributePoint"/>
|
<result column="task_range" property="distributePoint"/>
|
||||||
<result column="task_type" property="taskType"/>
|
<result column="task_type" property="taskType"/>
|
||||||
<result column="static_rule_frequency" property="frequency"/>
|
<result column="static_rule_frequency" property="frequency"/>
|
||||||
<result column="task_start_time" property="startTime"/>
|
<result column="task_start_time" property="startTime"/>
|
||||||
@@ -226,11 +231,12 @@
|
|||||||
<insert id="newTaskUsingCommandInfo" useGeneratedKeys="true" keyProperty="taskId"
|
<insert id="newTaskUsingCommandInfo" useGeneratedKeys="true" keyProperty="taskId"
|
||||||
parameterType="com.realtime.protection.configuration.entity.task.TaskCommandInfo">
|
parameterType="com.realtime.protection.configuration.entity.task.TaskCommandInfo">
|
||||||
INSERT INTO t_task(task_name, task_start_time, task_end_time, task_create_time, task_modify_time, task_type,
|
INSERT INTO t_task(task_name, task_start_time, task_end_time, task_create_time, task_modify_time, task_type,
|
||||||
task_act, task_create_username, task_create_depart, task_create_userid)
|
task_act, task_create_username, task_create_depart, task_create_userid, task_range)
|
||||||
VALUE
|
VALUE
|
||||||
(
|
(
|
||||||
#{info.taskName}, #{info.startTime}, #{info.endTime}, NOW(), NOW(), #{info.taskType},
|
#{info.taskName}, #{info.startTime}, #{info.endTime}, NOW(), NOW(), #{info.taskType},
|
||||||
#{info.taskAct}, #{info.taskCreateUsername}, #{info.taskCreateDepart}, #{info.taskCreateUserId}
|
#{info.taskAct}, #{info.taskCreateUsername}, #{info.taskCreateDepart}, #{info.taskCreateUserId},
|
||||||
|
#{info.distributePoint}}
|
||||||
);
|
);
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -247,7 +253,7 @@
|
|||||||
t_task.task_type,
|
t_task.task_type,
|
||||||
t_task.task_act,
|
t_task.task_act,
|
||||||
t_task.task_create_depart,
|
t_task.task_create_depart,
|
||||||
tsr.static_rule_range,
|
t_task.task_range,
|
||||||
tsr.static_rule_frequency,
|
tsr.static_rule_frequency,
|
||||||
|
|
||||||
t_task.task_start_time,
|
t_task.task_start_time,
|
||||||
@@ -325,6 +331,9 @@
|
|||||||
<if test="audit_status != null">
|
<if test="audit_status != null">
|
||||||
AND task_audit_status = #{audit_status}
|
AND task_audit_status = #{audit_status}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="task_create_time != null">
|
||||||
|
AND DATE(#{task_create_time}) = CURRENT_DATE
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -55,12 +55,13 @@ public class AlertMessageTest {
|
|||||||
object.setDynamicRuleName("UpdateDynamicRule2");
|
object.setDynamicRuleName("UpdateDynamicRule2");
|
||||||
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);
|
||||||
|
|
||||||
|
|
||||||
Task task = new Task();
|
Task task = new Task();
|
||||||
@@ -82,22 +83,22 @@ public class AlertMessageTest {
|
|||||||
//启动任务
|
//启动任务
|
||||||
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("111.1.1." + i);
|
||||||
fiveTupleWithMask.setDestinationIP("222.22.2." + i);
|
// fiveTupleWithMask.setDestinationIP("222.22.2." + i);
|
||||||
fiveTupleWithMask.setSourcePort("111");
|
// fiveTupleWithMask.setSourcePort("111");
|
||||||
fiveTupleWithMask.setDestinationPort("222");
|
// fiveTupleWithMask.setDestinationPort("222");
|
||||||
fiveTupleWithMask.setProtocol("tcp");
|
// fiveTupleWithMask.setProtocol("tcp");
|
||||||
|
//
|
||||||
alert.setDynamicRuleId(dynamicRuleId);
|
// alert.setDynamicRuleId(dynamicRuleId);
|
||||||
alert.setTaskId(taskId);
|
// alert.setTaskId(taskId);
|
||||||
alert.setFiveTupleWithMask(fiveTupleWithMask);
|
// alert.setFiveTupleWithMask(fiveTupleWithMask);
|
||||||
alert.setContent("testcontent");
|
// alert.setContent("testcontent");
|
||||||
alert.setProtectIsSrcOrDst(1);
|
// alert.setProtectIsSrcOrDst(1);
|
||||||
alertMessageService.processAlertMessage(alert);
|
// alertMessageService.processAlertMessage(alert);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
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(templates.get(0).getTemplateId());
|
object.setTemplateId(templates.get(0).getTemplateId());
|
||||||
object.setLogRuleId(1L);
|
object.setLogRuleId(1L);
|
||||||
@@ -77,7 +77,7 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
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(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()}));
|
||||||
@@ -117,7 +117,7 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
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}));
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
staticRuleTest.setStaticRulePriority(1);
|
staticRuleTest.setStaticRulePriority(1);
|
||||||
staticRuleTest.setStaticRuleFrequency(1);
|
staticRuleTest.setStaticRuleFrequency(1);
|
||||||
staticRuleTest.setStaticRuleRange("北京");
|
// staticRuleTest.setStaticRuleRange("北京");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
|
|||||||
object.setStaticRuleDip("2.2.3.100");
|
object.setStaticRuleDip("2.2.3.100");
|
||||||
object.setStaticRulePriority(2);
|
object.setStaticRulePriority(2);
|
||||||
object.setStaticRuleFrequency(1);
|
object.setStaticRuleFrequency(1);
|
||||||
object.setStaticRuleRange("北京");
|
// object.setStaticRuleRange("北京");
|
||||||
// object.setStaticRuleProtectLevel(2);
|
// object.setStaticRuleProtectLevel(2);
|
||||||
|
|
||||||
staticRuleService.updateStaticRule(5, object);
|
staticRuleService.updateStaticRule(5, object);
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
package com.realtime.protection.server.task;
|
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.template.Template;
|
||||||
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;
|
||||||
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;
|
||||||
import com.realtime.protection.configuration.exception.DorisStartException;
|
import com.realtime.protection.configuration.exception.DorisStartException;
|
||||||
|
import com.realtime.protection.server.command.CommandService;
|
||||||
|
import com.realtime.protection.server.defense.object.ProtectObjectService;
|
||||||
|
import com.realtime.protection.server.defense.template.TemplateService;
|
||||||
import com.realtime.protection.server.rule.dynamicrule.DynamicRuleService;
|
import com.realtime.protection.server.rule.dynamicrule.DynamicRuleService;
|
||||||
import com.realtime.protection.server.rule.staticrule.StaticRuleService;
|
import com.realtime.protection.server.rule.staticrule.StaticRuleService;
|
||||||
import com.realtime.protection.server.task.status.StateChangeService;
|
import com.realtime.protection.server.task.status.StateChangeService;
|
||||||
@@ -30,14 +35,20 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
private final StaticRuleService staticRuleService;
|
private final StaticRuleService staticRuleService;
|
||||||
private final DynamicRuleService dynamicRuleService;
|
private final DynamicRuleService dynamicRuleService;
|
||||||
private final StateChangeService stateChangeService;
|
private final StateChangeService stateChangeService;
|
||||||
|
private final CommandService commandService;
|
||||||
|
private final ProtectObjectService protectObjectService;
|
||||||
|
private final TemplateService templateService;
|
||||||
private Task task;
|
private Task task;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
TaskServiceTest(TaskService taskService, StaticRuleService staticRuleService, DynamicRuleService dynamicRuleService, StateChangeService stateChangeService) {
|
TaskServiceTest(TaskService taskService, StaticRuleService staticRuleService, DynamicRuleService dynamicRuleService, StateChangeService stateChangeService, CommandService commandService, ProtectObjectService protectObjectService, TemplateService templateService) {
|
||||||
this.taskService = taskService;
|
this.taskService = taskService;
|
||||||
this.staticRuleService = staticRuleService;
|
this.staticRuleService = staticRuleService;
|
||||||
this.dynamicRuleService = dynamicRuleService;
|
this.dynamicRuleService = dynamicRuleService;
|
||||||
this.stateChangeService = stateChangeService;
|
this.stateChangeService = stateChangeService;
|
||||||
|
this.commandService = commandService;
|
||||||
|
this.protectObjectService = protectObjectService;
|
||||||
|
this.templateService = templateService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
@@ -204,4 +215,114 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
|||||||
stateChangeService.changeState(2, 43844L, false);
|
stateChangeService.changeState(2, 43844L, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testStartStaticTask() throws DorisStartException {
|
||||||
|
StaticRuleObject staticRuleTest = new StaticRuleObject();
|
||||||
|
staticRuleTest.setStaticRuleName("mh-静态测试");
|
||||||
|
staticRuleTest.setStaticRuleCreateUsername("mh");
|
||||||
|
staticRuleTest.setStaticRuleCreateDepart("mmeess");
|
||||||
|
staticRuleTest.setStaticRuleCreateUserId(2);
|
||||||
|
staticRuleTest.setAuditStatus(0);
|
||||||
|
|
||||||
|
staticRuleTest.setStaticRuleSip("1.1.2.0");
|
||||||
|
// staticRuleTest.setStaticRuleMsip("255.255.255.0");
|
||||||
|
|
||||||
|
// 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.setTaskName("mh-task测试3");
|
||||||
|
|
||||||
|
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||||
|
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
||||||
|
|
||||||
|
task.setTaskStartTime(taskStartTime);
|
||||||
|
task.setTaskEndTime(taskEndTime);
|
||||||
|
task.setTaskAct("阻断");
|
||||||
|
task.setTaskType(1);
|
||||||
|
task.setTaskRange("1009");
|
||||||
|
|
||||||
|
task.setTaskCreateUserId(1);
|
||||||
|
task.setTaskCreateUsername("xxx");
|
||||||
|
task.setTaskCreateDepart("xxx");
|
||||||
|
|
||||||
|
List<Integer> staticRuleIds = new ArrayList<>();
|
||||||
|
staticRuleIds.add(staticRuleId);
|
||||||
|
staticRuleService.updateAuditStatus(staticRuleId, 2);
|
||||||
|
|
||||||
|
task.setStaticRuleIds(staticRuleIds);
|
||||||
|
|
||||||
|
Long taskId = taskService.newTask(task);
|
||||||
|
|
||||||
|
//
|
||||||
|
taskService.changeTaskAuditStatus(taskId, 2);
|
||||||
|
|
||||||
|
stateChangeService.changeState(2, taskId, false);
|
||||||
|
|
||||||
|
System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testQueryCommandsByTaskId() {
|
||||||
|
List<TaskCommandInfo> taskCommandInfos = commandService.queryCommandInfos(43912L, null, null, null, null, 1, 5);
|
||||||
|
System.out.println(taskCommandInfos);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testStartDynamicTask() throws DorisStartException {
|
||||||
|
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
||||||
|
null, null, null, null,
|
||||||
|
null, null, null, null,
|
||||||
|
null, null, 1, 1);
|
||||||
|
List<Template> templates = templateService.queryTemplates(
|
||||||
|
null, null, null,1, 1);
|
||||||
|
|
||||||
|
DynamicRuleObject object = new DynamicRuleObject();
|
||||||
|
object.setDynamicRuleName("testStartDynamicTask");
|
||||||
|
object.setDynamicRuleFrequency(1);
|
||||||
|
object.setDynamicRulePriority(1);
|
||||||
|
// object.setDynamicRuleRange("北京");
|
||||||
|
object.setDynamicRuleProtectLevel(1);
|
||||||
|
object.setLogRuleId(1L);
|
||||||
|
object.setTemplateId(templates.get(0).getTemplateId());
|
||||||
|
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
||||||
|
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
||||||
|
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Task task = new Task();
|
||||||
|
task.setTaskName("生产告警信息测试2");
|
||||||
|
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||||
|
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
||||||
|
task.setTaskStartTime(taskStartTime);
|
||||||
|
task.setTaskEndTime(taskEndTime);
|
||||||
|
task.setTaskAct("阻断");
|
||||||
|
task.setTaskType(2);
|
||||||
|
task.setTaskRange("1009");
|
||||||
|
task.setTaskCreateUserId(1);
|
||||||
|
task.setTaskCreateUsername("xxx");
|
||||||
|
task.setTaskCreateDepart("xxx");
|
||||||
|
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
|
||||||
|
Long taskId = taskService.newTask(task);
|
||||||
|
System.out.println(taskId);
|
||||||
|
//审核状态
|
||||||
|
taskService.changeTaskAuditStatus(taskId, 2);
|
||||||
|
//启动任务
|
||||||
|
stateChangeService.changeState(2, taskId, false);
|
||||||
|
|
||||||
|
System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -110,7 +110,7 @@ class WhiteListServiceTest extends ProtectionApplicationTests {
|
|||||||
|
|
||||||
staticRuleTest.setStaticRulePriority(1);
|
staticRuleTest.setStaticRulePriority(1);
|
||||||
staticRuleTest.setStaticRuleFrequency(1);
|
staticRuleTest.setStaticRuleFrequency(1);
|
||||||
staticRuleTest.setStaticRuleRange("北京");
|
// staticRuleTest.setStaticRuleRange("北京");
|
||||||
|
|
||||||
Integer id = staticRuleService.newStaticRuleObject(staticRuleTest);
|
Integer id = staticRuleService.newStaticRuleObject(staticRuleTest);
|
||||||
List<Integer> ruleIds = new ArrayList<>(List.of(id));
|
List<Integer> ruleIds = new ArrayList<>(List.of(id));
|
||||||
|
|||||||
Reference in New Issue
Block a user