我在瀏覽關於Play! framework
的帖子,並且遇到了一些帖子,其中討論了ecommerce
。因爲我是初學者,所以我想做一個練習。我寫了下面列出一些用例和一些要求。我想聽聽你的意見,希望它能拓寬我的技術智慧。當沒有用戶登錄時存儲購物車(playframework疑惑)
購物車網頁上的一些要求:
1.用戶可以將項目添加到購物車即使沒有登錄到該網站。
2.用戶在點擊checkout link
後需要登錄。
3.如果該商品尚未在購物車中,則商品頁面將包含addtocart
按鈕。
4.Itemdetails頁面將包含一個minicartview
,顯示購物車中的物品名稱和總價。
我編碼爲ShoppingCart
如下。它可以從數據庫檢索使用它的User
。
@Entity
class ShoppingCart{
...
@OneToOne
public User user;
}
我考慮過一些可能的情況。
1.用戶已進入Itemdetails頁面時已登錄。
這似乎很容易,我可以使用登錄的用戶從數據庫檢索購物車。
User user = User.find("byEmail", Security.connected()).first();
cart = ShoppingCart.find("byUser",user);
...
2.目前沒有用戶登錄。
這是困擾me.How來處理呢?我怎樣才能顯示minicartview
這裏Itemdetails
頁?我應該在哪裏存放車?緩存是易失性。如何否則我就存放車不能被信任?我不能以dB爲單位存儲,直到用戶登錄。
如果有人可以使事情有關此方案的明確,它可以幫助我很多..
當你說,在會話中存儲購物車項目,你的意思是將它們存儲在緩存?因爲,我只能在會話中存儲字符串。要存儲任何Set,我只能使用緩存。但是,有問題緩存是不穩定的,並且一次放入的項目可能不會用於檢索 – jimgardener
不,我的意思是會話。您可以使用JSON將您的Set設置爲字符串,也可以構造一個數字列表(以逗號分隔)並存儲該列表。 – Codemwnci