Browse Source

add new

master
panda 9 months ago
parent
commit
d6e33c2251
  1. 17
      routers/blogmanage.py
  2. 6
      routers/labelmanage.py
  3. 2
      routers/typemanage.py

17
routers/blogmanage.py

@ -13,8 +13,11 @@ from dependencies import get_current_active_user
router = APIRouter(prefix="/blogs", tags=["博客管理"]) router = APIRouter(prefix="/blogs", tags=["博客管理"])
# 获取列表 # 获取列表
@router.get("/list") @router.get("/list")
async def blog_list(): async def blog_list():
# 列表参数:博客名称、博客内容、创建时间、博客图片、博客查看时间、博客阅读次数、博客字数、类型名称、标签名列表
select_query = """ select_query = """
SELECT blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.img, SELECT 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,
@ -23,8 +26,9 @@ FROM blogs
LEFT JOIN `types` ON blogs.typeid = types.id LEFT JOIN `types` ON blogs.typeid = types.id
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.blogtitle, blogs.blogcontent, blogs.create_at, blogs.img, 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="开始时间"), start_date: str = Query(None, description="开始时间"),
end_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 = [] params = []
if blogtitle: if blogtitle:
select_query += " AND blogtitle LIKE %s" select_query += " AND blogtitle LIKE %s"
@ -94,7 +105,7 @@ async def blog_list_search(
if end_date: if end_date:
select_query += " AND create_at <= %s" select_query += " AND create_at <= %s"
params.append(end_date) 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) blog_list = fetch_all(select_query, params=params, fetchall=True)
return response_success(data=blog_list, message="blog serach succuessfully!") return response_success(data=blog_list, message="blog serach succuessfully!")

6
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) label_query=fetch_all(select_query,params=params,fetchall=True)
return response_success(data=label_query,message="label search success") return response_success(data=label_query,message="label search success")
# 语录修改
# 标签修改
@router.put("/update/{id}") @router.put("/update/{id}")
async def label_put(label:Label,id: str = Path(description="标签id")): async def label_put(label:Label,id: str = Path(description="标签id")):
update_query = ( update_query = (
@ -43,7 +43,7 @@ async def label_put(label:Label,id: str = Path(description="标签id")):
execute_query(update_query, update_data) execute_query(update_query, update_data)
return response_success("label update sucess") return response_success("label update sucess")
# 语录删除
# 标签删除
@router.delete("/delete/{id}") @router.delete("/delete/{id}")
async def label_del(id: str = Path(description="标签id")): async def label_del(id: str = Path(description="标签id")):
update_query = ( update_query = (
@ -53,7 +53,7 @@ async def label_del(id: str = Path(description="标签id")):
execute_query(update_query, update_data) execute_query(update_query, update_data)
return response_success() return response_success()
# 根据id查询语录
# 根据id查询标签
@router.get("/list/search/{id}") @router.get("/list/search/{id}")
async def label_search_id(id:str=Path(description="标签id")): async def label_search_id(id:str=Path(description="标签id")):
select_query="SELECT * FROM labels WHERE id=%s" select_query="SELECT * FROM labels WHERE id=%s"

2
routers/typemanage.py

@ -5,7 +5,7 @@ from dependencies import get_current_active_user
router = APIRouter( router = APIRouter(
prefix="/types", prefix="/types",
tags=['管理']
tags=['类管理']
) )
# 获取列表 # 获取列表
@router.get("/list") @router.get("/list")

Loading…
Cancel
Save