Я пытаюсь создать систему кошелька для переноса .
- Часть пополнения счета
- Я занимаюсь разработкой приложения, в котором есть функция переноса. Концепция токен кошелек. Однако, когда пользователь перезаряжает свой кошелек, сумма токена будет зачислена на его кошелек с датой истечения срока действия (предположим, что срок действия будет 1 месяц).
- Если пользователь пополнит свой кошелек по сравнению с суммой нового токена до истечения срока его текущего токена, он добавит к количеству старого токена и продлит срок его действия.
- Между тем, когда когда-либо выполняется действие, связанное с выводом токена, Код проверяет дату истечения срока действия, прежде чем вычесть токен.
Я уже спроектировал структуру базы данных. Пожалуйста, посмотрите.
- Таблица заказов для управления всеми транзакциями токенов.
token_order
+----+---------+------------+-----------+-----------+----------------+-------------+------------+--------+------------+-------------+
| id | user_id | order_date | sub_total | tax_total | discount_total | grand_total | ip_address | status | created_at | modified_at |
+----+---------+------------+-----------+-----------+----------------+-------------+------------+--------+------------+-------------+
| 1 | 20 | 2020-04-20 | 1000 | 100 | null | 1100 | 127.0.0.1 | 1 | 2020-04-20 | 2020-04-20 |
+----+---------+------------+-----------+-----------+----------------+-------------+------------+--------+------------+-------------+
Token_order и token_order_details связаны с информацией о заказе выборки.
token_order_details
+----+----------------+-------------+-----------+------------+----------------+-----------------+---------------+-------------+--------+------------+-------------+
| id | token_order_id | token_price | token_qty | tax_amount | tax_percentage | discount_amount | purchase_date | expiry_date | status | created_at | modified_at |
+----+----------------+-------------+-----------+------------+----------------+-----------------+---------------+-------------+--------+------------+-------------+
| 2 | 1 | 10 | 100 | 100 | 10 | null | 2020-04-20 | 2020-05-20 | 1 | 2020-04-20 | 2020-04-20 |
+----+----------------+-------------+-----------+------------+----------------+-----------------+---------------+-------------+--------+------------+-------------+
Эта таблица связывает кошелек с соответствующим пользователем.
token_wallet_details
+----+-----------+-----------+-----------+-------------------------+------------+--------------------+------------+-------------+
| id | wallet_id | action_id | token_qty | transaction_description | ip_address | transaction_status | created_at | modified_at |
+----+-----------+-----------+-----------+-------------------------+------------+--------------------+------------+-------------+
| 1 | 1 | 1 | 1.5 | dummy description | 127.0.0.1 | success | 2020-04-20 | 2020-04-20 |
+----+-----------+-----------+-----------+-------------------------+------------+--------------------+------------+-------------+
В этой таблице содержатся сведения о выводе токена.
token_wallet_details
+----+-----------+-----------+-----------+-------------------------+------------+--------------------+------------+-------------+
| id | wallet_id | action_id | token_qty | transaction_description | ip_address | transaction_status | created_at | modified_at |
+----+-----------+-----------+-----------+-------------------------+------------+--------------------+------------+-------------+
| 1 | 1 | 1 | 1.5 | dummy description | 127.0.0.1 | success | 2020-04-20 | 2020-04-20 |
+----+-----------+-----------+-----------+-------------------------+------------+--------------------+------------+-------------+
Собираюсь ли я использовать эти таблицы и их поля в нужном направлении для обработки упомянутых выше вещей?