diff --git a/controller/channel.go b/controller/channel.go index 3c7402d3..8ad724fd 100644 --- a/controller/channel.go +++ b/controller/channel.go @@ -132,7 +132,11 @@ func UpdateChannel(c *gin.Context) { }) return } - err = channel.Update() + if channel.Models == "" { + err = channel.Update(false) + } else { + err = channel.Update(true) + } if err != nil { c.JSON(http.StatusOK, gin.H{ "success": false, diff --git a/model/channel.go b/model/channel.go index 3a68885e..fa033d77 100644 --- a/model/channel.go +++ b/model/channel.go @@ -152,7 +152,7 @@ func BatchDelModelChannels(params *BatchChannelsParams) (int64, error) { } channel.Models = strings.Join(modelsSlice, ",") - channel.Update() + channel.Update(false) count++ } @@ -190,9 +190,14 @@ func (channel *Channel) Insert() error { return err } -func (channel *Channel) Update() error { +func (channel *Channel) Update(overwrite bool) error { var err error - err = DB.Model(channel).Select("*").Omit("UsedQuota").Updates(channel).Error + + if overwrite { + err = DB.Model(channel).Select("*").Omit("UsedQuota").Updates(channel).Error + } else { + err = DB.Model(channel).Omit("UsedQuota").Updates(channel).Error + } if err != nil { return err }