From 1e72a0b06e37d372c46522c85c6733edbcd5331d Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 10 四月 2026 10:36:33 +0800
Subject: [PATCH] feat:App首页-养生直播

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/LiveSessionMapper.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/LiveSessionMapper.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/LiveSessionMapper.java
index 7ca2267..d43fe43 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/LiveSessionMapper.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/LiveSessionMapper.java
@@ -3,8 +3,19 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.tcm.training.admin.live.entity.LiveSession;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 @Mapper
 public interface LiveSessionMapper extends BaseMapper<LiveSession> {
-}
 
+    /**
+     * 仅当场次仍处于未开始状态时,将其切换为直播中,保证人工开播与自动开播幂等。
+     */
+    @Update("UPDATE tcm_live_session " +
+            "SET live_status = 1, " +
+            "actual_start_time = CASE WHEN actual_start_time IS NULL THEN #{actualStartTime} ELSE actual_start_time END, " +
+            "updated_at = NOW() " +
+            "WHERE id = #{sessionId} AND deleted = 0 AND live_status = 0")
+    int markLivingIfPending(@Param("sessionId") Long sessionId, @Param("actualStartTime") java.time.LocalDateTime actualStartTime);
+}

--
Gitblit v1.7.1