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})
- )
- )
+
+
+