feat(relation): 实现用户关注功能及相关校验逻辑

- 新增 DateUtils 工具类,支持 LocalDateTime 转时间戳
- 编写三个 Lua 脚本:单条关注、批量关注及关注校验与添加
- 新增 RedisKeyConstants 常量类,用于构建关注列表 KEY
- 新增 LuaResultEnum 枚举,定义 Lua 脚本返回结果状态
- 实现关注接口的完整业务逻辑,包括 Redis 校验和数据库兜底
- 添加 HTTP 测试用例和环境变量配置
- 支持关注关系的过期策略,包含随机过期时间计算
- 增加对关注上限和重复关注的业务异常处理
- 实现从数据库同步关注数据到 Redis 的逻辑
- 使用 Lua 脚本保证操作的原子性和性能优化
This commit is contained in:
2025-10-12 19:55:20 +08:00
parent 7942a46592
commit 3c8dc9e4af
10 changed files with 262 additions and 3 deletions

View File

@@ -136,4 +136,13 @@ Authorization: Bearer {{token}}
{
"followUserId": -1
}
### 正常关注用户
POST http://localhost:8000/relation/relation/follow
Content-Type: application/json
Authorization: Bearer {{token}}
{
"followUserId":{{otherUserId}}
}

View File

@@ -1,7 +1,9 @@
{
"dev": {
"token": "4bXpiBbjXEDFE4ZpqjCOHu1rP81qepl2ROOygrxRGb61K536ckLuyAwfyQHSMcyRdUzf8CxntLEMfbU2ynbYx9nJKlx4vpWZrHqv2mI4iMhnShQ4mPBi7OPPgZi22O2f",
"otherToken": "mqFNHrWkPcipIAvw7Gn4cigOWYP54sn8HYlQX3CXTxHf90DhjFiROhWVgPqLBi35xKXOOfHlXeEdaQrkXf1JXd8hbXBOdZqnrycW96BJwTbUS40EqIZifVgPun3ai0Ek",
"noteId": "1977249693272375330",
"userId": "100"
"userId": "100",
"otherUserId": "2100"
}
}