26-03-14-14:30 规则CRUD
This commit is contained in:
@@ -1,66 +1,97 @@
|
||||
<?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">
|
||||
<!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="platformComponentCountMap" type="com.solution.rule.domain.vo.WeaponModelVO">
|
||||
<result property="platformName" column="platform_name"/>
|
||||
<result property="componentName" column="component_name"/>
|
||||
<result property="count" column="count"/>
|
||||
<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>
|
||||
|
||||
<resultMap id="PlatformComponentNamesVOResultMap" type="com.solution.rule.domain.vo.PlatformComponentNamesVO">
|
||||
<result property="platformName" column="platformName"/>
|
||||
<collection property="componentNames" ofType="java.lang.String">
|
||||
<result column="componentName"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<select id="getWeapon" resultMap="platformComponentCountMap">
|
||||
SELECT
|
||||
p.name AS platform_name,
|
||||
pc.name AS component_name,
|
||||
COUNT(pc.name) AS count
|
||||
FROM platform p
|
||||
LEFT JOIN platform_component pc ON p.id = pc.platform_id
|
||||
GROUP BY p.id, p.name, pc.name
|
||||
ORDER BY p.id, pc.name
|
||||
<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="getPlatformComponentNames" resultType="com.solution.rule.domain.vo.WeaponModelVO">
|
||||
SELECT DISTINCT
|
||||
p.name AS platformName,
|
||||
pc.name AS componentName
|
||||
FROM platform p
|
||||
INNER JOIN platform_component pc ON p.id = pc.platform_id
|
||||
WHERE pc.name IS NOT NULL
|
||||
ORDER BY p.name, pc.name
|
||||
<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>
|
||||
|
||||
<select id="getModuleAndCount" resultType="com.solution.rule.domain.vo.ComponentCountVO">
|
||||
SELECT
|
||||
name AS componentName,
|
||||
COUNT(*) AS count
|
||||
FROM platform_component
|
||||
WHERE name IS NOT NULL
|
||||
GROUP BY name
|
||||
ORDER BY count DESC;
|
||||
</select>
|
||||
<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>
|
||||
|
||||
<select id="getCommPlatformComponentNames" resultMap="PlatformComponentNamesVOResultMap"
|
||||
parameterType="java.lang.Integer">
|
||||
SELECT
|
||||
p.name AS platformName,
|
||||
pc.name AS componentName
|
||||
FROM platform p
|
||||
INNER JOIN platform_component pc ON p.id = pc.platform_id
|
||||
WHERE pc.type = "comm"
|
||||
AND p.scenario_id = #{scenarioId}
|
||||
</select>
|
||||
<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>
|
||||
Reference in New Issue
Block a user