feat: 수주관리(Order Management) API Phase 1.1 구현

- OrderService 구현 (index, stats, show, store, update, destroy, updateStatus)
- OrderController 구현 (7개 API 엔드포인트)
- FormRequest 클래스 3개 생성 (Store, Update, UpdateStatus)
- 상태 전환 규칙 검증 (DRAFT → CONFIRMED → IN_PROGRESS → COMPLETED/CANCELLED)
- 수주번호 자동 생성 (ORD{YYYYMMDD}{0001} 형식)
- Swagger API 문서 작성 (OrderApi.php)
- i18n 메시지 키 추가 (ko/en)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-08 11:11:54 +09:00
parent 62203a19bd
commit de19ac97aa
12 changed files with 1041 additions and 0 deletions

View File

@@ -104,4 +104,11 @@
'cannot_ship' => 'Not in a shippable state.',
],
// Order related
'order' => [
'cannot_update_completed' => 'Cannot update completed or cancelled order.',
'cannot_delete_in_progress' => 'Cannot delete in progress or completed order.',
'invalid_status_transition' => 'Invalid status transition.',
],
];

View File

@@ -93,4 +93,13 @@
'deleted' => 'File has been deleted.',
'fetched' => 'File list retrieved successfully.',
],
// Order Management
'order' => [
'fetched' => 'Order retrieved successfully.',
'created' => 'Order has been created.',
'updated' => 'Order has been updated.',
'deleted' => 'Order has been deleted.',
'status_updated' => 'Order status has been updated.',
],
];

View File

@@ -356,4 +356,11 @@
'send_failed' => 'FCM 발송 중 오류가 발생했습니다.',
'token_not_found' => 'FCM 토큰을 찾을 수 없습니다.',
],
// 수주 관련
'order' => [
'cannot_update_completed' => '완료 또는 취소된 수주는 수정할 수 없습니다.',
'cannot_delete_in_progress' => '진행 중이거나 완료된 수주는 삭제할 수 없습니다.',
'invalid_status_transition' => '유효하지 않은 상태 전환입니다.',
],
];

View File

@@ -429,4 +429,13 @@
'inspection_toggled' => '검사 상태가 변경되었습니다.',
'packaging_toggled' => '포장 상태가 변경되었습니다.',
],
// 수주관리
'order' => [
'fetched' => '수주를 조회했습니다.',
'created' => '수주가 등록되었습니다.',
'updated' => '수주가 수정되었습니다.',
'deleted' => '수주가 삭제되었습니다.',
'status_updated' => '수주 상태가 변경되었습니다.',
],
];