<?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.ruoyi.cc.mapper.CcConferenceListMapper">
    
    <resultMap type="CcConferenceList" id="CcConferenceListResult">
        <result property="id"    column="id"    />
        <result property="moderator"    column="moderator"    />
        <result property="userId"    column="user_id"    />
        <result property="startTime"    column="start_time"    />
        <result property="endTime"    column="end_time"    />
        <result property="timeLen"    column="time_len"    />
        <result property="confPassword"    column="conf_password"    />
        <result property="maxConcurrency"    column="max_concurrency"    />
        <result property="recordPath"    column="record_path"    />
        <result property="roomNo"    column="room_no"    />
    </resultMap>

    <sql id="selectCcConferenceListVo">
        select id, moderator, user_id, start_time, end_time, time_len, conf_password, max_concurrency, record_path, room_no from cc_conference_list
    </sql>

    <select id="selectCcConferenceListList" parameterType="CcConferenceList" resultMap="CcConferenceListResult">
        <include refid="selectCcConferenceListVo"/>
        <where>  
            <if test="moderator != null  and moderator != ''"> and moderator = #{moderator}</if>
            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
            <if test="startTime != null "> and start_time = #{startTime}</if>
            <if test="endTime != null "> and end_time = #{endTime}</if>
            <if test="timeLen != null "> and time_len = #{timeLen}</if>
            <if test="confPassword != null  and confPassword != ''"> and conf_password = #{confPassword}</if>
            <if test="maxConcurrency != null "> and max_concurrency = #{maxConcurrency}</if>
            <if test="recordPath != null  and recordPath != ''"> and record_path = #{recordPath}</if>
            <if test="roomNo != null  and roomNo != ''"> and room_no = #{roomNo}</if>
        </where>
    </select>
    
    <select id="selectCcConferenceListById" parameterType="Long" resultMap="CcConferenceListResult">
        <include refid="selectCcConferenceListVo"/>
        where id = #{id}
    </select>

    <insert id="insertCcConferenceList" parameterType="CcConferenceList">
        insert into cc_conference_list
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="moderator != null and moderator != ''">moderator,</if>
            <if test="userId != null and userId != ''">user_id,</if>
            <if test="startTime != null">start_time,</if>
            <if test="endTime != null">end_time,</if>
            <if test="timeLen != null">time_len,</if>
            <if test="confPassword != null and confPassword != ''">conf_password,</if>
            <if test="maxConcurrency != null">max_concurrency,</if>
            <if test="recordPath != null and recordPath != ''">record_path,</if>
            <if test="roomNo != null and roomNo != ''">room_no,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="moderator != null and moderator != ''">#{moderator},</if>
            <if test="userId != null and userId != ''">#{userId},</if>
            <if test="startTime != null">#{startTime},</if>
            <if test="endTime != null">#{endTime},</if>
            <if test="timeLen != null">#{timeLen},</if>
            <if test="confPassword != null and confPassword != ''">#{confPassword},</if>
            <if test="maxConcurrency != null">#{maxConcurrency},</if>
            <if test="recordPath != null and recordPath != ''">#{recordPath},</if>
            <if test="roomNo != null and roomNo != ''">#{roomNo},</if>
         </trim>
    </insert>

    <update id="updateCcConferenceList" parameterType="CcConferenceList">
        update cc_conference_list
        <trim prefix="SET" suffixOverrides=",">
            <if test="moderator != null and moderator != ''">moderator = #{moderator},</if>
            <if test="userId != null and userId != ''">user_id = #{userId},</if>
            <if test="startTime != null">start_time = #{startTime},</if>
            <if test="endTime != null">end_time = #{endTime},</if>
            <if test="timeLen != null">time_len = #{timeLen},</if>
            <if test="confPassword != null and confPassword != ''">conf_password = #{confPassword},</if>
            <if test="maxConcurrency != null">max_concurrency = #{maxConcurrency},</if>
            <if test="recordPath != null and recordPath != ''">record_path = #{recordPath},</if>
            <if test="roomNo != null and roomNo != ''">room_no = #{roomNo},</if>
        </trim>
        where id = #{id}
    </update>

    <delete id="deleteCcConferenceListById" parameterType="Long">
        delete from cc_conference_list where id = #{id}
    </delete>

    <delete id="deleteCcConferenceListByIds" parameterType="String">
        delete from cc_conference_list where id in 
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

</mapper>