전투 이벤트 정렬 수정

This commit is contained in:
2025-03-06 11:58:10 +09:00
parent 4f1a26ca96
commit 8dcfc4ed13

View File

@@ -116,8 +116,9 @@
, (SELECT @row_number:=0) AS t , (SELECT @row_number:=0) AS t
) Z ) Z
ORDER BY 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, 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,
TIME (event_start_dt), 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,
<if test="orderby != null and orderby != ''"> <if test="orderby != null and orderby != ''">
row_num ${orderby} row_num ${orderby}
</if> </if>
@@ -205,23 +206,37 @@
<if test="id != null and id != ''"> <if test="id != null and id != ''">
AND id &lt;&gt; #{id} AND id &lt;&gt; #{id}
</if> </if>
AND ( </select>
/* NONE 타입인 경우 */
(repeat_type = 'NONE' AND DATE (event_start_dt) BETWEEN <select id="getCheckBattleEventList_bak" parameterType="com.caliverse.admin.domain.request.BattleEventRequest" resultMap="BattleEventResultMap">
DATE (#{eventStartDt}) SELECT id
AND DATE (#{eventEndDt})) , event_id
OR , repeat_type
/* DAY 타입인 경우 - 기간이 조금이라도 겹치면 가져옴 */ , event_operation_time
(repeat_type = 'DAY' , event_start_dt
AND DATE (event_start_dt) &lt;= DATE (#{eventEndDt}) , event_end_dt
AND DATE (event_end_dt) &gt;= DATE (#{eventStartDt})) FROM battle_event
OR WHERE status NOT IN ('END', 'FAIL', 'CANCEL', 'STOP')
/* 요일 타입인 경우 - 기간이 겹치고 같은 요일이 있는 경우만 */ <if test="id != null and id != ''">
(repeat_type = #{repeatType} AND id &lt;&gt; #{id}
AND DATE (event_start_dt) &lt;= DATE (#{eventEndDt}) </if>
AND DATE (event_end_dt) &gt;= DATE (#{eventStartDt}) 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) &lt;= DATE (#{eventEndDt})
AND DATE (event_end_dt) &gt;= DATE (#{eventStartDt}))
OR
/* 요일 타입인 경우 - 기간이 겹치고 같은 요일이 있는 경우만 */
(repeat_type = #{repeatType}
AND DATE (event_start_dt) &lt;= DATE (#{eventEndDt})
AND DATE (event_end_dt) &gt;= DATE (#{eventStartDt})
)
)
</select> </select>
<select id="chkTimeOver" parameterType="com.caliverse.admin.domain.request.BattleEventRequest" resultType="integer"> <select id="chkTimeOver" parameterType="com.caliverse.admin.domain.request.BattleEventRequest" resultType="integer">