feat(server): add POST /attachment/location mirroring product shelving
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -5,12 +5,16 @@ from app.core.database import get_db
|
||||
from app.models.attachment import AttachmentCategory
|
||||
from app.schemas.attachment import (
|
||||
AttachmentConfigRequest,
|
||||
AttachmentLocationRequest,
|
||||
AttachmentLocationResponse,
|
||||
AttachmentStatusResponse,
|
||||
CategoryResponse,
|
||||
)
|
||||
from app.schemas.common import ErrorResponse
|
||||
from app.services.attachment_service import (
|
||||
configure_attachment,
|
||||
get_attachment_status,
|
||||
register_attachment_location,
|
||||
)
|
||||
|
||||
router = APIRouter(tags=["attachment"])
|
||||
@@ -38,3 +42,25 @@ def attachment_status(zongpai_no: str, db: Session = Depends(get_db)):
|
||||
@router.put("/attachment/config", response_model=AttachmentStatusResponse)
|
||||
def put_attachment_config(req: AttachmentConfigRequest, db: Session = Depends(get_db)):
|
||||
return configure_attachment(db, req)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/attachment/location",
|
||||
response_model=AttachmentLocationResponse,
|
||||
responses={
|
||||
400: {"description": "参数非法", "model": ErrorResponse},
|
||||
404: {"description": "类型不存在", "model": ErrorResponse},
|
||||
409: {"description": "重复上架或已下架", "model": ErrorResponse},
|
||||
},
|
||||
)
|
||||
def post_attachment_location(
|
||||
req: AttachmentLocationRequest, db: Session = Depends(get_db)
|
||||
):
|
||||
record = register_attachment_location(db, req)
|
||||
return AttachmentLocationResponse(
|
||||
zongpai_no=record.zongpai_no,
|
||||
category_id=record.category_id,
|
||||
location_code=record.location_code,
|
||||
created_at=record.created_at.isoformat(),
|
||||
previous_location=getattr(record, "previous_location", None),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user