1.完成静态规则的修改、id查询、分页查询、删除(目前直接在数据库delete)
2.新增@Slf4j进行日志记录 3.修改静态规则的新建
This commit is contained in:
@@ -2,38 +2,72 @@ package com.realtime.protection.configuration.entity.rule.staticrule;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StaticRuleObject {
|
||||
@JsonProperty("static_rule_id")
|
||||
private int staticRuleId;
|
||||
private Integer staticRuleId;
|
||||
|
||||
@NotNull
|
||||
@JsonProperty("static_rule_name")
|
||||
private String staticRuleName;
|
||||
|
||||
@JsonProperty("static_rule_create_time")
|
||||
private LocalDateTime staticRuleCreateTime;
|
||||
private String StaticRuleCreateUsername;
|
||||
private int StaticRuleAuditStatus;
|
||||
private String StaticRuleCreateDepart;
|
||||
private int StaticRuleCreateUserId;
|
||||
private String StaticRuleSip;
|
||||
private String StaticRuleMsip;
|
||||
private int StaticRuleSport;
|
||||
private int StaticRuleMsport;
|
||||
private String StaticRuleDip;
|
||||
private String StaticRuleMdip;
|
||||
private int StaticRuleDport;
|
||||
private int StaticRuleMdport;
|
||||
private String StaticRuleProtocol;
|
||||
private String StaticRuleMprotocol;
|
||||
private String StaticRuleDns;
|
||||
private String StaticRuleURL;
|
||||
private int StaticRulePriority;
|
||||
private String StaticRuleRange;
|
||||
private int StaticRuleFrequency;
|
||||
private int StaticRuleProtectLevel;
|
||||
@JsonProperty("static_rule_modify_time")
|
||||
private LocalDateTime staticRuleModifyTime;
|
||||
|
||||
@JsonProperty("static_rule_create_username")
|
||||
private String staticRuleCreateUsername;
|
||||
@JsonProperty("static_rule_audit_status")
|
||||
private Integer staticRuleAuditStatus;
|
||||
@JsonProperty("static_rule_create_depart")
|
||||
private String staticRuleCreateDepart;
|
||||
@JsonProperty("static_rule_create_user_id")
|
||||
private Integer staticRuleCreateUserId;
|
||||
@JsonProperty("static_rule_used_task_id")
|
||||
private Integer staticRuleUsedTaskId;
|
||||
|
||||
@JsonProperty("static_rule_sip")
|
||||
private String staticRuleSip;
|
||||
@JsonProperty("static_rule_msip")
|
||||
private String staticRuleMsip;
|
||||
@JsonProperty("static_rule_sport")
|
||||
private Integer staticRuleSport;
|
||||
@JsonProperty("static_rule_msport")
|
||||
private Integer staticRuleMsport;
|
||||
@JsonProperty("static_rule_dip")
|
||||
private String staticRuleDip;
|
||||
@JsonProperty("static_rule_mdip")
|
||||
private String staticRuleMdip;
|
||||
@JsonProperty("static_rule_dport")
|
||||
private Integer staticRuleDport;
|
||||
@JsonProperty("static_rule_mdport")
|
||||
private Integer staticRuleMdport;
|
||||
@JsonProperty("static_rule_protocol")
|
||||
private String staticRuleProtocol;
|
||||
@JsonProperty("static_rule_mprotocol")
|
||||
private String staticRuleMprotocol;
|
||||
@JsonProperty("static_rule_dns")
|
||||
private String staticRuleDns;
|
||||
@JsonProperty("static_rule_url")
|
||||
private String staticRuleURL;
|
||||
|
||||
@JsonProperty("static_rule_priority")
|
||||
private Integer staticRulePriority;
|
||||
@JsonProperty("static_rule_range")
|
||||
private String staticRuleRange;
|
||||
@JsonProperty("static_rule_frequency")
|
||||
private Integer staticRuleFrequency;
|
||||
@JsonProperty("static_rule_protect_level")
|
||||
private Integer staticRuleProtectLevel;
|
||||
}
|
||||
|
||||
@@ -3,27 +3,78 @@ package com.realtime.protection.server.rule.staticrule;
|
||||
|
||||
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
||||
import com.realtime.protection.configuration.response.ResponseResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/staticrule")
|
||||
@Slf4j
|
||||
public class StaticRuleController {
|
||||
|
||||
@Autowired
|
||||
private StaticRuleService staticRuleService;
|
||||
private final StaticRuleService staticRuleService;
|
||||
public StaticRuleController(StaticRuleService staticRuleService) {
|
||||
this.staticRuleService = staticRuleService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增静态规则
|
||||
*/
|
||||
@RequestMapping("/new")
|
||||
public ResponseResult newStaticRuleObject(@RequestBody StaticRuleObject object){
|
||||
// log.info("新增部门: {}" , dept);
|
||||
@PostMapping("/new")
|
||||
public ResponseResult newStaticRuleObject(@RequestBody @Valid StaticRuleObject object){
|
||||
log.info("新增静态规则: {}" , object);
|
||||
//调用service新增
|
||||
staticRuleService.newStaticRuleObject(object);
|
||||
return ResponseResult.ok().setData("static_rule_name",object.getStaticRuleName());
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除静态规则
|
||||
*/
|
||||
@DeleteMapping("/{ids}")
|
||||
public ResponseResult delete(@PathVariable List<Integer> ids){
|
||||
log.info("根据id删除静态规则:{}",ids);
|
||||
//调用service删除
|
||||
staticRuleService.deleteStaticRule(ids);
|
||||
return ResponseResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改静态规则
|
||||
*/
|
||||
@PutMapping("/update")
|
||||
public ResponseResult updateStaticRule(@RequestBody @Valid StaticRuleObject object){
|
||||
log.info("修改静态规则: {}" , object);
|
||||
//调用service修改
|
||||
staticRuleService.updateStaticRule(object);
|
||||
return ResponseResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询静态规则
|
||||
* 路径参数:通过请求URL直接传递参数,使用{…}来标识该路径参数,需要使用 @PathVariable 获取路径参数
|
||||
*/
|
||||
@RequestMapping("/{id}/query")
|
||||
public ResponseResult queryStaticRuleById(@PathVariable Integer id){
|
||||
log.info("根据id查询静态规则:{}",id);
|
||||
StaticRuleObject object = staticRuleService.queryStaticRuleById(id);
|
||||
return ResponseResult.ok().setData("static_rule",object);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询静态规则
|
||||
*/
|
||||
@RequestMapping("/query")
|
||||
public ResponseResult queryStaticRule(String static_rule_name, Integer static_rule_id,
|
||||
@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);
|
||||
return ResponseResult.ok().setData("static_rule_list",pageResult);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,30 @@
|
||||
package com.realtime.protection.server.rule.staticrule;
|
||||
|
||||
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface StaticRuleMapper {
|
||||
Integer newStaticRuleObject(@Param("object") StaticRuleObject object);
|
||||
/**
|
||||
* 新建静态规则
|
||||
*/
|
||||
void newStaticRuleObject(@Param("object") StaticRuleObject object);
|
||||
|
||||
/**
|
||||
* 根据主键删除菜品数据
|
||||
*/
|
||||
@Delete("delete from t_static_rule where static_rule_id = #{id}")
|
||||
void deleteStaticRule(Integer id);
|
||||
|
||||
void updateStaticRule(StaticRuleObject object);
|
||||
|
||||
//@Select("select * from t_static_rule where static_rule_id = #{id}")
|
||||
StaticRuleObject queryStaticRuleById(Integer id);
|
||||
|
||||
List<StaticRuleObject> queryStaticRule(String static_rule_name, Integer static_rule_id,
|
||||
Integer page, Integer pageSize);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class StaticRuleService {
|
||||
@@ -22,9 +23,39 @@ public class StaticRuleService {
|
||||
/*
|
||||
待开发:设置静态规则对象的创建用户、用户所属部门等属性
|
||||
*/
|
||||
|
||||
staticRuleMapper.newStaticRuleObject(object);
|
||||
|
||||
return object.getStaticRuleId();
|
||||
}
|
||||
|
||||
public void deleteStaticRule(List<Integer> ids) {
|
||||
//判断当前静态规则是否能够删除---是否存在任务选择的静态规则??
|
||||
|
||||
//删除静态规则
|
||||
for (Integer id : ids) {
|
||||
staticRuleMapper.deleteStaticRule(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void updateStaticRule(StaticRuleObject object) {
|
||||
//判断当前静态规则是否能够修改---是否存在任务选择的静态规则??
|
||||
//按id查询该静态规则的used_task_id字段,如果不为空,则不能修改
|
||||
object.setStaticRuleModifyTime(LocalDateTime.now());
|
||||
//修改静态规则
|
||||
staticRuleMapper.updateStaticRule(object);
|
||||
}
|
||||
|
||||
public StaticRuleObject queryStaticRuleById(Integer id) {
|
||||
return staticRuleMapper.queryStaticRuleById(id);
|
||||
}
|
||||
|
||||
/*
|
||||
分页查询
|
||||
*/
|
||||
public List<StaticRuleObject> queryStaticRule(String static_rule_name, Integer static_rule_id, Integer page, Integer pageSize) {
|
||||
|
||||
return staticRuleMapper.queryStaticRule(static_rule_name,static_rule_id,page,pageSize);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,77 @@
|
||||
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
||||
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
||||
#{object.staticRuleRange}, #{object.staticRuleFrequency}, #{object.staticRuleProtectLevel},
|
||||
#{object.staticAuditStatus})
|
||||
#{object.staticRuleAuditStatus})
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
<update id="updateStaticRule">
|
||||
update t_static_rule
|
||||
<set>
|
||||
<if test="staticRuleName != null and staticRuleName != ''">
|
||||
static_rule_name = #{staticRuleName},
|
||||
</if>
|
||||
static_rule_sip = INET_ATON(#{staticRuleSip}),
|
||||
static_rule_msip = INET_ATON(#{staticRuleMsip}),
|
||||
static_rule_sport = #{staticRuleSport},
|
||||
static_rule_msport = #{staticRuleMsport},
|
||||
static_rule_dip = INET_ATON(#{staticRuleDip}),
|
||||
static_rule_mdip = INET_ATON(#{staticRuleMdip}),
|
||||
static_rule_dport = #{staticRuleDport},
|
||||
static_rule_mdport = #{staticRuleMdport},
|
||||
static_rule_protocol = #{staticRuleProtocol},
|
||||
static_rule_mprotocol = #{staticRuleMprotocol},
|
||||
static_rule_dns = #{staticRuleDns},
|
||||
static_rule_url = #{staticRuleURL},
|
||||
<if test="staticRulePriority != null and staticRulePriority != ''">
|
||||
static_rule_priority = #{staticRulePriority},
|
||||
</if>
|
||||
<if test="staticRuleRange != null and staticRuleRange != ''">
|
||||
static_rule_range = #{staticRuleRange},
|
||||
</if>
|
||||
<if test="staticRuleFrequency != null and staticRuleFrequency != ''">
|
||||
static_rule_frequency = #{staticRuleFrequency},
|
||||
</if>
|
||||
<if test="staticRuleProtectLevel != null and staticRuleProtectLevel != ''">
|
||||
static_rule_protect_level = #{staticRuleProtectLevel},
|
||||
</if>
|
||||
</set>
|
||||
where static_rule_id = #{staticRuleId}
|
||||
</update>
|
||||
|
||||
<resultMap id="staticRuleMap" type="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject">
|
||||
<id column="static_rule_id" property="staticRuleId"/>
|
||||
<result column="static_rule_name" property="staticRuleName"/>
|
||||
<result column="static_rule_create_time" property="staticRuleCreateTime"/>
|
||||
<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="static_rule_sip" property="staticRuleSip"/>
|
||||
<result column="static_rule_sport" property="staticRuleSport"/>
|
||||
<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_protocol" property="staticRuleProtocol"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryStaticRule" resultMap="staticRuleMap">
|
||||
SELECT * FROM t_static_rule
|
||||
<where>
|
||||
<if test="static_rule_name != null and static_rule_name != ''">
|
||||
static_rule_name like concat('%', #{static_rule_name}, '%')
|
||||
</if>
|
||||
<if test="static_rule_id != null">
|
||||
AND static_rule_id = #{static_rule_id}
|
||||
</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>
|
||||
|
||||
</mapper>
|
||||
@@ -5,6 +5,8 @@ import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
@@ -16,20 +18,73 @@ public class StaticRuleServiceTest {
|
||||
|
||||
@Test
|
||||
void testNewStaticRule(){
|
||||
Integer i = 0;
|
||||
while(i<20) {
|
||||
i++;
|
||||
StaticRuleObject object = new StaticRuleObject();
|
||||
|
||||
object.setStaticRuleName("test_staticrule");
|
||||
object.setStaticRuleCreateTime(LocalDateTime.now());
|
||||
object.setStaticRuleCreateUsername("boy");
|
||||
object.setStaticRuleCreateDepart("1chu");
|
||||
object.setStaticRuleCreateUserId(22);
|
||||
object.setStaticRulePriority(1);
|
||||
object.setStaticRuleName("test_staticrule" + i);
|
||||
//object.setStaticRuleCreateTime(LocalDateTime.now());
|
||||
object.setStaticRuleCreateUsername("boy" + i);
|
||||
object.setStaticRuleCreateDepart("2chu" + i);
|
||||
object.setStaticRuleCreateUserId(i);
|
||||
object.setStaticRuleSip("1.1.1." + i);
|
||||
object.setStaticRuleSport(i);
|
||||
object.setStaticRuleDip("2.2.3." + i);
|
||||
object.setStaticRulePriority(2);
|
||||
object.setStaticRuleFrequency(1);
|
||||
object.setStaticRuleRange("北京");
|
||||
object.setStaticRuleProtectLevel(2);
|
||||
|
||||
Integer id = staticRuleService.newStaticRuleObject(object);
|
||||
assertTrue(id>0);
|
||||
}
|
||||
//assertTrue(id>0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDeleteStaticRule(){
|
||||
int i = 0;
|
||||
List<Integer> list = new ArrayList<>();
|
||||
list.add(1);
|
||||
while(i<2) {
|
||||
i++;
|
||||
staticRuleService.deleteStaticRule(list);
|
||||
}
|
||||
}
|
||||
@Test
|
||||
void testUpdateStaticRule(){
|
||||
|
||||
StaticRuleObject object = new StaticRuleObject();
|
||||
|
||||
object.setStaticRuleId(5);
|
||||
object.setStaticRuleName("update_staticrule");
|
||||
//object.setStaticRuleCreateTime(LocalDateTime.now());
|
||||
//object.setStaticRuleCreateUsername("csy");
|
||||
//object.setStaticRuleCreateDepart("mmeess");
|
||||
//object.setStaticRuleCreateUserId(1);
|
||||
object.setStaticRuleSip(null);
|
||||
object.setStaticRuleSport(null);
|
||||
object.setStaticRuleDip("2.2.3.100");
|
||||
object.setStaticRulePriority(2);
|
||||
object.setStaticRuleFrequency(1);
|
||||
object.setStaticRuleRange("北京");
|
||||
object.setStaticRuleProtectLevel(2);
|
||||
|
||||
staticRuleService.updateStaticRule(object);
|
||||
}
|
||||
@Test
|
||||
void testQueryStaticRule(){
|
||||
|
||||
StaticRuleObject object = staticRuleService.queryStaticRuleById(7);
|
||||
System.out.println(object);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testQueryStaticRuleList(){
|
||||
|
||||
List<StaticRuleObject> objectList = staticRuleService.queryStaticRule(null,null,1,10);
|
||||
System.out.println(objectList);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user