241 lines
12 KiB
XML
241 lines
12 KiB
XML
<?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, template_id, dynamic_rule_protect_level,
|
||
dynamic_rule_priority, dynamic_rule_range,
|
||
dynamic_rule_frequency, dynamic_rule_create_user_id)
|
||
values (#{object.dynamicRuleName},
|
||
NOW(), #{object.dynamicRuleModifyTime},
|
||
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
|
||
#{object.templateId}, #{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, template_id, dynamic_rule_protect_level,
|
||
dynamic_rule_priority, dynamic_rule_range,
|
||
dynamic_rule_frequency, dynamic_rule_create_user_id
|
||
)
|
||
values
|
||
<foreach collection="dynamicRuleObjects" item="object" separator=",">
|
||
(#{object.dynamicRuleName},
|
||
NOW(),#{object.dynamicRuleModifyTime},
|
||
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
|
||
#{object.templateId}, #{object.dynamicRuleProtectLevel},
|
||
#{object.dynamicRulePriority}, #{object.dynamicRuleRange},
|
||
#{object.dynamicRuleFrequency},
|
||
#{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删除-->
|
||
<!-- # 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.templateId != null">template_id = #{object.templateId},</if>
|
||
<if test="object.dynamicRuleProtectLevel != null">dynamic_rule_protect_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>
|
||
modify_time = NOW()
|
||
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="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="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
|
||
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="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">
|
||
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
||
</if>
|
||
<if test="dynamicRuleId != null">
|
||
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}
|
||
</select>
|
||
|
||
|
||
<resultMap id="templateMap" type="com.realtime.protection.configuration.entity.defense.template.Template">
|
||
<id column="strategy_template_id" property="templateId"/>
|
||
<result column="strategy_template_name" property="templateName"/>
|
||
<result column="strategy_template_source_system" property="sourceSystem"/>
|
||
</resultMap>
|
||
|
||
<select id="queryTemplateByRuleId" resultMap="templateMap">
|
||
select *
|
||
from t_strategy_template
|
||
inner join t_dynamic_rule
|
||
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>
|
||
<select id="queryDynamicRuleTotalNum" resultType="java.lang.Integer">
|
||
SELECT COUNT(*)
|
||
FROM t_dynamic_rule
|
||
<where>
|
||
<if test="dynamicRuleName != null">
|
||
t_dynamic_rule.dynamic_rule_name like concat('%', #{dynamicRuleName}, '%')
|
||
</if>
|
||
<if test="dynamicRuleId != null">
|
||
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>
|
||
</select>
|
||
<select id="queryDynamicRuleByIds"
|
||
resultMap="dynamicRulePageQueryMap">
|
||
select *
|
||
from t_dynamic_rule
|
||
left join t_strategy_template
|
||
on t_dynamic_rule.template_id = t_strategy_template.strategy_template_id
|
||
where dynamic_rule_id in
|
||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||
#{id}
|
||
</foreach>
|
||
|
||
</select>
|
||
|
||
|
||
</mapper> |