chore: fork from IRIS track 供 LICA 部门独立运行
- 复制来源: /home/yueli/track @ 192c8ee (feature/ai-audit-update) - 组织隔离目标: LICA - 端口规划: 前端 8030 / 后端 8031 / 数据库 8032 - 已排除 deploy.sh、deploy_full.sh、docker-compose.prod.yml(IRIS 生产发布脚本) - 已排除工作区未提交改动,取干净的 192c8ee 状态
This commit is contained in:
51
backend/app/api/v1/endpoints/records.py
Normal file
51
backend/app/api/v1/endpoints/records.py
Normal file
@ -0,0 +1,51 @@
|
||||
"""任务记录 CRUD — 编辑 / 删除"""
|
||||
import json
|
||||
import uuid
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.core.database import get_db
|
||||
from app.models.task import TaskRecord
|
||||
from app.schemas.task import TaskRecordCreate, TaskRecordResponse
|
||||
from app.services.auth_service import get_current_user
|
||||
|
||||
router = APIRouter(prefix="/records", tags=["任务记录"])
|
||||
|
||||
|
||||
async def _get_record_or_404(db: AsyncSession, record_id: int) -> TaskRecord:
|
||||
result = await db.execute(select(TaskRecord).where(TaskRecord.id == record_id))
|
||||
record = result.scalar_one_or_none()
|
||||
if not record:
|
||||
raise HTTPException(status_code=404, detail=f"记录不存在: {record_id}")
|
||||
return record
|
||||
|
||||
|
||||
@router.put("/{record_id}", response_model=TaskRecordResponse)
|
||||
async def update_record(
|
||||
record_id: int,
|
||||
data: TaskRecordCreate,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
):
|
||||
"""更新任务记录(备注+图片)"""
|
||||
record = await _get_record_or_404(db, record_id)
|
||||
record.remark = data.remark or None
|
||||
record.images = json.dumps(data.images) if data.images else None
|
||||
await db.commit()
|
||||
await db.refresh(record)
|
||||
# 手动反序列化 images
|
||||
return TaskRecordResponse.model_validate(record)
|
||||
|
||||
|
||||
@router.delete("/{record_id}")
|
||||
async def delete_record(
|
||||
record_id: int,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
):
|
||||
"""删除任务记录"""
|
||||
record = await _get_record_or_404(db, record_id)
|
||||
await db.delete(record)
|
||||
await db.commit()
|
||||
return {"message": "记录已删除"}
|
||||
Reference in New Issue
Block a user