xiangpei
2025-06-04 4e502853119c6d8e7ff686191e19bb0a19a4f875
framework/src/main/resources/mapper/lmk/ActivityMapper.xml
@@ -20,9 +20,46 @@
        <result column="activity_content" property="activityContent" />
    </resultMap>
    <resultMap id="MyActivityResultMap" type="cn.lili.modules.lmk.domain.vo.MyActivityVo">
        <result column="activity_name" property="activityName" />
        <result column="activity_type" property="activityType"/>
        <result column="end_time" property="endTime" />
        <result column="status" property="status" />
        <result column="cover" property="cover" />
        <result column="cover_type" property="coverType" />
        <result column="activity_location" property="activityLocation" />
        <result column="cancel" property="cancel"/>
        <result column="activity_report_id" property="activityReportId"/>
    </resultMap>
    <select id="getMyActivityList" resultMap="MyActivityResultMap">
        SELECT
            LA.id,
            LA.activity_name,
            LA.activity_type,
            LA.start_time,
            LA.end_time,
            LA.status,
            LA.cover,
            LA.cover_type,
            LA.activity_location,
            LAR.cancel,
            LA.id as activity_report_id
        FROM lmk_activity_report LAR
                 LEFT JOIN lmk_activity LA ON LAR.activity_id = LA.id
        where  LA.delete_flag = 0
          AND LAR.delete_flag = 0
          AND LAR.user_id = #{userId}
          AND LAR.cancel = #{query.cancel}
        <if test="query.status == null or query.status == ''">
            AND LA.status != '已结束'
        </if>
        <if test="query.status != null and query.status != ''">
          AND LA.status = #{query.status}
          </if>
    </select>
@@ -75,5 +112,51 @@
            <if test="query.reportStartTime != null">AND LA.report_start_time >= #{query.reportStartTime}</if>
            <if test="query.reportEndTime != null">AND LA.report_end_time &lt;= #{query.reportEndTime}</if>
    </select>
    <resultMap id="memberMap" type="cn.lili.modules.member.entity.vo.MemberVO">
        <id property="id" column="id"/>
        <!-- 基础字段映射 -->
        <result property="username" column="username"/>
        <result property="nickName" column="nick_name"/>
        <result property="sex" column="sex"/>
        <result property="birthday" column="birthday"/>
        <result property="regionId" column="region_id"/>
        <result property="region" column="region"/>
        <result property="mobile" column="mobile"/>
        <result property="point" column="point"/>
        <result property="totalPoint" column="total_point"/>
        <result property="face" column="face"/>
        <result property="disabled" column="disabled"/>
        <result property="haveStore" column="have_store"/>
        <result property="storeId" column="store_id"/>
        <result property="openId" column="open_id"/>
        <result property="clientEnum" column="client_enum"/>
        <result property="lastLoginDate" column="last_login_date"/>
        <result property="gradeId" column="grade_id"/>
        <result property="experience" column="experience"/>
        <result property="createTime" column="create_time"/>
    </resultMap>
    <select id="getMembers" resultMap="memberMap">
        select
            LM.* from lmk_activity_report LAR
                          LEFT JOIN li_member LM ON LM.id = LAR.user_id
        WHERE LAR.activity_id = #{query.id}
    </select>
    <update id="batchUpdateActivities">
        UPDATE lmk_activity
        <trim prefix="SET" suffixOverrides=",">
            <trim prefix="status = CASE id" suffix="END,">
                <foreach collection="list" item="item">
                    WHEN #{item.id} THEN #{item.status}
                </foreach>
            </trim>
        </trim>
        WHERE id IN
        <foreach collection="list" item="item" open="(" separator="," close=")">
            #{item.id}
        </foreach>
    </update>
</mapper>