<?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.ruoyi.member.mapper.member.MemberCouponMapper">
|
|
<resultMap type="com.ruoyi.system.api.domain.poji.member.MemberCoupon" id="MemberCouponResult">
|
<result property="id" column="id" />
|
<result property="delFlag" column="del_flag" />
|
<result property="couponId" column="coupon_id" />
|
<result property="userId" column="user_id" />
|
<result property="couponType" column="coupon_type" />
|
<result property="couponStatus" column="coupon_status" />
|
<result property="couponName" column="coupon_name" />
|
<result property="sendType" column="send_type" />
|
<result property="sendTimeType" column="send_time_type" />
|
<result property="sendTime" column="send_time" />
|
<result property="moneyThreshold" column="money_threshold" />
|
<result property="discountMoney" column="discount_money" />
|
<result property="discountPercent" column="discount_percent" />
|
<result property="useScope" column="use_scope" />
|
<result property="validTimeType" column="valid_time_type" />
|
<result property="validStartTime" column="valid_start_time" />
|
<result property="validEndTime" column="valid_end_time" />
|
<result property="validDay" column="valid_day" />
|
<result property="receiveTime" column="receive_time" />
|
<result property="useTime" column="use_time" />
|
<result property="deadlineTime" column="deadline_time" />
|
<result property="relGoodsIds" column="rel_goods_ids" />
|
</resultMap>
|
|
<sql id="selectMemberCouponVo">
|
select id, del_flag, coupon_id, user_id, coupon_type, coupon_status, coupon_name, send_type, send_time_type, send_time, money_threshold, discount_money, discount_percent, use_scope, valid_time_type, valid_start_time, valid_end_time, valid_day, receive_time, use_time, deadline_time, rel_goods_ids from t_member_coupon
|
</sql>
|
|
<select id="selectMemberCouponList" parameterType="com.ruoyi.system.api.domain.poji.member.MemberCoupon" resultMap="MemberCouponResult">
|
<include refid="selectMemberCouponVo"/>
|
<where>
|
<if test="couponId != null and couponId != ''"> and coupon_id = #{couponId}</if>
|
<if test="userId != null "> and user_id = #{userId}</if>
|
<if test="couponType != null "> and coupon_type = #{couponType}</if>
|
<if test="couponStatus != null "> and coupon_status = #{couponStatus}</if>
|
<if test="couponName != null and couponName != ''"> and coupon_name like concat('%', #{couponName}, '%')</if>
|
<if test="sendType != null "> and send_type = #{sendType}</if>
|
<if test="sendTimeType != null "> and send_time_type = #{sendTimeType}</if>
|
<if test="sendTime != null "> and send_time = #{sendTime}</if>
|
<if test="moneyThreshold != null "> and money_threshold = #{moneyThreshold}</if>
|
<if test="discountMoney != null "> and discount_money = #{discountMoney}</if>
|
<if test="discountPercent != null "> and discount_percent = #{discountPercent}</if>
|
<if test="useScope != null "> and use_scope = #{useScope}</if>
|
<if test="validTimeType != null "> and valid_time_type = #{validTimeType}</if>
|
<if test="validStartTime != null "> and valid_start_time = #{validStartTime}</if>
|
<if test="validEndTime != null "> and valid_end_time = #{validEndTime}</if>
|
<if test="validDay != null "> and valid_day = #{validDay}</if>
|
<if test="receiveTime != null "> and receive_time = #{receiveTime}</if>
|
<if test="useTime != null "> and use_time = #{useTime}</if>
|
<if test="deadlineTime != null "> and deadline_time = #{deadlineTime}</if>
|
<if test="relGoodsIds != null "> and rel_goods_ids = #{relGoodsIds}</if>
|
</where>
|
</select>
|
|
<select id="selectMemberCouponById" parameterType="Long" resultMap="MemberCouponResult">
|
<include refid="selectMemberCouponVo"/>
|
where id = #{id}
|
</select>
|
|
<insert id="insertMemberCoupon" parameterType="com.ruoyi.system.api.domain.poji.member.MemberCoupon" useGeneratedKeys="true" keyProperty="id">
|
insert into t_member_coupon
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="delFlag != null">del_flag,</if>
|
<if test="couponId != null">coupon_id,</if>
|
<if test="userId != null">user_id,</if>
|
<if test="couponType != null">coupon_type,</if>
|
<if test="couponStatus != null">coupon_status,</if>
|
<if test="couponName != null">coupon_name,</if>
|
<if test="sendType != null">send_type,</if>
|
<if test="sendTimeType != null">send_time_type,</if>
|
<if test="sendTime != null">send_time,</if>
|
<if test="moneyThreshold != null">money_threshold,</if>
|
<if test="discountMoney != null">discount_money,</if>
|
<if test="discountPercent != null">discount_percent,</if>
|
<if test="useScope != null">use_scope,</if>
|
<if test="validTimeType != null">valid_time_type,</if>
|
<if test="validStartTime != null">valid_start_time,</if>
|
<if test="validEndTime != null">valid_end_time,</if>
|
<if test="validDay != null">valid_day,</if>
|
<if test="receiveTime != null">receive_time,</if>
|
<if test="useTime != null">use_time,</if>
|
<if test="deadlineTime != null">deadline_time,</if>
|
<if test="relGoodsIds != null ">rel_goods_ids,</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="delFlag != null">#{delFlag},</if>
|
<if test="couponId != null">#{couponId},</if>
|
<if test="userId != null">#{userId},</if>
|
<if test="couponType != null">#{couponType},</if>
|
<if test="couponStatus != null">#{couponStatus},</if>
|
<if test="couponName != null">#{couponName},</if>
|
<if test="sendType != null">#{sendType},</if>
|
<if test="sendTimeType != null">#{sendTimeType},</if>
|
<if test="sendTime != null">#{sendTime},</if>
|
<if test="moneyThreshold != null">#{moneyThreshold},</if>
|
<if test="discountMoney != null">#{discountMoney},</if>
|
<if test="discountPercent != null">#{discountPercent},</if>
|
<if test="useScope != null">#{useScope},</if>
|
<if test="validTimeType != null">#{validTimeType},</if>
|
<if test="validStartTime != null">#{validStartTime},</if>
|
<if test="validEndTime != null">#{validEndTime},</if>
|
<if test="validDay != null">#{validDay},</if>
|
<if test="receiveTime != null">#{receiveTime},</if>
|
<if test="useTime != null">#{useTime},</if>
|
<if test="deadlineTime != null">#{deadlineTime},</if>
|
<if test="relGoodsIds != null ">#{relGoodsIds},</if>
|
</trim>
|
</insert>
|
|
<update id="updateMemberCoupon" parameterType="com.ruoyi.system.api.domain.poji.member.MemberCoupon">
|
update t_member_coupon
|
<trim prefix="SET" suffixOverrides=",">
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
<if test="couponId != null">coupon_id = #{couponId},</if>
|
<if test="userId != null">user_id = #{userId},</if>
|
<if test="couponType != null">coupon_type = #{couponType},</if>
|
<if test="couponStatus != null">coupon_status = #{couponStatus},</if>
|
<if test="couponName != null">coupon_name = #{couponName},</if>
|
<if test="sendType != null">send_type = #{sendType},</if>
|
<if test="sendTimeType != null">send_time_type = #{sendTimeType},</if>
|
<if test="sendTime != null">send_time = #{sendTime},</if>
|
<if test="moneyThreshold != null">money_threshold = #{moneyThreshold},</if>
|
<if test="discountMoney != null">discount_money = #{discountMoney},</if>
|
<if test="discountPercent != null">discount_percent = #{discountPercent},</if>
|
<if test="useScope != null">use_scope = #{useScope},</if>
|
<if test="validTimeType != null">valid_time_type = #{validTimeType},</if>
|
<if test="validStartTime != null">valid_start_time = #{validStartTime},</if>
|
<if test="validEndTime != null">valid_end_time = #{validEndTime},</if>
|
<if test="validDay != null">valid_day = #{validDay},</if>
|
<if test="receiveTime != null">receive_time = #{receiveTime},</if>
|
<if test="useTime != null">use_time = #{useTime},</if>
|
<if test="deadlineTime != null">deadline_time = #{deadlineTime},</if>
|
<if test="relGoodsIds != null "> and rel_goods_ids = #{relGoodsIds},</if>
|
</trim>
|
where id = #{id}
|
</update>
|
|
<delete id="deleteMemberCouponById" parameterType="Long">
|
delete from t_member_coupon where id = #{id}
|
</delete>
|
|
<delete id="deleteMemberCouponByIds" parameterType="String">
|
delete from t_member_coupon where id in
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</delete>
|
|
<select id="listVoMemberCouponByUserId" resultType="com.ruoyi.system.api.domain.vo.AppMemberCouponVo">
|
SELECT
|
tuc.id memberCouponId,
|
tuc.coupon_type couponType,
|
tuc.coupon_name couponName,
|
tuc.money_threshold moneyThreshold,
|
tuc.discount_money discountMoney,
|
tuc.discount_percent discountPercent,
|
IFNULL(tuc.valid_start_time,tuc.receive_time) validStartTime,
|
tuc.deadline_time deadlineTime,
|
tuc.rel_goods_ids relGoodsIds
|
FROM t_member_coupon tuc
|
WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{param.userId} AND (tuc.coupon_from = 1 OR (tuc.coupon_from = 2 AND tuc.shop_id = #{param.shopId})) AND tuc.coupon_type IN (1,2,3) AND CURRENT_DATE() < deadline_time
|
ORDER BY tuc.receive_time DESC
|
</select>
|
|
<select id="pageAppUserGetCoupon" resultType="com.ruoyi.member.domain.vo.AppMemberCouponPageVo">
|
SELECT
|
tuc.id memberCouponId,
|
tuc.coupon_type couponType,
|
tuc.coupon_name couponName,
|
tuc.money_threshold moneyThreshold,
|
tuc.discount_money discountMoney,
|
tuc.discount_percent discountPercent,
|
CASE WHEN tuc.coupon_type = 4 THEN tuc.rel_goods_ids WHEN tuc.use_scope = 2 THEN tuc.rel_goods_ids ELSE NULL END relGoodsIds,
|
tuc.shop_id shopId,
|
IFNULL(tuc.valid_start_time,tuc.receive_time) validStartTime,
|
tuc.deadline_time deadlineTime,
|
tuc.use_time useTime
|
FROM t_member_coupon tuc
|
WHERE tuc.del_flag = 0 AND tuc.user_id = #{param.userId}
|
<if test="param.couponStatus != null">
|
AND tuc.coupon_status = #{param.couponStatus}
|
</if>
|
ORDER BY tuc.receive_time DESC
|
</select>
|
|
<update id="timingCheckMemberCoupon">
|
UPDATE t_member_coupon SET coupon_status = 0
|
WHERE del_flag = 0 AND coupon_status = 1 AND deadline_time < CURDATE()
|
</update>
|
|
<update id="useMemberCoupon">
|
UPDATE t_member_coupon SET coupon_status = 2,use_time = CURRENT_TIME
|
WHERE del_flag = 0 AND coupon_status = 1 AND FIND_IN_SET(id, #{memberCouponIds}) > 0
|
</update>
|
|
<update id="backMemberCoupon">
|
UPDATE t_member_coupon SET coupon_status = 1
|
WHERE del_flag = 0 AND coupon_status = 2 AND FIND_IN_SET(id, #{memberCouponIds}) > 0
|
</update>
|
|
<select id="listMerShopGoodsMemberCoupon" resultType="com.ruoyi.system.api.domain.vo.MerMemberCouponVo">
|
SELECT
|
tuc.id memberCouponId,
|
tuc.use_scope,
|
tuc.rel_goods_ids relGoodsIds,
|
tuc.coupon_type couponType,
|
tuc.coupon_name couponName,
|
tuc.money_threshold moneyThreshold,
|
tuc.discount_money discountMoney,
|
tuc.discount_percent discountPercent,
|
tuc.valid_start_time validStartTime,
|
tuc.deadline_time deadlineTime
|
FROM t_member_coupon tuc
|
WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{param.memberUserId} AND tuc.coupon_type IN (1,2,3)
|
AND (tuc.coupon_from = 1 OR (tuc.coupon_from = 2 AND tuc.shop_id = #{param.shopId}))
|
<if test="param.goodsId!=null and param.goodsId!=''">
|
AND (tuc.use_scope = 1 OR (tuc.use_scope = 2 AND FIND_IN_SET(#{param.goodsId}, rel_goods_ids) > 0))
|
</if>
|
ORDER BY tuc.receive_time DESC
|
</select>
|
|
<update id="sureMemberCoupon">
|
UPDATE t_member_coupon SET coupon_status = 2,shop_id = #{shopId},use_time = CURRENT_TIME
|
WHERE del_flag = 0 AND coupon_status = 1 AND id = #{memberCouponId}
|
</update>
|
</mapper>
|