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 1a5ba75068
commit a69f166e9e
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 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) { func GetAllChannels(startIdx int, num int, selectAll bool, idSort bool) ([]*Channel, error) {
var channels []*Channel var channels []*Channel
var err error var err error
@ -645,7 +649,7 @@ func UpdateChannelStatus(channelId int, usingKey string, status int, reason stri
channel.Status = status channel.Status = status
shouldUpdateAbilities = true shouldUpdateAbilities = true
} }
err = channel.Save() err = channel.SaveWithoutKey()
if err != nil { if err != nil {
common.SysLog(fmt.Sprintf("failed to update channel status: channel_id=%d, status=%d, error=%v", channel.Id, status, err)) common.SysLog(fmt.Sprintf("failed to update channel status: channel_id=%d, status=%d, error=%v", channel.Id, status, err))
return false return false

View File

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