增加妇幼生殖VIP
This commit is contained in:
@@ -20,7 +20,8 @@
|
||||
left join pay_zfb_order pzo on pzo.relevanceOid = uvl.order_sn and pzo.trade_no is not null
|
||||
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0
|
||||
and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7)
|
||||
and u.id not in (select id from user where tester_flag = 1)
|
||||
and
|
||||
(u.id not in (select id from user where tester_flag = 1) or (u.id in (select id from user where tester_flag = 1 and (uvl.pay_type in('微信','支付宝') and uvl.create_time>='2026-05-06 00:00:00'))))
|
||||
order by uvl.end_time asc
|
||||
) t order by currentDays desc
|
||||
</select>
|
||||
@@ -49,5 +50,25 @@
|
||||
) s
|
||||
</select>
|
||||
|
||||
<select id="getUserVipRefundInfo" resultType="map">
|
||||
select t.*,
|
||||
IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays) alreadyTanxiao,
|
||||
dayAmount*currentDays currentTanxiao,
|
||||
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
||||
from (select uvl.*,c.create_time refund_time,u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel, IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
||||
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,pzo.trade_no zfbOrder,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
||||
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
||||
|
||||
from buy_order a left join user_vip_log uvl on a.order_sn = uvl.order_sn
|
||||
left join user_vip vp on uvl.user_vip_id = vp.id
|
||||
left join buy_order_refund c on c.order_id=a.order_id left join user u on a.user_id=u.id
|
||||
left join pay_zfb_order pzo on pzo.relevanceOid = a.order_sn and pzo.trade_no is not null
|
||||
where a.order_status='6' and
|
||||
DATE_FORMAT(a.create_time, '%Y-%m') = SUBSTR(#{last_l_date},1,7) and DATE_FORMAT(c.create_time, '%Y-%m') = SUBSTR(#{last_date},1,7) and a.order_type='vip' and a.del_flag=0 and uvl.del_flag=0 and c.del_flag=0
|
||||
|
||||
) t order by currentDays desc
|
||||
) s
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user