📋 飞行侠添加:会议纪要生成
新增:
- meetings/utils.py: 纪要生成工具函数
- generate_meeting_minutes(): 生成纪要数据
- export_minutes_to_markdown(): 导出 Markdown
- meetings/views.py: minutes action
- 支持 JSON 和 Markdown 两种格式
- 自动统计参会者消息数
- 提取待办事项
- test_minutes.py: 纪要测试脚本
使用:
- GET /api/v1/meetings/{id}/minutes/ → JSON
- GET /api/v1/meetings/{id}/minutes/?output=markdown → Markdown
This commit is contained in:
@@ -274,6 +274,28 @@ class MeetingViewSet(viewsets.ModelViewSet):
|
||||
)
|
||||
|
||||
return Response(MessageSerializer(message).data, status=status.HTTP_201_CREATED)
|
||||
|
||||
@action(detail=True, methods=['get'], url_path='minutes')
|
||||
def minutes(self, request, pk=None):
|
||||
"""生成会议纪要"""
|
||||
meeting = self.get_object()
|
||||
|
||||
try:
|
||||
from .utils import generate_meeting_minutes, export_minutes_to_markdown
|
||||
|
||||
minutes = generate_meeting_minutes(str(meeting.id))
|
||||
output_format = request.query_params.get('output', 'json')
|
||||
|
||||
if output_format == 'markdown':
|
||||
md_content = export_minutes_to_markdown(minutes)
|
||||
return Response({'markdown': md_content})
|
||||
else:
|
||||
return Response(minutes)
|
||||
except Exception as e:
|
||||
return Response(
|
||||
{'error': f'生成纪要失败:{str(e)}'},
|
||||
status=status.HTTP_500_INTERNAL_SERVER_ERROR
|
||||
)
|
||||
|
||||
|
||||
class ParticipantViewSet(viewsets.ModelViewSet):
|
||||
|
||||
Reference in New Issue
Block a user