增加了图表[0.2.7.2][ci]
This commit is contained in:
@@ -589,6 +589,25 @@ def analytics_recent(limit: int = 10, gte: str = None, lte: str = None):
|
||||
pass
|
||||
return ""
|
||||
|
||||
def _extract_detail(s: str):
|
||||
if not s:
|
||||
return ""
|
||||
try:
|
||||
obj = json.loads(s)
|
||||
if isinstance(obj, dict):
|
||||
# 尝试获取常见的标题字段
|
||||
for key in ["标题", "名称", "项目名称", "成果名称", "软件名称", "专利名称", "获奖名称", "证书名称", "姓名"]:
|
||||
v = obj.get(key)
|
||||
if isinstance(v, str) and v:
|
||||
return v
|
||||
# 如果没有找到常见标题,尝试获取第一个非"数据类型"的字符串值
|
||||
for k, v in obj.items():
|
||||
if k != "数据类型" and isinstance(v, str) and v and len(v) < 50:
|
||||
return v
|
||||
except Exception:
|
||||
pass
|
||||
return ""
|
||||
|
||||
search = AchievementDocument.search()
|
||||
body = {
|
||||
"size": max(1, min(limit, 100)),
|
||||
@@ -619,11 +638,13 @@ def analytics_recent(limit: int = 10, gte: str = None, lte: str = None):
|
||||
except Exception:
|
||||
uname = None
|
||||
tval = _extract_type(getattr(hit, 'data', ''))
|
||||
dval = _extract_detail(getattr(hit, 'data', ''))
|
||||
results.append({
|
||||
"_id": hit.meta.id,
|
||||
"writer_id": w,
|
||||
"username": uname or "",
|
||||
"type": tval or "",
|
||||
"detail": dval or "",
|
||||
"time": getattr(hit, 'time', None)
|
||||
})
|
||||
return results
|
||||
|
||||
Reference in New Issue
Block a user