Skip to content

服务器托管,北京服务器托管,服务器租用-价格及机房咨询

Menu
  • 首页
  • 关于我们
  • 新闻资讯
  • 数据中心
  • 服务器托管
  • 服务器租用
  • 机房租用
  • 支持中心
  • 解决方案
  • 联系我们
Menu

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

Posted on 2023年5月6日 by hackdl

目录

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);
@Override
    public 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);
@Override
    public 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);
@Override
    public 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);
@Override
    public 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);
    }

服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net

Related posts:

  1. 北京兆维机房评测:设施如何,服务怎样
  2. 辽宁中文版服务器托管云空间
  3. 容大互联:可靠的服务器托管服务
  4. 便宜的大带宽服务器
  5. 免费托管我的世界服务器:完美解决方案

服务器托管,北京服务器托管,服务器租用,机房机柜带宽租用

服务器托管

咨询:董先生

电话13051898268 QQ/微信93663045!

上一篇: 交友项目【根据id查询单条动态&发布评论&查询评论列表】
下一篇: 04 Spring依赖注入

最新更新

  • 五月学习之keepalived 软件简介
  • Cibersort免疫浸润的在线分析及R语言代码实现
  • 阿里云的认证最有几个等级?考试费用是多少?
  • 京东APP百亿级商品与车关系数据检索实践 | 京东云技术团队
  • 【Hello Network】TCP协议 TCP协议 确认应答机制 (ACK) 超时重传机制 连接管理机制 流量控制 滑动窗口 拥塞控制 延时应答 捎带应答 面向字节流 粘包问题 TCP的异常情况 TCP小结 基于TCP的应用层协议

随机推荐

  • 高品质服务器托管服务提供商
  • 13572074638服务器托管
  • idc机房服务器托管的
  • 杭州UbuntuFTP服务器托管:高效稳定的网站管
  • 机房空间租用

客服咨询

  • 董先生
  • 微信/QQ:93663045
  • 电话:13051898268
  • 邮箱:dongli@hhisp.com
  • 地址:北京市石景山区重聚园甲18号2层

友情链接

  • 服务器托管
  • 服务器租用
  • 机房租用托管
  • 服务器租用托管
©2023 服务器托管,北京服务器托管,服务器租用-价格及机房咨询 京ICP备13047091号-8