도매꾹 주문 현황 시스템 (도매꾹 전용) - 완전 개발 가이드
📊 시스템 구조
- 실시간 데이터: MariaDB jktadmin.dodome_order 테이블 (32개 필드)
- API 서버: Flask (포트 5000) + nginx 프록시
- 크롤러: Selenium 기반 도매꾹 자동 수집
- 웹 인터페이스: 계정별 독립 필터링 + 5개 팝업 시스템
🗄️ 데이터베이스 구조
- 테이블: jktadmin.dodome_order (32개 필드)
- 주요 필드: account_name, supplier_type, ordercode, order_status, product_name, total_amount
- 마진 필드: cost_amount, margin_amount (DB 우선, 없으면 86.9% 공식으로 자동 추정)
- 제어 필드: auto_order, auto_invoice, is_key_product (Y/N)
- 인덱스: UNIQUE KEY (account_name, supplier_type, ordercode)
🔗 API 엔드포인트
- 기본 조회: GET /jktadmin/api/dodome/orders?days=14
- 계정 필터: GET /jktadmin/api/dodome/orders?account=아크로벤처스
- 기간 필터: GET /jktadmin/api/dodome/orders?start_date=2025-08-01&end_date=2025-08-31
- 상태 필터: GET /jktadmin/api/dodome/orders?status=배송완료
- 헬스체크: GET /jktadmin/api/health
📁 서버 파일 구조
- 크롤러: /root/jktadmin/dodomeorder.py (도매꾹 수집)
- API서버: /var/www/html/jktadmin/api_server.py (Flask, 포트5000)
- 웹페이지: /var/www/html/jktadmin/dodome.html (이 파일)
- 설정파일: /etc/nginx/nginx.conf (프록시 설정)
- 로그파일: /root/jktadmin/dodome.log (크롤링 로그)
⚙️ 운영 명령어
- 크롤러 실행: cd /root/jktadmin && python3 dodomeorder.py
- API 서버 시작: cd /var/www/html/jktadmin && nohup python3 api_server.py &
- DB 직접 접속: mysql -u jktuser -p jktadmin
- nginx 재시작: systemctl restart nginx
- 로그 확인: tail -f /root/jktadmin/dodome.log
🎯 주요 기능
- 계정별 독립 필터: 개꿀아울렛 신규배송/배송완료 상태 독립 관리
- 5개 팝업 시스템: 주문상세, 마진계산, 당월통계, 전월통계, 상품페이지(오너클랜 링크)
- 자동 계산: 원가 미입력시 판매가의 86.9%로 자동 추정, 마진율 자동 계산
- 버튼 제어: auto_order/auto_invoice Y값만 표시, is_key_product에 따른 "상세OK"/"불완전 정보"
- 상품명 정제: [SE코드] 자동 제거, 주소 4단어 제한, 이름 괄호 제거
- 복사 기능: 송장번호, 배송주소, 구매자명, 구매자연락처 클립보드 복사
🔧 트러블슈팅
- API 오류: pkill -f api_server.py → 재시작
- 크롤링 실패: /root/jktadmin/dodome.log 확인
- DB 연결 오류: systemctl status mariadb 확인
- nginx 프록시 오류: /etc/nginx/nginx.conf의 /jktadmin/api/ location 확인
- 복사 기능 오류: HTTPS 환경 확인, 브라우저 콘솔 로그 확인
🚀 접속 URL: http://172.233.93.239/jktadmin/dodome.html
📊 API 테스트: http://172.233.93.239/jktadmin/api/dodome/orders
📝 버전: dodome.html v2.6 (완전 재구성, 복사기능 수정)