zoukankan      html  css  js  c++  java
  • 微信朋友圈点赞功能

    package com.easyagu.liwei.set;

    import redis.clients.jedis.Jedis;

    import java.util.Set;

    /**
    * 对朋友圈
    */
    public class BlogDemo {
    private Jedis jedis = new Jedis("127.0.0.1");

    /**
    * 对朋友圈进行点赞
    *
    * @param userId
    * @param momentId
    */
    public void likeMoment(Long userId, Long momentId) {
    jedis.sadd("moment_like_users::" + momentId, String.valueOf(userId));
    }

    /**
    * 取消点赞
    *
    * @param userId
    * @param momentId
    */
    public void dislikeMoment(long userId, Long momentId) {
    //Redis Srem 命令用于移除集合中的一个或多个成员元素,不存在的成员元素会被忽略。
    jedis.srem("moment_like_users::" + momentId, String.valueOf(userId));
    }

    /**
    * 查看自己是否对某条朋友圈点赞过
    *
    * @param userId
    * @param momentId
    * @return
    */
    public boolean hasLikeMoment(Long userId, Long momentId) {
    //Redis Sismember 命令判断成员元素是否是集合的成员。
    return jedis.sismember("moment_like_users::" + momentId, String.valueOf(userId));
    }

    /**
    * 获取你的一条朋友圈又哪些人点赞了
    *
    * @param momentId
    * @return
    */
    public Set<String> getMomentLikeUsers(Long momentId) {
    return jedis.smembers("moment_like_users::" + momentId);
    }

    /**
    * 获取朋友圈被几个人点赞
    *
    * @param momentId
    * @return
    */
    public long getMomentLikeUsersCount(Long momentId) {
    return jedis.scard("moment_like_users::" + momentId);
    }


    public static void main(String[] args) {
    //你的用户id
    long userid = 1;
    //你的朋友圈id
    long momentId = 150;
    //你的朋友1用户id
    long friendId = 2;

    //你的朋友2用户id
    long friendId2 = 22;
    //你的朋友对你的朋友圈进行点赞
    BlogDemo blogDemo = new BlogDemo();
    //你的朋友对你的朋友圈进行点赞
    blogDemo.likeMoment(friendId, momentId);


    ///你的朋友1对你的朋友圈进行点赞,再取消点赞
    blogDemo.likeMoment(friendId, momentId);
    blogDemo.dislikeMoment(friendId, momentId);
    boolean b = blogDemo.hasLikeMoment(friendId, momentId);
    System.out.println("朋友1是否点赞过:" + (b ? "是" : "否"));


    ///你的朋友2对你的朋友圈进行点赞,再取消点赞
    blogDemo.likeMoment(friendId2, momentId);
    boolean b2 = blogDemo.hasLikeMoment(friendId2, momentId);
    System.out.println("朋友1是否点赞过:" + (b2 ? "是" : "否"));
    //自己看朋友圈,看自己被人点赞
    Set<String> momentLikeUsers = blogDemo.getMomentLikeUsers(momentId);
    long momentLikeUsersCount = blogDemo.getMomentLikeUsersCount(momentId);
    System.out.println("自己朋友圈被"+momentLikeUsersCount+"个人点赞了,点赞用户为:"+momentLikeUsers);

    }


    }
  • 相关阅读:
    树状数组和线段树
    N皇后问题(函数式编程与过程式)
    单例模式
    BitSet
    蓄水池抽样问题
    关于动态规划的一些感想
    53最大子序和
    5最长回文子串
    139单词拆分
    91.解码方法
  • 原文地址:https://www.cnblogs.com/q1359720840/p/14635646.html
Copyright © 2011-2022 走看看