AutoPercenty3/docs/UPLOAD_PROGRESS_GUIDE.md

149 lines
5.5 KiB
Markdown

# 현재 그룹 상품 업로드 개선사항 가이드
## 🎯 주요 개선사항
### 1. 사업자 정보 표시 및 조건부 실행
- **선택된 마켓 정보가 있는 경우**: 사업자 정보를 보여주고 마켓정보 변경 → 상품 업로드 순으로 실행
- **선택된 마켓 정보가 없는 경우**: 기존 설정대로 진행한다는 메시지와 함께 상품 업로드만 실행
### 2. 현대적인 진행상황 다이얼로그
- **실시간 진행상황**: 현재 상품 / 총 상품 수 표시
- **단계별 진행률**: 마켓정보 변경 → 상품 업로드 단계 표시
- **경과 시간**: 실시간 작업 시간 표시
- **로그 영역**: 상세한 작업 진행 로그
- **제어 기능**: 일시정지/재개/취소 버튼
### 3. 추후 확장성 고려
- 여러 사업자 순차 처리를 위한 구조 준비
- 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드 흐름 지원
## 📁 파일 구조
```
src/
├── upload_progress_dialog.py # 진행상황 다이얼로그 (새로 생성)
├── mainUI_SP.py # 메인 UI (수정됨)
└── browser_control.py # 브라우저 컨트롤러 (시그널 추가)
```
## 🔧 구현된 기능
### 1. 진행상황 다이얼로그 (`ModernProgressDialog`)
#### 주요 기능:
- **현대적인 UI 디자인**: 그라데이션 진행 바, 카드 형태 레이아웃
- **실시간 진행률**: 전체 진행률과 단계별 진행률 표시
- **시간 추적**: 경과 시간, 일시정지 시간 계산
- **로그 시스템**: 타임스탬프가 포함된 상세 로그
- **마켓 정보 표시**: 선택된 마켓과 사업자 정보 표시
#### 주요 메서드:
```python
# 단일 사업자 업로드 시작
start_upload(total_products, market_info)
# 여러 사업자 업로드 시작 (추후 확장용)
start_multi_business_upload(business_queue, total_products_per_business)
# 진행상황 업데이트
update_progress(current_product, step_name, step_progress)
# 로그 추가
add_log(message)
# 업로드 완료
complete_upload()
```
### 2. 메인 UI 개선 (`mainUI_SP.py`)
#### 수정된 메서드:
- `on_upload_selected_markets_clicked()`: 개선된 업로드 로직
- `get_current_group_product_count()`: 현재 그룹 상품수 가져오기
- `on_upload_cancel_requested()`: 업로드 취소 처리
- `on_upload_pause_requested()`: 일시정지 처리
- `on_upload_resume_requested()`: 재개 처리
- `on_upload_progress_updated()`: 진행상황 업데이트
- `on_upload_step_changed()`: 단계 변경 처리
- `on_upload_log_message()`: 로그 메시지 처리
- `on_upload_completed()`: 완료 처리
### 3. 브라우저 컨트롤러 시그널 추가 (`browser_control.py`)
#### 새로운 시그널:
```python
upload_progress_updated = Signal(int, int) # (현재 상품, 총 상품)
upload_step_changed = Signal(str, int) # (단계명, 진행률 %)
upload_log_message = Signal(str) # 로그 메시지
upload_completed = Signal(bool, str) # (성공여부, 메시지)
```
## 🚀 사용 방법
### 1. 기본 사용
1. **현재 그룹의 상품을 업로드** 버튼 클릭
2. 선택된 마켓 정보 확인 대화상자에서 정보 검토
3. **예** 선택 시 진행상황 다이얼로그가 표시됨
4. 실시간으로 진행상황 모니터링 가능
### 2. 진행상황 다이얼로그 제어
- **일시정지**: 작업을 일시적으로 중단
- **재개**: 일시정지된 작업을 계속 진행
- **취소**: 작업을 완전히 중단
- **닫기**: 작업 완료 후 다이얼로그 닫기
### 3. 로그 모니터링
- 타임스탬프가 포함된 상세 로그
- 자동 스크롤로 최신 로그 표시
- 작업 단계별 진행 상황 추적
## 🔮 추후 확장 계획
### 여러 사업자 순차 처리
```python
# 사용 예시 (추후 구현 시)
business_queue = [
{'name': '사업자1', 'market_info': {...}},
{'name': '사업자2', 'market_info': {...}}
]
total_products_per_business = {'사업자1': 50, '사업자2': 30}
dialog.start_multi_business_upload(business_queue, total_products_per_business)
```
### 처리 흐름 (여러 사업자)
1. **사업자1**: 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드
2. **사업자2**: 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드
3. **반복**: 모든 사업자 완료까지
## 🎨 UI 특징
### 디자인 요소
- **색상 테마**: 현대적인 파스텔 톤
- **진행 바**: 그라데이션 효과
- **카드 레이아웃**: 섹션별 구분된 디자인
- **반응형**: 창 크기에 따른 적응형 레이아웃
### 사용자 경험
- **직관적 인터페이스**: 한눈에 파악 가능한 진행상황
- **실시간 피드백**: 즉시 확인 가능한 작업 진행
- **안전한 제어**: 작업 취소 시 확인 절차
## 📋 주의사항
1. **권한 확인**: VIP 권한이 필요한 기능입니다
2. **사업자 설정**: 사업자관리에서 미리 설정이 필요합니다
3. **네트워크 상태**: 안정적인 인터넷 연결을 유지해야 합니다
4. **작업 중단**: 일시정지 기능을 활용하여 안전하게 중단 가능합니다
## 🔧 커스터마이징
### 스타일 변경
`src/upload_progress_dialog.py``setup_styles()` 메서드에서 CSS 스타일 수정 가능
### 로그 형식 변경
`add_log()` 메서드에서 타임스탬프 형식 및 메시지 형식 수정 가능
### 진행률 계산 변경
`update_progress()` 메서드에서 진행률 계산 로직 수정 가능