Administrator
2025-05-15 1fc8fde81cbf79ebe95e927f9099cf94c2ccc6e5
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">
@@ -47,6 +53,11 @@
    <update id="updateHappyActivityOptionLikeCnt" >
        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">
@@ -125,4 +136,97 @@
        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>
    <select id="activityOrderCheckList" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo">
        select
        a.id,
        a.code,
        a.name,
        a.phone,
        a.address,
        a.state,
        CASE
        WHEN a.state = 1 THEN a.UPDATED_TIME
        ELSE NULL
        END AS updatedTime,
        b.name checkName,
        b.phone checkPhone,
        b.real_name checkRealName
        from happy_activity_order_item a
        left join mall_member b on b.id = a.transfer_item_id
        <where>
            and a.code is not null
            <if test="record != null">
                <if test="record.name != null and record.name != ''">
                    and (b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
                    or b.real_name like CONCAT('%', CONCAT(#{record.name}, '%')))
                </if>
                <if test="record.code != null and record.code != ''">
                    and a.code = #{record.code}
                </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.created_time desc
    </select>
    <select id="getOrderCheckListForExport" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo">
        select
        a.*,
        b.name checkName,
        b.phone checkPhone,
        b.real_name checkRealName
        from happy_activity_order_item a
        left join mall_member b on b.id = a.transfer_item_id
        where a.code is not null
        and a.activity_id=#{activityId}
        order by a.created_time desc
    </select>
</mapper>