Как сделать структуру базы данных для разделения счета в MySQL? - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть таблица транзакций, которая имеет такую ​​структуру:

| 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

Я хочу создать для своей программы функцию разделения счета, эта функция работает следующим образом:

  1. Клиент вводит общую сумму счета, который хотел разделить.
  2. Клиент добавляет еще одного клиента (n клиентов) для разделения счета и указывает сумму.
  3. Транзакция будет выполнена длявсе клиенты в разделенном счете с ожидающим статусом и указанной суммой.
  4. Запрос разделенного счета будет получен другими клиентами, чтобы отклонить его или принять его
  5. Если один из клиентов отклонит разделениезапрос на выставление счета, транзакция будет отменена, но если все клиенты примут запрос, статус транзакции будет завершен

. До сих пор я придумал решение этого решения, создав основной 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 или эффективным способом сделать это, а также потому, что у меня нет разрешения на изменение таблицы транзакций?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...