java - 如何构建一个我每天只能发送 1000 条短信并在 24 小时内重置限制的逻辑
问题描述
我实现了 MessageBird WhatsApp 集成。但我的问题是如何建立一个逻辑,我可以计算剩余的短信限制并在 24 小时后重置它。
24 小时内每天的总限制为 1000
如果我在下午 2 点发送 500 条短信,在下午 5 点发送剩余的 500 条,那么第二天下午 2 点我将收到 500 条限制,其余 500 条在下午 5 点发送。
有人可以帮我构建这个逻辑,以便 API 可以发送准确的剩余限制以在该时间段内发送短信。
解决方案
如果没有有关项目架构的更多详细信息,很难回答您的问题。
假设您有办法持久化和查询您的数据,您可以简单地为用户发送的每条消息存储一个实体以及created_at
时间戳,例如:
+-----+------------+---------+
| id | created_at | user_id |
+-----+------------+---------+
| 1 | ... | 25 |
| 2 | ... | 25 |
+-----+------------+---------+
user_id
然后,您可以轻松查询此数据并根据为给定和找到的记录总数验证 1000 条消息限制created_at >= now() - 24h
推荐阅读
- python - paramiko 中的 exec_command 和 invoke_shell 方法出现 EOF 错误
- css - vuetify/vujs:v-row 的最大高度
- amazon-web-services - 有没有办法将最近的红移插入数据移动到 s3?
- laravel - 当提供多个 js 文件进行构建时,Laravel mix 无法正确构建 css 文件
- vb.net - 如何使自定义控件的属性打开文件对话框?
- ibm-watson - 在 Watson 助手引擎确定其意图之前将一段文本附加到用户的输入
- c# - 在字符串中输出文字字符串字符
- spring-boot - 如何将 Spring Boot JPA 原生查询与连接不相关的实体一起使用
- angular - 如何返回存根的 Observable
在 RxJS 中 - javascript - 生成包含没有 JSZip 库的文件列表的 Zip 文件