feat:增加博客处理模块

This commit is contained in:
2025-09-22 19:43:16 +08:00
parent c4674749ce
commit f07b23b825
35 changed files with 763 additions and 28 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -4,7 +4,7 @@ from fastapi import APIRouter, Depends, Query, Request
from sqlalchemy.orm import Session
from schemas.blog import BlogResponse, BlogQuery, BlogCategoryResponse, BlogStatsResponse, \
BlogLatestResponse, BlogCommentCreate, BlogCommentResponse
BlogLatestResponse, BlogCommentCreate, BlogCommentResponse, BlogVisitResponse, BlogCreate, BlogUpdate
from schemas.pagination import PageResult
from config.database import get_db
from service import blog_service
@@ -34,6 +34,21 @@ def query_blog_by_id(blog_id: int, db: Session = Depends(get_db)):
return blog_service.query_blog_by_id(db, blog_id)
@router.post("", summary="新增博客内容", response_model=bool)
def add_blog(blog: BlogCreate, db: Session = Depends(get_db)):
return blog_service.add_blog(db, blog)
@router.put("/{blog_id}", summary="更新博客内容", response_model=bool)
def update_blog(blog_id: int, blog: BlogUpdate, db: Session = Depends(get_db)):
return blog_service.update_blog(db, blog_id, blog)
@router.delete("/{blog_id}", summary="删除博客内容", response_model=bool)
def delete_blog(blog_id: int, db: Session = Depends(get_db)):
return blog_service.delete_blog(db, blog_id)
@router.get("/category", summary="查询博客分类", response_model=List[BlogCategoryResponse])
def query_blog_category(db: Session = Depends(get_db)):
return blog_service.query_blog_category(db)
@@ -44,6 +59,13 @@ def query_blog_stats(db: Session = Depends(get_db)):
return blog_service.query_blog_stats(db)
@router.get("/visit", summary="查询博客访问信息", response_model=PageResult[BlogVisitResponse])
def query_blog_visit(current_page: int = Query(1, ge=1, alias="currentPage", description="当前页码"),
page_size: int = Query(10, ge=1, le=100, alias="pageSize", description="每页数量"),
db: Session = Depends(get_db)):
return blog_service.query_blog_visit(db, current_page, page_size)
@router.get("/latest", summary="查询近期博客", response_model=list[BlogLatestResponse])
def query_blog_latest(db: Session = Depends(get_db)):
return blog_service.query_blog_latest(db)
@@ -56,4 +78,4 @@ def add_blog_comment(blog_comment: BlogCommentCreate, request: Request, db: Sess
@router.get("/comment/{blog_id}", summary="查询博客评论", response_model=list[BlogCommentResponse])
def query_blog_comment(blog_id: int, db: Session = Depends(get_db)):
return blog_service.query_blog_comment(db, blog_id)
return blog_service.query_blog_comment(db, blog_id)