feat: add SaveWithoutKey method to Channel and update status saving logic

This commit is contained in:
CaIon
2025-08-25 11:20:16 +08:00
parent caaa988c87
commit 43efc2161a
2 changed files with 8 additions and 4 deletions

View File

@@ -247,6 +247,10 @@ func (channel *Channel) Save() error {
return DB.Save(channel).Error
}
func (channel *Channel) SaveWithoutKey() error {
return DB.Omit("key").Save(channel).Error
}
func GetAllChannels(startIdx int, num int, selectAll bool, idSort bool) ([]*Channel, error) {
var channels []*Channel
var err error
@@ -645,7 +649,7 @@ func UpdateChannelStatus(channelId int, usingKey string, status int, reason stri
channel.Status = status
shouldUpdateAbilities = true
}
err = channel.Save()
err = channel.SaveWithoutKey()
if err != nil {
common.SysLog(fmt.Sprintf("failed to update channel status: channel_id=%d, status=%d, error=%v", channel.Id, status, err))
return false

View File

@@ -18,11 +18,11 @@ func formatNotifyType(channelId int, status int) string {
// disable & notify
func DisableChannel(channelError types.ChannelError, reason string) {
common.SysLog(fmt.Sprintf("通道「%s」#%d发生错误准备禁用原因%s", channelError.ChannelName, channelError.ChannelId, reason))
// 检查是否启用自动禁用功能
if !channelError.AutoBan {
if common.DebugEnabled {
common.SysLog(fmt.Sprintf("通道「%s」#%d未启用自动禁用功能跳过禁用操作", channelError.ChannelName, channelError.ChannelId))
}
common.SysLog(fmt.Sprintf("通道「%s」#%d未启用自动禁用功能跳过禁用操作", channelError.ChannelName, channelError.ChannelId))
return
}