> 文章列表 > 交友项目【动态点赞动态喜欢】

交友项目【动态点赞动态喜欢】

交友项目【动态点赞动态喜欢】

目录

1:点赞

1.1:动态点赞

1.1.1:分析&实现

1.2:取消点赞

1.2.1:分析&实现

2:喜欢

2.1:动态喜欢

2.1.1:分析&实现

2.2:取消喜欢

2.2.2:分析&实现


1:点赞

1.1:动态点赞

接口地址: http://192.168.136.160:3000/project/19/interface/api/157

1.1.1:分析&实现

接收到前端传入的动态id,到数据库修改对应的动态点赞数量,返回动态信息处理到redis缓存中,用来解决点赞前端点赞图标,点了动态赞要一直显示高亮。

    @GetMapping("/{id}/like")public ResponseEntity likemovement(@PathVariable("id") ObjectId id){Movement likemovement = movementService.likemovement(id, UserHolder.getUserId());return ResponseEntity.ok(likemovement.getLikeCount());}
    public Movement likemovement(ObjectId id,Long userId) {Movement movement = movementApi.likemovement(id);//将当前用户的点赞状态存入redis中String key = "MOVEMENTS_INTERACT_KEY"+movement.getId();String hashKey = "MOVEMENTS_LIKE_HASHKEY" + userId;stringRedisTemplate.opsForHash().put(key,hashKey,"1");return movement;}
Movement likemovement(ObjectId id);
    @Overridepublic Movement likemovement(ObjectId id) {//通过动态id查询到该条动态Query query = new Query().addCriteria(Criteria.where("id").is(id));Movement movement = mongoTemplate.findOne(query, Movement.class);//得到点赞数量Integer likeCount = movement.getLikeCount();//修改数据库点赞数量Update update = new Update().set("likeCount", likeCount + 1);UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Movement.class);return mongoTemplate.findOne(query,Movement.class);}

1.2:取消点赞

接口地址: http://192.168.136.160:3000/project/19/interface/api/160

1.2.1:分析&实现

接收到前端传入的动态id,到数据库修改对应的动态点赞数量,返回动态信息处理到redis缓存中,用来解决取消点赞前端点赞图标,取消动态赞不要显示高亮。

    @GetMapping("/{id}/dislike")public ResponseEntity dislikemovement(@PathVariable("id") ObjectId id){Movement dislikemovement = movementService.dislikemovement(id, UserHolder.getUserId());return ResponseEntity.ok(dislikemovement.getLikeCount());}
    public Movement dislikemovement(ObjectId id, Long userId) {Movement movement = movementApi.dislikemovement(id);//将当前用户的点赞状态存入redis中String key = "MOVEMENTS_INTERACT_KEY"+movement.getId();String hashKey = "MOVEMENTS_LIKE_HASHKEY" + userId;stringRedisTemplate.opsForHash().delete(key,hashKey);return movement;}
    Movement dislikemovement(ObjectId id);
    @Overridepublic Movement dislikemovement(ObjectId id) {//通过动态id查询到该条动态Query query = new Query().addCriteria(Criteria.where("id").is(id));Movement movement = mongoTemplate.findOne(query, Movement.class);//得到点赞数量Integer likeCount = movement.getLikeCount();//修改数据库点赞数量Update update = new Update().set("likeCount", likeCount - 1);UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Movement.class);return mongoTemplate.findOne(query,Movement.class);}

2:喜欢

2.1:动态喜欢

接口地址: http://192.168.136.160:3000/project/19/interface/api/163

2.1.1:分析&实现

接收到前端传入的动态id,到数据库修改对应的动态喜欢数量,返回动态信息处理到redis缓存中,用来解决喜欢前端喜欢图标,点了动态喜欢要一直显示高亮。

    @GetMapping("/{id}/love")public ResponseEntity loveemovement(@PathVariable("id") ObjectId id){Movement loveemovement = movementService.loveemovement(id, UserHolder.getUserId());return ResponseEntity.ok(loveemovement.getLoveCount());}
    public Movement loveemovement(ObjectId id, Long userId) {Movement movement = movementApi.loveemovement(id);//将当前用户的点赞状态存入redis中String key = "MOVEMENTS_LOVE_KEY"+movement.getId();String hashKey = "MOVEMENTS_LOVE_HASHKEY" + userId;stringRedisTemplate.opsForHash().put(key,hashKey,"1");return movement;}
Movement loveemovement(ObjectId id);
    @Overridepublic Movement loveemovement(ObjectId id) {//通过动态id查询到该条动态Query query = new Query().addCriteria(Criteria.where("id").is(id));Movement movement = mongoTemplate.findOne(query, Movement.class);//得到点赞数量Integer loveCount = movement.getLoveCount();//修改数据库点赞数量Update update = new Update().set("loveCount", loveCount + 1);UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Movement.class);return mongoTemplate.findOne(query,Movement.class);}

2.2:取消喜欢

接口地址: http://192.168.136.160:3000/project/19/interface/api/166

2.2.2:分析&实现

接收到前端传入的动态id,到数据库修改对应的动态喜欢数量,返回动态信息处理到redis缓存中,用来解决喜欢前端喜欢图标,取消动态喜欢不显示高亮。

    @GetMapping("/{id}/unlove")public ResponseEntity unlovemovement(@PathVariable("id") ObjectId id){Movement unlovemovement = movementService.unlovemovement(id, UserHolder.getUserId());return ResponseEntity.ok(unlovemovement.getLoveCount());}
    public Movement unlovemovement(ObjectId id, Long userId) {Movement movement = movementApi.unlovemovement(id);//将当前用户的点赞状态存入redis中String key = "MOVEMENTS_LOVE_KEY"+movement.getId();String hashKey = "MOVEMENTS_LOVE_HASHKEY" + userId;stringRedisTemplate.opsForHash().delete(key,hashKey);return movement;}
Movement unlovemovement(ObjectId id);
    @Overridepublic Movement unlovemovement(ObjectId id) {//通过动态id查询到该条动态Query query = new Query().addCriteria(Criteria.where("id").is(id));Movement movement = mongoTemplate.findOne(query, Movement.class);//得到点赞数量Integer loveCount = movement.getLoveCount();//修改数据库点赞数量Update update = new Update().set("loveCount", loveCount - 1);UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Movement.class);return mongoTemplate.findOne(query,Movement.class);}