Exemplo n.º 1
0
def queryQDState(request, id):
    login_user = helper.getLoginInfo(request)
    if not login_user:
        return JsonResponse({'msg': '请先登录', 'code': 101})

    uid = login_user.get('id')
    # print(uid)
    if rd.hexists('qdArt', uid):
        # 一个用户抢两本书,查询最新的id的抢读状态,而不是之前抢读的状态
        qdId = rd.hget('qdArt', uid)  # 已抢的书id,  qdId和id可能不一样
        print(qdId)
        art = Art.objects.get(pk=id)
        print(art.title)
        return JsonResponse({
            'msg': '抢读成功',
            'code': 200,
            'art': {
                'title': art.title,
                'author': art.author,
            }
        })
    if rd.hlen('qdArt') < 5:
        return JsonResponse({'msg': '正在抢读', 'code': 201})
    else:
        return JsonResponse({'msg': '抢读失败', 'code': 300})
Exemplo n.º 2
0
def qdTask(uid, aid):
    '''
    异步执行抢读功能
    :param uid: 用户id
    :param aid: 文章id
    :return:
    '''
    if rd.hlen('qdArticl') == 5:
        return '抢读失败'
    # 将用户uid和文章aid存入到hash中
    # qdArticl
    rd.hset('qdArticl', uid, aid)

    return '抢读成功!'
Exemplo n.º 3
0
def qdTask(uid, aid):
    '''
    异步执行抢读的功能
    :param uid: 用户id
    :param aid: 文章id
    :return:
    '''
    # 判断qdArt的hash项是否已达到最大值(5本书)
    if rd.hlen('qdArt') == 5:
        return '抢读失败'

    # 将用户id和aid存入到hash中
    # qdArt可以被设计成:活动ID:adArt
    # 优化代码,避免抢多本
    rd.hset('qdArt', uid, aid)

    return '抢读成功'
Exemplo n.º 4
0
def qdTask(uid, aid):
    '''
    异步执行抢读功能
    :param uid:  用户id
    :param aid:  文章id
    :return:
    '''

    # 判断qdArt的hash项是否已达到最大值(5本书)
    if rd.hlen('qdArt') == 5:
        return '抢读失败'

    # 将用户id和aid存入到hash中
    # qdArt 可以被设计成"活动ID:qdArt"

    # 优化代码,避免同一个人抢2两上的书
    rd.hset('qdArt', uid, aid)

    return '抢读成功!'
Exemplo n.º 5
0
def queryQDState(request, id):
    login_user = helper.getLoginInfo(request)
    if not login_user:
        return JsonResponse({'msg': '请先登录', 'code': 101})

    uid = login_user.get('id')
    if rd.hexists('qdArticl', uid):
        # 一个用户抢两本书,查询最新的id的抢读状态
        qdId = rd.hget('qdArticl', uid)
        articl = Articl.objects.get(pk=id)
        return JsonResponse({
            'msg': '抢读成功',
            'code': 200,
            'articl': {
                'title': articl.title,
                'author': articl.author,
            }
        })
    if rd.hlen('qdArticl') < 5:
        return JsonResponse({'msg': '再试一次', 'code': 201})
    else:
        return JsonResponse({'msg': '抢读失败', 'code': 300})