feat: 增加用户信息接口

This commit is contained in:
2026-09-05 16:27:14 +08:00
parent abacbe7a5d
commit 9d694e2a44
6 changed files with 61 additions and 5 deletions

View File

@@ -5,7 +5,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from config.database import get_db
from config.database import SessionLocal
from routers import routers
from service import agent_service
@@ -16,7 +16,8 @@ def article_job_task():
"""定时执行的任务"""
try:
print(f"今日资讯定时任务执行: {datetime.now()}")
agent_service.query_article_agent(get_db())
db = SessionLocal()
agent_service.query_article_agent(db)
except Exception as e:
print(f"今日资讯定时任务异常: {e}")
@@ -24,7 +25,8 @@ def recipe_job_task():
"""定时执行的任务"""
try:
print(f"今日菜谱定时任务执行: {datetime.now()}")
agent_service.query_recipe_agent(get_db())
db = SessionLocal()
agent_service.query_recipe_agent(db)
except Exception as e:
print(f"今日菜谱定时任务异常: {e}")

View File

@@ -1,4 +1,4 @@
from sqlalchemy import (Column, Date, JSON)
from sqlalchemy import (Column, Date, JSON, String)
from models.base import AuditBase
@@ -14,3 +14,8 @@ class Recipe(AuditBase):
class Report(AuditBase):
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="截止日期")

View File

@@ -1,7 +1,9 @@
from .agent import router as agent_router
from .report import router as report_router
from .user import router as user_router
routers = [
agent_router,
report_router
report_router,
user_router,
]

12
routers/user.py Normal file
View 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)

View File

@@ -53,6 +53,16 @@ def get_latest_article(db: Session):
)
article = result.scalar_one_or_none()
if article is None:
return [
{
"title": "",
"content": "",
"summary": "",
"category": ""
}
]
return article.content
@@ -99,6 +109,15 @@ def get_latest_recipe(db: Session):
)
recipe = result.scalar_one_or_none()
if recipe is None:
return [
{
"name": "",
"tags": [],
"content": ""
}
]
return recipe.content

16
service/user_service.py Normal file
View 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