【发布时间】:2010-12-29 04:26:00
【问题描述】:
我有一个跟踪会员卡持卡人的 Rails 应用,需要报告持卡人的状态。状态根据业务规则定义为“信誉良好”、“拖欠”或“已取消”,具体取决于持卡人最近的发票是否已支付。
发票是提前 30 天发送的,因此刚开具发票的客户仍然信誉良好,超过付款到期日 20 天的客户拖欠,会员未能支付发票超过到期后 30 天将被取消。
我正在寻找有关将持卡人的当前状态存储为客户级别的字段是否更好的建议(并在不更新相应持卡人记录的情况下处理发票记录的潜在更新导致的潜在更新异常) ,或者每次请求状态时根据数据库中的数据简单地计算当前持卡人状态是否更有意义(这可能会给数据库带来大量负载并降低应用程序的速度)。
建议?还是我没有想到的其他想法?
一个重要的限制:虽然不太可能有人直接修改数据库,但这种可能性总是存在的,因此我需要尝试采取一些保护措施来防止各种数据库记录彼此不同步。
【问题讨论】:
标签: ruby-on-rails model-view-controller data-modeling