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 <= 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