From 9a239d9e13ecefde98b2f17a657019b050f92731 Mon Sep 17 00:00:00 2001 From: CaIon Date: Thu, 17 Jul 2025 20:04:26 +0800 Subject: [PATCH] refactor: initialize channel cache after channel operations to ensure data consistency --- controller/channel.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/controller/channel.go b/controller/channel.go index c2430a04..d3bfa202 100644 --- a/controller/channel.go +++ b/controller/channel.go @@ -528,6 +528,7 @@ func DeleteChannel(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -541,6 +542,7 @@ func DeleteDisabledChannel(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -574,6 +576,7 @@ func DisableTagChannels(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -596,6 +599,7 @@ func EnableTagChannels(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -625,6 +629,7 @@ func EditTagChannels(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -652,6 +657,7 @@ func DeleteChannelBatch(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -703,9 +709,7 @@ func UpdateChannel(c *gin.Context) { common.ApiError(c, err) return } - if common.MemoryCacheEnabled { - model.InitChannelCache() - } + model.InitChannelCache() channel.Key = "" c.JSON(http.StatusOK, gin.H{ "success": true, @@ -811,6 +815,7 @@ func BatchSetChannelTag(c *gin.Context) { common.ApiError(c, err) return } + model.InitChannelCache() c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", @@ -905,7 +910,7 @@ func CopyChannel(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"success": false, "message": err.Error()}) return } - + model.InitChannelCache() // success c.JSON(http.StatusOK, gin.H{"success": true, "message": "", "data": gin.H{"id": clone.Id}}) }