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

fix(pricing): 统一 sort_order 排序逻辑,有 meta 但未设置的不优先

之前有 meta 记录但 sort_order=999999 的模型排在没 meta 记录的模型前面,
导致部分"未设置排序"的模型仍然挤在前面。现在统一处理:不论是否有
meta 记录,sort_order=999999 的都视为未设置,排在后面。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
master
fengsilin 2 недель назад
Родитель
Сommit
d5157a779c
1 измененных файлов: 11 добавлений и 9 удалений
  1. +11
    -9
      model/pricing.go

+ 11
- 9
model/pricing.go Просмотреть файл

@@ -336,18 +336,20 @@ func updatePricing() {
pricingMap = append(pricingMap, pricing) pricingMap = append(pricingMap, pricing)
} }


// 按 sort_order 排序 pricingMap
// 按 sort_order 排序 pricingMap,999999 视为未设置
sort.Slice(pricingMap, func(i, j int) bool { sort.Slice(pricingMap, func(i, j int) bool {
mi, okI := metaMap[pricingMap[i].ModelName] mi, okI := metaMap[pricingMap[i].ModelName]
mj, okJ := metaMap[pricingMap[j].ModelName] mj, okJ := metaMap[pricingMap[j].ModelName]
if okI && okJ {
if mi.SortOrder != mj.SortOrder {
return mi.SortOrder < mj.SortOrder
}
} else if okI {
return true
} else if okJ {
return false
si := 999999
sj := 999999
if okI {
si = mi.SortOrder
}
if okJ {
sj = mj.SortOrder
}
if si != sj {
return si < sj
} }
return pricingMap[i].ModelName < pricingMap[j].ModelName return pricingMap[i].ModelName < pricingMap[j].ModelName
}) })


Загрузка…
Отмена
Сохранить