|
@@ -127,7 +127,7 @@
|
|
|
</resultMap>
|
|
|
|
|
|
<select id="queryUserCanGetCoupon" resultMap="SysCoupon">
|
|
|
- SELECT
|
|
|
+ SELECT DISTINCT
|
|
|
id_,
|
|
|
name_,
|
|
|
description_,
|
|
@@ -150,26 +150,28 @@
|
|
|
warning_status_,
|
|
|
create_time_,
|
|
|
update_time_,
|
|
|
- a.tenant_id_
|
|
|
+ tenant_id_
|
|
|
FROM
|
|
|
sys_coupon AS a
|
|
|
- JOIN
|
|
|
- (SELECT DISTINCT
|
|
|
- coupon_id_,
|
|
|
- tenant_id_
|
|
|
+ LEFT JOIN
|
|
|
+ (SELECT
|
|
|
+ COUNT(coupon_id_) AS couponNum,
|
|
|
+ coupon_id_
|
|
|
FROM
|
|
|
sys_coupon_code
|
|
|
- WHERE user_id_ = #{userId}) AS b
|
|
|
- ON a.`id_` NOT IN (b.coupon_id_)
|
|
|
- AND a.tenant_id_ = b.tenant_id_
|
|
|
+ WHERE user_id_ = #{userId}
|
|
|
+ GROUP BY coupon_id_) AS b
|
|
|
+ ON a.id_ = b.coupon_id_
|
|
|
WHERE issuance_type_ = 0
|
|
|
AND status_ = 1
|
|
|
+ AND tenant_id_ = #{tenantId}
|
|
|
+ AND a.`limit_exchange_num_` > IFNULL(b.couponNum,0)
|
|
|
AND (
|
|
|
effective_expire_time_ > NOW()
|
|
|
OR deadline_ > 0
|
|
|
)
|
|
|
AND (
|
|
|
- stock_count_ <![CDATA[ > ]]> consume_num_
|
|
|
+ stock_count_ > consume_num_
|
|
|
OR stock_count_ = - 1
|
|
|
)
|
|
|
</select>
|