<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="cn.lili.modules.lmk.mapper.ActivityMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.ActivityVO">
|
<result column="activity_name" property="activityName" />
|
<result column="activity_type" property="activityType"/>
|
<result column="report_start_time" property="reportStartTime" />
|
<result column="report_end_time" property="reportEndTime" />
|
<result column="start_time" property="startTime" />
|
|
<result column="end_time" property="endTime" />
|
<result column="status" property="status" />
|
<result column="recommend" property="recommend" />
|
<result column="cover" property="cover" />
|
<result column="cover_type" property="coverType" />
|
<result column="limit_user_num" property="limitUserNum" />
|
<result column="activity_location" property="activityLocation" />
|
<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>
|
|
|
|
<select id="getById" resultMap="BaseResultMap">
|
SELECT
|
LA.id,
|
LA.activity_name,
|
LA.activity_type,
|
LA.report_start_time,
|
LA.report_end_time,
|
LA.start_time,
|
LA.end_time,
|
LA.status,
|
LA.recommend,
|
LA.cover,
|
LA.cover_type,
|
LA.limit_user_num,
|
LA.activity_location,
|
LA.activity_content
|
FROM
|
lmk_activity LA
|
WHERE
|
LA.id = #{id} AND LA.delete_flag = 0
|
</select>
|
|
|
<select id="getPage" resultMap="BaseResultMap">
|
SELECT
|
LA.id,
|
LA.activity_name,
|
LA.activity_type,
|
LA.report_start_time,
|
LA.report_end_time,
|
LA.start_time,
|
LA.end_time,
|
LA.status,
|
LA.recommend,
|
LA.cover,
|
LA.cover_type,
|
LA.limit_user_num,
|
LA.activity_location,
|
LA.activity_content
|
FROM
|
lmk_activity LA
|
WHERE
|
LA.delete_flag = 0
|
<if test="query.activityName != null and query.activityName != ''">AND LA.activity_name LIKE CONCAT('%', #{query.activityName}, '%')</if>
|
<if test="query.activityType != null and query.activityType != ''">AND LA.activity_type LIKE CONCAT('%', #{query.activityType}, '%')</if>
|
<if test="query.recommend != null and query.recommend != ''">AND LA.recommend = #{recommend}</if>
|
<if test="query.reportStartTime != null">AND LA.report_start_time >= #{query.reportStartTime}</if>
|
<if test="query.reportEndTime != null">AND LA.report_end_time <= #{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>
|