我们正在开发旅游网站,用于预订航班、酒店、汽车等。它是基于产品的软件。客户(购买我们的软件)将成为“主要代理”。他的总交易将以 INR(印度卢比货币)计价。全部航班、酒店或汽车预订仅以“印度卢比”进行。
现在他有权创建他的“子机构”。子机构货币可以是美元或印度卢比等。这意味着“主要机构”可能在世界各地都有其子机构。现在,每当“子机构”登录时,他的交易报告都应该以他的货币显示。如果他的货币是“AUD”,那么总交易量应该只是“AUD”。在创建子代理时,我们固定他的货币,无论他属于美元还是澳元或 AED 等。它是固定的。
当“子代理”生成票证(以澳元为单位)时,此交易也会显示在主要代理交易报告中。这是出现实际问题的地方。对于“子机构”,报告应以“AUD”为单位,对于主要机构,报告应以“INR”为单位。主要机构已准备好承担货币兑换损益。但是“子机构”不应该失去/获得。
我们以他的货币(美元/澳元)存储“主要代理”的“子代理”存款,当他登录时,我们以美元/澳元显示票价。预订后,我们将从他的可用余额中扣除该金额。但是当涉及到报告时,我们必须以两种方式显示这些交易。对于主要代理,它应该是 INR,对于子代理,它应该是他的货币 (USD/INR)。
我的解决方案很少,但这些使我的开发变得复杂。我期待更好的解决方案。
我的解决方案之一是,在存储交易时,还使用“INR”存储货币兑换率。现在使用该货币兑换率将其转换为“INR”。是很好的解决方案吗?
示例:子代理进行“2.00 美元”交易。在存储时,将货币兑换率也作为一列添加到表中。例如,“1 美元 = 55 印度卢比”。显示时计算2*55,并在主代理报告中显示为110 INR。
请为此提出任何更好的解决方案。