Procházet zdrojové kódy

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

CaIon před 6 měsíci
rodič
revize
43efc2161a
2 změnil soubory, kde provedl 8 přidání a 4 odebrání
  1. 5 1
      model/channel.go
  2. 3 3
      service/channel.go

+ 5 - 1
model/channel.go

@@ -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

+ 3 - 3
service/channel.go

@@ -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
 	}
 	}