首页 > 解决方案 > 如何构建一个我每天只能发送 1000 条短信并在 24 小时内重置限制的逻辑

问题描述

我实现了 MessageBird WhatsApp 集成。但我的问题是如何建立一个逻辑,我可以计算剩余的短信限制并在 24 小时后重置它。

  1. 24 小时内每天的总限制为 1000

  2. 如果我在下午 2 点发送 500 条短信,在下午 5 点发送剩余的 500 条,那么第二天下午 2 点我将收到 500 条限制,其余 500 条在下午 5 点发送。

有人可以帮我构建这个逻辑,以便 API 可以发送准确的剩余限制以在该时间段内发送短信。

标签: javaspring-bootsmswhatsappmessagebird

解决方案


如果没有有关项目架构的更多详细信息,很难回答您的问题。

假设您有办法持久化和查询您的数据,您可以简单地为用户发送的每条消息存储一个实体以及created_at时间戳,例如:

+-----+------------+---------+
| id  | created_at | user_id |
+-----+------------+---------+
|   1 |        ... |      25 |
|   2 |        ... |      25 |
+-----+------------+---------+

user_id然后,您可以轻松查询此数据并根据为给定和找到的记录总数验证 1000 条消息限制created_at >= now() - 24h


推荐阅读