- internal_code DB 저장 → 프론트에서 선택한 제품 그대로 주문 - 기존 장바구니 백업/복구로 사용자 장바구니 보존 - 수인약품 submit_order() 수정 (체크박스 제외 방식) - 테스트 파일 정리 및 문서 추가
82 lines
2.5 KiB
Python
82 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""방안 1: 임시 보관 방식 테스트"""
|
|
import sys; sys.path.insert(0, '.'); import wholesale_path
|
|
|
|
import importlib
|
|
import wholesale.sooin
|
|
importlib.reload(wholesale.sooin)
|
|
from wholesale import SooinSession
|
|
|
|
SooinSession._instance = None
|
|
s = SooinSession()
|
|
s.login()
|
|
s.clear_cart()
|
|
|
|
# 시나리오: 기존 코자정이 담겨있고, 디카맥스만 주문하고 싶음
|
|
|
|
print('=== 1. 기존 품목 (코자정) 담기 ===')
|
|
r1 = s.search_products('코자정')
|
|
p1 = r1['items'][0]
|
|
s.add_to_cart(p1['internal_code'], qty=1, price=p1['price'], stock=p1['stock'])
|
|
print(f"기존 품목: {p1['name']}")
|
|
|
|
print('\n=== 2. 새 품목 (디카맥스) 담기 ===')
|
|
r2 = s.search_products('디카맥스')
|
|
p2 = r2['items'][0]
|
|
s.add_to_cart(p2['internal_code'], qty=1, price=p2['price'], stock=p2['stock'])
|
|
print(f"새 품목: {p2['name']}")
|
|
|
|
# 장바구니 확인
|
|
cart = s.get_cart()
|
|
print(f"\n현재 장바구니: {cart['total_items']}개")
|
|
|
|
# === 선별 주문 시작 ===
|
|
print('\n' + '='*50)
|
|
print('=== 선별 주문: 디카맥스만 주문 ===')
|
|
print('='*50)
|
|
|
|
# 3. 기존 품목 정보 저장
|
|
print('\n3. 기존 품목 정보 저장')
|
|
existing_items = []
|
|
for item in cart['items']:
|
|
# 디카맥스는 제외 (이번에 주문할 품목)
|
|
if '디카맥스' not in item['product_name']:
|
|
existing_items.append({
|
|
'internal_code': item['internal_code'],
|
|
'quantity': item['quantity'],
|
|
'price': item['unit_price'],
|
|
'name': item['product_name']
|
|
})
|
|
print(f" 저장: {item['product_name']}")
|
|
|
|
# 4. 장바구니 비우기
|
|
print('\n4. 장바구니 비우기')
|
|
s.clear_cart()
|
|
|
|
# 5. 주문할 품목만 다시 담기
|
|
print('\n5. 디카맥스만 다시 담기')
|
|
s.add_to_cart(p2['internal_code'], qty=1, price=p2['price'], stock=p2['stock'])
|
|
|
|
# 6. 주문
|
|
print('\n6. 주문!')
|
|
result = s.submit_order()
|
|
print(f"결과: {result}")
|
|
|
|
# 7. 기존 품목 복원
|
|
print('\n7. 기존 품목 복원')
|
|
for item in existing_items:
|
|
s.add_to_cart(item['internal_code'], qty=item['quantity'], price=item['price'], stock=999)
|
|
print(f" 복원: {item['name']}")
|
|
|
|
# 8. 최종 확인
|
|
print('\n=== 8. 최종 장바구니 ===')
|
|
final_cart = s.get_cart()
|
|
print(f"품목 수: {final_cart['total_items']}")
|
|
for item in final_cart['items']:
|
|
print(f" - {item['product_name']}")
|
|
|
|
if final_cart['total_items'] == 1 and '코자정' in final_cart['items'][0]['product_name']:
|
|
print('\n🎉 성공! 디카맥스만 주문되고 코자정은 복원됨!')
|
|
else:
|
|
print('\n❌ 실패')
|