diff --git a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleController.java b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleController.java index 6c7c1ee..32b4b9a 100644 --- a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleController.java +++ b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleController.java @@ -81,7 +81,6 @@ public class DynamicRuleController implements DynamicRuleControllerApi { @Override @GetMapping("/{id}/query") public ResponseResult queryDynamicRuleObjectById(@PathVariable Integer id) { - log.info("查询动态规则: {}", id); DynamicRuleObject dynamicRuleObject = dynamicRuleService.queryDynamicRuleById(id); //调用service查询 return ResponseResult.ok() @@ -89,6 +88,16 @@ public class DynamicRuleController implements DynamicRuleControllerApi { .setData("dynamic_rule", dynamicRuleObject); } + @Override + @GetMapping("/query/{ids}") + public ResponseResult queryDynamicRuleObjectByIds(@PathVariable List ids) { + List dynamicRuleObjects = dynamicRuleService.queryDynamicRuleByIds(ids); + //调用service查询 + return ResponseResult.ok() + .setData("success", true) + .setData("dynamic_rule", dynamicRuleObjects); + } + //分页查询 @Override @GetMapping("/query") diff --git a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleControllerApi.java b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleControllerApi.java index d4890d5..dcfc227 100644 --- a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleControllerApi.java +++ b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleControllerApi.java @@ -10,6 +10,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.tags.Tag; 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; @@ -186,6 +187,24 @@ public interface DynamicRuleControllerApi { ) public ResponseResult queryDynamicRuleObjectById(@PathVariable Integer id) ; + @Operation( + summary = "查询多个动态规则", + description = "根据条件查询多个动态规则", + responses = { + @ApiResponse( + description = "返回查询到的多个动态规则", + content = @Content( + mediaType = "application/json", + schema = @Schema( + title = "ResponseResult和DynamicRule的组合模型", + description = "ResponseResult的data内DynamicRule", + anyOf = {ResponseResult.class, DynamicRuleObject.class}) + ))}, + parameters = {@Parameter(name = "ids", description = "动态规则ID列表", example = "dynamicrule/query/5,11")} + ) + @GetMapping("/query/{ids}") + ResponseResult queryDynamicRuleObjectByIds(@PathVariable List ids); + @Operation( summary = "根据条件查询多个动态规则", description = "根据查询条件和页码等,查询多个对象并以列表返回", diff --git a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleMapper.java b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleMapper.java index e627226..2d85c29 100644 --- a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleMapper.java +++ b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleMapper.java @@ -43,4 +43,6 @@ public interface DynamicRuleMapper { Integer queryDynamicRuleTotalNum(String dynamicRuleName, Integer dynamicRuleId, String sourceSystem, String creator); + + List queryDynamicRuleByIds(List ids); } diff --git a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleService.java b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleService.java index ebdbf00..326d3e7 100644 --- a/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleService.java +++ b/src/main/java/com/realtime/protection/server/rule/dynamicrule/DynamicRuleService.java @@ -166,4 +166,8 @@ public class DynamicRuleService { return dynamicRuleMapper.queryDynamicRuleTotalNum(dynamicRuleName, dynamicRuleId, protectObjectSourceSystem, creator); } + + public List queryDynamicRuleByIds(List ids) { + return dynamicRuleMapper.queryDynamicRuleByIds(ids); + } } diff --git a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleController.java b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleController.java index e316001..f59af2b 100644 --- a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleController.java +++ b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleController.java @@ -143,6 +143,16 @@ public class StaticRuleController implements StaticRuleControllerApi { static_rule_creator, static_rule_ip)); } + @Override + @GetMapping("/query/{ids}") + public ResponseResult queryStaticRuleByIds(@PathVariable List ids) { + List staticRuleObjects = staticRuleService.queryStaticRuleByIds(ids); + //调用service查询 + return ResponseResult.ok() + .setData("success", true) + .setData("static_rule", staticRuleObjects); + } + /** * 修改审核状态 */ diff --git a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleControllerApi.java b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleControllerApi.java index 66d7552..a08520e 100644 --- a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleControllerApi.java +++ b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleControllerApi.java @@ -10,10 +10,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.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; @@ -213,6 +210,24 @@ public interface StaticRuleControllerApi { ); + @Operation( summary = "批量查询静态规则", + description = "根据静态规则ID列表查询多个静态规则的所有详细信息", + responses = { + @io.swagger.v3.oas.annotations.responses.ApiResponse( + description = "返回查询到的多个静态规则", + content = @Content( + mediaType = "application/json", + schema = @Schema(title = "ResponseResult和StaticRule的对象属性", + anyOf = {ResponseResult.class, StaticRuleObject.class}) + ) + ) + }, + parameters = {@Parameter(name = "ids", description = "静态规则ID列表", example = "staticrule/query/15,16,17")} + ) + + @GetMapping("/query/{ids}") + ResponseResult queryStaticRuleByIds(@PathVariable List ids); + @Operation( summary = "按id删除静态规则", description = "按id删除静态规则", @@ -240,6 +255,8 @@ public interface StaticRuleControllerApi { + + @Operation( summary = "更新静态规则审批状态", description = "更新静态规则审批状态,0未审核、1审核不通过、2审核通过", diff --git a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleMapper.java b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleMapper.java index 47b2400..d0d71c0 100644 --- a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleMapper.java +++ b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleMapper.java @@ -41,4 +41,6 @@ public interface StaticRuleMapper { Integer queryStaticRuleTotalNum(String static_rule_name, Integer static_rule_id, String static_rule_create_username, String ip); + + List queryStaticRuleByIds(List ids); } diff --git a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleService.java b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleService.java index 8429f81..4657fd2 100644 --- a/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleService.java +++ b/src/main/java/com/realtime/protection/server/rule/staticrule/StaticRuleService.java @@ -153,4 +153,8 @@ public class StaticRuleService { return staticRuleMapper.queryStaticRuleTotalNum(static_rule_name, static_rule_id, static_rule_creator, static_rule_ip); } + + public List queryStaticRuleByIds(List ids) { + return staticRuleMapper.queryStaticRuleByIds(ids); + } } diff --git a/src/main/resources/mappers/CommandMapper.xml b/src/main/resources/mappers/CommandMapper.xml index 897cee0..989075b 100644 --- a/src/main/resources/mappers/CommandMapper.xml +++ b/src/main/resources/mappers/CommandMapper.xml @@ -182,37 +182,12 @@ SELECT COUNT(COMMAND_ID) FROM t_command - AND TASK_ID = #{command_info.taskId} - - AND SRC_IP = #{command_info.fiveTupleWithMask.sourceIP} - - - AND DST_IP = #{command_info.fiveTupleWithMask.destinationIP} - - - AND SRC_PORT = #{command_info.fiveTupleWithMask.sourcePort} - - - AND DST_PORT = #{command_info.fiveTupleWithMask.destinationPort} - - - AND PROTOCOL = #{command_info.fiveTupleWithMask.protocol} - - - AND MASK_SRC_IP = #{command_info.fiveTupleWithMask.maskSourceIP} - - - AND MASK_SOURCE_PORT = #{command_info.fiveTupleWithMask.maskSourcePort} - - - AND MASK_DST_IP = #{command_info.fiveTupleWithMask.maskDestinationIP} - - - AND MASK_DST_PORT = #{command_info.fiveTupleWithMask.maskDestinationPort} - - - AND MASK_PROTOCOL = #{command_info.fiveTupleWithMask.maskProtocol} - + AND TASK_ID = #{task_id} + AND IS_DELETED = FALSE + AND SRC_IP = #{src_ip} + AND DST_IP = #{dst_ip} + AND SRC_PORT = #{src_port} + AND DST_PORT = #{dst_port} diff --git a/src/main/resources/mappers/DynamicRuleMapper.xml b/src/main/resources/mappers/DynamicRuleMapper.xml index 72d2949..dc5bac6 100644 --- a/src/main/resources/mappers/DynamicRuleMapper.xml +++ b/src/main/resources/mappers/DynamicRuleMapper.xml @@ -224,6 +224,18 @@ + \ No newline at end of file diff --git a/src/main/resources/mappers/StaticRuleMapper.xml b/src/main/resources/mappers/StaticRuleMapper.xml index d525c2a..4fe88cd 100644 --- a/src/main/resources/mappers/StaticRuleMapper.xml +++ b/src/main/resources/mappers/StaticRuleMapper.xml @@ -177,5 +177,19 @@ + \ No newline at end of file