From d2d84cb27b5d44fcc4b92d86b267dafe415c5b53 Mon Sep 17 00:00:00 2001 From: Kris <2893855659@qq.com> Date: Thu, 9 Jul 2026 04:23:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(repository):=20=E6=9B=BF=E6=8D=A2json?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E8=A7=A3=E6=9E=90=E5=87=BD=E6=95=B0=E4=B8=BA?= =?UTF-8?q?jsonb=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将json_array_elements_text更换为jsonb_array_elements_text,适配数据库jsonb类型字段的解析操作,修复分类统计时的类型不匹配问题 --- .../repositories/channels/content_review_record_repository.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/package/yuxi/repositories/channels/content_review_record_repository.py b/backend/package/yuxi/repositories/channels/content_review_record_repository.py index 7bbcbba9..dfd06c15 100644 --- a/backend/package/yuxi/repositories/channels/content_review_record_repository.py +++ b/backend/package/yuxi/repositories/channels/content_review_record_repository.py @@ -261,7 +261,7 @@ class ChannelContentReviewRecordRepository(BaseRepository): block_rate = (block_count / total_reviews * 100) if total_reviews > 0 else 0.0 # 按分类切片:展开 categories JSON 数组后分组计数 - category_expr = func.json_array_elements_text(ChannelContentReviewRecord.categories).label("category") + category_expr = func.jsonb_array_elements_text(ChannelContentReviewRecord.categories).label("category") category_stmt = ( select( category_expr, @@ -405,7 +405,7 @@ class ChannelContentReviewRecordRepository(BaseRepository): manual_intervention_rate = (manual_count / total_reviews * 100) if total_reviews > 0 else 0.0 # 按分类切片:展开 categories JSON 数组后分组计数 - category_expr = func.json_array_elements_text(ChannelContentReviewRecord.categories).label("category") + category_expr = func.jsonb_array_elements_text(ChannelContentReviewRecord.categories).label("category") category_stmt = ( select( category_expr,