Administrator
3 days ago 267c06a5864bb617b1ff0ea82210346bf5573f5f
src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -5,11 +5,13 @@
    <select id="selectActivityPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityInfoVo">
        select
            a.id,
            a.address,
            a.index_img,
            a.code,
            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
@@ -28,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">
@@ -47,18 +55,126 @@
        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>
    <select id="selectOrderInPage" resultType="cc.mrbird.febs.mall.entity.HappyActivityOrder">
        select
        a.*,
               b.name as name,
               c.name as activityName
        from happy_activity_order a
        left join mall_member b on a.member_id = b.id
        left join happy_activity c on a.activity_id = c.id
        <where>
            and a.DELETE_FLAG = 0
            <if test="record != null">
                <if test="record.name != null and record.name != ''">
                    and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
                </if>
                <if test="record.state != null">
                    and a.state=#{record.state}
                </if>
                <if test="record.activityId != null">
                    and a.activity_id=#{record.activityId}
                </if>
            </if>
        </where>
        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>