微信小程序页面迁移校验之前 P5任务处理之前

This commit is contained in:
Neo
2026-03-09 01:19:21 +08:00
parent 263bf96035
commit 6e20987d2f
1112 changed files with 153824 additions and 219694 deletions

View File

@@ -0,0 +1,67 @@
# -*- coding: utf-8 -*-
"""
小程序备注路由 —— 备注 CRUD含星星评分
端点清单:
- POST /api/xcx/notes — 创建备注
- GET /api/xcx/notes — 查询备注列表query: target_type, target_id
- DELETE /api/xcx/notes/{id} — 删除备注
所有端点均需 JWTapproved 状态)。
"""
from __future__ import annotations
from fastapi import APIRouter, Depends, Query
from app.auth.dependencies import CurrentUser
from app.middleware.permission import require_approved
from app.schemas.xcx_notes import NoteCreateRequest, NoteOut
from app.services import note_service
router = APIRouter(prefix="/api/xcx/notes", tags=["小程序备注"])
@router.post("", response_model=NoteOut)
async def create_note(
body: NoteCreateRequest,
user: CurrentUser = Depends(require_approved()),
):
"""创建备注(含星星评分,可选关联任务)。"""
return await note_service.create_note(
site_id=user.site_id,
user_id=user.user_id,
target_type=body.target_type,
target_id=body.target_id,
content=body.content,
task_id=body.task_id,
rating_service_willingness=body.rating_service_willingness,
rating_revisit_likelihood=body.rating_revisit_likelihood,
)
@router.get("")
async def get_notes(
target_type: str = Query("member", description="目标类型"),
target_id: int = Query(..., description="目标 ID"),
user: CurrentUser = Depends(require_approved()),
):
"""查询某目标的备注列表(按创建时间倒序)。"""
return await note_service.get_notes(
site_id=user.site_id,
target_type=target_type,
target_id=target_id,
)
@router.delete("/{note_id}")
async def delete_note(
note_id: int,
user: CurrentUser = Depends(require_approved()),
):
"""删除备注(验证归属后硬删除)。"""
return await note_service.delete_note(
note_id=note_id,
user_id=user.user_id,
site_id=user.site_id,
)