Browse Source

add new

master
panda 8 months ago
parent
commit
ef9c74a237
  1. 23
      routers/blogmanage.py

23
routers/blogmanage.py

@ -13,13 +13,14 @@ import json
router = APIRouter(prefix="/blogs", tags=["博客管理"]) router = APIRouter(prefix="/blogs", tags=["博客管理"])
# 获取列表 # 获取列表
@router.get("/list") @router.get("/list")
async def blog_list():
async def blog_list(page: int = Query(None), page_size: int = Query(None)):
limit_clause = ""
if page is not None and page_size is not None:
offset = (page - 1) * page_size
limit_clause = f"LIMIT {page_size} OFFSET {offset}"
# 列表参数:博客名称、博客内容、创建时间、博客图片、博客查看时间、博客阅读次数、博客字数、类型名称、标签名列表 # 列表参数:博客名称、博客内容、创建时间、博客图片、博客查看时间、博客阅读次数、博客字数、类型名称、标签名列表
select_query = """
select_query = f"""
SELECT blogs.id,blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.imglink, SELECT blogs.id,blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.imglink,
blogs.wordcount, types.typename,JSON_ARRAYAGG(labels.labelname) AS labelnames blogs.wordcount, types.typename,JSON_ARRAYAGG(labels.labelname) AS labelnames
FROM blogs FROM blogs
@ -27,10 +28,17 @@ async def blog_list():
LEFT JOIN blog_label ON blog_label.blogid = blogs.id LEFT JOIN blog_label ON blog_label.blogid = blogs.id
LEFT JOIN labels ON blog_label.labelid = labels.id LEFT JOIN labels ON blog_label.labelid = labels.id
GROUP BY blogs.id, blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.imglink, GROUP BY blogs.id, blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.imglink,
blogs.wordcount, types.typename ORDER BY create_at DESC;
blogs.wordcount, types.typename ORDER BY create_at DESC
{limit_clause};
""" """
blog_list = fetch_all(select_query) blog_list = fetch_all(select_query)
return response_success(blog_list, "blog get list success")
count_query = "SELECT COUNT(*) AS total FROM blogs;"
total_records = fetch_one(count_query)["total"]
return response_success({
"blogs": blog_list,
"total": total_records,
}, "blog get list success")
@router.get("/list/{id}") @router.get("/list/{id}")
async def blog_one(id: int): async def blog_one(id: int):
@ -74,6 +82,7 @@ async def blog_delete(id: str = Path(description="博客id")):
execute_query(insert_query, (id,)) execute_query(insert_query, (id,))
return response_success(message="blog delete success") return response_success(message="blog delete success")
@router.put("/update/{id}") @router.put("/update/{id}")
async def blog_update(id: int, blog: Blog, labels: list[Label], _: User = Depends(get_current_active_user)): async def blog_update(id: int, blog: Blog, labels: list[Label], _: User = Depends(get_current_active_user)):
# 检查要编辑的博客是否存在 # 检查要编辑的博客是否存在

Loading…
Cancel
Save