feat: 增加用户信息接口
This commit is contained in:
8
main.py
8
main.py
@@ -5,7 +5,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from starlette.middleware.cors import CORSMiddleware
|
from starlette.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
from config.database import get_db
|
from config.database import SessionLocal
|
||||||
from routers import routers
|
from routers import routers
|
||||||
from service import agent_service
|
from service import agent_service
|
||||||
|
|
||||||
@@ -16,7 +16,8 @@ def article_job_task():
|
|||||||
"""定时执行的任务"""
|
"""定时执行的任务"""
|
||||||
try:
|
try:
|
||||||
print(f"今日资讯定时任务执行: {datetime.now()}")
|
print(f"今日资讯定时任务执行: {datetime.now()}")
|
||||||
agent_service.query_article_agent(get_db())
|
db = SessionLocal()
|
||||||
|
agent_service.query_article_agent(db)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"今日资讯定时任务异常: {e}")
|
print(f"今日资讯定时任务异常: {e}")
|
||||||
|
|
||||||
@@ -24,7 +25,8 @@ def recipe_job_task():
|
|||||||
"""定时执行的任务"""
|
"""定时执行的任务"""
|
||||||
try:
|
try:
|
||||||
print(f"今日菜谱定时任务执行: {datetime.now()}")
|
print(f"今日菜谱定时任务执行: {datetime.now()}")
|
||||||
agent_service.query_recipe_agent(get_db())
|
db = SessionLocal()
|
||||||
|
agent_service.query_recipe_agent(db)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"今日菜谱定时任务异常: {e}")
|
print(f"今日菜谱定时任务异常: {e}")
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from sqlalchemy import (Column, Date, JSON)
|
from sqlalchemy import (Column, Date, JSON, String)
|
||||||
|
|
||||||
from models.base import AuditBase
|
from models.base import AuditBase
|
||||||
|
|
||||||
@@ -14,3 +14,8 @@ class Recipe(AuditBase):
|
|||||||
|
|
||||||
class Report(AuditBase):
|
class Report(AuditBase):
|
||||||
content = Column(JSON, nullable=False, default=dict, comment="内容")
|
content = Column(JSON, nullable=False, default=dict, comment="内容")
|
||||||
|
|
||||||
|
class User(AuditBase):
|
||||||
|
unique_id = Column(String(45), nullable=False, comment="唯一标识")
|
||||||
|
level = Column(String(45), nullable=False, comment="会员等级")
|
||||||
|
expiry_date = Column(Date, nullable=False, comment="截止日期")
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
from .agent import router as agent_router
|
from .agent import router as agent_router
|
||||||
from .report import router as report_router
|
from .report import router as report_router
|
||||||
|
from .user import router as user_router
|
||||||
|
|
||||||
routers = [
|
routers = [
|
||||||
agent_router,
|
agent_router,
|
||||||
report_router
|
report_router,
|
||||||
|
user_router,
|
||||||
]
|
]
|
||||||
|
|||||||
12
routers/user.py
Normal file
12
routers/user.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
from fastapi import APIRouter, Depends
|
||||||
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
|
from config.database import get_db
|
||||||
|
from service import user_service
|
||||||
|
|
||||||
|
router = APIRouter(prefix="/user", tags=["User"])
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/{id}")
|
||||||
|
def query_user_level(id: str, db: Session = Depends(get_db)):
|
||||||
|
return user_service.query_user_level(id, db)
|
||||||
@@ -53,6 +53,16 @@ def get_latest_article(db: Session):
|
|||||||
)
|
)
|
||||||
article = result.scalar_one_or_none()
|
article = result.scalar_one_or_none()
|
||||||
|
|
||||||
|
if article is None:
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
"title": "",
|
||||||
|
"content": "",
|
||||||
|
"summary": "",
|
||||||
|
"category": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
return article.content
|
return article.content
|
||||||
|
|
||||||
|
|
||||||
@@ -99,6 +109,15 @@ def get_latest_recipe(db: Session):
|
|||||||
)
|
)
|
||||||
recipe = result.scalar_one_or_none()
|
recipe = result.scalar_one_or_none()
|
||||||
|
|
||||||
|
if recipe is None:
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tags": [],
|
||||||
|
"content": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
return recipe.content
|
return recipe.content
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
16
service/user_service.py
Normal file
16
service/user_service.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
from sqlalchemy import select
|
||||||
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
|
from models.health import User
|
||||||
|
|
||||||
|
|
||||||
|
def query_user_level(unique_id: str, db: Session):
|
||||||
|
result = db.execute(
|
||||||
|
select(User).where(User.unique_id == unique_id)
|
||||||
|
)
|
||||||
|
user = result.scalar_one_or_none()
|
||||||
|
|
||||||
|
if user is None:
|
||||||
|
return {}
|
||||||
|
|
||||||
|
return user
|
||||||
Reference in New Issue
Block a user