У меня есть таблица транзакций, которая имеет такую структуру:
| transaction_id | customer_id | amount | transaction_type_id | status |
transaction_id => is the id of the transaction
customer_id => is the customer id who did the transaction
amount => Total transaction amount
transaction_type_id => Type of transaction
status => status of the transaction => pending, complete, canceled
Я хочу создать для своей программы функцию разделения счета, эта функция работает следующим образом:
- Клиент вводит общую сумму счета, который хотел разделить.
- Клиент добавляет еще одного клиента (n клиентов) для разделения счета и указывает сумму.
- Транзакция будет выполнена длявсе клиенты в разделенном счете с ожидающим статусом и указанной суммой.
- Запрос разделенного счета будет получен другими клиентами, чтобы отклонить его или принять его
- Если один из клиентов отклонит разделениезапрос на выставление счета, транзакция будет отменена, но если все клиенты примут запрос, статус транзакции будет завершен
. До сих пор я придумал решение этого решения, создав основной split_billtable и split_bill_request вот так:
split_bill
split_bill_id|transaction_ids | initiator | total_amount
split_bill_id => id of the split bill
transaction_ids => All the customer transaction id separated by comma
initiator => the customer_id who initiate split bill
total_amount => total of the bill
split_bill_request
split_bill_request_id | split_bill_id | customer_id | status
split_bill_request_id => id of split bill request
split_bill_id => id of the split bill
customer_id => id of the customer who receive split bill request from initiator
status => status of the request pending,accept,reject
Я не знаю, является ли это правильным способом сделать это, можете ли вы предложить другой подход, потому что я имеюВы сомневаетесь с транзакциями в таблице split_bill или эффективным способом сделать это, а также потому, что у меня нет разрешения на изменение таблицы транзакций?