Administrator
2025-04-27 ffd170c8219bbf290a87a1b411a518968fce98d4
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) 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)) 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 = likes_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,30 @@
        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>
</mapper>