PromotionActivityMapper.xml 5.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
<?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="cn.iocoder.mall.promotion.biz.dao.PromotionActivityMapper">

    <sql id="FIELDS">
        id, title, activity_type, status, start_time,
        end_time, invalid_time, delete_time, time_limited_discount, full_privilege,
        create_time, update_time
    </sql>

    <resultMap id="PromotionActivityResultMap" type="PromotionActivityDO">
12 13
        <result property="timeLimitedDiscount" column="time_limited_discount" javaType="cn.iocoder.mall.promotion.biz.dataobject.PromotionActivityDO$TimeLimitedDiscount" typeHandler="cn.iocoder.mall.mybatis.type.JSONTypeHandler"/>
        <result property="fullPrivilege" column="full_privilege" javaType="cn.iocoder.mall.promotion.biz.dataobject.PromotionActivityDO$FullPrivilege" typeHandler="cn.iocoder.mall.mybatis.type.JSONTypeHandler"/>
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
    </resultMap>

<!--    <select id="selectListByPidAndStatusOrderBySort" resultType="PromotionActivityDO">-->
<!--        SELECT-->
<!--            <include refid="FIELDS" />-->
<!--        FROM banner-->
<!--        WHERE pid = #{pid}-->
<!--        AND status = #{status}-->
<!--        AND deleted = 0-->
<!--        ORDER BY sort ASC-->
<!--    </select>-->

<!--    <select id="selectList" resultType="PromotionActivityDO">-->
<!--        SELECT-->
<!--          <include refid="FIELDS" />-->
<!--        FROM banner-->
<!--        WHERE deleted = 0-->
<!--    </select>-->

    <select id="selectById" parameterType="Integer" resultMap="PromotionActivityResultMap">
        SELECT
            <include refid="FIELDS" />
        FROM promotion_activity
        WHERE id = #{id}
    </select>

    <select id="selectListByStatus" resultMap="PromotionActivityResultMap">
        SELECT
            <include refid="FIELDS" />
        FROM promotion_activity
        WHERE status IN
            <foreach item="status" collection="statuses" separator="," open="(" close=")" index="">
                #{status}
            </foreach>
    </select>

<!--    <select id="selectListByStatus" parameterType="Integer" resultType="PromotionActivityDO">-->
<!--        SELECT-->
<!--            <include refid="FIELDS" />-->
<!--        FROM banner-->
<!--        <where>-->
<!--            <if test="status != null">-->
<!--                status = #{status}-->
<!--            </if>-->
<!--            AND deleted = 0-->
<!--        </where>-->
<!--    </select>-->

62 63 64 65 66 67 68 69 70 71 72 73 74 75
    <select id="selectListByPage" resultMap="PromotionActivityResultMap">
        SELECT
            <include refid="FIELDS" />
        FROM promotion_activity
        WHERE activity_type = #{activityType}
        <if test="title != null">
            AND title LIKE "%"#{title}"%"
        </if>
        AND status IN
        <foreach item="status" collection="statuses" separator="," open="(" close=")" index="">
            #{status}
        </foreach>
        LIMIT #{offset}, #{limit}
    </select>
76

77 78 79 80 81 82 83 84 85 86 87 88 89
    <select id="selectCountByPage" resultType="Integer">
        SELECT
          COUNT(1)
        FROM promotion_activity
        WHERE activity_type = #{activityType}
        <if test="title != null">
            AND title LIKE "%"#{title}"%"
        </if>
        AND status IN
        <foreach item="status" collection="statuses" separator="," open="(" close=")" index="">
            #{status}
        </foreach>
    </select>
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

    <insert id="insert" parameterType="PromotionActivityDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
        INSERT INTO promotion_activity (
          title, activity_type, status, start_time,
          end_time, invalid_time, delete_time,
          time_limited_discount,
          full_privilege,
          create_time
        ) VALUES (
          #{title}, #{activityType}, #{status}, #{startTime},
          #{endTime}, #{invalidTime}, #{deleteTime},
          #{timeLimitedDiscount, typeHandler=cn.iocoder.common.framework.mybatis.JSONTypeHandler},
          #{fullPrivilege, typeHandler=cn.iocoder.common.framework.mybatis.JSONTypeHandler},
          #{createTime}
        )
    </insert>

<!--    <update id="update" parameterType="PromotionActivityDO">-->
<!--        UPDATE banner-->
<!--        <set>-->
<!--            <if test="title != null">-->
<!--                title = #{title},-->
<!--            </if>-->
<!--            <if test="url != null">-->
<!--                url = #{url},-->
<!--            </if>-->
<!--            <if test="picUrl != null">-->
<!--                pic_url = #{picUrl} ,-->
<!--            </if>-->
<!--            <if test="sort != null">-->
<!--                sort = #{sort},-->
<!--            </if>-->
<!--            <if test="status != null">-->
<!--                status = #{status},-->
<!--            </if>-->
<!--            <if test="memo != null">-->
<!--                memo = #{memo},-->
<!--            </if>-->
<!--            <if test="deleted != null">-->
<!--                deleted = #{deleted}-->
<!--            </if>-->
<!--        </set>-->
<!--        WHERE id = #{id}-->
<!--    </update>-->

</mapper>