주문 상태 관리
주문 상태 관리는 iShop 주문 흐름에서 사용하는 주문 상태 마스터 데이터를 관리하는 기능입니다. 각 상태는 코드, 표시 이름, 정렬 순서, 활성 여부, 종료 상태 여부, 배지 색상 정보를 가집니다.
주문 상태는 주문이 결제, 준비, 배송, 완료, 취소, 환불 같은 단계로 이동하는 기준입니다. 관리자가 주문 흐름을 쉽게 이해할 수 있도록 명확한 상태 이름과 일관된 순서를 사용하는 것이 중요합니다.
개요
Order Status Management 화면은 데이터베이스의 OrderStatus 마스터 데이터를 관리하는 화면입니다.
이 상태 값들은 주문 목록, 주문 상세, 필터, 배지, 주문 처리 흐름에서 사용됩니다.
| 영역 | 설명 |
|---|---|
| Status List | 등록된 모든 주문 상태를 코드, 미리보기, 표시 이름, 활성 여부, 종료 상태 여부, 작업 버튼과 함께 보여줍니다. |
| Add Status | 새 주문 상태를 추가하는 편집 화면을 엽니다. |
| Seed Defaults | 기본 주문 상태를 생성하거나 복원합니다. |
| Search and Filters | 키워드, 활성, 비활성, 종료 상태 기준으로 필터링합니다. |
| Status Editor | 코드, 표시 이름, 정렬 순서, 설명, CSS 클래스, 플래그, 색상, 미리보기를 설정합니다. |
상태 요약
상단의 요약 배지는 현재 등록된 주문 상태 수를 보여줍니다.
| 배지 | 설명 |
|---|---|
| Total | 시스템에 등록된 전체 주문 상태 수입니다. |
| Active | 현재 활성화된 주문 상태 수입니다. |
| Terminal | 최종 또는 종료 상태로 표시된 상태 수입니다. |
Status List
Status List는 주문 상태를 업무 흐름 순서대로 보여줍니다. 관리자는 상태 순서를 조정하고, 배지 미리보기를 확인하고, 상태를 수정하거나 비활성화할 수 있습니다.
| 열 | 설명 |
|---|---|
| Order | 업무 흐름 순서입니다. 위/아래 버튼으로 표시 순서 또는 흐름 순서를 조정할 수 있습니다. |
| Code | 내부 상태 코드입니다. 예: PAID, PREPARING, SHIPPED. |
| Preview | 주문 화면에 표시될 배지 스타일을 미리 보여줍니다. |
| DisplayName | 화면에 표시되는 상태 이름입니다. |
| Active | 해당 상태가 활성 상태인지 보여줍니다. |
| Terminal | 해당 상태가 최종 종료 상태인지 보여줍니다. |
| Actions | Edit, Disable 같은 작업 버튼입니다. |
기본 상태 예시
기본 주문 흐름에는 다음과 같은 상태가 포함될 수 있습니다.
| Status Code | Display Name | 의미 | Terminal |
|---|---|---|---|
| PAID | Paid | 결제가 완료된 상태입니다. | No |
| PREPARING | Preparing | 상품 준비 중입니다. | No |
| SHIPPED | Shipped | 배송되었거나 배송 중입니다. | No |
| COMPLETED | Completed | 주문이 완료되었습니다. | Yes |
| CANCELLED | Cancelled | 주문이 취소되었습니다. | Yes |
| PARTIAL_CANCELLED | Partial Cancelled | 주문 일부가 취소되었습니다. | No |
| REFUNDED | Refunded | 주문이 환불되었습니다. | Yes |
| PARTIAL_REFUNDED | Partial Refunded | 주문 일부가 환불되었습니다. | No |
| FAILED | Failed | 결제 또는 주문이 실패했습니다. | Yes |
검색과 필터
검색과 필터 도구를 사용하면 상태 데이터를 빠르게 찾을 수 있습니다.
| 컨트롤 | 설명 |
|---|---|
| Search | 상태 코드, 표시 이름, 설명으로 검색합니다. |
| All | 전체 상태를 표시합니다. |
| Active | 활성 상태만 표시합니다. |
| Inactive | 비활성 상태만 표시합니다. |
| Terminal | 최종 또는 종료 상태만 표시합니다. |
Add Status
새 주문 상태를 추가하려면 Add Status 버튼을 클릭합니다.
- Admin > iShop > Status List 메뉴로 이동합니다.
- Add Status 버튼을 클릭합니다.
- 상태 코드를 입력합니다.
- 표시 이름을 입력합니다.
- 정렬 순서를 입력합니다.
- 필요하면 설명을 입력합니다.
- 필요하면 Badge CSS 클래스를 입력합니다.
- 활성 여부와 종료 상태 여부를 설정합니다.
- 배지 색상을 선택합니다.
- Live Preview를 확인합니다.
- Save 버튼을 클릭합니다.
Seed Defaults
Seed Defaults 버튼은 기본 주문 상태를 생성하거나 복원할 때 사용합니다. 시스템에 기본 주문 흐름 상태가 필요할 때 사용할 수 있습니다.
Seed Defaults는 신중하게 사용해야 합니다. 구현 방식에 따라 누락된 기본 상태를 생성하거나 기존 기본 상태를 업데이트할 수 있습니다.
Status Editor
Status Editor는 각 주문 상태의 세부 정보를 설정하는 화면입니다.
| 섹션 | 설명 |
|---|---|
| Base Info | 상태 코드, 표시 이름, 정렬 순서, 설명, 배지 CSS 클래스를 설정합니다. |
| Flags | 활성 상태와 종료 상태 여부를 설정합니다. |
| Colors & Preview | 배지 배경색, 테두리색, 글자색과 미리보기를 설정합니다. |
Base Info
| 항목 | 설명 |
|---|---|
| StatusCode | 시스템에서 사용하는 내부 코드입니다. 영어, 숫자, 언더스코어 사용을 권장합니다. |
| DisplayName | 화면에 표시되는 상태 이름입니다. |
| SortOrder | 업무 흐름과 목록 순서를 결정합니다. 숫자가 작을수록 먼저 표시됩니다. |
| Description | 상태에 대한 선택 설명입니다. |
| BadgeCssClass | 추가 스타일 적용을 위한 선택 CSS 클래스입니다. 예: is-paid. |
StatusCode
StatusCode는 주문 상태의 내부 식별자입니다. 주문 로직, 필터, 배지, 업무 흐름에서 참조될 수 있으므로 안정적인 값을 사용하는 것이 좋습니다.
권장:
PAID
PREPARING
SHIPPED
COMPLETED
CANCELLED
PARTIAL_REFUNDED
피하는 것이 좋은 예:
Paid Order!
preparing status
배송완료###
수정 모드에서는 StatusCode가 잠겨 변경할 수 없을 수 있습니다. 이는 기존 주문이나 업무 흐름 참조가 깨지는 것을 방지하기 위한 것입니다.
DisplayName
DisplayName은 화면에 표시되는 이름입니다. 내부 코드보다 읽기 쉬운 이름을 사용할 수 있습니다.
예시:
Paid
Preparing
Shipped
Completed
Cancelled
Refunded
SortOrder
SortOrder는 상태가 목록과 업무 흐름에서 표시되는 순서를 결정합니다. 숫자가 작을수록 먼저 표시됩니다.
예시:
10 = Paid
20 = Preparing
30 = Shipped
40 = Completed
Description
Description은 선택 입력 항목입니다. 해당 상태가 무엇을 의미하는지 설명할 때 사용합니다.
BadgeCssClass
BadgeCssClass는 추가 스타일링을 위한 선택 CSS 클래스입니다.
예시:
is-paid
is-preparing
is-shipped
is-completed
is-cancelled
is-refunded
is-failed
Flags
Flags는 해당 상태가 사용 가능한지, 주문 흐름의 마지막 상태인지 결정합니다.
| Flag | 설명 |
|---|---|
| IsActive | 이 상태를 목록에 표시하고 사용할 수 있게 합니다. |
| IsTerminal | 이 상태를 최종 완료 또는 종료 상태로 표시합니다. |
IsActive
- 주문 흐름에서 사용할 상태라면 IsActive를 켭니다.
- 더 이상 사용하지 않을 상태라면 끕니다.
IsTerminal
IsTerminal은 해당 상태가 최종 상태임을 의미합니다. 종료 상태는 일반적으로 주문이 더 이상 정상적인 처리 단계로 진행되지 않는 상태입니다.
일반적인 종료 상태:
COMPLETED
CANCELLED
REFUNDED
FAILED
업무 흐름상 특별한 이유가 없다면 PAID, PREPARING, SHIPPED 같은 중간 상태를 Terminal로 설정하지 마세요.
Colors and Preview
Colors & Preview 섹션은 주문 화면에 표시되는 상태 배지의 디자인을 설정합니다. 입력하는 즉시 미리보기에 반영됩니다.
| 색상 항목 | 설명 |
|---|---|
| ColorBg | 배지 배경색입니다. |
| ColorBorder | 배지 테두리색입니다. |
| ColorText | 배지 글자색입니다. |
예시:
ColorBg: #1F4FD8
ColorBorder: #183FAE
ColorText: #FFFFFF
Live Preview
Live Preview 버튼 또는 미리보기 영역은 저장 전 상태 배지가 어떻게 보일지 보여줍니다. 글자가 잘 읽히는지, 색상 대비가 충분한지 확인하세요.
상태 수정
기존 상태를 수정하려면 Edit 버튼을 클릭합니다. 수정 모드에서는 기존 주문 참조를 보호하기 위해 StatusCode가 잠겨 있을 수 있습니다.
- 수정할 상태의 Edit 버튼을 클릭합니다.
- 표시 이름, 정렬 순서, 설명, 플래그, 색상을 수정합니다.
- 미리보기를 확인합니다.
- Save 버튼을 클릭합니다.
상태 비활성화
Disable 버튼은 상태를 비활성화할 때 사용합니다. 비활성 상태는 상태 선택 목록에서 더 이상 보이지 않을 수 있습니다.
기존 주문이 해당 상태를 참조할 수 있으므로 삭제보다 비활성화가 더 안전합니다.
권장 작업 순서
- 상태 데이터가 없다면 Seed Defaults로 기본 상태를 생성합니다.
- 기본 주문 흐름을 검토합니다.
- 원하는 처리 순서에 맞게 SortOrder를 조정합니다.
- 필요한 경우에만 커스텀 상태를 추가합니다.
- 최종 상태에는 Terminal을 설정합니다.
- 읽기 쉬운 배지 색상을 선택합니다.
- 사용하지 않는 상태는 삭제하지 말고 비활성화합니다.
- Order Management 화면에서 상태 변경을 테스트합니다.
자주 사용하는 작업
| 작업 | 권장 방법 |
|---|---|
| 커스텀 처리 단계 추가 | 새 활성 상태를 만들고 적절한 SortOrder 위치에 배치합니다. |
| 주문 흐름 완료 처리 | Completed 같은 Terminal 상태를 사용합니다. |
| 상태 임시 중지 | 상태를 삭제하지 말고 Disable 처리합니다. |
| 가독성 개선 | 배지 색상을 명확하게 설정하고 Live Preview를 확인합니다. |
| 기본 흐름 복원 | 기본 상태가 누락된 경우 Seed Defaults를 사용합니다. |
주의사항
- StatusCode는 안정적으로 유지해야 하며, 주문에서 사용된 후에는 변경하지 않는 것이 좋습니다.
- SortOrder는 업무 흐름 표시와 목록 순서에 영향을 줍니다.
- Terminal 상태는 최종 또는 종료 상태를 의미합니다.
- 일반 주문 처리에는 활성 상태만 사용하는 것이 좋습니다.
- 배지 색상은 충분한 대비를 가져야 읽기 쉽습니다.
- 현재 업무 흐름에서 필요한 상태를 비활성화하지 않도록 주의하세요.
관리 권장 사항
- 상태 코드는 대문자 영어와 언더스코어를 사용하는 것이 좋습니다.
- 표시 이름은 짧고 명확하게 작성하세요.
- 주문 흐름 순서는 단순하고 논리적으로 유지하세요.
- Terminal은 최종 상태에만 사용하세요.
- 비슷한 상태 유형에는 일관된 배지 색상을 사용하세요.
- Order Details 화면에서 상태 변경을 테스트하세요.
- 비즈니스에서 사용하는 커스텀 상태는 별도로 문서화하세요.
주문 상태는 주문 흐름의 마스터 데이터입니다. 주문 관리, 필터링, 보고, 배송 처리, 고객 응대에 영향을 주므로 신중하게 설정해야 합니다.