|
@@ -81,10 +81,18 @@
|
|
|
<include refid="baseColumns"/>,
|
|
|
u.phone_ as phone
|
|
|
from (
|
|
|
- select any_value(id_) id_
|
|
|
- from (
|
|
|
- select * from vip_card_record where efficient_flag_ = 1 and end_time_ >= now() and end_time_ < DATE_ADD(now(),INTERVAL 3 DAY) order by end_time_ desc
|
|
|
- ) t group by t.user_id_,t.client_type_,t.vip_type_
|
|
|
+ select
|
|
|
+ any_value(id_) id_
|
|
|
+ , max(if(vip_type_ = 'VIP', end_time_, null)) vipEndTime
|
|
|
+ , max(if(vip_type_ = 'SVIP', end_time_, null)) svipEndTime
|
|
|
+ from (select id_,user_id_,client_type_,vip_type_,end_time_
|
|
|
+ from vip_card_record
|
|
|
+ where efficient_flag_ = 1
|
|
|
+ and end_time_ > now()
|
|
|
+ having 1
|
|
|
+ order by end_time_ desc) t
|
|
|
+ group by t.user_id_, t.client_type_, t.vip_type_
|
|
|
+ having (DATE_ADD(now(), INTERVAL 3 DAY) > vipEndTime or DATE_ADD(now(), INTERVAL 3 DAY) > svipEndTime)
|
|
|
) a
|
|
|
left join vip_card_record t on a.id_ = t.id_
|
|
|
left join sys_user u on t.user_id_ = u.id_
|
|
@@ -97,16 +105,22 @@
|
|
|
<include refid="baseColumns"/>,
|
|
|
u.phone_ as phone
|
|
|
from (
|
|
|
- select any_value(id_) id_
|
|
|
- from (
|
|
|
- select * from vip_card_record where efficient_flag_ = 1 order by end_time_ desc
|
|
|
- ) t group by t.user_id_,t.client_type_,t.vip_type_
|
|
|
+ select
|
|
|
+ any_value(id_) id_
|
|
|
+ ,user_id_
|
|
|
+ , max(if(vip_type_ = 'VIP', end_time_, null)) vipEndTime
|
|
|
+ , max(if(vip_type_ = 'SVIP', end_time_, null)) svipEndTime
|
|
|
+ from (select id_,user_id_,client_type_,vip_type_,end_time_
|
|
|
+ from vip_card_record
|
|
|
+ where efficient_flag_ = 1
|
|
|
+ and msg_status_ in (0,1)
|
|
|
+ having 1
|
|
|
+ order by end_time_ desc) t
|
|
|
+ group by t.user_id_, t.client_type_, t.vip_type_
|
|
|
+ having ( now() > vipEndTime or now()> svipEndTime)
|
|
|
) a
|
|
|
left join vip_card_record t on a.id_ = t.id_
|
|
|
left join sys_user u on t.user_id_ = u.id_
|
|
|
- where t.efficient_flag_ = 1
|
|
|
- and t.end_time_ <= now()
|
|
|
- and msg_status_ in (0,1)
|
|
|
order by end_time_ desc
|
|
|
</select>
|
|
|
|
|
@@ -161,5 +175,6 @@
|
|
|
and t.efficient_flag_ = 1
|
|
|
group by t.user_id_) m
|
|
|
left join vip_card_record vcr on m.userId = vcr.user_id_ and vcr.end_time_ > now() and now() >= vcr.start_time_ and efficient_flag_ = 1 and vcr.client_type_ = #{clientType}
|
|
|
+ order by vcr.end_time_ desc
|
|
|
</select>
|
|
|
</mapper>
|