PhysicalTournamentRuntimeMapper.xml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="org.dromara.physical.mapper.PhysicalTournamentRuntimeMapper">
  6. <!-- 插入:必须验证 tournament_id 非空 -->
  7. <insert id="insertPhysicalTournamentRuntime">
  8. INSERT INTO physical_tournament_runtime (
  9. tournament_id,
  10. current_level_id,
  11. current_level_start_time,
  12. pause_status,
  13. pause_start_time,
  14. status,
  15. last_level_switch_time,
  16. tournament_begin_time
  17. ) VALUES (
  18. #{tournamentId},
  19. #{currentLevelId},
  20. #{currentLevelStartTime},
  21. #{pauseStatus},
  22. #{pauseStartTime},
  23. #{status},
  24. #{lastLevelSwitchTime},
  25. #{tournamentBeginTime}
  26. )
  27. </insert>
  28. <!-- 更新:必须验证 tournament_id 非空 + 状态字段非空 -->
  29. <update id="updatePhysicalTournamentRuntime">
  30. UPDATE physical_tournament_runtime
  31. <set>
  32. <if test="currentLevelId != null">
  33. current_level_id = #{currentLevelId, jdbcType=INTEGER},
  34. </if>
  35. <if test="currentLevelStartTime != null">
  36. current_level_start_time = #{currentLevelStartTime, jdbcType=TIMESTAMP},
  37. </if>
  38. <if test="pauseStatus != null">
  39. pause_status = #{pauseStatus, jdbcType=TINYINT},
  40. </if>
  41. <if test="pauseStartTime != null">
  42. pause_start_time = #{pauseStartTime, jdbcType=TIMESTAMP},
  43. </if>
  44. <if test="status != null">
  45. status = #{status, jdbcType=VARCHAR},
  46. </if>
  47. <if test="lastLevelSwitchTime != null">
  48. last_level_switch_time = #{lastLevelSwitchTime, jdbcType=TIMESTAMP},
  49. </if>
  50. updated_at = CURRENT_TIMESTAMP
  51. </set>
  52. WHERE tournament_id = #{tournamentId, jdbcType=INTEGER}
  53. AND tournament_id IS NOT NULL <!-- 确保主键非空 -->
  54. </update>
  55. <delete id="deletePhysicalTournamentRuntime">
  56. DELETE FROM physical_tournament_runtime
  57. <where>
  58. tournament_id IN
  59. <foreach item="id" collection="ids" open="(" separator="," close=")">
  60. <if test="id > 0">
  61. #{id}
  62. </if>
  63. </foreach>
  64. </where>
  65. </delete>
  66. <!-- 查询:根据ID获取(必须验证ID非空) -->
  67. <select id="selectPhysicalTournamentRuntimeById" resultType="org.dromara.physical.domain.vo.PhysicalTournamentRuntimeVo">
  68. SELECT
  69. tournament_id,
  70. current_level_id,
  71. current_level_start_time,
  72. pause_status,
  73. pause_start_time,
  74. status,
  75. last_level_switch_time,
  76. created_at,
  77. updated_at,
  78. tournament_begin_time
  79. FROM physical_tournament_runtime
  80. WHERE tournament_id = #{tournamentId, jdbcType=INTEGER}
  81. AND tournament_id IS NOT NULL <!-- 确保ID非空 -->
  82. </select>
  83. <!-- 查询所有进行中赛事(状态=ONGOING) -->
  84. <select id="selectPhysicalTournamentRuntimeList" resultType="org.dromara.physical.domain.vo.PhysicalTournamentRuntimeVo">
  85. SELECT
  86. tournament_id,
  87. current_level_id,
  88. current_level_start_time,
  89. pause_status,
  90. pause_start_time,
  91. status,
  92. last_level_switch_time,
  93. created_at,
  94. updated_at,
  95. tournament_begin_time
  96. FROM physical_tournament_runtime ${ew.customSqlSegment}
  97. </select>
  98. <select id="selectPhysicalTournamentRuntimePage" resultType="org.dromara.physical.domain.vo.PhysicalTournamentRuntimeVo">
  99. SELECT
  100. tournament_id,
  101. current_level_id,
  102. current_level_start_time,
  103. pause_status,
  104. pause_start_time,
  105. status,
  106. last_level_switch_time,
  107. created_at,
  108. updated_at,
  109. tournament_begin_time
  110. FROM physical_tournament_runtime ${ew.customSqlSegment}
  111. </select>
  112. <delete id="deletePhysicalTournamentRuntimeById">
  113. DELETE FROM physical_tournament_runtime where tournament_id = #{tournamentId}
  114. </delete>
  115. <select id="selectPhysicalTournamentRuntimeAllList" resultType="org.dromara.physical.domain.vo.PhysicalTournamentRuntimeVo">
  116. SELECT
  117. tournament_id,
  118. current_level_id,
  119. current_level_start_time,
  120. pause_status,
  121. pause_start_time,
  122. status,
  123. last_level_switch_time,
  124. created_at,
  125. updated_at,
  126. tournament_begin_time
  127. FROM physical_tournament_runtime
  128. WHERE
  129. tournament_id IS NOT NULL
  130. <if test="status != null">
  131. AND status = #{status}
  132. </if>
  133. </select>
  134. </mapper>