繁体   English   中英

如何使用 NodeJs 在投资 web 应用程序中操纵账户余额?

[英]How do I manipulate account balance in an investment web application with NodeJs?

我正在使用 NodeJS 和 MongoDB 进行投资 web 应用程序项目。 我已经在允许用户进行投资,但我不知道如何 go 关于帐户余额部分。 用户投资后,账户余额应在 3 天后更新。

这是我上面描述背后的一个简单数学:

  1. 用户投资 200 美元。
  2. 3 天后,用户获得了他投资的 10% - 220 美元
  3. 第三天,账户余额从 0 变为 220。

这对NodeJs是否可行,如果是的话,我该怎么做?

您无需更改帐户余额。 只需存储用户在特定日期投资的投资金额。 然后,每当您需要知道余额时,只需通过计算从现在开始的时间差来计算它。

公司政策可能是在月底、3 个月、6 个月或每年重新计算余额。 在那一天,您可以更新帐户余额并更新日期。

因此,您可以拥有:

invested_day, capitalized_day, account_balance

谷歌关于 cron-job,你需要它在预定日期更新存储。

最简单的解决方案是将投资日期存储到数据库,每当用户访问应用程序时,都会向他显示加载程序并获取系统的当前日期,并使用时刻或您自己将其与存储的日期进行比较,如果差异为 3 天,则更新日期和金额。 但是如果用户在 9 天或 10 天后访问,那么请记住以 3 的倍数计算天数并相应地增加数量。 还要记住服务器和客户端的时区可能不同,所以也要注意它。

您可以简单地运行一个每 3 天执行一次 mongodb 查询的 cron 作业

node.js 的 cron 作业: https://www.npmjs.com/package/node-cron

var cron = require('node-cron');
 

cron.schedule('0 0 */3 * *', () => {
  // this function is gonna be executed every 3rd day at midnight
  Model.update({ ... })
});

https://crontab.guru/#0_0_*/3_*_ *

每月第 3 天的 00:00。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM