diff --git a/src/main/resources/mapper/master/UserCourseBuyDao.xml b/src/main/resources/mapper/master/UserCourseBuyDao.xml index f58a02cd..df6f8790 100644 --- a/src/main/resources/mapper/master/UserCourseBuyDao.xml +++ b/src/main/resources/mapper/master/UserCourseBuyDao.xml @@ -40,13 +40,13 @@ select ROUND(SUM(fee),2) fee,ROUND(SUM(alreadyTanxiao),2) alreadyTanxiao,ROUND(SUM(currentTanxiao),2) currentTanxiao,ROUND(SUM(surplusTanxiao),2) surplusTanxiao from ( select w.name,w.tel,w.ctitle,w.cctitle,if(w.startTime is null,'',w.startTime) startTime,if(w.endTime is null,'',w.endTime) endTime,w.totalDays - ,w.type,w.payType,w.payTime,w.orderSn,w.zfbOrder,w.days,w.fee,w.remark,w.dayAmount,w.alreadyDay,w.currentDay - ,ROUND(if(alreadyDay=days,fee,alreadyDay*dayAmount),2) alreadyTanxiao - ,ROUND(if(alreadyDay+currentDay>=totalDays,fee-ROUND(if(alreadyDay=days,fee,alreadyDay*dayAmount),2),currentDay*dayAmount),2) currentTanxiao - ,ROUND(fee-(if(alreadyDay=days,fee,alreadyDay*dayAmount))-ROUND(if(alreadyDay+currentDay>=totalDays,fee-ROUND(if(alreadyDay=days,fee,alreadyDay*dayAmount),2),currentDay*dayAmount),2),2) surplusTanxiao + ,w.type,w.payType,w.payTime,w.orderSn,w.zfbOrder,w.days,w.fee,w.remark,w.dayAmount,w.alreadyDay,w.currentDay + ,ROUND(if(alreadyDay=days,fee,alreadyDay*dayAmount),2) alreadyTanxiao + ,ROUND(if(alreadyDay+currentDay>=totalDays,fee-ROUND(if(alreadyDay=days,fee,alreadyDay*dayAmount),2),currentDay*dayAmount),2) currentTanxiao + ,ROUND(fee-(if(alreadyDay=days,fee,alreadyDay*dayAmount))-ROUND(if(alreadyDay+currentDay>=totalDays,fee-ROUND(if(alreadyDay=days,fee,alreadyDay*dayAmount),2),currentDay*dayAmount),2),2) surplusTanxiao from ( select q.* - ,IF(days-alreadyDay=0,0,IF(beginDay=0,IF(startTime is NULL,0,IF(days-alreadyDay>=monthDays,if(DATE_FORMAT(startTime,'%Y-%m')=SUBSTR(#{date},1,7),DATEDIFF(#{date},startTime)+1,monthDays),if(DATE_FORMAT(startTime, '%Y-%m')=SUBSTR(#{date},1,7),DATEDIFF(#{date},startTime)+1,if(DATE_FORMAT(startTime, '%Y-%m') < SUBSTR(#{date},1,7),days-alreadyDay,0)))),IF(beginDay-alreadyTotalDay>monthDays,0,monthDays-(beginDay-alreadyTotalDay-1)))) currentDay + ,IF(days-alreadyDay=0,0,IF(beginDay=0,IF(startTime is NULL,0,IF(days-alreadyDay>=monthDays,if(DATE_FORMAT(startTime,'%Y-%m')=SUBSTR(#{date},1,7),DATEDIFF(#{date},startTime)+1,if(DATE_FORMAT(startTime,'%Y-%m')>SUBSTR(#{date},1,7),0,monthDays)),if(DATE_FORMAT(startTime, '%Y-%m')=SUBSTR(#{date},1,7),if(DATEDIFF(#{date},startTime)+1>days,days,DATEDIFF(#{date},startTime)+1),if(DATE_FORMAT(startTime, '%Y-%m') < SUBSTR(#{date},1,7),days-alreadyDay,0)))),IF(beginDay-alreadyTotalDay>monthDays,0,monthDays-(beginDay-alreadyTotalDay-1)))) currentDay from ( select s.* ,IF(alreadyTotalDay>beginDay,IF(beginDay=0,IF(alreadyTotalDay < days,alreadyTotalDay,days),alreadyTotalDay-beginDay+1),0) alreadyDay