Files
auto-solution/auto-solution-rule/src/main/resources/mapper/rule/RuleMapper.xml
2026-03-14 14:30:52 +08:00

97 lines
3.8 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.solution.rule.mapper.RuleMapper">
<resultMap id="RuleResult" type="com.solution.rule.domain.Rule">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="sceneType" column="scene_type"/>
<result property="conditions" column="conditions"/>
<result property="actions" column="actions"/>
<result property="priority" column="priority"/>
<result property="enabled" column="enabled"/>
<result property="createdTime" column="created_time"/>
<result property="updatedTime" column="updated_time"/>
</resultMap>
<sql id="selectRuleVo">
select id, name, scene_type, conditions, actions, priority, enabled, created_time, updated_time
from rule
</sql>
<select id="selectRuleById" parameterType="Integer" resultMap="RuleResult">
<include refid="selectRuleVo"/>
where id = #{id}
</select>
<select id="selectRuleList" parameterType="com.solution.rule.domain.Rule" resultMap="RuleResult">
<include refid="selectRuleVo"/>
<where>
<if test="name != null and name != ''">
AND name like concat('%', #{name}, '%')
</if>
<if test="sceneType != null">
AND scene_type = #{sceneType}
</if>
<if test="enabled != null">
AND enabled = #{enabled}
</if>
</where>
</select>
<insert id="insertRule" parameterType="com.solution.rule.domain.Rule" useGeneratedKeys="true" keyProperty="id">
insert into rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">name,</if>
<if test="sceneType != null">scene_type,</if>
<if test="conditions != null">conditions,</if>
<if test="actions != null">actions,</if>
<if test="priority != null">priority,</if>
<if test="enabled != null">enabled,</if>
created_time,
updated_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">#{name},</if>
<if test="sceneType != null">#{sceneType},</if>
<if test="conditions != null">#{conditions},</if>
<if test="actions != null">#{actions},</if>
<if test="priority != null">#{priority},</if>
<if test="enabled != null">#{enabled},</if>
now(),
now()
</trim>
</insert>
<update id="updateRule" parameterType="com.solution.rule.domain.Rule">
update rule
<set>
<if test="name != null and name != ''">name = #{name},</if>
<if test="sceneType != null">scene_type = #{sceneType},</if>
<if test="conditions != null">conditions = #{conditions},</if>
<if test="actions != null">actions = #{actions},</if>
<if test="priority != null">priority = #{priority},</if>
<if test="enabled != null">enabled = #{enabled},</if>
updated_time = now()
</set>
where id = #{id}
</update>
<delete id="deleteRuleById" parameterType="Integer">
delete from rule where id = #{id}
</delete>
<!--<delete id="deleteRuleByIds" parameterType="String">
delete from rule where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>-->
<delete id="deleteRuleByIds">
delete from rule where id in
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>