<?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.supersavedriving.user.modular.system.dao.UserToCouponMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.supersavedriving.user.modular.system.model.UserToCoupon">
|
<id column="id" property="id" />
|
<result column="userId" property="userId" />
|
<result column="couponId" property="couponId" />
|
<result column="couponTotal" property="couponTotal" />
|
<result column="validCount" property="validCount" />
|
<result column="expireCount" property="expireCount" />
|
<result column="expireTime" property="expireTime" />
|
<result column="createTime" property="createTime" />
|
<result column="status" property="status" />
|
</resultMap>
|
|
|
<select id="queryCoupon" resultType="com.supersavedriving.user.modular.system.model.Coupon">
|
select
|
b.id,
|
a.agent_id as agentId,
|
a.branch_office_id as branchOfficeId,
|
a.create_time as createTime,
|
a.coupon_name as couponName,
|
a.coupon_type as couponType,
|
a.coupon_code as couponCode,
|
a.coupon_service_type as couponServiceType,
|
a.coupon_conditional_amount as couponConditionalAmount,
|
a.coupon_preferential_amount as couponPreferentialAmount,
|
a.coupon_validity as couponValidity,
|
a.coupon_send_quantity as couponSendQuantity,
|
a.coupon_state as couponState,
|
a.coupon_count as couponCount,
|
a.remaining_quantity as remainingQuantity
|
from t_coupon a
|
left join t_user_to_coupon b on (a.id = b.couponId)
|
where b.status = 1 and b.expireTime > now() and b.validCount > 0
|
and b.userId = #{uid} and a.coupon_conditional_amount <= #{price} and a.coupon_preferential_amount < #{price}
|
order by a.coupon_preferential_amount desc limit 0, 1
|
</select>
|
|
|
<select id="queryPayCouponList" resultType="com.supersavedriving.user.modular.system.warpper.CouponWarpper">
|
select
|
b.id,
|
a.coupon_conditional_amount as couponConditionalAmount,
|
a.coupon_preferential_amount as couponPreferentialAmount,
|
a.coupon_name as couponName,
|
UNIX_TIMESTAMP(b.expireTime) * 1000 as expirationDate,
|
b.validCount as number
|
from t_coupon a
|
left join t_user_to_coupon b on (a.id = b.couponId)
|
where b.userId = #{uid} and b.validCount > 0 and b.expireTime > now() and
|
a.coupon_conditional_amount <= #{price} and a.coupon_preferential_amount < #{price} order by b.createTime
|
</select>
|
|
|
<select id="queryMyCoupons" resultType="com.supersavedriving.user.modular.system.warpper.CouponsWarpper">
|
select
|
a.id,
|
b.coupon_name as `name`,
|
b.coupon_conditional_amount as preferentialTerms,
|
b.coupon_preferential_amount as discountAmount,
|
UNIX_TIMESTAMP(a.expireTime) * 1000 as endTime
|
from t_user_to_coupon a
|
left join t_coupon b on (a.couponId = b.id)
|
where a.`status` = 1 and a.userId = #{uid}
|
<if test="null != state and 1 == state">
|
and a.couponTotal = a.validCount and now() < a.expireTime
|
</if>
|
<if test="null != state and 2 == state">
|
and a.couponTotal != a.validCount and now() < a.expireTime
|
</if>
|
<if test="null != state and 3 == state">
|
and now() >= a.expireTime
|
</if>
|
order by a.createTime desc limit #{pageNum}, #{pageSize}
|
</select>
|
|
|
<select id="queryUsedCouponNum" resultType="int">
|
select sum(couponTotal - validCount) from t_user_to_coupon where `status` = 1 and userId = #{uid}
|
</select>
|
</mapper>
|