From 8dcfc4ed137a09dc184b6d29b805bc89f10f1e76 Mon Sep 17 00:00:00 2001 From: bcjang Date: Thu, 6 Mar 2025 11:58:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=84=ED=88=AC=20=EC=9D=B4=EB=B2=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=A0=95=EB=A0=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mappers/BattleMapper.xml | 53 +++++++++++++-------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/src/main/resources/mappers/BattleMapper.xml b/src/main/resources/mappers/BattleMapper.xml index 42b8780..053016a 100644 --- a/src/main/resources/mappers/BattleMapper.xml +++ b/src/main/resources/mappers/BattleMapper.xml @@ -116,8 +116,9 @@ , (SELECT @row_number:=0) AS t ) Z ORDER BY - CASE WHEN Z.status = 'STOP' THEN 1 WHEN Z.status = 'END' THEN 2 WHEN Z.status = 'FAIL' OR Z.status = 'CANCEL' THEN 3 ELSE 0 END, - TIME (event_start_dt), + CASE WHEN Z.status = 'STOP' THEN 2 WHEN Z.status = 'END' THEN 3 WHEN Z.status = 'FAIL' OR Z.status = 'CANCEL' THEN 4 WHEN Z.status = 'RUNNING' THEN 0 ELSE 1 END, + CASE WHEN DATE(Z.event_start_dt) <= DATE(NOW()) THEN 0 ELSE 1 END, + CASE WHEN DATE(Z.event_start_dt) <= DATE(NOW()) THEN TIME(Z.event_start_dt) ELSE Z.event_start_dt END, row_num ${orderby} @@ -205,23 +206,37 @@ AND id <> #{id} - AND ( - /* NONE 타입인 경우 */ - (repeat_type = 'NONE' AND DATE (event_start_dt) BETWEEN - DATE (#{eventStartDt}) - AND DATE (#{eventEndDt})) - OR - /* DAY 타입인 경우 - 기간이 조금이라도 겹치면 가져옴 */ - (repeat_type = 'DAY' - AND DATE (event_start_dt) <= DATE (#{eventEndDt}) - AND DATE (event_end_dt) >= DATE (#{eventStartDt})) - OR - /* 요일 타입인 경우 - 기간이 겹치고 같은 요일이 있는 경우만 */ - (repeat_type = #{repeatType} - AND DATE (event_start_dt) <= DATE (#{eventEndDt}) - AND DATE (event_end_dt) >= DATE (#{eventStartDt}) - ) - ) + + +