diff --git a/Merge/back_rhj/app/services/__pycache__/lightgcn_scorer.cpython-312.pyc b/Merge/back_rhj/app/services/__pycache__/lightgcn_scorer.cpython-312.pyc
index 2c86f52..a8d871a 100644
--- a/Merge/back_rhj/app/services/__pycache__/lightgcn_scorer.cpython-312.pyc
+++ b/Merge/back_rhj/app/services/__pycache__/lightgcn_scorer.cpython-312.pyc
Binary files differ
diff --git a/Merge/back_rhj/app/services/__pycache__/recommendation_service.cpython-312.pyc b/Merge/back_rhj/app/services/__pycache__/recommendation_service.cpython-312.pyc
index da8389f..fd70a42 100644
--- a/Merge/back_rhj/app/services/__pycache__/recommendation_service.cpython-312.pyc
+++ b/Merge/back_rhj/app/services/__pycache__/recommendation_service.cpython-312.pyc
Binary files differ
diff --git a/Merge/back_rhj/app/services/recommendation_service.py b/Merge/back_rhj/app/services/recommendation_service.py
index 2f4de13..0547f7b 100644
--- a/Merge/back_rhj/app/services/recommendation_service.py
+++ b/Merge/back_rhj/app/services/recommendation_service.py
@@ -483,7 +483,7 @@
             # 查询帖子基本信息
             format_strings = ','.join(['%s'] * len(topk_post_ids))
             cursor.execute(
-                f"""SELECT p.id, p.user_id, p.title, p.content, p.type, p.heat, p.created_at, p.is_advertisement
+                f"""SELECT p.id, p.user_id, p.title, p.content, p.type, p.heat, p.created_at, p.updated_at, p.media_urls, p.status, p.is_advertisement
                     FROM posts p 
                     WHERE p.id IN ({format_strings}) AND p.status = 'published'""",
                 tuple(topk_post_ids)
@@ -541,15 +541,20 @@
                 owner_user_id = row[1]
                 stats = behavior_stats.get(post_id, {})
                 post_info = {
-                    'post_id': post_id,
+                    'id': post_id,
+                    'user_id': owner_user_id,
                     'title': row[2],
-                    'content': row[3][:200] + '...' if len(row[3]) > 200 else row[3],
+                    'content': row[3],  # 不再截断，保持完整内容
+                    'media_urls': row[8],
+                    'status': row[9],
+                    'heat': row[5],
+                    'created_at': row[6].isoformat() if row[6] else "",
+                    'updated_at': row[7].isoformat() if row[7] else "",
+                    # 额外字段，可选保留
                     'type': row[4],
                     'username': user_map.get(owner_user_id, ""),
-                    'heat': row[5],
                     'tags': tag_map.get(post_id, ""),
-                    'created_at': str(row[6]) if row[6] else "",
-                    'is_advertisement': bool(row[7]),  # 添加广告标识
+                    'is_advertisement': bool(row[10]),
                     'like_count': stats.get('like', 0),
                     'comment_count': stats.get('comment', 0),
                     'favorite_count': stats.get('favorite', 0),
@@ -557,10 +562,6 @@
                     'share_count': stats.get('share', 0)
                 }
                 
-                # 如果有推荐打分，添加到结果中
-                if topk_scores is not None and i < len(topk_scores):
-                    post_info['recommendation_score'] = float(topk_scores[i])
-                
                 post_list.append(post_info)
             return post_list
         finally:
