<?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="com.mzl.flower.mapper.coupon.CouponTemplateMapperCustom">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.mzl.flower.entity.coupon.CouponTemplateDO">
|
<id column="id" property="id" />
|
<result column="create_by" property="createBy" />
|
<result column="create_time" property="createTime" />
|
<result column="update_by" property="updateBy" />
|
<result column="update_time" property="updateTime" />
|
<result column="deleted" property="deleted" />
|
<result column="category" property="category" />
|
<result column="coupon_code" property="couponCode" />
|
<result column="coupon_name" property="couponName" />
|
<result column="coupon_description" property="couponDescription" />
|
<result column="coupon_amount" property="couponAmount" />
|
<result column="coupon_discount_type" property="couponDiscountType" />
|
<result column="coupon_discount_value" property="couponDiscountValue" />
|
<result column="min_order_amount" property="minOrderAmount" />
|
<result column="max_discount_amount" property="maxDiscountAmount" />
|
<result column="get_type" property="getType" />
|
<result column="get_user_type" property="getUserType" />
|
<result column="get_start_date" property="getStartDate" />
|
<result column="get_end_date" property="getEndDate" />
|
<result column="get_limit" property="getLimit" />
|
<result column="usage_type" property="usageType" />
|
<result column="usage_limit" property="usageLimit" />
|
<result column="usage_per_user" property="usagePerUser" />
|
<result column="usage_start_date" property="usageStartDate" />
|
<result column="usage_end_date" property="usageEndDate" />
|
<result column="usage_time_type" property="usageTimeType" />
|
<result column="usage_time_num" property="usageTimeNum" />
|
<result column="status" property="status" />
|
<result column="point" property="point" />
|
<result column="member_id" property="memberId" />
|
</resultMap>
|
|
|
<update id="activeBatchCouponTemplate">
|
update t_coupon_template set status='active',update_by=#{param.updateBy},update_time=now() where id in
|
<foreach collection="param.idList" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</update>
|
<update id="expireBatchCouponTemplate">
|
update t_coupon_template set status='expired',update_by=#{param.updateBy},update_time=now() where id in
|
<foreach collection="param.idList" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</update>
|
|
<update id="deleteBatchCouponTemplate">
|
update t_coupon_template set deleted=true ,update_by=#{param.updateBy},update_time=now() where id in
|
<foreach collection="param.idList" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</update>
|
<update id="expireHomeActivityCouponTemplate">
|
update t_coupon_template set status='expired' where category='activity' and get_type='home' and status='active'
|
</update>
|
|
<select id="getCouponTemplatePage" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
<include refid="QuerySql2"/>
|
</select>
|
<select id="getList" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
<include refid="QuerySql2"/>
|
</select>
|
<select id="getCouponPointList" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
<include refid="QueryPointSql" />
|
</select>
|
<select id="getPointPage" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
<include refid="QueryPointSql" />
|
</select>
|
|
<!-- app活动优惠券-->
|
<select id="getActivityEffectList" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
|
SELECT *
|
FROM t_coupon_template t
|
WHERE t.deleted = FALSE
|
<if test="param.category != null and param.category != '' and param.category == 'activity' ">
|
AND t.get_start_date <= NOW()
|
AND NOW() <= t.get_end_date
|
</if>
|
|
<if test="param.category != null and param.category != ''">
|
AND category = #{param.category}
|
</if>
|
<if test="param.status != null and param.status != ''">
|
AND status = #{param.status}
|
</if>
|
<if test="param.getType != null and param.getType != ''">
|
AND t.get_type = #{param.getType}
|
</if>
|
ORDER BY t.create_time DESC
|
|
</select>
|
<select id="getCouponCustomerList"
|
resultType="com.mzl.flower.dto.response.coupon.CouponTemplateCustomerVO">
|
select ci.id,ci.name,u.tel
|
from t_coupon_template c
|
left JOIN t_coupon_template_customer cc
|
on c.id=cc.coupon_id
|
left join t_customer_info ci
|
on cc.custom_id=ci.id
|
left join t_user u
|
on ci.user_id=u.id
|
where c.deleted= false
|
and c.id=#{id}
|
|
</select>
|
<select id="getVipList" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
<include refid="QuerySqlVip" />
|
</select>
|
<select id="getCouponTemplateVipPage" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
<include refid="QuerySqlVip" />
|
</select>
|
<select id="getHomeActivityEffectAlert" resultType="com.mzl.flower.dto.response.coupon.CouponTemplateVO">
|
SELECT *
|
FROM t_coupon_template t
|
WHERE t.deleted = FALSE
|
|
<if test="param.category != null and param.category != '' and param.category == 'activity' ">
|
AND t.get_start_date <= NOW()
|
AND NOW() <= t.get_end_date
|
</if>
|
|
<if test="param.category != null and param.category != ''">
|
AND t.category = #{param.category}
|
</if>
|
<if test="param.status != null and param.status != ''">
|
AND t.status = #{param.status}
|
</if>
|
<if test="param.getType != null and param.getType != ''">
|
AND t.get_type = #{param.getType}
|
</if>
|
ORDER BY t.create_time DESC
|
limit 1
|
</select>
|
|
<sql id="QueryPointSql">
|
select *
|
from t_coupon_template
|
where deleted=0
|
<if test="param.category != null and param.category != ''">
|
AND category = #{param.category}
|
</if>
|
<if test="param.status != null and param.status != ''">
|
AND status = #{param.status}
|
</if>
|
<if test="param.minPoint != null ">
|
AND point >= #{param.minPoint}
|
</if>
|
<if test="param.maxPoint != null ">
|
AND point <= #{param.maxPoint}
|
</if>
|
<if test="param.orderStr != null and param.orderStr != '' ">
|
order by ${param.orderStr}
|
</if>
|
|
</sql>
|
|
<sql id="QuerySql2">
|
select *
|
from (
|
select t.*,
|
create_by_user.nick_name as createByName,
|
IFNULL(get_num.cnt, 0) as getNum,
|
IFNULL(t.coupon_amount, 0) - IFNULL(get_num.cnt, 0) as unGetNum
|
from t_coupon_template t
|
left join t_user create_by_user
|
on t.create_by =create_by_user.id
|
left join (select coupon_id,count(1) as cnt from t_coupon_record where deleted=0 group by coupon_id) get_num
|
on t.id=get_num.coupon_id
|
) t
|
where t.deleted=0
|
<if test="param.name != null and param.name != ''">
|
AND t.coupon_name like concat('%', #{param.name},'%')
|
</if>
|
<if test="param.couponDiscountType != null and param.couponDiscountType != ''">
|
AND t.coupon_discount_type = #{param.couponDiscountType}
|
</if>
|
<if test="param.getType != null and param.getType != ''">
|
AND t.get_type = #{param.getType}
|
</if>
|
<if test="param.getUserType != null and param.getUserType != ''">
|
AND t.get_user_type = #{param.getUserType}
|
</if>
|
<if test="param.id != null and param.id != ''">
|
AND t.id = #{param.id}
|
</if>
|
<if test="param.category != null and param.category != ''">
|
AND t.category = #{param.category}
|
</if>
|
<if test="param.status != null and param.status != ''">
|
AND t.status = #{param.status}
|
</if>
|
order by t.create_time desc
|
</sql>
|
|
<sql id="QuerySqlVip">
|
select *
|
from (
|
select t.*,
|
create_by_user.nick_name as createByName,
|
IFNULL(get_num.cnt, 0) as getNum,
|
IFNULL(t.coupon_amount, 0) - IFNULL(get_num.cnt, 0) as unGetNum,
|
m.`name` as member_name
|
from t_coupon_template t
|
left join t_user create_by_user
|
on t.create_by =create_by_user.id
|
left join (select coupon_id,count(1) as cnt from t_coupon_record where deleted=0 group by coupon_id) get_num
|
on t.id=get_num.coupon_id
|
left join t_member m
|
on t.member_id=m.id
|
) t
|
where t.deleted=0
|
<if test="param.name != null and param.name != ''">
|
AND t.coupon_name like concat('%', #{param.name},'%')
|
</if>
|
<if test="param.couponDiscountType != null and param.couponDiscountType != ''">
|
AND t.coupon_discount_type = #{param.couponDiscountType}
|
</if>
|
<if test="param.getType != null and param.getType != ''">
|
AND t.get_type = #{param.getType}
|
</if>
|
<if test="param.getUserType != null and param.getUserType != ''">
|
AND t.get_user_type = #{param.getUserType}
|
</if>
|
<if test="param.id != null and param.id != ''">
|
AND t.id = #{param.id}
|
</if>
|
<if test="param.category != null and param.category != ''">
|
AND t.category = #{param.category}
|
</if>
|
<if test="param.status != null and param.status != ''">
|
AND t.status = #{param.status}
|
</if>
|
order by t.create_time desc
|
</sql>
|
|
</mapper>
|