RecipientDao.xml 5.19 KB
<?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.diligrp.mobsite.man.dao.impl.RecipientDaoImpl">
    <resultMap id="RecipientRM" type="com.diligrp.mobsite.man.domain.Recipient">
            <id property="id" column="id"/>
            <result property="pid" column="pid"/>
            <result property="userId" column="user_id"/>
            <result property="userName" column="user_name"/>
            <result property="mobileId" column="mobile_id"/>
            <result property="yn" column="yn"/>
            <result property="created" column="created"/>
            <result property="modified" column="modified"/>
    </resultMap>


	<select id="getById" parameterType="Long" resultMap="RecipientRM">
		<![CDATA[
		SELECT
		    id
		    ,pid
		    ,user_id
		    ,user_name
		    ,mobile_id
		    ,yn
		    ,created
		    ,modified
		FROM T_RECIPIENT

		WHERE id=#{pk}
		and (yn is null or yn = 1)
		]]>
	</select>

	<insert id="save" parameterType="com.diligrp.mobsite.man.domain.Recipient">
        <selectKey keyProperty="id" resultType="long" order="AFTER">
            SELECT LAST_INSERT_ID();
        </selectKey>
		<![CDATA[
		INSERT INTO T_RECIPIENT(
                    pid
                    ,user_id
                    ,user_name
                    ,mobile_id
		) VALUES(
                    #{pid}
                    ,#{userId}
                    ,#{userName}
                    ,#{mobileId}
		)
		]]>
	</insert>

    <update id="update" parameterType="com.diligrp.mobsite.man.domain.Recipient">
    <![CDATA[
            UPDATE T_RECIPIENT set
                        pid=#{pid}
                        ,user_id=#{userId}
                        ,user_name=#{userName}
                        ,mobile_id=#{mobileId}

            where 1=1
            and id = #{id}
            ]]>
    </update>

	<select id="countByCondition" parameterType="Query" resultType="Integer">
		<![CDATA[
		SELECT count(1) FROM T_RECIPIENT where 1=1
		]]>
        <if test="param != null">
            <if test="param.id != null and param.id != ''">
            and id = #{param.id}
            </if>
            <if test="param.pid != null and param.pid != ''">
            and pid = #{param.pid}
            </if>
            <if test="param.userId != null and param.userId != ''">
            and user_id = #{param.userId}
            </if>
            <if test="param.userName != null and param.userName != ''">
            and user_name = #{param.userName}
            </if>
            <if test="param.mobileId != null and param.mobileId != ''">
            and mobile_id = #{param.mobileId}
            </if>
            <![CDATA[
                    and (yn is null or yn = 1)
                    ]]>
            <if test="param.created != null and param.created != ''">
            and created = #{param.created}
            </if>
            <if test="param.modified != null and param.modified != ''">
            and modified = #{param.modified}
            </if>
        </if>
        <if test="args != null">
            <if test="args.marketIds != null and args.marketIds != ''">
                <foreach collection="args.marketIds" item="marketId" open="and (" close=")" separator="or">
                    market_id = #{marketId}
                </foreach>
            </if>
        </if>
	</select>

	<select id="listByCondition" parameterType="Query" resultMap="RecipientRM">
		<![CDATA[
		SELECT
		    id
		    ,pid
		    ,user_id
		    ,user_name
		    ,mobile_id
		    ,yn
		    ,created
		    ,modified
		FROM T_RECIPIENT where 1=1
		]]>
        <if test="param != null">
            <if test="param.id != null and param.id != ''">
                and id = #{param.id}
            </if>
            <if test="param.pid != null and param.pid != ''">
                and pid = #{param.pid}
            </if>
            <if test="param.userId != null and param.userId != ''">
                and user_id = #{param.userId}
            </if>
            <if test="param.userName != null and param.userName != ''">
                and user_name = #{param.userName}
            </if>
            <if test="param.mobileId != null and param.mobileId != ''">
                and mobile_id = #{param.mobileId}
            </if>
            <![CDATA[
            and (yn is null or yn = 1)
            ]]>
            <if test="param.created != null and param.created != ''">
                and created = #{param.created}
            </if>
            <if test="param.modified != null and param.modified != ''">
                and modified = #{param.modified}
            </if>
        </if>
        <if test="args != null">
            <if test="args.marketIds != null and args.marketIds != ''">
                <foreach collection="args.marketIds" item="marketId" open="and (" close=")" separator="or">
                    market_id = #{marketId}
                </foreach>
            </if>
        </if>
        order by id desc
		<![CDATA[
		limit #{startRow},#{pageSize}
		]]>
	</select>


    <update id="deleteById" parameterType="Long">
    <![CDATA[
        update T_RECIPIENT set
        yn = 2
        where 1 = 1
        and id = #{id}
    ]]>
    </update>

</mapper>