【发布时间】:2019-05-05 11:22:24
【问题描述】:
我有一张桌子很好
fine_id amount date fine_type is_rec rec_status
F001 100 2018-12-01 1 TRUE INCOMPLETE
F002 10000 2018-12-02 4 FALSE NULL
还有一个付款表
id fine_id amount paymode txn_id txn_status
1 F002 10000 ONLINE TXN001 1
罚款可以重复发生,即用户必须每月支付罚款金额,直到管理员将其 rec_status 更新为“已完成”。
- 付款表只存储成功的付款,对于失败的付款,我制作了一个单独的表(可以吗)?
- 在这种情况下,我如何处理经常性罚款?
- 要检查是否已支付罚款,我正在检查支付表中是否存在条目。可以吗?
EDIT-1
大师兄
fine_id amount entry_date fine_type is_rec rec_status rec_type
F001 100 2018-12-01 1 TRUE INCOMPLETE Monthly
F002 10000 2018-12-02 4 FALSE NULL
F003 10000 2018-12-02 4 TRUE INCOMPLETE Yearly
很好
rec_fine_id fine_id amount for_month for_year is_paid
RF001 F001 100 022018 NULL TRUE
RF002 F003 10000 NULL 2018 TRUE
RF003 F002 10000 NULL NULL TRUE
RF004 F001 100 032018 NULL FALSE
付款
id rec_fine_id amount paymode txn_id txn_status is_successful pay_date
1 RF001 100 ONLINE TXN001 1 true 2018-02-10
2 RF003 10000 ONLINE TXN010 1 true 2018-10-10
3 RF002 10000 ONLINE TXN011 1 true 2018-07-11
【问题讨论】:
-
至少您需要一种方法来存储给定付款的月份,在
payments表中。 -
您没有提供足够的信息。例如,您是否试图跟踪预计在哪个月份付款?您是否在跟踪哪些月份已支付或未支付?您当前的设计只跟踪付款而不考虑几个月。您甚至没有存储付款日期。提示:如果您确实想完整跟踪月份,我建议使用标准 ISO 8601 格式的文本:YYYY-MM,例如 2018 年 2 月的
2018-02。 -
我正在存储付款日期
标签: database payment recurring-billing