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