1、DynamicRule实现新增、删除、修改、id查询、分页查询功能。并在crud时与ProtectObject关联。
2、StaticRule添加批量导入、模板文件下载功能,使用sqlSessionWrapper重写批量删除 3、WhiteList添加模板文件下载功能
This commit is contained in:
158
src/main/resources/mappers/DynamicRuleMapper.xml
Normal file
158
src/main/resources/mappers/DynamicRuleMapper.xml
Normal file
@@ -0,0 +1,158 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.realtime.protection.server.rule.dynamicrule.DynamicRuleMapper">
|
||||
|
||||
<!-- useGeneratedKeys="true": 这个属性指定了是否要获取数据库生成的主键。如果设置为true,MyBatis会使用JDBC的getGeneratedKeys方法来获取由数据库自动生成的主键。-->
|
||||
<!-- keyProperty="id": 这个属性指定了要将生成的主键赋值给哪个属性。在这个例子中,生成的主键将被赋值给名为id的属性。-->
|
||||
<insert id="newDynamicRule" useGeneratedKeys="true" keyProperty="dynamicRuleId">
|
||||
|
||||
insert into t_dynamic_rule
|
||||
(dynamic_rule_name,
|
||||
create_time, modify_time, dynamic_rule_create_username,
|
||||
dynamic_rule_create_depart, dynamic_rule_source_system,
|
||||
dynamic_rule_event_type, dynamic_rule_protec_level,
|
||||
dynamic_rule_priority, dynamic_rule_range,
|
||||
dynamic_rule_frequency, dynamic_rule_create_user_id)
|
||||
values
|
||||
(#{object.dynamicRuleName},
|
||||
#{object.dynamicRuleCreateTime},#{object.dynamicRuleModifyTime},
|
||||
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
|
||||
#{object.dynamicRuleSourceSystem},
|
||||
#{object.dynamicRuleEventType}, #{object.dynamicRuleProtectLevel},
|
||||
#{object.dynamicRulePriority}, #{object.dynamicRuleRange},
|
||||
#{object.dynamicRuleFrequency},
|
||||
#{object.dynamicRuleCreateUserId})
|
||||
|
||||
</insert>
|
||||
|
||||
<insert id="newDynamicRulProtectObjectConcat">
|
||||
insert into
|
||||
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,
|
||||
create_time, modify_time, dynamic_rule_create_username,
|
||||
dynamic_rule_create_depart, dynamic_rule_source_system,
|
||||
dynamic_rule_event_type, dynamic_rule_protec_level,
|
||||
dynamic_rule_priority, dynamic_rule_range,
|
||||
dynamic_rule_frequency, dynamic_rule_create_user_id
|
||||
)
|
||||
values
|
||||
<foreach collection="dynamicRuleObjects" item="object" separator=",">
|
||||
(#{object.dynamicRuleName},
|
||||
#{object.dynamicRuleCreateTime},#{object.dynamicRuleModifyTime},
|
||||
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
|
||||
#{object.dynamicRuleSourceSystem},
|
||||
#{object.dynamicRuleEventType}, #{object.dynamicRuleProtectLevel},
|
||||
#{object.dynamicRulePriority}, #{object.dynamicRuleRange},
|
||||
#{object.dynamicRuleFrequency},
|
||||
#{object.dynamicRuleCreateUserId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- join删除-->
|
||||
<!-- # delete t_dynamic_rule, t_protect_object_dynamic_rule_conn-->
|
||||
<!-- # from t_dynamic_rule-->
|
||||
<!-- # inner join t_protect_object_dynamic_rule_conn-->
|
||||
<!-- # on t_dynamic_rule.dynamic_rule_id = t_protect_object_dynamic_rule_conn.dynamic_rule_id-->
|
||||
<!-- # where t_dynamic_rule.dynamic_rule_id = #{dynamicRuleId}-->
|
||||
<delete id="deleteDynamicRuleObject">
|
||||
delete from t_dynamic_rule
|
||||
where dynamic_rule_id = #{dynamicRuleId}
|
||||
</delete>
|
||||
<!-- 用于update时删去之前的关联-->
|
||||
<delete id="deleteDynamicRuleProtectObjectConcat">
|
||||
delete from t_protect_object_dynamic_rule_conn
|
||||
where dynamic_rule_id = #{dynamicRuleId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteDynamicRules">
|
||||
delete from t_dynamic_rule
|
||||
where dynamic_rule_id in
|
||||
<foreach collection="dynamicRuleIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<update id="updateDynamicRuleObject">
|
||||
update t_dynamic_rule
|
||||
set
|
||||
<if test="object.dynamicRuleName != null"> dynamic_rule_name = #{object.dynamicRuleName},</if>
|
||||
<if test="object.dynamicRuleModifyTime != null"> modify_time = #{object.dynamicRuleModifyTime},</if>
|
||||
<if test="object.dynamicRuleSourceSystem != null"> dynamic_rule_source_system = #{object.dynamicRuleSourceSystem},</if>
|
||||
<if test="object.dynamicRuleEventType != null"> dynamic_rule_event_type = #{object.dynamicRuleEventType},</if>
|
||||
<if test="object.dynamicRuleProtectLevel != null"> dynamic_rule_protec_level = #{object.dynamicRuleProtectLevel},</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>
|
||||
where
|
||||
dynamic_rule_id = #{dynamicRuleId}
|
||||
</update>
|
||||
|
||||
|
||||
<resultMap id="dynamicRuleMap" 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="modify_time" property="dynamicRuleModifyTime"/>
|
||||
<result column="dynamic_rule_create_username" property="dynamicRuleCreateUsername"/>
|
||||
<result column="dynamic_rule_create_depart" property="dynamicRuleCreateDepart"/>
|
||||
<result column="dynamic_rule_source_system" property="dynamicRuleSourceSystem"/>
|
||||
<result column="dynamic_rule_event_type" property="dynamicRuleEventType"/>
|
||||
<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="dynamic_rule_create_user_id" property="dynamicRuleCreateUserId"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryDynamicRuleById" resultMap="dynamicRuleMap">
|
||||
select *
|
||||
from t_dynamic_rule dynamicRule
|
||||
where dynamicRule.dynamic_rule_id = #{dynamicRuleId}
|
||||
|
||||
</select>
|
||||
|
||||
<resultMap id="protectObjectMap" type="com.realtime.protection.configuration.entity.defense.object.ProtectObject">
|
||||
<id column="protect_object_id" property="protectObjectId"/>
|
||||
<result column="protect_object_name" property="protectObjectName"/>
|
||||
<result column="protect_object_system_name" property="protectObjectSystemName"/>
|
||||
<result column="protect_object_ip" property="protectObjectIPAddress"/>
|
||||
<result column="protect_object_port" property="protectObjectPort"/>
|
||||
<result column="protect_object_url" property="protectObjectURL"/>
|
||||
<result column="protect_object_protocol" property="protectObjectProtocol"/>
|
||||
<result column="protect_object_audit_status" property="protectObjectAuditStatus"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryProtectObjectByRuleId"
|
||||
resultMap="protectObjectMap">
|
||||
select t_protect_object.*
|
||||
from t_protect_object
|
||||
inner join t_protect_object_dynamic_rule_conn
|
||||
on t_protect_object.protect_object_id = t_protect_object_dynamic_rule_conn.protect_object_id
|
||||
where t_protect_object_dynamic_rule_conn.dynamic_rule_id = #{dynamicRuleId}
|
||||
</select>
|
||||
|
||||
<select id="queryDynamicRuleObject"
|
||||
resultMap="dynamicRuleMap">
|
||||
select *
|
||||
from t_dynamic_rule
|
||||
<where>
|
||||
<if test="dynamicRuleName != null">
|
||||
dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
||||
</if>
|
||||
<if test="dynamicRuleId != null">
|
||||
and dynamic_rule_id = #{dynamicRuleId}
|
||||
</if>
|
||||
</where>
|
||||
LIMIT ${(page - 1) * pageSize}, #{pageSize}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -14,17 +14,37 @@
|
||||
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
|
||||
static_rule_protocol, static_rule_mprotocol, static_rule_dns,
|
||||
static_rule_url, static_rule_priority, static_rule_range,
|
||||
static_rule_frequency, static_rule_protect_level, static_rule_audit_status)
|
||||
static_rule_frequency, static_rule_audit_status)
|
||||
values (#{object.staticRuleName}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername},
|
||||
#{object.staticRuleCreateDepart}, #{object.staticRuleCreateUserId}, INET_ATON(#{object.staticRuleSip}),
|
||||
INET_ATON(#{object.staticRuleMsip}), #{object.staticRuleSport}, #{object.staticRuleMsport},
|
||||
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
|
||||
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
||||
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
||||
#{object.staticRuleRange}, #{object.staticRuleFrequency}, #{object.staticRuleProtectLevel},
|
||||
#{object.staticRuleRange}, #{object.staticRuleFrequency},
|
||||
#{object.staticRuleAuditStatus})
|
||||
</insert>
|
||||
|
||||
<insert id="newStaticRules">
|
||||
insert into t_static_rule(static_rule_name, static_rule_create_time,
|
||||
static_rule_create_username, static_rule_create_depart,
|
||||
static_rule_create_user_id, static_rule_sip, static_rule_msip,
|
||||
static_rule_sport, static_rule_msport,
|
||||
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
|
||||
static_rule_protocol, static_rule_mprotocol, static_rule_dns,
|
||||
static_rule_url, static_rule_priority, static_rule_range,
|
||||
static_rule_frequency, static_rule_audit_status)
|
||||
values
|
||||
<foreach collection="staticRuleBatch" item="object" separator=",">
|
||||
(#{object.staticRuleName}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername},
|
||||
#{object.staticRuleCreateDepart}, #{object.staticRuleCreateUserId}, INET_ATON(#{object.staticRuleSip}),
|
||||
INET_ATON(#{object.staticRuleMsip}), #{object.staticRuleSport}, #{object.staticRuleMsport},
|
||||
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
|
||||
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
|
||||
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
|
||||
#{object.staticRuleRange}, #{object.staticRuleFrequency},
|
||||
0)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateStaticRule">
|
||||
@@ -54,12 +74,13 @@
|
||||
<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>
|
||||
<delete id="deleteStaticRules">
|
||||
|
||||
</delete>
|
||||
|
||||
<resultMap id="staticRuleMap" type="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject">
|
||||
<id column="static_rule_id" property="staticRuleId"/>
|
||||
|
||||
Reference in New Issue
Block a user