Skip to content

Commit 315c204

Browse files
committed
fix type.html function bugs
1 parent 79f317e commit 315c204

2 files changed

Lines changed: 40 additions & 10 deletions

File tree

docs/00_changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
### changelog
2+
3+
-[x] 2025-04-29: fix type.html function bugs
4+
-[x] 2025-04-29: add log function for controller and module
25
-[x] 2025-04-06: fix cards page and beautify it
36
-[x] 2025-04-06: fix todo page
47
-[x] 2025-04-05: add tests for woniunote

woniunote/module/articles.py

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -335,10 +335,22 @@ def find_by_type(article_type, start, count):
335335
# 生成跟踪ID
336336
trace_id = get_articles_trace_id()
337337

338+
# 确保 article_type 是整数类型
339+
try:
340+
article_type_int = int(article_type)
341+
except (ValueError, TypeError):
342+
# 记录类型转换异常
343+
articles_logger.error("文章类型参数转换异常", {
344+
'trace_id': trace_id,
345+
'article_type': article_type,
346+
'error': f"无法将 {article_type} 转换为整数"
347+
})
348+
return []
349+
338350
# 记录查询开始
339351
articles_logger.info("开始按类型查询文章", {
340352
'trace_id': trace_id,
341-
'article_type': article_type,
353+
'article_type': article_type_int,
342354
'start': start,
343355
'count': count
344356
})
@@ -347,14 +359,17 @@ def find_by_type(article_type, start, count):
347359
# 执行查询
348360
query_start_time = time.time()
349361
result = dbsession.query(Article, Users.nickname).join(Users, Users.userid == Article.userid) \
350-
.filter(Article.hidden == 0, Article.drafted == 0, Article.checked == 1, Article.type == article_type) \
362+
.filter(Article.hidden == 0,
363+
Article.drafted == 0,
364+
# Article.checked == 1,
365+
Article.type == article_type_int) \
351366
.order_by(Article.articleid.desc()).limit(count).offset(start).all()
352367
query_end_time = time.time()
353368

354369
# 记录查询结果
355370
articles_logger.info("按类型查询文章成功", {
356371
'trace_id': trace_id,
357-
'article_type': article_type,
372+
'article_type': article_type_int,
358373
'start': start,
359374
'count': count,
360375
'result_count': len(result) if result else 0,
@@ -366,7 +381,7 @@ def find_by_type(article_type, start, count):
366381
# 记录异常
367382
articles_logger.error("按类型查询文章异常", {
368383
'trace_id': trace_id,
369-
'article_type': article_type,
384+
'article_type': article_type_int,
370385
'start': start,
371386
'count': count,
372387
'error': str(e),
@@ -381,25 +396,37 @@ def get_count_by_type(article_type):
381396
# 生成跟踪ID
382397
trace_id = get_articles_trace_id()
383398

399+
# 确保 article_type 是整数类型
400+
try:
401+
article_type_int = int(article_type)
402+
except (ValueError, TypeError):
403+
# 记录类型转换异常
404+
articles_logger.error("文章类型参数转换异常", {
405+
'trace_id': trace_id,
406+
'article_type': article_type,
407+
'error': f"无法将 {article_type} 转换为整数"
408+
})
409+
return 0
410+
384411
# 记录开始统计
385412
articles_logger.info("开始按类型统计文章数量", {
386413
'trace_id': trace_id,
387-
'article_type': article_type
414+
'article_type': article_type_int
388415
})
389416

390417
try:
391418
# 执行统计查询
392419
query_start_time = time.time()
393420
count = dbsession.query(Article).filter(Article.hidden == 0,
394-
Article.drafted == 0,
395-
Article.checked == 1,
396-
Article.type == article_type).count()
421+
Article.drafted == 0,
422+
# Article.checked == 1,
423+
Article.type == article_type_int).count()
397424
query_end_time = time.time()
398425

399426
# 记录统计结果
400427
articles_logger.info("按类型统计文章数量成功", {
401428
'trace_id': trace_id,
402-
'article_type': article_type,
429+
'article_type': article_type_int,
403430
'count': count,
404431
'query_time_ms': round((query_end_time - query_start_time) * 1000, 2)
405432
})
@@ -409,7 +436,7 @@ def get_count_by_type(article_type):
409436
# 记录异常
410437
articles_logger.error("按类型统计文章数量异常", {
411438
'trace_id': trace_id,
412-
'article_type': article_type,
439+
'article_type': article_type_int,
413440
'error': str(e),
414441
'error_type': type(e).__name__
415442
})

0 commit comments

Comments
 (0)