Beispiel #1
0
def like_someone(uid, sid):
    """
    创建喜欢的人,如果对方也喜欢,则建立好友关系
    :param uid:
    :param sid:
    :return:
    """
    if not User.objects.filter(id=sid).exists():
        raise errors.SidError

    # 创建滑动记录
    ret = Swiped.swipe(uid=uid, sid=sid, mark='like')

    # 只有滑动成功,才可以增加积分操作
    if ret:
        add_swipe_score('like', sid)

        # 只有滑动成功,才可以进行好友匹配操作
        # 如果被滑动人喜欢过我,则建立好友关系
        if Swiped.is_liked(sid, uid):
            # Friend.make_friends(uid, sid)
            # TODO: 向 sid 用户发送推送通知
            Friend.objects.make_friends(uid, sid)
            return True

    return False
Beispiel #2
0
def dislike_someone(uid, sid):
    '''不喜欢某人(左滑)'''
    # 添加滑动记录
    Swiped.swipe(uid, sid, 'dislike')

    # 强制删除优先推荐队列中的 sid
    rds.lrem(keys.FIRST_RCMD_Q % uid, count=0, value=sid)
Beispiel #3
0
def superlike_someone(user, sid):
    Swiped.like(user.id, sid)
    if Swiped.is_liked(sid, user.id):  # 检查对方是否喜欢过自己
        Friend.make_friends(user.id, sid)
        return True
    else:
        return False
Beispiel #4
0
def dislike(request):
    user = request.user
    sid = request.POST.get('sid')
    if sid is None:
        return render_json(code=errors.SID_ERR)

    Swiped.swipe(uid=user.id, sid=int(sid), mark='dislike')
Beispiel #5
0
def dislike(request):
    '''不喜欢'''
    sid = int(request.POST.get('sid'))
    Swiped.dislike(request.user.id, sid)
    logic.add_swipe_score(sid, 'dislike')
    rds.srem('RCMD-%s' % request.user.id, sid)
    return render_json(None)
Beispiel #6
0
def dislike_someone(uid, sid):
    Swiped.swipe(uid, sid, stype='dislike')
    # 删除滑动过的推荐
    rds.lrem(keys.FIRST_RCMD_K % uid, 1, sid)

    # 调整用户的积分
    score = config.HOT_RANK_SCORE['dislike']
    rds.zincrby(keys.HOT_RANK_K, score, sid)
Beispiel #7
0
def dislike(request):
    """不喜欢"""
    user = request.user
    sid = int(request.POST.get('sid'))
    Swiped.dislike(user.id, sid)
    add_swipe_score(sid, 'dislike')  # 添加滑动排行
    rds.srem('RCMD-%s' % request.user.id, sid)
    return render_json(None)
Beispiel #8
0
def superlike(user, sid):
    '''喜欢一个用户'''
    Swiped.mark(user.id, sid, 'superlike')
    if Swiped.is_liked(sid, user.id):
        Friend.be_friends(user.id, sid)
        return True
    else:
        return False
Beispiel #9
0
def dislike(request):
    '''不喜欢'''
    sid = int(request.POST.get('sid'))
    Swiped.swipe('dislike', request.user.id, sid)

    # ?
    rds.zincrby(keys.HOT_RANK, sid, config.SCORE_DISLIKE)
    return render_json(None)
Beispiel #10
0
def like(user, sid):
    '''喜欢一个用户'''
    Swiped.mark(user.id, sid, 'like')
    # 检查被滑动的用户是否喜欢过自己
    if Swiped.is_liked(sid, user.id):
        Friend.be_friends(user.id, sid)
        return True
    else:
        return False
Beispiel #11
0
def superlike_someone(uid, sid):
    rec = Swiped.swipe(uid=uid, sid=sid, mark='superlike')

    if rec and Swiped.is_like(sid, uid):
        _, creater = Friend.make_friends(sid, uid)
        # 发送匹配好友成功的推送消息
        return creater
    else:
        return False
Beispiel #12
0
def superlike(uid, sid):
    # 创建一条记录
    Swiped.superlike(uid, sid)
    # 判断对方还是否喜欢我们
    if Swiped.has_like(uid=sid, sid=uid):
        # 如果是就建立好友关系
        Friend.make_friend(uid1=uid, uid2=sid)
        return True
    return False
Beispiel #13
0
def dislike_someone(uid, sid):
    '''不喜欢(左滑)了某人'''
    # 检查 sid 是否正确
    if not sid or uid == sid:
        raise err.SidErr('您的 SID 错了')

    Swiped.swipe(uid, sid, 'dislike')

    record_swipe_to_rds(uid, sid, 'dislike')
Beispiel #14
0
def superlike_someone(user,sid):

    Swiped.superlike(user.id, sid)  # 调用类方法modles.py的like(),创建滑动喜欢对象
    # 检查对方是否喜欢你
    if Swiped.is_like(sid, user.id):
        Friend.make_friend(user.id, sid)
        return True
    else:
        return False
Beispiel #15
0
def superlike(uid, sid):
    Swiped.superlike(uid, sid)
    # 判断对方是否喜欢过我们,如果是,则建立好友关系,
    if Swiped.has_like(uid=sid, sid=uid):
        # 说明对方也喜欢你.建立好友关系
        # 保证Friend中的uid1是比较小的id, uid2是大的id
        Friend.make_friends(uid, sid)
        return True
    return False
Beispiel #16
0
def like(uid, sid):
    # 穿件一条记录
    Swiped.like(uid, sid)
    # 判断对方是否喜欢我们
    if Swiped.has_like(uid=uid, sid=sid):
        # 如果是,就建立好友关系
        Friend.make_friend(uid1=uid, uid2=sid)
        return True
    return False
Beispiel #17
0
def superlike_someone(
    user,
    sid,
):
    Swiped.mark(user.id, sid, 'superlike')
    if not Swiped.is_liked(sid, user.id):
        Friend.be_friends(user.id, sid)
        return True
    else:
        return False
Beispiel #18
0
def like_someone(user, sid):
    '''喜欢某人'''
    Swiped.swipe(user.id, sid, 'like')  # 添加滑动记录
    # 检查对方是否喜欢过自己,如果喜欢过自己匹配成好友关系
    if Swiped.is_liked(sid, user.id):
        # 如果对方喜欢过自己匹配成好友
        Friend.make_friends(user.id, sid)
        return True
    else:
        return False
Beispiel #19
0
def superlike_someone(user, sid):
    # 添加滑动记录
    uid = user.id
    Swiped.swipe(uid=user.id, sid=sid, flag='superlike')
    # 检查对方是否喜欢本user#如果喜欢 建立好友关系
    if Swiped.is_liked(sid, uid):
        Friend.make_friends(uid, sid)
        # TODO:给对方 推送一条消息  通知新增了好友user  第三方平台 联系你喜欢的好友  进行提示
        return True
    return False
Beispiel #20
0
def superlike_someone(user, sid):
    '''超级喜欢了某人'''
    Swiped.swipe(user.id, sid, 'like')  # 添加了滑动记录

    # 检查是否互相喜欢过
    if Swiped.is_like_me(user.id, sid):
        Friend.make_friends(user.id, sid)  # 创建好友关系
        return True
    else:
        return False
Beispiel #21
0
def superlike_someone(user, sid):
    # 添加滑动记录
    Swiped.swipe(user.id, sid, 'superlike')

    # 检查对方是否喜欢过自身, 如果喜欢过,建立好友关系
    if Swiped.is_liked(sid, user.id):
        Friend.make_friends(user.id, sid)
        return True
    else:
        return False
Beispiel #22
0
def super_like_someone(uid, sid):
    """超级喜欢某人  逻辑实现"""
    # 添加滑动记录
    Swiped.swiped(uid, sid, flag='superlike')

    # 检查对方是否喜欢过你,如果是则建立好友关系
    if Swiped.is_like(sid, uid):
        Friend.make_friend(uid, sid)
        return True
    return False
Beispiel #23
0
def dislike_someone(uid, sid):
    '''不喜欢某人(左滑)'''
    # 添加滑动记录
    Swiped.swipe(uid, sid, 'dislike')

    # 强制删除优先推荐队列中的 sid
    rds.lrem(keys.FIRST_RCMD_Q % uid, count=0, value=sid)

    # 给被滑动者增加滑动积分
    rds.zincrby(keys.HOT_RANK, config.SWIPE_SCORE['dislike'], sid)
Beispiel #24
0
def dislike_someone(uid, sid):
    '''左滑 (不喜欢) 某人'''
    # 添加一条滑动记录
    Swiped.swipe(uid, sid, 'dislike')

    # 强制从自己优先队列删除 sid
    rds.lrem(keys.FIRST_RCMD_K % uid, 1, sid)

    # 为被滑动用户减少积分
    rds.zincrby('HotRank', conf.SWIPE_SCORE['dislike'], sid)
Beispiel #25
0
def like_some(uid, sid):
    if not Users.objects.filter(id=sid).exists():
        raise errors.SidError

    ret = Swiped.swipe(uid=uid, sid=sid, mark='like')

    if ret and Swiped.is_like(sid,uid):
        # Friend.make_friend(uid,sid)
        Friend.objects.make_friends(uid, sid)
    return ret
Beispiel #26
0
def dislike_someone(uid, sid):
    '''不喜欢的操作'''
    # 添加滑动记录
    Swiped.swipe(uid, sid, 'dislike')

    # 将 sid 从自己的优先推荐队列中删除
    rds.lrem(keys.FIRST_RCMD_K % uid, 1, sid)

    # 调整对方的滑动积分
    score = config.HOT_RANK_SCORE['dislike']
    rds.zincrby(keys.HOT_RANK_K, score, sid)
Beispiel #27
0
def superlike(user, stranger_id):
    '''超级喜欢'''
    Swiped.swipe_up(user.id, stranger_id)

    # 检查对方是否喜欢过自己
    if Swiped.is_liked(stranger_id, user.id):
        Friends.be_friends(user.id, stranger_id)
        # TODO: 向添加好友的双方实时推送消息
        return True
    else:
        return False
Beispiel #28
0
def superlike_someone(uid, sid):
    """
    超级喜欢操作,如果被滑动人,喜欢当前用户,则建立好友关系
    :param uid:
    :param sid:
    :return:
    """
    ret = Swiped.swipe(uid=uid, sid=sid, mark='superlike')
    if ret and Swiped.is_like(sid, uid):
        # Friend.make_friends(sid, uid)
        Friend.objects.create(sid, uid)
Beispiel #29
0
def dislike(request):
    """
    不喜欢
    :param request:
    :return:
    """
    sid = int(request.POST.get('sid'))
    user = request.user

    Swiped.swipe(uid=user.id, sid=sid, mark='dislike')

    return render_json()
Beispiel #30
0
def superlike_someone(user, sid):
    '''超级喜欢'''
    # 添加滑动记录
    Swiped.swipe(user.id, sid, 'superlike')

    # 检查对方是否喜欢过我
    if Swiped.is_liked(sid, user.id):
        # 如果喜欢过,建立好友关系
        Friend.make_friends(user.id, sid)
        # TODO: 给 对方 推送一条消息,通知新增好友
        return True
    return False