From 7d9f5a358be4b07f19386a4f91dcb11130e4b090 Mon Sep 17 00:00:00 2001 From: stefanfeng Date: Tue, 7 Apr 2026 14:32:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BD=BF=E7=94=A8=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E7=9A=84=E5=B9=BF=E5=9C=BA=E6=8E=A5=E5=8F=A3=20/business/squar?= =?UTF-8?q?e/list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题根因: - 一直用 /business/member/square/list(成员广场接口) - 该接口加了 isPlatformShow=true 和 isAdmin=false 过滤 - 导致大量文章(包括今日最新文章)被过滤掉,只剩124篇 - 正确接口 /business/square/list?type=1 有2504篇文章,今日文章可见 修改内容: 1. 接口地址改为 /business/square/list(4处) 2. 去掉 isPlatformShow 和 isAdmin 参数,只保留 type=1 3. _is_today 时间字段优先用 publishTime(新接口主要返回此字段) 4. 排序和热度权重计算也统一用 publishTime 优先 --- backend/app/services/news_service.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/backend/app/services/news_service.py b/backend/app/services/news_service.py index af68041..0c216f1 100755 --- a/backend/app/services/news_service.py +++ b/backend/app/services/news_service.py @@ -401,9 +401,11 @@ class NewsPlatformService: } | news_service._invalid_ids_cache def _build(page, size=50): + # Use /business/square/list (not /business/square/list) + # Only type=1 filter — isPlatformShow/isAdmin exclude org-less articles p = self._build_form({ "pageNum": page, "pageSize": size, - "type": "1", "isPlatformShow": "true", "isAdmin": "false", + "type": "1", }, cfg) if org_id: p["orgId"] = org_id @@ -421,7 +423,8 @@ class NewsPlatformService: return items def _is_today(item): - t = item.get("createTime") or item.get("publishTime") or "" + # API returns publishTime (not createTime) for /business/square/list + t = item.get("publishTime") or item.get("createTime") or item.get("pushTime") or "" if not t: return False try: @@ -436,7 +439,7 @@ class NewsPlatformService: async with httpx.AsyncClient(timeout=12) as c: for page in range(1, 4): # 第1页最新,逐页往前 r = await c.get( - f"{biz}/business/member/square/list", + f"{biz}/business/square/list", headers=self._bearer(token), params=_build(page), ) @@ -463,7 +466,7 @@ class NewsPlatformService: if today_articles: # 今日文章:从新到旧排序(createTime 降序) today_articles.sort( - key=lambda x: x.get("createTime") or x.get("publishTime") or "", + key=lambda x: x.get("publishTime") or x.get("createTime") or x.get("pushTime") or "", reverse=True ) # 去重(按 recordId) @@ -502,7 +505,7 @@ class NewsPlatformService: try: async with httpx.AsyncClient(timeout=10) as _c: _r = await _c.get( - f"{biz}/business/member/square/list", + f"{biz}/business/square/list", headers=self._bearer(token), params=_build(1), ) @@ -537,7 +540,7 @@ class NewsPlatformService: try: async with httpx.AsyncClient(timeout=15) as c: r = await c.get( - f"{biz}/business/member/square/list", + f"{biz}/business/square/list", headers=self._bearer(token), params=_build(page), )