From 35309b932b738d5a8537e53207d28004a8da0f89 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期五, 20 九月 2024 17:17:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2'
---
src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml | 243 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 243 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml b/src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml
new file mode 100644
index 0000000..7ce2dbb
--- /dev/null
+++ b/src/main/resources/mapper/coupon/CouponTemplateMapperCustom.xml
@@ -0,0 +1,243 @@
+<?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>
--
Gitblit v1.9.3