feat(count): 实现粉丝与关注计数服务
- 新增粉丝数与关注数的 MQ 消费逻辑 - 实现 Redis 计数更新与数据库落库操作 - 添加流量削峰限流机制提升系统稳定性 - 完善计数 DTO 与枚举类型定义 - 扩展 JsonUtils 工具类支持 Map 转换 - 更新 MQ 常量与 Redis Key 管理策略 -优化 MyBatis Mapper 支持计数插入或更新操作,Mybatis-plus操作起来属于硬编码,所以使用MyBatis的XML形式
This commit is contained in:
@@ -137,7 +137,7 @@ class MQTests {
|
||||
// 构建消息体 DTO
|
||||
CountFollowUnfollowMqDTO countFollowUnfollowMqDTO = CountFollowUnfollowMqDTO.builder()
|
||||
.userId(i + 1) // 关注者用户 ID
|
||||
.targetUserId(27L) // 目标用户
|
||||
.targetUserId(100L) // 目标用户
|
||||
.type(FollowUnfollowTypeEnum.FOLLOW.getCode())
|
||||
.build();
|
||||
|
||||
@@ -146,15 +146,28 @@ class MQTests {
|
||||
.build();
|
||||
|
||||
// 发送 MQ 通知计数服务:统计粉丝数
|
||||
rocketMQTemplate.asyncSend(MQConstants.TOPIC_COUNT_FANS, message, new SendCallback() {
|
||||
// rocketMQTemplate.asyncSend(MQConstants.TOPIC_COUNT_FANS, message, new SendCallback() {
|
||||
// @Override
|
||||
// public void onSuccess(SendResult sendResult) {
|
||||
// log.info("==> 【计数服务:粉丝数】MQ 发送成功,SendResult: {}", sendResult);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onException(Throwable throwable) {
|
||||
// log.error("==> 【计数服务:粉丝数】MQ 发送异常: ", throwable);
|
||||
// }
|
||||
// });
|
||||
|
||||
// 发送 MQ 通知计数服务:统计关注数
|
||||
rocketMQTemplate.asyncSend(MQConstants.TOPIC_COUNT_FOLLOWING, message, new SendCallback() {
|
||||
@Override
|
||||
public void onSuccess(SendResult sendResult) {
|
||||
log.info("==> 【计数服务:粉丝数】MQ 发送成功,SendResult: {}", sendResult);
|
||||
log.info("==> 【计数服务:关注数】MQ 发送成功,SendResult: {}", sendResult);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(Throwable throwable) {
|
||||
log.error("==> 【计数服务:粉丝数】MQ 发送异常: ", throwable);
|
||||
log.error("==> 【计数服务:关注数】MQ 发送异常: ", throwable);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user