【问题标题】:Rails + Ecommerce: How to implement returns for a product that a user purchased?Rails + 电子商务:如何为用户购买的产品实施退货?
【发布时间】:2014-06-25 21:27:38
【问题描述】:

我正在建立一个电子商务商店,我在“退货/换货”部分。但是,我在概念化如何在关系数据库中实现Returns 模型/表时遇到了麻烦。到目前为止,我有这些模型:

User (has_many :orders)

Order (has_many :line_items, belongs_to :user)

LineItem(belongs_to :order,belongs_to :variant)

Variant (has_many :line_items)

相当通用。假设用户下了一个包含 2 个订单项的订单:

LineItem 1: {quantity: 1, variant_id: 1}

LineItem 2: {quantity: 3, variant_id: 2}

假设用户只想返回 2 个单位的 LineItem 2。那么在未来他们仍然可以返回 1 个单位的 LineItem 2,因为总共有 3 个(quantity: 3)......嗯,什么样的关系会这样吗?

有没有人有实现Return 模型的经验?我想要一些见解。如果您需要更多信息,请告诉我。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我认为它不必具有那么多功能或边缘情况。客户可能会花更多的钱让您处理每个案例,而不是因为店员只是捏造数字以使客户对极少数情况下发生这些边缘案例中的一种感到高兴而损失的钱。

    我会将return_datereturn_qty 添加到line_item 表中。然后,如果有人返回 2/3 项,则设置 return_qty = 2return_date = Time.now。如果他们确实返回了第 3 项,则增加 return_qty 并覆盖 return_date。您将丢失历史返回日期,但这似乎是如此罕见且可能毫无价值的信息。你甚至可能不需要它。

    【讨论】:

    • 谢谢克洛伊。是的...我没有看到任何客户多次退货。我认为您的解决方案可以工作!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    相关资源
    最近更新 更多