朋友圈 喜欢功能 接口API

朋友圈 喜欢功能接口

/** 朋友圈 喜欢功能接口* *//** * 喜欢 * * @param userId * @param publishId * @return */Boolean loveComment(Long userId, String publishId);/** * 取消喜欢 * * @param userId * @param publishId * @return */Boolean disLoveComment(Long userId, String publishId);/** * 查询喜欢数 * * @param publishId * @return */Long queryLoveCount(String publishId);/** * 查询 户是否喜欢该动态 * * @param userId * @param publishId * @return */Boolean queryUserIsLove(Long userId, String publishId);

朋友圈 喜欢功能接口 实现类

/** 朋友圈 喜欢功能* */@Overridepublic Boolean loveComment(Long userId, String publishId) { //查询该 户是否已经喜欢 if (this.queryUserIsLove(userId, publishId)) { return false; } //喜欢 boolean result = this.saveComment(userId, publishId, CommentType.LOVE, null); if (!result) { return false; } //喜欢成功后,修改Redis中的总的喜欢数 String redisKey = this.getCommentRedisKeyPrefix(publishId); String hashKey = CommentType.LOVE.toString(); this.redisTemplate.opsForHash().increment(redisKey, hashKey, 1); //标记 户已经喜欢 hashKey = this.getCommentUserLoveRedisKey(userId); this.redisTemplate.opsForHash().put(redisKey, hashKey, “1”); return true;}private String getCommentUserLoveRedisKey(Long userId) { return COMMENT_USER_LOVE_REDIS_KEY_PREFIX + userId;}@Overridepublic Boolean disLoveComment(Long userId, String publishId) { if (!this.queryUserIsLove(userId, publishId)) { //如果 户没有喜欢,就直接返回 return false; } boolean result = this.removeComment(userId, publishId, CommentType.LOVE); if (!result) { //删除失败 return false; } //删除redis中的记录 String redisKey = this.getCommentRedisKeyPrefix(publishId); String hashKey = this.getCommentUserLoveRedisKey(userId); this.redisTemplate.opsForHash().delete(redisKey, hashKey); this.redisTemplate.opsForHash().increment(redisKey, CommentType.LOVE.toString(), -1); return true;}@Overridepublic Long queryLoveCount(String publishId) { // 先从redis中命中,如果命中的话就返回,没有命中就查询Mongodb String redisKey = this.getCommentRedisKeyPrefix(publishId); String hashKey = CommentType.LOVE.toString(); Object value = this.redisTemplate.opsForHash().get(redisKey, hashKey); if (ObjectUtil.isNotEmpty(value)) { return Convert.toLong(value); } //查询count Long count = this.queryCommentCount(publishId, CommentType.LOVE); //存储到redis中 this.redisTemplate.opsForHash().put(redisKey, hashKey, String.valueOf(count)); return count;}@Overridepublic Boolean queryUserIsLove(Long userId, String publishId) { String redisKey = this.getCommentRedisKeyPrefix(publishId); String hashKey = this.getCommentUserLoveRedisKey(userId); Object value = this.redisTemplate.opsForHash().get(redisKey, hashKey); if (ObjectUtil.isNotEmpty(value)) { return StrUtil.equals(Convert.toStr(value), “1”); } //查询mongodb Query query = Query.query(Criteria.where(“publishId”) .is(new ObjectId(publishId)) .and(“userId”).is(userId) .and(“commentType”).is(CommentType.LOVE.getType())); long count = this.mongoTemplate.count(query, Comment.class); if (count == 0) { return false; } //标记 户已经喜欢 this.redisTemplate.opsForHash().put(redisKey, hashKey, “1”); return true;}

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
上一篇 2022年6月13日 15:28
下一篇 2022年6月13日 15:28

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息