diff --git a/src/main/resources/mapper/master/UserCourseBuyDao.xml b/src/main/resources/mapper/master/UserCourseBuyDao.xml index 8ddb2bd8..e606993f 100644 --- a/src/main/resources/mapper/master/UserCourseBuyDao.xml +++ b/src/main/resources/mapper/master/UserCourseBuyDao.xml @@ -9,7 +9,7 @@ ,ROUND(alreadyDay*dayAmount,2) alreadyTanxiao,ROUND(currentDay*dayAmount,2) currentTanxiao,ROUND(fee-(alreadyDay*dayAmount)-(currentDay*dayAmount),2) surplusTanxiao from ( select q.* - ,IF(days-alreadyDay=0,0,IF(beginDay=0,IF(startTime is NULL,0,IF(days-alreadyDay>=monthDays,monthDays,days-alreadyDay)),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,monthDays),days-alreadyDay)),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 diff --git a/src/main/resources/mapper/master/UserVipLogDao.xml b/src/main/resources/mapper/master/UserVipLogDao.xml index 8060b6b5..16280208 100644 --- a/src/main/resources/mapper/master/UserVipLogDao.xml +++ b/src/main/resources/mapper/master/UserVipLogDao.xml @@ -9,7 +9,7 @@ select 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,uvl.pay_type payType,uvl.remark,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),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),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 user_vip_log uvl left join user_vip uv on uv.id = uvl.user_vip_id