Administrator
3 days ago 267c06a5864bb617b1ff0ea82210346bf5573f5f
src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -11,7 +11,7 @@
            a.type,
            a.name,
            a.state,
            a.join_cnt,
            (select count(z.id) from happy_follow z where z.source_id = a.id AND z.type IN (2, 3, 4)) as join_cnt,
            a.start_time,
            a.end_time
        from happy_activity a
@@ -30,7 +30,13 @@
                </if>
            </if>
        </where>
        order by a.order_cnt asc, a.id desc
        <if test="record.hotState != null">
            order by (select count(y.id) from happy_follow y where y.source_id = a.id and type in (2, 3, 4)) desc,a.order_cnt asc
        </if>
        <if test="record.hotState == null">
            order by a.order_cnt asc,a.id desc
        </if>
    </select>
    <select id="getVoteRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiVoteRecordInPageVo">
@@ -49,17 +55,33 @@
        update happy_activity_option set likes_cnt = likes_cnt + 1 where id = #{id}
    </update>
    <update id="updateHappyActivitySurplusCnt" >
        update happy_activity set surplus_cnt = surplus_cnt + #{cnt} where id = #{id}
    </update>
    <select id="getVoteOptionInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo">
        select
            a.id as id,
            a.order_cnt as orderCnt,
            a.option_name as optionName,
            a.image as image,
            a.likes_cnt as likesCnt
        from happy_activity_option a
        where
            a.state = 1
          and a.activity_id = #{record.activityId}
          and a.DELETE_FLAG = 1
        <where>
            and a.state = 1
            and a.activity_id = #{record.activityId}
            and a.DELETE_FLAG = 0
            <if test="record != null">
                <if test="record.query != null and record.query != ''">
                    and (
                    a.option_name like CONCAT('%', CONCAT(#{record.query}, '%'))
                    or
                    a.order_cnt = #{record.query}
                    )
                </if>
            </if>
        </where>
        order by a.order_cnt asc
    </select>
@@ -88,4 +110,71 @@
        order by a.id desc
    </select>
    <select id="getVoteOptionRecordInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo">
        select
        a.id as id,
        a.option_name as optionName,
        a.image as image,
        a.likes_cnt as likesCnt
        from happy_activity_option a
        <where>
            and a.state = 1
            and a.activity_id = #{record.activityId}
            and a.DELETE_FLAG = 0
            <if test="record != null">
                <if test="record.query != null and record.query != ''">
                    and (
                    a.option_name like CONCAT('%', CONCAT(#{record.query}, '%'))
                    or
                    a.order_cnt = #{record.query}
                    )
                </if>
            </if>
        </where>
        order by a.likes_cnt desc
    </select>
    <select id="selectActivityCommentPage" resultType="cc.mrbird.febs.mall.vo.activity.ApiActivityCommentVo">
        select
        a.*,
        b.name name,
        b.avatar avatar
        from happy_activity_comment a
        left join mall_member b on b.id = a.member_id
        <where>
            <if test="record != null">
                <if test="record.activityId != null and record.activityId != ''">
                    and a.activity_id = #{record.activityId}
                </if>
                <if test="record.commentType != null and record.commentType != '' and record.commentType == 1">
                    and a.star <![CDATA[ > ]]> 4
                </if>
                <if test="record.commentType != null and record.commentType != '' and record.commentType == 2">
                    and (a.star <![CDATA[ >= ]]> 3 and a.star <![CDATA[ <= ]]> 4)
                </if>
                <if test="record.commentType != null and record.commentType != '' and record.commentType == 3">
                    and (a.star <![CDATA[ < ]]> 3 )
                </if>
            </if>
        </where>
        group by a.id
        order by a.created_time desc
    </select>
    <select id="getCommentListInPage" resultType="cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo">
        select
               a.*,
                b.name memberName,
                c.order_no orderNo
        from happy_activity_comment a
        left join mall_member b on a.member_id = b.id
        left join happy_activity_order c on a.order_id = c.id
        where a.activity_id = #{record.activityId}
        order by a.created_time desc
    </select>
</mapper>