Просмотр исходного кода

Merge remote-tracking branch 'origin/main'

CaIon 2 лет назад
Родитель
Сommit
3811575d0c
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      model/ability.go

+ 4 - 4
model/ability.go

@@ -16,12 +16,12 @@ type Ability struct {
 func GetRandomSatisfiedChannel(group string, model string) (*Channel, error) {
 func GetRandomSatisfiedChannel(group string, model string) (*Channel, error) {
 	ability := Ability{}
 	ability := Ability{}
 	var err error = nil
 	var err error = nil
+	maxPrioritySubQuery := DB.Model(&Ability{}).Select("MAX(priority)").Where("`group` = ? and model = ? and enabled = 1", group, model)
+	channelQuery := DB.Where("`group` = ? and model = ? and enabled = 1 and priority = (?)", group, model, maxPrioritySubQuery)
 	if common.UsingSQLite {
 	if common.UsingSQLite {
-		maxPrioritySubQuery := DB.Model(&Ability{}).Select("MAX(priority)").Where("`group` = ? and model = ? and enabled = 1", group, model)
-		err = DB.Where("`group` = ? and model = ? and enabled = 1 and priority = (?)", group, model, maxPrioritySubQuery).Order("RANDOM()").Limit(1).First(&ability).Error
+		err = channelQuery.Order("RANDOM()").First(&ability).Error
 	} else {
 	} else {
-		maxPrioritySubQuery := DB.Model(&Ability{}).Select("MAX(priority)").Where("group = ? and model = ? and enabled = 1", group, model)
-		err = DB.Where("`group` = ? and model = ? and enabled = 1 and priority = (?)", group, model, maxPrioritySubQuery).Order("RAND()").Limit(1).First(&ability).Error
+		err = channelQuery.Order("RAND()").First(&ability).Error
 	}
 	}
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err