У меня есть таблица Fine
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 не будет обновленкак "выполнено" администратором.
- В таблице платежей хранятся только успешные платежи, для неудачных платежей я создал отдельную таблицу (все нормально)?
- Как я могу справиться с повторяющимисяштрафы в этом сценарии?
- Чтобы проверить, был ли уплачен штраф, я проверяю таблицу платежей, существует ли запись там или нет.Это нормально?
РЕДАКТИРОВАТЬ-1
Fine Master
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
Fine
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