Browse Source

add new

master
panda 7 months ago
parent
commit
c194ce92cb
  1. 25
      routers/blogmanage.py

25
routers/blogmanage.py

@ -185,3 +185,28 @@ async def get_id_blog(request: Request, id: str = Path(description="博客id")):
except json.JSONDecodeError:
blog_list['labelnames'] = []
return response_success(data=blog_list, message="blog search success")
# 根据博客标签查询
@router.get("/search/label/")
# @limiter.limit("5/minute")
async def get_label_blog(request: Request, labelname: str = Query(description="博客标签")):
select_query = """
SELECT blogs.id,blogs.blogtitle,blogs.blogcontent,blogs.readnum,
blogs.create_at,blogs.imglink,blogs.wordcount,blogtypes.typename,
JSON_ARRAYAGG(labels.labelname) AS labelnames FROM blogs
LEFT JOIN blog_label ON blog_label.blogid = blogs.id
LEFT JOIN labels ON labels.id = blog_label.labelid
LEFT JOIN blogtypes ON blogtypes.id = blogs.typeid
WHERE blogs.id IN (
SELECT blogs.id FROM blogs
LEFT JOIN blog_label ON blog_label.blogid = blogs.id
LEFT JOIN labels ON labels.id = blog_label.labelid
WHERE labels.labelname = %s
)
GROUP BY blogs.id, blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.imglink,blogs.wordcount, blogtypes.typename
ORDER BY blogs.create_at DESC;
"""
label_blog_list = fetch_all(select_query, (labelname,))
return response_success(data=label_blog_list, message="blog search success")
Loading…
Cancel
Save