From 1f4fc2d5908e68c003fbfd75414e2cac11e0b98c Mon Sep 17 00:00:00 2001 From: xqx333 <141810964+xqx333@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:30:31 +0800 Subject: [PATCH] Update channel.go --- model/channel.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/model/channel.go b/model/channel.go index a409d4d2..236b1dd4 100644 --- a/model/channel.go +++ b/model/channel.go @@ -296,10 +296,15 @@ func UpdateChannelStatusById(id int, status int, reason string) { if (common.MemoryCacheEnabled) { channelStatusLock.Lock() channelCache, err := CacheGetChannel(id) - // 如果缓存渠道不存在或渠道已是目标状态,直接返回 - if err != nil || channelCache.Status == status { + // 如果缓存渠道存在,且状态已是目标状态,直接返回 + if channelCache != nil && channelCache.Status == status { channelStatusLock.Unlock() - return + return + } + // 如果缓存渠道不存在(说明已经被禁用),且要设置的状态不为启用,直接返回 + if channelCache == nil && status != common.ChannelStatusEnabled { + channelStatusLock.Unlock() + return } CacheUpdateChannelStatus(id, status) channelStatusLock.Unlock()