我正在尝试开发一种实现所有类型交易的基于商品的交易平台
场景
1。我们有一种商品,例如说黄金,其价格采用不同的货币
2。每个用户可以有多个用于存储其商品的钱包
{
"userId":"1",
"wallets":
[
{"walletName":"goldwallet1", "commodityId":"1", "walletAddress":"7x000abcd"},
{"walletName":"goldwallet2", "commodityId":"1", "walletAddress":"7x111efgh"},
{"walletName":"coinwallet3", "commodityId":"2", "walletAddress":"7x222efgh"},
]
}
2。此商品(黄金)可以使用不同的货币(例如欧元,美元)在我们的平台上买卖/出售,并存储在用户钱包中
3。除了买卖交易外,还必须执行4种交易类型。
一个):提现:用户此时可以提现其商品或同等价格的商品,并通过跟踪号从我们的商店接收
两个):转移:用户可以向/从其钱包地址发送/接收商品
三种):交换:用户可以将一种商品交换为其他类型
四):支付(支出):用户可以花费其商品来购买服务或产品...
对于这个问题,我想出了这种方法:
1。一个具有5个继承表的大交易表
Transaction
Id
WalletId
Amount(Sign)
Type(Buy/Sell/Withdraw/Exchange/Pay)
CreatedAt
Pay
TransactionId
For(ProductId)
Transfer
TransactionId
To/FromWalletId:
Type:(Send/Receive)
Exchange
TransactionId
DestinationWalletId
CommodityId
ExchangeRate
Withdraw
TransactionId
Traking-Number
我将首先使用SQL Server Express,但我甚至怀疑RDBMS是否适合这种情况,还是应该考虑使用No-SQL ...