5
0
Fork 0

用户数量统计按分支分类

This commit is contained in:
zhbaor 2025-01-30 19:55:08 +08:00
parent dfa2373008
commit 2d04b55152

28
main.py
View file

@ -88,18 +88,20 @@ def upload(data: PostData, session: SessionDep) -> int:
@app.get("/user/today") @app.get("/user/today")
def user_today(session: SessionDep) -> int: def user_today(session: SessionDep) -> dict[str, int]:
user_set = set() main_set = set()
fast_set = set()
slow_set = set()
yesterday = datetime.now(timezone.utc) - timedelta(days=1) yesterday = datetime.now(timezone.utc) - timedelta(days=1)
for system in session.exec(select(System).where(System.upload_time > yesterday)): for system in session.exec(select(System).where(System.upload_time > yesterday)):
user_set.add(system.user_id) if system.branch == "main":
return len(user_set) main_set.add(system.user_id)
elif system.branch == "fast" and system.user_id not in main_set:
fast_set.add(system.user_id)
@app.get("/user/week") elif (
def user_week(session: SessionDep) -> int: system.branch == "slow"
user_set = set() and system.user_id not in main_set
last_week = datetime.now(timezone.utc) - timedelta(weeks=1) and system.user_id not in fast_set
for system in session.exec(select(System).where(System.upload_time > last_week)): ):
user_set.add(system.user_id) slow_set.add(system.user_id)
return len(user_set) return {"main": len(main_set), "fast": len(fast_set), "slow": len(slow_set)}