From a768dc3daa04d35fedfbe75c0a59b9b2545b85c4 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期四, 19 九月 2024 16:59:33 +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 &lt;= NOW()
+            AND NOW() &lt;= 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 &lt;= NOW()
+            AND NOW() &lt;= 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 &gt;=  #{param.minPoint}
+        </if>
+        <if test="param.maxPoint != null ">
+            AND point &lt;=  #{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