<?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.smartor.mapper.SvyTopicMapper"> 
 | 
  
 | 
    <resultMap type="com.smartor.domain.SvyTopic" id="SvyTopicResult"> 
 | 
        <result property="topicid" column="topicid"/> 
 | 
        <result property="topictype" column="topictype"/> 
 | 
        <result property="topiccode" column="topiccode"/> 
 | 
        <result property="topic" column="topic"/> 
 | 
        <result property="tag" column="tag"/> 
 | 
        <result property="sort" column="sort"/> 
 | 
        <result property="ismandatory" column="ismandatory"/> 
 | 
        <result property="ishide" column="ishide"/> 
 | 
        <result property="delFlag" column="del_flag"/> 
 | 
        <result property="orgid" column="orgid"/> 
 | 
        <result property="createBy" column="create_by"/> 
 | 
        <result property="createTime" column="create_time"/> 
 | 
        <result property="updateBy" column="update_by"/> 
 | 
        <result property="updateTime" column="update_time"/> 
 | 
        <result property="isupload" column="isupload"/> 
 | 
        <result property="uploadTime" column="upload_time"/> 
 | 
        <result property="guid" column="guid"/> 
 | 
    </resultMap> 
 | 
  
 | 
    <sql id="selectSvyTopicVo"> 
 | 
        select topicid, 
 | 
               topictype, 
 | 
               guid, 
 | 
               topiccode, 
 | 
               topic, 
 | 
               tag, 
 | 
               sort, 
 | 
               ismandatory, 
 | 
               ishide, 
 | 
               del_flag, 
 | 
               orgid, 
 | 
               create_by, 
 | 
               create_time, 
 | 
               update_by, 
 | 
               update_time, 
 | 
               isupload, 
 | 
               upload_time 
 | 
        from svy_topic 
 | 
    </sql> 
 | 
  
 | 
    <select id="selectSvyTopicList" parameterType="com.smartor.domain.SvyTopic" resultMap="SvyTopicResult"> 
 | 
        <include refid="selectSvyTopicVo"/> 
 | 
        <where> 
 | 
            <if test="topictype != null ">and topictype = #{topictype}</if> 
 | 
            <if test="topiccode != null  and topiccode != ''">and topiccode = #{topiccode}</if> 
 | 
            <if test="topic != null  and topic != ''">and topic = #{topic}</if> 
 | 
            <if test="tag != null  and tag != ''">and tag = #{tag}</if> 
 | 
            <if test="sort != null ">and sort = #{sort}</if> 
 | 
            <if test="ismandatory != null ">and ismandatory = #{ismandatory}</if> 
 | 
            <if test="ishide != null ">and ishide = #{ishide}</if> 
 | 
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if> 
 | 
            <if test="isupload != null ">and isupload = #{isupload}</if> 
 | 
            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <select id="selectSvyTopicByTopicid" parameterType="Long" resultMap="SvyTopicResult"> 
 | 
        <include refid="selectSvyTopicVo"/> 
 | 
        where topicid = #{topicid} 
 | 
    </select> 
 | 
  
 | 
    <insert id="insertSvyTopic" parameterType="com.smartor.domain.SvyTopic" useGeneratedKeys="true" 
 | 
            keyProperty="topicid"> 
 | 
        insert into svy_topic 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
            <if test="topictype != null">topictype,</if> 
 | 
            <if test="topiccode != null and topiccode != ''">topiccode,</if> 
 | 
            <if test="topic != null">topic,</if> 
 | 
            <if test="tag != null">tag,</if> 
 | 
            <if test="sort != null">sort,</if> 
 | 
            <if test="ismandatory != null">ismandatory,</if> 
 | 
            <if test="ishide != null">ishide,</if> 
 | 
            <if test="delFlag != null and delFlag != ''">del_flag,</if> 
 | 
            <if test="orgid != null">orgid,</if> 
 | 
            <if test="createBy != null">create_by,</if> 
 | 
            <if test="createTime != null">create_time,</if> 
 | 
            <if test="updateBy != null">update_by,</if> 
 | 
            <if test="updateTime != null">update_time,</if> 
 | 
            <if test="isupload != null">isupload,</if> 
 | 
            <if test="uploadTime != null">upload_time,</if> 
 | 
            <if test="answer != null">answer,</if> 
 | 
            <if test="guid != null">guid,</if> 
 | 
        </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
            <if test="topictype != null">#{topictype},</if> 
 | 
            <if test="topiccode != null and topiccode != ''">#{topiccode},</if> 
 | 
            <if test="topic != null">#{topic},</if> 
 | 
            <if test="tag != null">#{tag},</if> 
 | 
            <if test="sort != null">#{sort},</if> 
 | 
            <if test="ismandatory != null">#{ismandatory},</if> 
 | 
            <if test="ishide != null">#{ishide},</if> 
 | 
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if> 
 | 
            <if test="orgid != null">#{orgid},</if> 
 | 
            <if test="createBy != null">#{createBy},</if> 
 | 
            <if test="createTime != null">#{createTime},</if> 
 | 
            <if test="updateBy != null">#{updateBy},</if> 
 | 
            <if test="updateTime != null">#{updateTime},</if> 
 | 
            <if test="isupload != null">#{isupload},</if> 
 | 
            <if test="uploadTime != null">#{uploadTime},</if> 
 | 
            <if test="answer != null">#{answer},</if> 
 | 
            <if test="guid != null">#{guid},</if> 
 | 
        </trim> 
 | 
    </insert> 
 | 
  
 | 
    <update id="updateSvyTopic" parameterType="com.smartor.domain.SvyTopic"> 
 | 
        update svy_topic 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            <if test="topictype != null">topictype = #{topictype},</if> 
 | 
            <if test="topiccode != null and topiccode != ''">topiccode = #{topiccode},</if> 
 | 
            <if test="topic != null">topic = #{topic},</if> 
 | 
            <if test="tag != null">tag = #{tag},</if> 
 | 
            <if test="sort != null">sort = #{sort},</if> 
 | 
            <if test="ismandatory != null">ismandatory = #{ismandatory},</if> 
 | 
            <if test="ishide != null">ishide = #{ishide},</if> 
 | 
            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if> 
 | 
            <if test="orgid != null">orgid = #{orgid},</if> 
 | 
            <if test="createBy != null">create_by = #{createBy},</if> 
 | 
            <if test="createTime != null">create_time = #{createTime},</if> 
 | 
            <if test="updateBy != null">update_by = #{updateBy},</if> 
 | 
            <if test="updateTime != null">update_time = #{updateTime},</if> 
 | 
            <if test="isupload != null">isupload = #{isupload},</if> 
 | 
            <if test="uploadTime != null">upload_time = #{uploadTime},</if> 
 | 
            <if test="guid != null">guid = #{guid},</if> 
 | 
        </trim> 
 | 
        where topicid = #{topicid} 
 | 
    </update> 
 | 
  
 | 
    <delete id="deleteSvyTopicByTopicid" parameterType="Long"> 
 | 
        delete 
 | 
        from svy_topic 
 | 
        where topicid = #{topicid} 
 | 
    </delete> 
 | 
  
 | 
    <delete id="deleteSvyTopicByTopicids" parameterType="String"> 
 | 
        delete from svy_topic where topicid in 
 | 
        <foreach item="topicid" collection="array" open="(" separator="," close=")"> 
 | 
            #{topicid} 
 | 
        </foreach> 
 | 
    </delete> 
 | 
  
 | 
    <select id="showTopic" resultType="com.smartor.domain.SvyLibTopicAndOptionRes" 
 | 
            parameterType="com.smartor.domain.SvyTopicReq"> 
 | 
        SELECT a.topicid, a.topiccode, a.topic, a.topictype, a.tag, b.optioncode, b.optioncontent 
 | 
        FROM svy_topic a, 
 | 
        svy_topicoption b 
 | 
        WHERE a.topicid = b.topicid 
 | 
        <if test="topic != null and topic != ''"> 
 | 
            and a.topic LIKE concat('%', #{topic}, '%') 
 | 
        </if> 
 | 
        <if test="topicType != null and topicType != ''"> 
 | 
            and a.topictype = #{topicType} 
 | 
        </if> 
 | 
        <if test="tag != null and tag != ''"> 
 | 
            and a.tag LIKE concat('%', #{tag}, '%') 
 | 
        </if> 
 | 
        GROUP BY a.topic, b.optioncode 
 | 
    </select> 
 | 
  
 | 
</mapper> 
 |