我們的業務目前擁有一個網上商店,最近我們一直在提供免費的特惠給我們的客戶。現在,我們只需顯示特價商品,並向買家發出通知,說明我們會在結帳後向訂單添加額外的免費商品。當然,將整個過程自動化會很好。務實加入贈送品/贈品到在線商店
我一直在思考幾個想法,主要是創建一個折扣模型(我在這種情況下使用Django,但這更多的是一個邏輯問題),並讓該模型具有各種標誌和產品列表所以我可以創建一個這樣的實例:
Discount(
description="Get one free pair of bands when you buy two pairs of shoes.",
valid_products=[BigProductA, BigProductB],
received_products=[FreebieProductA, FreebieProductB],
special_in_intervals=2, # Whenever the user buys 2, give one for free
)
這種邏輯類型的作品。然後,我可以看看他們的購物車中有什麼,並測試模型中現有的折扣,看看他們是否申請了任何東西。最大的問題是它會變得非常混亂,特別是如果你有多個特別的事情發生,我只是不認爲它工作得很好。
不幸的是,這是真正爲這個權利我的最好的辦法了。所以,我來問你們:你認爲最好的方法是什麼?我不是在尋找代碼,只是一些邏輯思路和方法來做到這一點。 :)
在此先感謝!
感謝您的答案。到目前爲止,我將所有的邏輯都保留在Discount模型中,並且我打算保持這種模式。我最大的問題是給用戶免費的項目從列表中選擇,然後不知道再做一次。你會在哪裏存儲這些數據?我有一些想法,但他們都開始良好,然後陷入凌亂的邏輯和太多的步驟。仍然認爲,雖然... – Bartek 2009-11-09 16:22:58
我會將它存儲在購物車中的特殊/其他領域。您必須能夠識別添加折扣的額外項目等。這樣,總計算器可以忽略它們,而渲染器仍然可以顯示它們。如果你需要的話,不要猶豫,在購物車中的物品上添加短暫的場地;只是不要修改其他領域的數據。 – 2009-11-09 16:40:10
謝謝,這似乎是最好的路線。當然會寫許多單元測試,以確保它能正常工作,哦,上帝.. :) – Bartek 2009-11-09 17:00:36