2011-08-18 2 views
1

product_id, priceinventory_count과 같은 열이 포함 된 Product 데이터베이스 테이블이 있습니다.고객이 온라인으로 주문할 때 DB의 가격 변경을 처리하는 방법은 무엇입니까?

사용자가 특정 가격으로 특정 제품을 구매하기 위해 클릭합니다. 내 프로그램은 제품 및 가격을 나열하는 확인 페이지를 생성합니다. 모든 것이 정상이며 사용자가 "확인"을 클릭합니다. 내 프로그램에서 해당 제품의 inventory_count을 업데이트하고 제품의 price에 표시된 금액을 사용자의 신용 카드로 청구합니다.

그러나 확인 페이지가 생성 된 후 사용자가 "확인"을 클릭하기 전에 해당 제품의 가격이 변경되었습니다. 따라서 사용자는 확인 페이지에서 10 달러의 가격을 보았을 수 있지만 "확인"을 클릭하면 제품 테이블의 price이 이미 $ 11로 변경되어 청구됩니다.

이런 상황을 처리하는 가장 좋은 방법은 무엇입니까? MySQL과 Python을 사용하고 있습니다.

+0

음 ... 재미있는 상황. 나는 사용자의 장바구니 (클라이언트 측)에 가격을 유지하고 신용 처리를하고있는 페이지의 서버 측과 가격을 비교할 것이다. 차이가있는 경우 사용자에게 '가격이 변경되었습니다.'라는 새 페이지로 리디렉션하십시오. – PlagueEditor

답변

3

실제로 충전하려는 가격으로 구매 대기중인 테이블을 새로 만들고 확인 페이지를 생성 할 때 항목을 추가하십시오. Product 테이블의 inventory_count 당신이 Pending 테이블에 항목을 추가 할 때, 당신은 할 수 다시 증가 inventory_count에서

공제는 구매가 통과하지 않는 경우.

1

제 생각에는 이런 상황을 피하십시오 (제가 고객 인 경우 실망하게 될 것입니다). 하지만 고객이 확인할 수없는 경우 확인을 누르면 마지막으로 가격을 확인하고 변경된 경우 사용자에게 메시지를 표시합니다.

3

고객이 마지막으로 마음을 바꿀 수있는 시간부터 가격을 계속 인계해야합니다. 네가 그렇게 좋아 보이지 않는 것도 법적 문제라고 확신한다.

어쨌든 고객이 확인한 후 마지막 수표를 구현하는 것이 어렵지 않을 수 있습니다. 맞습니까? 어쩌면 당신은 가격이 바뀌 었다는 통지를 보여 줄 수 있습니다.

+1

마지막 점검 및 오류 메시지에 +1. – bentayloruk

관련 문제