This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhaoyixiang-realtime-protec…/src/main/resources/mappers/StaticRuleMapper.xml
PushM c6334cee56 1、TaskCommandIndo删去了depart,使用taskCreateDepart,修改mapper也同步使用taskCreateDepart
2、新增静态规则批量审核功能,post请求body为id和auditStatus的Map,入库使用sqlSessionWrapper,test已通过
3、动态任务接收alertmessage,查询DynamicTaskInfos生成command时,新增关联t_strategy_template表,select查询新增查询局点dynamic_rule_range、事件类型strategy_template_name字段
2024-04-17 22:04:29 +08:00

209 lines
11 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.staticrule.StaticRuleMapper">
<insert id="newStaticRuleObject" useGeneratedKeys="true" keyProperty="staticRuleId"
parameterType="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject">
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 (#{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.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}, NOW(), #{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">
update t_static_rule
<set>
<if test="object.staticRuleName != null and object.staticRuleName != ''">
static_rule_name = #{object.staticRuleName},
</if>
static_rule_sip = INET_ATON(#{object.staticRuleSip}),
static_rule_msip = INET_ATON(#{object.staticRuleMsip}),
static_rule_sport = #{object.staticRuleSport},
static_rule_msport = #{object.staticRuleMsport},
static_rule_dip = INET_ATON(#{object.staticRuleDip}),
static_rule_mdip = INET_ATON(#{object.staticRuleMdip}),
static_rule_dport = #{object.staticRuleDport},
static_rule_mdport = #{object.staticRuleMdport},
static_rule_protocol = #{object.staticRuleProtocol},
static_rule_mprotocol = #{object.staticRuleMprotocol},
static_rule_dns = #{object.staticRuleDns},
static_rule_url = #{object.staticRuleURL},
<if test="object.staticRulePriority != null and object.staticRulePriority != ''">
static_rule_priority = #{object.staticRulePriority},
</if>
<if test="object.staticRuleRange != null and object.staticRuleRange != ''">
static_rule_range = #{object.staticRuleRange},
</if>
<if test="object.staticRuleFrequency != null and object.staticRuleFrequency != ''">
static_rule_frequency = #{object.staticRuleFrequency},
</if>
static_rule_modify_time = NOW()
</set>
where static_rule_id = #{id}
</update>
<update id="updateAuditStatusById">
update t_static_rule
set static_rule_audit_status = #{auditStatus}
where static_rule_id = #{id}
</update>
<update id="updateAuditStatusByIdBatch">
update t_static_rule
set static_rule_audit_status = CASE static_rule_id
<foreach collection="idWithAuditStatusBatch" index="id" item="auditStatus" separator=" ">
WHEN #{id} THEN #{auditStatus}
</foreach>
ELSE static_rule_audit_status
END
WHERE static_rule_id IN
<foreach collection="idWithAuditStatusBatch" index="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<delete id="deleteStaticRules">
delete from t_static_rule
where static_rule_id in
<foreach collection="staticRuleIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<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="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_d" property="staticRuleSip"/>
<result column="static_rule_msip_d" property="staticRuleMsip"/>
<result column="static_rule_sport" property="staticRuleSport"/>
<result column="static_rule_msport" property="staticRuleMsport"/>
<result column="static_rule_dip_d" property="staticRuleDip"/>
<result column="static_rule_mdip_d" 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 *,
INET_NTOA(static_rule_sip) as static_rule_sip_d,
INET_NTOA(static_rule_msip) as static_rule_msip_d,
INET_NTOA(static_rule_dip) as static_rule_dip_d,
INET_NTOA(static_rule_mdip) as static_rule_mdip_d
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}, '%')
</if>
<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
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}
</select>
<select id="queryStaticRuleTotalNum" resultType="java.lang.Integer">
SELECT COUNT(*)
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>
<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>
</select>
<select id="queryStaticRuleByIds"
resultMap="staticRuleMap">
SELECT *,
INET_NTOA(static_rule_sip) as static_rule_sip_d,
INET_NTOA(static_rule_msip) as static_rule_msip_d,
INET_NTOA(static_rule_dip) as static_rule_dip_d,
INET_NTOA(static_rule_mdip) as static_rule_mdip_d
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 in
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>