From c237fb6c3fa18983c0c0d473d8ec8c89e46dc8a6 Mon Sep 17 00:00:00 2001 From: qian Date: Sat, 18 Jul 2026 22:57:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BF=87=E6=BB=A4=E5=8F=82=E6=95=B0=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E7=AD=9B=E9=80=89=E5=AE=9A=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/logic/admin/model.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/logic/admin/model.go b/internal/logic/admin/model.go index e6363b7..0463c8e 100644 --- a/internal/logic/admin/model.go +++ b/internal/logic/admin/model.go @@ -75,9 +75,11 @@ func (s *sAdmin) ListModels(ctx context.Context, req *v1.ModelListReq) (*v1.Mode } // 定价状态筛选 if req.PricingStatus == "priced" { - query = query.Where("EXISTS (SELECT 1 FROM mdl_pricing WHERE mdl_pricing.model_id = mdl_models.id AND mdl_pricing.min_tokens = 0)") + // 已定价:存在 min_tokens=0 的记录,且输入价格或输出价格不为 0 + query = query.Where("EXISTS (SELECT 1 FROM mdl_pricing WHERE mdl_pricing.model_id = mdl_models.id AND mdl_pricing.min_tokens = 0 AND (mdl_pricing.input_price > 0 OR mdl_pricing.output_price > 0 OR mdl_pricing.per_request_price > 0))") } else if req.PricingStatus == "unpriced" { - query = query.Where("NOT EXISTS (SELECT 1 FROM mdl_pricing WHERE mdl_pricing.model_id = mdl_models.id AND mdl_pricing.min_tokens = 0)") + // 未定价:存在 min_tokens=0 的记录,但所有价格字段都为 0 + query = query.Where("EXISTS (SELECT 1 FROM mdl_pricing WHERE mdl_pricing.model_id = mdl_models.id AND mdl_pricing.min_tokens = 0 AND mdl_pricing.input_price = 0 AND mdl_pricing.output_price = 0 AND (mdl_pricing.per_request_price IS NULL OR mdl_pricing.per_request_price = 0))") } var total int