1、DynamicRule的新增、更新添加对id、protectObjectId的判断;分页查询添加creator、sourceSystem查询条件;按id查询新增template_id为null的判断

2、StaticRule新增usedTaskStatus字段,多查单查返回usedTaskStatus;增、改、查、改审核状态添加id无效判断;
分页新增creator、ip查询条件
3、whiteList修改审核status,添加id无效判断
This commit is contained in:
Hao Miao
2024-01-15 18:13:53 +08:00
parent 135a1ae04c
commit 8315e6ee43
16 changed files with 200 additions and 67 deletions

View File

@@ -3,6 +3,7 @@ package com.realtime.protection.configuration.entity.rule.dynamicrule;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -39,7 +40,8 @@ public class DynamicRuleObject {
private String dynamicRuleCreateDepart;
//动态规则选择的防护对象ids
@NotNull
@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;

View File

@@ -60,6 +60,10 @@ public class StaticRuleObject {
@ExcelIgnore
@Schema(hidden = true)
private Integer staticRuleUsedTaskId;
@JsonProperty("static_rule_used_task_status")
@ExcelIgnore
@Schema(hidden = true)
private Integer usedTaskStatus;
@JsonProperty("static_rule_sip")
@ExcelProperty("源IP地址")

View File

@@ -72,11 +72,9 @@ public class DynamicRuleController implements DynamicRuleControllerApi {
log.info("修改动态规则: {}:{}",
id, dynamicRuleObject.getDynamicRuleName());
dynamicRuleService.updateDynamicRuleObject(id, dynamicRuleObject);
return ResponseResult.ok()
.setData("dynamic_rule_id", id)
.setData("success", true);
.setData("success", dynamicRuleService.updateDynamicRuleObject(id, dynamicRuleObject));
}
//id查询
@@ -85,12 +83,9 @@ public class DynamicRuleController implements DynamicRuleControllerApi {
public ResponseResult queryDynamicRuleObjectById(@PathVariable Integer id) {
log.info("查询动态规则: {}", id);
DynamicRuleObject dynamicRuleObject = dynamicRuleService.queryDynamicRuleById(id);
if (dynamicRuleObject == null) {
return ResponseResult.invalid()
.setData("dynamic_rule", null);
}
//调用service查询
return ResponseResult.ok()
.setData("success", true)
.setData("dynamic_rule", dynamicRuleObject);
}
@@ -99,12 +94,16 @@ public class DynamicRuleController implements DynamicRuleControllerApi {
@GetMapping("/query")
public ResponseResult queryDynamicRuleObject(@RequestParam(value = "name", required = false) String dynamicRuleName,
@RequestParam(value = "id", required = false) Integer dynamicRuleId,
@RequestParam(value = "source_system", required = false) String protectObjectSourceSystem,
@RequestParam(value = "creator", required = false) String creator,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "page_size", defaultValue = "10") Integer pageSize) {
log.info("分页查询动态规则: {}:{}:{}:{}", dynamicRuleName, dynamicRuleId, page, pageSize);
//调用service查询
return ResponseResult.ok()
.setData("dynamic_rule_list", dynamicRuleService.queryDynamicRuleObject(dynamicRuleName, dynamicRuleId, page, pageSize));
.setData("success", true)
.setData("dynamic_rule_list", dynamicRuleService.queryDynamicRuleObject(dynamicRuleName, dynamicRuleId,
protectObjectSourceSystem, creator, page, pageSize));
}
//详情查看?? 就是按id查询吧

View File

@@ -131,13 +131,16 @@ public interface DynamicRuleControllerApi {
parameters = {
@Parameter(name = "name", description = "动态规则名称", example = "test"),
@Parameter(name = "id", description = "动态规则ID", example = "2"),
@Parameter(name = "source_system", description = "来源你系统", example = "BW系统"),
@Parameter(name = "creator", description = "创建人名称"),
@Parameter(name = "page", description = "页码", example = "1"),
@Parameter(name = "page_size", description = "每页大小", example = "10")
}
)
public ResponseResult queryDynamicRuleObject(
@RequestParam(value = "name", required = false) String dynamicRuleName,
ResponseResult queryDynamicRuleObject(@RequestParam(value = "name", required = false) String dynamicRuleName,
@RequestParam(value = "id", required = false) Integer dynamicRuleId,
@RequestParam(value = "source_system", required = false) String protectObjectSourceSystem,
@RequestParam(value = "creator", required = false) String creator,
@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "page_size", defaultValue = "10") Integer pageSize);

View File

@@ -15,7 +15,7 @@ public interface DynamicRuleMapper {
void newDynamicRule(@Param("object") DynamicRuleObject dynamicRuleObject);
//新建动态规则与保护对象关联
void newDynamicRulProtectObjectConcat(long dynamicRuleId, Integer protectObjectId);
Boolean newDynamicRulProtectObjectConcat(long dynamicRuleId, Integer protectObjectId);
void deleteDynamicRuleObject(Integer dynamicRuleId);
@@ -23,15 +23,21 @@ public interface DynamicRuleMapper {
List<ProtectObject> queryProtectObjectByRuleId(Integer dynamicRuleId);
void updateDynamicRuleObject(@Param("dynamicRuleId") Integer dynamicRuleId, @Param("object") DynamicRuleObject dynamicRuleObject);
Boolean updateDynamicRuleObject(@Param("dynamicRuleId") Integer dynamicRuleId, @Param("object") DynamicRuleObject dynamicRuleObject);
void newDynamicRules(List<DynamicRuleObject> dynamicRuleObjects);
void deleteDynamicRules(List<Integer> dynamicRuleIds);
List<DynamicRuleObject> queryDynamicRuleObject(String dynamicRuleName, Integer dynamicRuleId, Integer page, Integer pageSize);
List<DynamicRuleObject> queryDynamicRuleObject(String dynamicRuleName, Integer dynamicRuleId,
String sourceSystem, String creator,
Integer page, Integer pageSize);
void deleteDynamicRuleProtectObjectConcat(Integer dynamicRuleId);
Template queryTemplateByRuleId(Integer dynamicRuleId);
boolean newDynamicRulProtectObjectsConcat(Integer dynamicRuleId, List<Integer> protectObjectIds);
boolean queryProtectObjectById(Integer protectObjectId);
}

View File

@@ -24,14 +24,21 @@ public class DynamicRuleService {
@Transactional
public Integer newDynamicRuleObject(DynamicRuleObject dynamicRule) {
dynamicRuleMapper.newDynamicRule(dynamicRule);
//判断protectObject id是否有效
boolean ProtectObjIdValid = dynamicRule.getProtectObjectIds().stream()
.allMatch(
protectObjectId -> dynamicRuleMapper.queryProtectObjectById(protectObjectId)
);
if (!ProtectObjIdValid) {
throw new IllegalArgumentException("protect object id is invalid");
}
Integer dynamicRuleId = dynamicRule.getDynamicRuleId();
if (dynamicRule.getProtectObjectIds() != null) {
dynamicRule.getProtectObjectIds().forEach(
protectObjectId -> dynamicRuleMapper.newDynamicRulProtectObjectConcat(dynamicRuleId, protectObjectId));
}
return dynamicRuleId;
}
@@ -77,12 +84,17 @@ public class DynamicRuleService {
//查询DynamicRule
DynamicRuleObject dynamicRuleObject = dynamicRuleMapper.queryDynamicRuleById(dynamicRuleId);
if (dynamicRuleObject == null){
return null;
throw new IllegalArgumentException("dynamic rule id is invalid");
}
//查询DynamicRule关联的ProtectObject
dynamicRuleObject.setProtectObjects(dynamicRuleMapper.queryProtectObjectByRuleId(dynamicRuleId));
//查询DynamicRule关联的template详细信息
Template template = dynamicRuleMapper.queryTemplateByRuleId(dynamicRuleId);
if (template == null){
//template在表中删除了需要重新设置template感觉这种情况不多见
dynamicRuleObject.setDynamicRuleSourceSystem("need reset");
dynamicRuleObject.setDynamicRuleEventType("need reset");
}
dynamicRuleObject.setDynamicRuleSourceSystem(template.getSourceSystem());
dynamicRuleObject.setDynamicRuleEventType(template.getTemplateName());
@@ -90,20 +102,28 @@ public class DynamicRuleService {
}
@Transactional
public void updateDynamicRuleObject(Integer dynamicRuleId, DynamicRuleObject dynamicRuleObject) {
public boolean updateDynamicRuleObject(Integer dynamicRuleId, DynamicRuleObject dynamicRuleObject) {
//更新DynamicRule
dynamicRuleObject.setDynamicRuleModifyTime(LocalDateTime.now());
dynamicRuleMapper.updateDynamicRuleObject(dynamicRuleId, dynamicRuleObject);
if (dynamicRuleObject.getProtectObjectIds() == null || dynamicRuleObject.getProtectObjectIds().isEmpty()) {
return;
Boolean idValid = dynamicRuleMapper.updateDynamicRuleObject(dynamicRuleId, dynamicRuleObject);
if (!idValid) {
throw new IllegalArgumentException("dynamic rule id is invalid");
}
//删除DynamicRule关联的ProtectObject
dynamicRuleMapper.deleteDynamicRuleProtectObjectConcat(dynamicRuleId);
//新增DynamicRule关联的ProtectObject
dynamicRuleObject.getProtectObjectIds().forEach(
protectObjectId -> dynamicRuleMapper.newDynamicRulProtectObjectConcat(dynamicRuleId, protectObjectId));
boolean ProtectObjIdValid = dynamicRuleObject.getProtectObjectIds().stream()
.allMatch(
protectObjectId -> dynamicRuleMapper.queryProtectObjectById(protectObjectId)
);
if (!ProtectObjIdValid) {
throw new IllegalArgumentException("protect object id is invalid");
}
return dynamicRuleMapper.newDynamicRulProtectObjectsConcat(dynamicRuleId, dynamicRuleObject.getProtectObjectIds());
}
// 批量删除
public Boolean deleteDynamicRuleObjects(List<Integer> dynamicRuleIds) {
Function<DynamicRuleMapper, Function<List<Integer>, Boolean>> deleteDynamicRuleFunction =
@@ -134,7 +154,10 @@ public class DynamicRuleService {
//分页查询基础的动态规则,暂时不返回关联的保护对象
public List<DynamicRuleObject> queryDynamicRuleObject(String dynamicRuleName, Integer dynamicRuleId, Integer page, Integer pageSize) {
return dynamicRuleMapper.queryDynamicRuleObject(dynamicRuleName, dynamicRuleId, page, pageSize);
public List<DynamicRuleObject> queryDynamicRuleObject(String dynamicRuleName, Integer dynamicRuleId,
String templateSourceSystem,String creator,
Integer page, Integer pageSize) {
return dynamicRuleMapper.queryDynamicRuleObject(dynamicRuleName, dynamicRuleId,
templateSourceSystem, creator, page, pageSize);
}
}

View File

@@ -36,7 +36,9 @@ public class StaticRuleController implements StaticRuleControllerApi {
log.info("新增静态规则: {}", object);
//调用service新增
staticRuleService.newStaticRuleObject(object);
return ResponseResult.ok().setData("static_rule_name", object.getStaticRuleName());
return ResponseResult.ok()
.setData("static_rule_id", object.getStaticRuleId())
.setData("static_rule_name", object.getStaticRuleName());
}
//以Excel方式批量导入静态规则
@@ -96,7 +98,10 @@ public class StaticRuleController implements StaticRuleControllerApi {
@RequestBody @Valid StaticRuleObject object) {
log.info("修改静态规则: {}", object);
//调用service修改
staticRuleService.updateStaticRule(id, object);
Integer updateValid = staticRuleService.updateStaticRule(id, object);
if (updateValid == 0) {
return ResponseResult.invalid().setMessage("id is invalid");
}
return ResponseResult.ok();
}
@@ -109,6 +114,9 @@ public class StaticRuleController implements StaticRuleControllerApi {
public ResponseResult queryStaticRuleById(@PathVariable Integer id) {
log.info("根据id查询静态规则:{}", id);
StaticRuleObject object = staticRuleService.queryStaticRuleById(id);
if (object == null) {
return ResponseResult.invalid().setMessage("id is invalid");
}
return ResponseResult.ok().setData("static_rule", object);
}
@@ -117,13 +125,18 @@ public class StaticRuleController implements StaticRuleControllerApi {
*/
@Override
@GetMapping("/query")
public ResponseResult queryStaticRule(String static_rule_name, Integer static_rule_id,
public ResponseResult queryStaticRule(@RequestParam(name = "name", required = false) String static_rule_name,
@RequestParam(name = "id", required = false) Integer static_rule_id,
@RequestParam(name = "creator", required = false) String static_rule_creator,
@RequestParam(name = "ip", required = false) String static_rule_ip,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer pageSize
) {
log.info("多查询静态规则: {},{},{},{}", static_rule_name, static_rule_id, page, pageSize);
//调用service新增
List<StaticRuleObject> pageResult = staticRuleService.queryStaticRule(static_rule_name, static_rule_id, page, pageSize);
List<StaticRuleObject> pageResult = staticRuleService.queryStaticRule(
static_rule_name, static_rule_id,
static_rule_creator, static_rule_ip, page, pageSize);
return ResponseResult.ok().setData("static_rule_list", pageResult);
}

View File

@@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@@ -137,15 +138,21 @@ public interface StaticRuleControllerApi {
)
},
parameters = {
@Parameter(name = "static_rule_name", description = "静态规则名称"),
@Parameter(name = "static_rule_id", description = "静态规则id"),
@Parameter(name = "name", description = "静态规则名称"),
@Parameter(name = "id", description = "静态规则id"),
@Parameter(name = "creator", description = "静态规则创建人"),
@Parameter(name = "ip", description = "静态规则ip匹配所有源和目的ip"),
@Parameter(name = "page", description = "页码"),
@Parameter(name = "pageSize", description = "每页条数")
}
)
ResponseResult queryStaticRule(String static_rule_name, Integer static_rule_id,
ResponseResult queryStaticRule(@RequestParam(required = false) String static_rule_name,
@RequestParam(required = false) Integer static_rule_id,
@RequestParam(required = false) String static_rule_creator,
@RequestParam(required = false) String static_rule_ip,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer pageSize);
@RequestParam(defaultValue = "10") Integer pageSize
);
@Operation(
@@ -166,6 +173,8 @@ public interface StaticRuleControllerApi {
)
ResponseResult deleteStaticRule(@PathVariable Integer id) ;
@Operation(
summary = "更新静态规则审批状态",
description = "更新静态规则审批状态0未审核、1审核不通过、2审核通过",

View File

@@ -19,7 +19,7 @@ public interface StaticRuleMapper {
//修改静态规则
void updateStaticRule(@Param("id") Integer id, @Param("object") StaticRuleObject object);
Integer updateStaticRule(@Param("id") Integer id, @Param("object") StaticRuleObject object);
//按id查询静态规则
//@Select("select * from t_static_rule where static_rule_id = #{id}")
@@ -27,6 +27,7 @@ public interface StaticRuleMapper {
//多页查询静态规则
List<StaticRuleObject> queryStaticRule(String static_rule_name, Integer static_rule_id,
String static_rule_create_username, String ip,
Integer page, Integer pageSize);

View File

@@ -73,12 +73,12 @@ public class StaticRuleService {
return sqlSessionWrapper.startBatchSession(StaticRuleMapper.class, deleteStaticRulesFunction, staticRuleIds);
}
public void updateStaticRule(Integer id, StaticRuleObject object) {
public Integer updateStaticRule(Integer id, StaticRuleObject object) {
//判断当前静态规则是否能够修改---是否存在任务选择的静态规则??
//按id查询该静态规则的used_task_id字段如果不为空则不能修改
object.setStaticRuleModifyTime(LocalDateTime.now());
//修改静态规则
staticRuleMapper.updateStaticRule(id, object);
return staticRuleMapper.updateStaticRule(id, object);
}
public StaticRuleObject queryStaticRuleById(Integer id) {
@@ -89,9 +89,13 @@ public class StaticRuleService {
/*
分页查询
*/
public List<StaticRuleObject> queryStaticRule(String static_rule_name, Integer static_rule_id, Integer page, Integer pageSize) {
public List<StaticRuleObject> queryStaticRule(
String static_rule_name, Integer static_rule_id,
String creator, String ip,
Integer page, Integer pageSize) {
return staticRuleMapper.queryStaticRule(static_rule_name, static_rule_id, page, pageSize);
return staticRuleMapper.queryStaticRule(static_rule_name, static_rule_id,
creator, ip, page, pageSize);
}
public Boolean newStaticRuleObjects(List<StaticRuleObject> staticRuleList) {
@@ -126,6 +130,9 @@ public class StaticRuleService {
@Transactional
public Map<String, Object> updateAuditStatus(Integer id, Integer auditStatus) {
Integer originalAuditStatus = staticRuleMapper.queryAuditStatusById(id);
if (originalAuditStatus == null) {
throw new IllegalArgumentException("cannot find audit status of static rule " + id + ", maybe static rule doesn't exist?");
}
if (!AuditStatusValidator.setOriginal(originalAuditStatus).checkValidate(auditStatus)) {
throw new IllegalArgumentException("invalid audit status");
}

View File

@@ -127,10 +127,13 @@ public class WhiteListController implements WhiteListControllerApi {
object.setWhiteListId(id);
Integer num = whiteListService.updateWhiteListObject(id, object);
if (num == 0) {
return new ResponseResult(400, "id is invalid")
.setData("whiteobj_list", null);
return ResponseResult.invalid("id is invalid")
.setData("whiteobj_id", id)
.setData("success", false);
}
return ResponseResult.ok();
return ResponseResult.ok()
.setData("whiteobj_id", id)
.setData("success", true);
}
/*
@@ -155,15 +158,16 @@ public class WhiteListController implements WhiteListControllerApi {
@GetMapping("/{id}/audit/{auditStatus}")
public ResponseResult updateWhiteListObjectAuditStatus(@PathVariable Integer id,
@PathVariable Integer auditStatus) {
if (id <= 0 || auditStatus < 0 || auditStatus > 2) {
return new ResponseResult(400, "id or status is invalid")
.setData("whiteobj_id", id)
.setData("success", false);
}
// if (id <= 0 || auditStatus < 0 || auditStatus > 2) {
// return new ResponseResult(400, "id or status is invalid")
// .setData("whiteobj_id", id)
// .setData("success", false);
// }
return ResponseResult.ok()
.setDataMap(whiteListService.updateWhiteListObjectAuditStatus(id, auditStatus))
.setData("whiteobj_id", id);
}

View File

@@ -140,6 +140,9 @@ public class WhiteListService {
public Map<String, Object> updateWhiteListObjectAuditStatus(Integer id, Integer auditStatus) {
//查询目前curStatus
Integer originalAuditStatus = whiteListMapper.queryWhiteListObjectAuditStuatusById(id);
if (originalAuditStatus == null){
throw new IllegalArgumentException("cannot find audit status of whitelist " + id + ", maybe whitelist doesn't exist?");
}
//判断是否可以修改
if (!AuditStatusValidator.setOriginal(originalAuditStatus).checkValidate(auditStatus)) {
throw new IllegalArgumentException("invalid audit status");

View File

@@ -30,6 +30,7 @@
t_protect_object_dynamic_rule_conn(dynamic_rule_id, protect_object_id)
values (#{dynamicRuleId}, #{protectObjectId})
</insert>
<insert id="newDynamicRules">
insert into t_dynamic_rule
(dynamic_rule_name,
@@ -49,6 +50,14 @@
#{object.dynamicRuleCreateUserId})
</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>
</insert>
<!-- join删除-->
@@ -106,6 +115,22 @@
<result column="dynamic_rule_create_user_id" property="dynamicRuleCreateUserId"/>
</resultMap>
<resultMap id="dynamicRulePageQueryMap" type="com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject">
<id column="dynamic_rule_id" property="dynamicRuleId"/>
<result column="dynamic_rule_name" property="dynamicRuleName"/>
<result column="create_time" property="dynamicRuleCreateTime"/>
<result column="dynamic_rule_create_username" property="dynamicRuleCreateUsername"/>
<result column="dynamic_rule_create_depart" property="dynamicRuleCreateDepart"/>
<result column="template_id" property="templateId"/>
<result column="dynamic_rule_protec_level" property="dynamicRuleProtectLevel"/>
<result column="dynamic_rule_priority" property="dynamicRulePriority"/>
<result column="dynamic_rule_range" property="dynamicRuleRange"/>
<result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>
<!-- <result column="protect_object_id" property="protectObjectIds"/>-->
<result column="strategy_template_name" property="dynamicRuleEventType"/>
<result column="strategy_template_source_system" property="dynamicRuleSourceSystem"/>
</resultMap>
<select id="queryDynamicRuleById" resultMap="dynamicRuleMap">
select *
from t_dynamic_rule dynamicRule
@@ -134,15 +159,25 @@
</select>
<select id="queryDynamicRuleObject"
resultMap="dynamicRuleMap">
resultMap="dynamicRulePageQueryMap">
select *
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
on t_dynamic_rule.template_id = t_strategy_template.strategy_template_id
<where>
<if test="dynamicRuleName != null">
dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
</if>
<if test="dynamicRuleId != null">
and dynamic_rule_id = #{dynamicRuleId}
and t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}
</if>
<if test="sourceSystem != null">
and t_strategy_template.strategy_template_source_system = #{sourceSystem}
</if>
<if test="creator != null">
and t_dynamic_rule.dynamic_rule_create_username = #{creator}
</if>
</where>
LIMIT ${(page - 1) * pageSize}, #{pageSize}
@@ -162,6 +197,11 @@
on t_strategy_template.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 count(*)
from t_protect_object
where protect_object_id = #{protectObjectId}
</select>
</mapper>

View File

@@ -98,17 +98,31 @@
<result column="static_rule_create_username" property="staticRuleCreateUsername"/>
<result column="static_rule_create_depart" property="staticRuleCreateDepart"/>
<result column="static_rule_used_task_id" property="staticRuleUsedTaskId"/>
<result column="task_status" property="usedTaskStatus"/>
<result column="static_rule_audit_status" property="staticRuleAuditStatus"/>
<result column="static_rule_create_user_id" property="staticRuleCreateUserId"/>
<result column="static_rule_modify_time" property="staticRuleModifyTime"/>
<result column="static_rule_sip" property="staticRuleSip"/>
<result column="static_rule_msip" property="staticRuleMsip"/>
<result column="static_rule_sport" property="staticRuleSport"/>
<result column="static_rule_msport" property="staticRuleMsport"/>
<result column="static_rule_dip" property="staticRuleDip"/>
<result column="static_rule_mdip" property="staticRuleMdip"/>
<result column="static_rule_dport" property="staticRuleDport"/>
<result column="static_rule_mdport" property="staticRuleMdport"/>
<result column="static_rule_protocol" property="staticRuleProtocol"/>
<result column="static_rule_mprotocol" property="staticRuleMprotocol"/>
<result column="static_rule_dns" property="staticRuleDns"/>
<result column="static_rule_url" property="staticRuleURL"/>
<result column="static_rule_priority" property="staticRulePriority"/>
<result column="static_rule_range" property="staticRuleRange"/>
<result column="static_rule_frequency" property="staticRuleFrequency"/>
</resultMap>
<select id="queryStaticRule" resultMap="staticRuleMap">
SELECT * FROM t_static_rule
left join t_task on t_static_rule.static_rule_used_task_id = t_task.task_id
<where>
<if test="static_rule_name != null and static_rule_name != ''">
static_rule_name like concat('%', #{static_rule_name}, '%')
@@ -116,14 +130,24 @@
<if test="static_rule_id != null">
AND static_rule_id = #{static_rule_id}
</if>
<if test="static_rule_create_username != null and static_rule_create_username != ''">
AND static_rule_create_username like concat('%', #{static_rule_create_username}, '%')
</if>
<if test="ip != null and ip != ''">
AND (static_rule_sip = INET_ATON(#{ip}) or static_rule_msip = INET_ATON(#{ip})
or static_rule_dip = INET_ATON(#{ip}) or static_rule_mdip = INET_ATON(#{ip}))
</if>
</where>
LIMIT ${(page - 1) * pageSize}, #{pageSize}
</select>
<select id="queryStaticRuleById" resultMap="staticRuleMap">
SELECT * FROM t_static_rule
WHERE static_rule_id = #{static_rule_id}
SELECT *
FROM t_static_rule
left join t_task on t_static_rule.static_rule_used_task_id = t_task.task_id
WHERE static_rule_id = #{id}
</select>
<select id="queryAuditStatusById" resultType="java.lang.Integer">
SELECT static_rule_audit_status FROM t_static_rule
WHERE static_rule_id = #{id}

View File

@@ -54,14 +54,15 @@ public class DynamicRuleServiceTest {
object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2);
object.setTemplateId(1);
//object.setProtectObjectIds(List.of(new Integer[]{5521, 5520}));
object.setProtectObjectIds(List.of(new Integer[]{5521, 5520}));
dynamicRuleService.updateDynamicRuleObject(2, object);
}
@Test
void testQueryDynamicRuleObject() {
List<DynamicRuleObject> objects = dynamicRuleService.queryDynamicRuleObject( null,null,1, 10);
List<DynamicRuleObject> objects = dynamicRuleService.queryDynamicRuleObject(
null,null,"1", null,1, 10);
System.out.println(objects);
}
}

View File

@@ -111,12 +111,6 @@ public class StaticRuleServiceTest {
System.out.println(object);
}
@Test
void testQueryStaticRuleList(){
List<StaticRuleObject> objectList = staticRuleService.queryStaticRule(null,null,1,10);
System.out.println(objectList);
}
}