gpt4 book ai didi

java - 没有用户登录时存储购物车(playframework 疑问)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:56 25 4
gpt4 key购买 nike

我正在浏览有关 Play 的帖子! framework 并遇到了一些讨论 ecommerce 的帖子。由于我是两者的初学者,我想做一个练习。我写下了一些用例和一些要求如下。我会想听听您对此的看法,希望它可以开阔我的技术智慧。

网页购物车的一些要求:

1.用户可以在不登录网站的情况下将商品添加到购物车。

2.用户点击checkout link后需要登录。

3.Itemdetails 页面将包含一个 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.目前没有用户登录。

这就是困扰我的问题。如何处理?如何在 Itemdetails 页面上显示 minicartview?我应该在哪里存储购物车?缓存是易变的,无法信任。我还应该如何存储购物车?在用户登录之前我无法存储在数据库中。

如果有人能把这个场景说清楚,可能对我有很大帮助..

最佳答案

您有几个选择。你可以

  1. 在您的 session 中存储购物车项目(因为它是一个 cookie,请尽量限制您存储的数量)。当用户登录时,您可以将您的 session 购物车项目与其登录的用户项目合并。与亚马逊等网站一样,尝试在用户计算机上存储长期 session 以记住已登录用户的 ID 以供日后使用是有意义的。

  2. 根据临时用户名将数据存储在数据库中。这与 session 非常相似,但如果临时用户数据库表未转换为完整用户,您将必须有一个常规作业来清除它。

就我个人而言,我会选择选项 1。它实现起来相当简单,cookie 中没有任何个人信息(因为它只是 ID),它意味着短期存储。

关于java - 没有用户登录时存储购物车(playframework 疑问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com