feat(comment): 新增评论热度计算与更新功能
- 在评论数据对象中新增 childCommentTotal 和 heat 字段 - 扩展 CommentDOMapper 支持批量更新评论热度值 - 新增 CommentHeatBO 类用于封装评论热度信息 - 实现基于点赞数和回复数的热度值计算工具类 HeatCalculator - 添加 RocketMQ 消费者异步处理评论热度更新消息 - 引入 buffer-trigger依赖实现消息聚合发送 - 扩展 JsonUtils 工具类支持 Set 类型反序列化 - 新增 MQ 常量 TOPIC_COMMENT_HEAT_UPDATE用于热度更新主题 - 修改 SQL 脚本增加 heat 字段并设置默认值- 更新测试接口请求参数内容以适配新逻辑
This commit is contained in:
@@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class JsonUtils {
|
||||
private static ObjectMapper OBJECT_MAPPER = new ObjectMapper();
|
||||
@@ -95,4 +96,23 @@ public class JsonUtils {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 将 JSON 字符串解析为指定类型的 Set 对象
|
||||
*
|
||||
* @param jsonStr JSON 字符串
|
||||
* @param clazz 目标对象类型
|
||||
* @param <T> 目标对象类型
|
||||
* @return Set 集合
|
||||
* @throws Exception 抛出异常
|
||||
*/
|
||||
public static <T> Set<T> parseSet(String jsonStr, Class<T> clazz) throws Exception {
|
||||
// 使用 TypeReference 指定 Set<T> 的泛型类型
|
||||
return OBJECT_MAPPER.readValue(jsonStr, new TypeReference<>() {
|
||||
@Override
|
||||
public CollectionType getType() {
|
||||
return OBJECT_MAPPER.getTypeFactory().constructCollectionType(Set.class, clazz);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user