<?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.StoreCouponClaimRecordMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.StoreCouponClaimRecordVO">
|
<id column="id" property="id"/>
|
<result column="store_name" property="storeName" />
|
<result column="coupon_id" property="couponId" />
|
<result column="coupon_name" property="couponName" />
|
<result column="store_id" property="storeId" />
|
<result column="user_id" property="userId" />
|
</resultMap>
|
|
|
|
|
|
|
|
<select id="getById" resultMap="BaseResultMap">
|
SELECT
|
LSCCR.store_name,
|
LSCCR.coupon_id,
|
LSCCR.coupon_name,
|
LSCCR.store_id,
|
LSCCR.user_id,
|
LSCCR.id
|
FROM
|
lmk_store_coupon_claim_record LSCCR
|
WHERE
|
LSCCR.id = #{id} AND LSCCR.delete_flag = 0
|
</select>
|
<resultMap id="BaseResultMapByManager" type="cn.lili.modules.lmk.domain.vo.StoreCouponClaimRecordVO">
|
<!-- 会员优惠券表(li_member_coupon)字段映射 -->
|
<result column="member_id" property="memberId"/>
|
<result column="member_name" property="memberName"/>
|
<result column="price" property="price"/>
|
<result column="start_time" property="startTime"/>
|
<result column="end_time" property="endTime"/>
|
<result column="member_coupon_status" property="memberCouponStatus"/>
|
<result column="goods_use_limit_num" property="goodsUseLimitNum"/>
|
<result column="platform_flag" property="platformFlag"/>
|
<result column="get_type" property="getType"/>
|
<result column="discount" property="discount"/>
|
<result column="coupon_type" property="couponType"/>
|
<result column="coupon_id" property="couponId" />
|
<!-- 店铺优惠券领取记录表(lmk_store_coupon_claim_record)字段映射 -->
|
<result column="id" property="id"/>
|
<result column="store_name" property="storeName"/>
|
<result column="store_coupon_id" property="storeCouponId"/>
|
<result column="store_id" property="storeId"/>
|
<result column="user_id" property="userId"/>
|
<result column="coupon_name" property="couponName"/>
|
<result column="claimTime" property="claimTime"/>
|
</resultMap>
|
|
<select id="getPage" resultMap="BaseResultMapByManager">
|
SELECT
|
lmc.member_id,
|
lmc.member_name,
|
lmc.price,
|
lmc.start_time,
|
lmc.end_time,
|
lmc.member_coupon_status,
|
lmc.goods_use_limit_num,
|
lmc.platform_flag,
|
lmc.get_type,
|
lmc.discount,
|
lmc.coupon_type,
|
lsccr.id,
|
lsccr.store_name,
|
lsccr.store_coupon_id,
|
lsccr.store_id,
|
lsccr.user_id,
|
lsccr.coupon_name,
|
lsccr.create_time AS claimTime,
|
lsccr.coupon_id
|
FROM
|
lmk_store_coupon_claim_record lsccr
|
INNER JOIN
|
li_member_coupon lmc ON lmc.id = lsccr.member_coupon_id
|
WHERE
|
lmc.delete_flag = 0
|
AND lsccr.delete_flag = 0
|
<!-- 1. 会员名称模糊查询(关联li_member_coupon表) -->
|
<if test="query.memberName != null and query.memberName != ''">
|
AND lmc.member_name LIKE CONCAT('%', #{query.memberName}, '%')
|
</if>
|
<!-- 2. 优惠券名称模糊查询(关联lmk_store_coupon_claim_record表) -->
|
<if test="query.couponName != null and query.couponName != ''">
|
AND lsccr.coupon_name LIKE CONCAT('%', #{query.couponName}, '%')
|
</if>
|
<!-- 3. 优惠券获取方式(精确匹配,关联li_member_coupon表) -->
|
<if test="query.getType != null and query.getType != ''">
|
AND lmc.get_type = #{query.getType}
|
</if>
|
<!-- 4. 会员优惠券状态(精确匹配,关联li_member_coupon表) -->
|
<if test="query.memberCouponStatus != null and query.memberCouponStatus != ''">
|
AND lmc.member_coupon_status = #{query.memberCouponStatus}
|
</if>
|
<!-- 5. 时间范围筛选:用BETWEEN匹配start_time和end_time(需同时传入开始和结束时间) -->
|
<if test="query.startTime != null and query.endTime != null">
|
AND lsccr.create_time BETWEEN FROM_UNIXTIME(#{query.startTime}/1000)
|
AND FROM_UNIXTIME(#{query.endTime}/1000)
|
</if>
|
<!-- 6. 排序逻辑(根据前端传入的sort字段和order排序方向) -->
|
<if test="query.sort != null and query.sort != '' and query.order != null and query.order != ''">
|
ORDER BY lsccr.create_time DESC
|
</if>
|
|
</select>
|
|
<select id="getExportData" resultMap="BaseResultMapByManager">
|
SELECT
|
lmc.member_id,
|
lmc.member_name,
|
lmc.price,
|
lmc.start_time,
|
lmc.end_time,
|
lmc.member_coupon_status,
|
lmc.goods_use_limit_num,
|
lmc.platform_flag,
|
lmc.get_type,
|
lmc.discount,
|
lmc.coupon_type,
|
lsccr.id,
|
lsccr.store_name,
|
lsccr.store_coupon_id,
|
lsccr.store_id,
|
lsccr.user_id,
|
lsccr.coupon_name,
|
lsccr.create_time AS claimTime,
|
lsccr.coupon_id
|
FROM
|
lmk_store_coupon_claim_record lsccr
|
INNER JOIN
|
li_member_coupon lmc ON lmc.id = lsccr.member_coupon_id
|
WHERE
|
lmc.delete_flag = 0
|
AND lsccr.delete_flag = 0
|
AND lmc.member_id = lsccr.user_id
|
<!-- 1. 会员名称模糊查询(关联li_member_coupon表) -->
|
<if test="query.memberName != null and query.memberName != ''">
|
AND lmc.member_name LIKE CONCAT('%', #{query.memberName}, '%')
|
</if>
|
<!-- 2. 优惠券名称模糊查询(关联lmk_store_coupon_claim_record表) -->
|
<if test="query.couponName != null and query.couponName != ''">
|
AND lsccr.coupon_name LIKE CONCAT('%', #{query.couponName}, '%')
|
</if>
|
<!-- 3. 优惠券获取方式(精确匹配,关联li_member_coupon表) -->
|
<if test="query.getType != null and query.getType != ''">
|
AND lmc.get_type = #{query.getType}
|
</if>
|
<!-- 4. 会员优惠券状态(精确匹配,关联li_member_coupon表) -->
|
<if test="query.memberCouponStatus != null and query.memberCouponStatus != ''">
|
AND lmc.member_coupon_status = #{query.memberCouponStatus}
|
</if>
|
<!-- 5. 时间范围筛选:用BETWEEN匹配start_time和end_time(需同时传入开始和结束时间) -->
|
<if test="query.startTime != null and query.endTime != null">
|
AND lsccr.create_time BETWEEN FROM_UNIXTIME(#{query.startTime}/1000)
|
AND FROM_UNIXTIME(#{query.endTime}/1000)
|
</if>
|
<!-- 6. 排序逻辑(根据前端传入的sort字段和order排序方向) -->
|
<if test="query.sort != null and query.sort != '' and query.order != null and query.order != ''">
|
ORDER BY lsccr.create_time DESC
|
</if>
|
</select>
|
|
</mapper>
|