diff --git a/routers/blogmanage.py b/routers/blogmanage.py index 86c1fb4..915a752 100644 --- a/routers/blogmanage.py +++ b/routers/blogmanage.py @@ -13,8 +13,11 @@ from dependencies import get_current_active_user router = APIRouter(prefix="/blogs", tags=["博客管理"]) # 获取列表 + + @router.get("/list") async def blog_list(): + # 列表参数:博客名称、博客内容、创建时间、博客图片、博客查看时间、博客阅读次数、博客字数、类型名称、标签名列表 select_query = """ SELECT blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.img, blogs.readminite, blogs.readnum, blogs.wordcount, types.typename, @@ -23,8 +26,9 @@ FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id LEFT JOIN blog_label ON blog_label.blogid = blogs.id LEFT JOIN labels ON blog_label.labelid = labels.id + GROUP BY blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.img, - blogs.readminite, blogs.readnum, blogs.wordcount, types.typename; + blogs.readminite, blogs.readnum, blogs.wordcount, types.typename ORDER BY create_at DESC; """ @@ -80,7 +84,14 @@ async def blog_list_search( start_date: str = Query(None, description="开始时间"), end_date: str = Query(None, description="结束时间"), ): - select_query = "SELECT blogs.id, blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id WHERE 1=1" + select_query = """ + SELECT blogs.id, blogtitle, blogcontent,wordcount, typename, create_at, update_at, blogs.descr,JSON_ARRAYAGG(labels.labelname) AS labelnames + FROM blogs + LEFT JOIN `types` ON blogs.typeid = types.id + LEFT JOIN blog_label ON blogs.id = blog_label.blogid + LEFT JOIN labels ON blog_label.labelid = labels.id + WHERE 1=1 + """ params = [] if blogtitle: select_query += " AND blogtitle LIKE %s" @@ -94,7 +105,7 @@ async def blog_list_search( if end_date: select_query += " AND create_at <= %s" params.append(end_date) - select_query += " ORDER BY create_at DESC" + select_query += "GROUP BY blogs.id, blogs.blogtitle, blogs.blogcontent,blogs.wordcount, types.typename, blogs.create_at, blogs.update_at, blogs.descr ORDER BY create_at DESC" blog_list = fetch_all(select_query, params=params, fetchall=True) return response_success(data=blog_list, message="blog serach succuessfully!") diff --git a/routers/labelmanage.py b/routers/labelmanage.py index bb769e2..9812258 100644 --- a/routers/labelmanage.py +++ b/routers/labelmanage.py @@ -33,7 +33,7 @@ async def label_search(labelname:str=Query(description="标签名称")): label_query=fetch_all(select_query,params=params,fetchall=True) return response_success(data=label_query,message="label search success") -# 语录修改 +# 标签修改 @router.put("/update/{id}") async def label_put(label:Label,id: str = Path(description="标签id")): update_query = ( @@ -43,7 +43,7 @@ async def label_put(label:Label,id: str = Path(description="标签id")): execute_query(update_query, update_data) return response_success("label update sucess") -# 语录删除 +# 标签删除 @router.delete("/delete/{id}") async def label_del(id: str = Path(description="标签id")): update_query = ( @@ -53,7 +53,7 @@ async def label_del(id: str = Path(description="标签id")): execute_query(update_query, update_data) return response_success() -# 根据id查询语录 +# 根据id查询标签 @router.get("/list/search/{id}") async def label_search_id(id:str=Path(description="标签id")): select_query="SELECT * FROM labels WHERE id=%s" diff --git a/routers/typemanage.py b/routers/typemanage.py index 594e458..0ab9c9a 100644 --- a/routers/typemanage.py +++ b/routers/typemanage.py @@ -5,7 +5,7 @@ from dependencies import get_current_active_user router = APIRouter( prefix="/types", - tags=['类型管理'] + tags=['分类管理'] ) # 获取列表 @router.get("/list")