Пример #1
0
def cancel_commission(request):
    commission_id = request.POST.get('commission_id')
    if not commission_id:
        return JsonResponse(get_response_data('000002'))
    try:
        jh_user = Jh_User.objects.get(user=request.user)
    except Exception:
        return JsonResponse(get_response_data('000002'))
    today = datetime.datetime.now().date()
    commissions = Commission.objects.filter(id=commission_id,
                                            user=jh_user,
                                            status=0,
                                            create_at__date=today)
    if commissions.count() != 1:
        return JsonResponse(get_response_data('100003'))
    commission = commissions[0]
    commission.status = 1
    commission.save()
    # 广播最新买卖5档
    timestamp = str(int(time.time() * 1000))
    res = price_emit(commission.wine.code, timestamp)
    if res:
        _logger.info('最新买卖5档广播成功!')
    else:
        _logger.info('最新买卖5档广播失败!')
    return JsonResponse(get_response_data('000000'))
Пример #2
0
def upload(request):
    file = request.FILES.get('file')
    if not file:
        return JsonResponse(get_response_data('200001'))
    file_name = file.name
    timestamp = str(int(time.time() * 1000))
    print('file name is {0}'.format(file_name))
    try:
        file_type = file_name.split('.')[1]
    except Exception:
        return JsonResponse(get_response_data('200002'))

    root_str = str(ROOT_DIR)
    if file_type in ['jpg', 'JPG', 'JPEG', 'jpeg', 'png', 'PNG']:
        file_path = root_str + '/media/user/img/' + timestamp + '_' + file_name
        media_url = request.build_absolute_uri(
            '/') + 'media/user/img/' + timestamp + '_' + file_name
    else:
        return JsonResponse(get_response_data('200002'))
    print('file path is {0}'.format(file_path))
    with open(file_path, 'wb+') as f:
        for chunk in file.chunks():
            f.write(chunk)
    data = {'media_url': media_url}

    return JsonResponse(get_response_data('000000', data))
Пример #3
0
def history_commission(request):
    try:
        page = int(request.POST.get('page', OPTINOAL_PAGE))
        page_num = int(request.POST.get('page_num', OPTINOAL_PAGE_NUM))
    except Exception as e:
        _logger.info('error msg is {0}'.format(e))
        return JsonResponse(get_response_data('000002'))
    try:
        jh_user = Jh_User.objects.get(user=request.user)
    except Exception:
        return JsonResponse(get_response_data('000007'))
    start = (page - 1) * page_num
    end = page * page_num
    today_start = datetime.datetime.now().replace(hour=0,
                                                  minute=0,
                                                  second=0,
                                                  microsecond=0)
    commissions = Commission.objects.filter(
        user=jh_user,
        create_at__lt=today_start).order_by('-create_at')[start:end]
    commissions_json = []
    for commission in commissions:
        tmp_json = commission.to_json()
        if commission.status == 0:
            commission.status = 3
            # new_position = Position(wine=commission.wine, user=jh_user, price=commission.price, num=commission.num)
            # new_position.save()
            commission.save()
            tmp_json['status'] = 3
        commissions_json.append(tmp_json)
    return JsonResponse(get_response_data('000000', commissions_json))
Пример #4
0
def get_comment(request):
    wine_code = request.GET.get('code')
    if not wine_code:
        return JsonResponse(get_response_data('000002'))
    page = request.GET.get('page', 1)
    page_num = request.GET.get('page_num', 50)
    # count = request.GET.get('count', 100)
    try:
        # count = int(count)
        page = int(page)
        page_num = int(page_num)
        start = (page - 1) * page_num
        end = page * page_num
        wine = WineInfo.objects.get(code=wine_code)
    except Exception:
        return JsonResponse(get_response_data('000002'))
    comments = Comment.objects.filter(wine=wine).order_by('-create_at')[start: end]
    data = []
    for comment in comments:
        tmp_comment = {}
        tmp_comment['user_id'] = comment.user.id
        tmp_comment['mobile'] = comment.user.mobile
        tmp_comment['user_img_url'] = comment.user.img_url
        tmp_comment['nickname'] = comment.user.nickname
        tmp_comment['wine_name'] = comment.wine.name
        tmp_comment['wine_code'] = comment.wine.code
        tmp_comment['content'] = comment.content
        tmp_comment['video_img_url'] = comment.video_img_url
        tmp_comment['type'] = comment.type
        tmp_comment['create_at'] = comment.create_at
        data.append(tmp_comment)
    return JsonResponse(get_response_data('000000', data))
Пример #5
0
 def get(self, request, *args, **kwargs):
     try:
         jh_user = Jh_User.objects.get(user=request.user)
     except Exception:
         res = get_response_data('000004')
         return JsonResponse(res)
     _logger.info('account info: {0}'.format(jh_user.to_json()))
     res = get_response_data('000000', jh_user.to_json())
     return Response(res)
Пример #6
0
def insert_position(request):
    mobile = request.GET.get('mobile')
    code = request.GET.get('code')
    price = request.GET.get('price')
    num = request.GET.get('num')
    try:
        user = Jh_User.objects.get(mobile=mobile)
        wine = WineInfo.objects.get(code=code)
        price = float(price)
        num = int(num)
    except Exception:
        return JsonResponse(get_response_data('000002'))
    position = Position(user=user, wine=wine, price=price, num=num)
    position.save()
    return JsonResponse(get_response_data('000000'))
Пример #7
0
def search_wine(request):
    key = request.POST.get('key')
    try:
        page = int(request.POST.get('page', OPTINOAL_PAGE))
        page_num = int(request.POST.get('page_num', OPTINOAL_PAGE_NUM))
    except Exception as e:
        _logger.info('error msg is {0}'.format(e))
        return JsonResponse(get_response_data('000002'))
    # 判断用户是否登录
    rval, user_id = is_auth(request.META)
    _logger.info('user is auth? {0}, user id is {1}'.format(rval, user_id))
    if rval:
        jh_user = Jh_User.objects.get(user_id=user_id)  # 已注册用户
    elif user_id is not None:
        jh_user = Jh_User.objects.get(id=user_id)  # 游客
    else:
        return JsonResponse(get_response_data('000007'))

    select_codes = jh_user.personal_select.split(';')
    data = []
    start = (page - 1) * page_num
    end = page * page_num
    if not key:
        wine_info = WineInfo.objects.all()[start:end]
        for wine in wine_info:
            wine_json = wine.to_json()
            last_price, ratio = last_price_ratio(wine.code)
            wine_json['last_price'] = last_price
            if wine.code in select_codes:
                wine_json['is_select'] = True
            else:
                wine_json['is_select'] = False
            data.append(wine_json)
    else:
        # wine_info = WineInfo.objects.filter(name__contains=key)[start:end]
        wine_info = WineInfo.objects.filter(
            Q(name__contains=key) | Q(code__contains=key))[start:end]
        for wine in wine_info:
            wine_json = wine.to_json()
            last_price, ratio = last_price_ratio(wine.code)
            wine_json['last_price'] = last_price
            if wine.code in select_codes:
                wine_json['is_select'] = True
            else:
                wine_json['is_select'] = False
            data.append(wine_json)
    res = get_response_data('000000', data)
    return JsonResponse(res)
Пример #8
0
 def post(self, request, *args, **kwargs):
     try:
         jh_user = Jh_User.objects.get(user=request.user)
     except Exception:
         res = get_response_data('000004')
         return JsonResponse(res)
     nickname = request.POST.get('nickname')
     if nickname:
         jh_user.nickname = nickname
     img_url = request.POST.get('img_url')
     if img_url:
         jh_user.img_url = img_url
     email = request.POST.get('email')
     if email:
         jh_user.email = email
     jh_user.save()
     res = get_response_data('000000', jh_user.to_json())
     return JsonResponse(res)
Пример #9
0
 def process_response(self, request, response):
     _logger.info('response is {0}'.format(response.content))
     try:
         r = json.loads(response.content.decode('utf8'))
     except Exception:
         return response
     detail = r.get('detail')
     if detail:
         if detail == 'Authentication credentials were not provided.':
             _logger.info('========认证失败========')
             return JsonResponse(get_response_data('000007'))
         elif 'Method' in detail and 'not allowed' in detail:
             _logger.info('========请求方法错误========')
             return JsonResponse(get_response_data('000001'))
         else:
             _logger.info('========认证其它错误========')
             return JsonResponse(get_response_data('000007'))
     else:
         return JsonResponse(r)
Пример #10
0
def get_news(request):
    try:
        page = int(request.POST.get('page', 1))
        page_num = int(request.POST.get('page_num', 10))
    except Exception:
        return JsonResponse(get_response_data('000002'))
    start = (page - 1) * page_num
    end = page * page_num
    news = NewsInfo.objects.all().order_by('-news_time')
    data = []
    titles = []
    for n in news:
        if len(data) == end:
            break
        if n.title in titles:
            continue
        data.append(n.to_json())
        titles.append(n.title)
    return JsonResponse(get_response_data('000000', data[start:end]))
Пример #11
0
def detail_cancel_comm(request):
    wine_code = request.POST.get('code')
    try:
        wine = WineInfo.objects.get(code=wine_code)
    except Exception:
        return JsonResponse(get_response_data('000002'))
    try:
        jh_user = Jh_User.objects.get(user=request.user)
    except Exception:
        return JsonResponse(get_response_data('000007'))
    today = datetime.datetime.now().date()
    comms = Commission.objects.filter(wine=wine,
                                      user=jh_user,
                                      status=0,
                                      create_at__date=today)
    data = []
    for comm in comms:
        data.append(comm.to_json())
    return JsonResponse(get_response_data('000000', data))
Пример #12
0
def today_commission(request):
    try:
        page = int(request.POST.get('page', OPTINOAL_PAGE))
        page_num = int(request.POST.get('page_num', OPTINOAL_PAGE_NUM))
    except Exception as e:
        _logger.info('error msg is {0}'.format(e))
        return JsonResponse(get_response_data('000002'))
    try:
        jh_user = Jh_User.objects.get(user=request.user)
    except Exception:
        return JsonResponse(get_response_data('000007'))
    start = (page - 1) * page_num
    end = page * page_num
    today = datetime.datetime.now().date()
    commissions = Commission.objects.filter(
        create_at__date=today, user=jh_user).order_by('-create_at')[start:end]
    commissions_json = []
    for commission in commissions:
        commissions_json.append(commission.to_json())
    return JsonResponse(get_response_data('000000', commissions_json))
Пример #13
0
def del_optional(request):
    codes = request.POST.get('code')
    if not codes:
        return get_response_data('000002')
    # 判断用户是否登录
    rval, user_id = is_auth(request.META)
    _logger.info('user is auth? {0}, user id is {1}'.format(rval, user_id))
    if rval:
        jh_user = Jh_User.objects.get(user_id=user_id)  # 已注册用户
    elif user_id is not None:
        jh_user = Jh_User.objects.get(id=user_id)  # 游客
    else:
        return JsonResponse(get_response_data('000007'))
    # jh_user = Jh_User.objects.get(user=request.user)
    personal_select = jh_user.personal_select.split(';')
    del_codes = list(set(codes.split(';')))
    new_codes = [code for code in personal_select if code not in del_codes]
    data = []
    start = (OPTINOAL_PAGE - 1) * OPTINOAL_PAGE_NUM
    end = OPTINOAL_PAGE * OPTINOAL_PAGE_NUM
    for wine_code in new_codes[start:end]:
        try:
            wine = WineInfo.objects.get(code=wine_code, is_delete=False)
        except Exception as e:
            _logger.info('wine {0} not found'.format(wine_code))
            continue
        wine_json = wine.to_json()
        wine_json['quote_change'] = '0.00%'  # 待后续补充计算方法
        data.append(wine_json)
    new_codes = ';'.join(new_codes)
    jh_user.personal_select = new_codes
    jh_user.save()
    # 推送最新自选信息
    for del_code in del_codes:
        rval = select_emit(del_code, 'delete')
        if rval:
            _logger.info('code: {0}, 推送最新自选信息<<<成功>>>!'.format(del_code))
        else:
            _logger.info('code: {0}, 推送最新自选信息<<<失败>>>!'.format(del_code))
    res = get_response_data('000000', data)
    return JsonResponse(res)
Пример #14
0
def create_comment(request):
    wine = WineInfo.objects.get(code='227815')
    for user in Jh_User.objects.all():
        timestamp = int(time.time() * 1000)
        comment = Comment(
            wine=wine,
            user=user,
            content='this message was created at {0}'.format(timestamp),
            type=0,
            create_at=str(timestamp))
        comment.save()
    return JsonResponse(get_response_data('000000'))
Пример #15
0
def today_deal(request):
    try:
        page = int(request.POST.get('page', OPTINOAL_PAGE))
        page_num = int(request.POST.get('page_num', OPTINOAL_PAGE_NUM))
    except Exception as e:
        _logger.info('error msg is {0}'.format(e))
        return JsonResponse(get_response_data('000002'))
    try:
        jh_user = Jh_User.objects.get(user=request.user)
    except Exception:
        return JsonResponse(get_response_data('000007'))
    start = (page - 1) * page_num
    end = page * page_num
    today = datetime.datetime.now().date()
    deals = Deal.objects.filter(
        Q(create_at__date=today),
        Q(buyer=jh_user) | Q(seller=jh_user)).order_by('-create_at')[start:end]
    deals_json = []
    for deal in deals:
        deals_json.append(deal.to_json())
    return JsonResponse(get_response_data('000000', deals_json))
Пример #16
0
def insert_wine(request):
    for i in range(30):
        name = '正牌木桐干红{0}'.format(random.randint(1900, 2000))
        code = '{0}'.format(random.randint(100000, 999999))
        winery = '{0}号庄园'.format(random.randint(20, 50))
        proposed_price = float(random.randint(10000, 99999))
        wine = WineInfo(name=name,
                        code=code,
                        winery=winery,
                        proposed_price=proposed_price)
        wine.save()
    return JsonResponse(get_response_data('000000'))
Пример #17
0
def send_sms(request):
    '''
    发送验证码短信(阿里大于)
    '''
    is_check, body = is_valid(request.POST, ['mobile'])
    if not is_check:
        res = get_response_data('000002')
        return JsonResponse(res)

    extend = body.get('extend', '')
    sms_type = body.get('sms_type', 'normal')
    sign_name = body.get('sign_name', '小秋')
    mobile = body['mobile']
    sms_template = body.get('sms_template', 'SMS_71530021')
    param = body.get('param')
    if not param:
        code = str(random.randint(100000, 999999))
        param = json.dumps({'code': code, 'time': str(CODE_EXPIRE)})

    # 将验证码存入redis中
    try:
        param_dict = json.loads(param)
        param_code = param_dict['code']
        param_expire = int(param_dict['time'])
    except Exception:
        res = get_response_data('000005')
        return JsonResponse(res)
    redis_client = redis.StrictRedis(host=REDIS['HOST'],
                                     port=REDIS['PORT'],
                                     db=1)
    redis_key = 'juhui_sms_code_' + mobile
    redis_client.set(redis_key, param_code)
    redis_client.expire(redis_key, param_expire * 60)

    resp = _SendSms(extend, sms_type, sign_name, param, mobile, sms_template)
    res = get_response_data('000000')
    if isinstance(resp, str):
        if resp.find('ERROR_MESSAGE') == 0:
            res = get_response_data('000005')
    return JsonResponse(res)
Пример #18
0
def logout(request):
    '''
    退出登录
    '''
    _logger.info('logout access_token is {0}'.format(
        request.META.get('HTTP_AUTHORIZATION')))
    token = request.META.get('HTTP_AUTHORIZATION').split('Bearer ')[1]
    access_token = AccessToken.objects.get(token=token)
    refresh_token = RefreshToken.objects.get(access_token_id=access_token.id)
    refresh_token.delete()
    access_token.delete()
    res = get_response_data('000000')
    return JsonResponse(res)
Пример #19
0
def resetpassword(request):
    '''
    重置密码
    '''
    is_check, body = is_valid(request.POST, ['mobile', 'password', 'code'])
    if not is_check:
        res = get_response_data('000002')
        return JsonResponse(res)
    # 验证码校验 start...
    if not check_sms_code(body['mobile'], body['code']):
        return JsonResponse(get_response_data('000009'))
    # 验证码校验 end
    users = User.objects.filter(username=body['mobile'])
    if len(users) > 0:
        user = users[0]
        user.set_password(body['password'])
        user.save()
        res = get_response_data('000000')
        return JsonResponse(res)
    else:
        res = get_response_data('000004')
        return JsonResponse(res)
Пример #20
0
def get_optional(request):
    # 判断用户是否登录
    rval, user_id = is_auth(request.META)
    _logger.info('user is auth? {0}, user id is {1}'.format(rval, user_id))
    if rval:
        jh_user = Jh_User.objects.get(user_id=user_id)  # 已注册用户
    elif user_id is not None:
        jh_user = Jh_User.objects.get(id=user_id)  # 游客
    else:
        return JsonResponse(get_response_data('000007'))
    # jh_user = Jh_User.objects.get(user=request.user)
    personal_select = jh_user.personal_select
    options = personal_select.split(';')
    try:
        page = int(request.GET.get('page', OPTINOAL_PAGE))
        page_num = int(request.GET.get('page_num', OPTINOAL_PAGE_NUM))
    except Exception as e:
        _logger.info('error msg is {0}'.format(e))
        return JsonResponse(get_response_data('000002'))
    data = []
    start = (page - 1) * page_num
    end = page * page_num
    sort_no = start
    for wine_code in options[start:end]:
        try:
            wine = WineInfo.objects.get(code=wine_code, is_delete=False)
        except Exception as e:
            _logger.info('wine {0} not found'.format(wine_code))
            continue
        wine_json = wine.to_json()
        last_price, ratio = last_price_ratio(wine_code)
        wine_json['quote_change'] = ratio  # 待后续补充计算方法
        wine_json['last_price'] = last_price
        # wine_json['proposed_price'] = last_price
        wine_json['sort_no'] = sort_no
        data.append(wine_json)
        sort_no += 1
    res = get_response_data('000000', data)
    return JsonResponse(res)
Пример #21
0
def create_commission_1(request):
    for user in Jh_User.objects.filter(mobile__contains='1580000'):
        # 登录获取token
        mobile = user.mobile
        password = '******'
        client_id = 'NEEF9MakoTu9k573c9ExiuMjEp8BZxJ5J0LUk1mr'
        client_secret = '9zShX4vdI7jggML2rE6TBmrtsXbAdIoBVeGHuDTQ2xdNaVqRLErct9Zh7UgICRkyHE5AkI9iKTwkLsLjPgrveUNSJBK9oPMxONSaxs3vzajeoOUR33YxgZ0ZpPfUAA6t'
        data = {
            'mobile': mobile,
            'password': password,
            'client_id': client_id,
            'client_secret': client_secret
        }
        login_url = request.build_absolute_uri('/api/account/login/')
        headers = {'DEVICEUUID': mobile}
        r = requests.post(url=login_url, data=data, headers=headers)
        print('======login result is ======')
        print(r.json())
        token = r.json()['data']['token']

        # 请求卖出接口
        sell_url = request.build_absolute_uri('/api/wine/sell/')
        headers = {
            'Authorization': 'Bearer {0}'.format(token),
            'DEVICEUUID': mobile
        }
        data = {'code': '', 'price': '', 'num': ''}
        try:
            position = choice(Position.objects.filter(user=user))
        except Exception:
            return JsonResponse(get_response_data('000002'))
        data['code'] = position.wine.code
        data['price'] = 500 + randint(-200, 200)
        data['num'] = randint(1, 5)
        r = requests.post(url=sell_url, data=data, headers=headers)
        print('========sell result is========')
        print(r.json())

    return JsonResponse(get_response_data('000000'))
Пример #22
0
def distrib_position(request):
    for user in Jh_User.objects.all():
        wine = choice(WineInfo.objects.all())
        price = randint(100, 1000)
        num = randint(1, 100)
        position = Position(user=user, wine=wine, price=price, num=num)
        position.save()
        user.funds = randint(100, 1000) * randint(1, 100)
        user.save()
        print('=====给用户{0}分配的资产信息是:====='.format(user.mobile))
        print('wine: {0}, num: {1}, funds: {2}'.format(wine.code, num,
                                                       user.funds))
    return JsonResponse(get_response_data('000000'))
Пример #23
0
def register(request):
    '''
    用户注册
    '''
    is_check, body = is_valid(request.POST, ['mobile', 'password', 'code'])
    if not is_check:
        return JsonResponse(get_response_data('000002'))
    # 验证码校验 start...
    if not check_sms_code(body['mobile'], body['code']):
        return JsonResponse(get_response_data('000009'))
    # 验证码校验 end
    users = User.objects.filter(username=body['mobile'])
    if len(users) > 0:
        return JsonResponse(get_response_data('000003'))
    user = User.objects.create_user(username=body['mobile'],
                                    password=body['password'])
    user.save()
    jh_user = Jh_User(
        user=user,
        mobile=body['mobile'],
    )
    jh_user.save()
    return JsonResponse(get_response_data('000000'))
Пример #24
0
def insert_news(request):
    title = request.POST.get('title')
    thumb_img = request.POST.get('thumb_img')
    news_time = request.POST.get('news_time')
    href = request.POST.get('href')
    article = request.POST.get('article')
    origin = request.POST.get('origin')
    author = request.POST.get('author')
    if not (title and href):
        return JsonResponse(get_response_data('000002'))
    try:
        news_time = datetime.datetime.strptime(news_time, '%Y-%m-%d %H:%M')
    except Exception:
        news_time = datetime.datetime.now()
    news_info = NewsInfo(title=title,
                         href=href,
                         article=article,
                         thumb_img=thumb_img,
                         news_time=news_time,
                         origin=origin,
                         author=author)
    news_info.save()
    return JsonResponse(get_response_data('000000'))
Пример #25
0
def create_user(request):
    redis_client = redis.StrictRedis(host='localhost', port=6379, db=1)
    url = request.build_absolute_uri('/api/account/register/')
    code = '123456'
    password = '******'
    for i in range(100):
        mobile = str(15800000000 + i)
        redis_client.set('juhui_sms_code_' + mobile, code)
        redis_client.expire('juhui_sms_code_' + mobile, 60)
        data = {'mobile': mobile, 'password': password, 'code': code}
        r = requests.post(url=url, data=data)
        print('=====第{0}个用户的注册结果:====='.format(i + 1))
        print(r.json())
    return JsonResponse(get_response_data('000000'))
Пример #26
0
def upload(request):
    file = request.FILES.get('file')
    if not file:
        return JsonResponse(get_response_data('200001'))
    file_name = file.name
    timestamp = str(int(time.time() * 1000))
    print('file name is {0}'.format(file_name))
    try:
        file_type = file_name.split('.')[1]
    except Exception:
        return JsonResponse(get_response_data('200002'))
    video_img_url = ''
    root_str= str(ROOT_DIR)
    if file_type in ['jpg', 'JPG', 'JPEG', 'jpeg', 'png', 'PNG']:
        file_path = root_str + '/media/chat/img/' + timestamp + '_' + file_name
        media_url = request.build_absolute_uri('/') + 'media/chat/img/' + timestamp + '_' + file_name
    elif file_type in ['mp3', 'MP3', 'amr', 'AMR', 'aac', 'AAC']:
        file_path = root_str + '/media/chat/voice/' + timestamp + '_' + file_name
        media_url = request.build_absolute_uri('/') + 'media/chat/voice/' + timestamp + '_' + file_name
    elif file_type in ['mp4', 'MP4']:
        file_path = root_str + '/media/chat/video/' + timestamp + '_' + file_name
        media_url = request.build_absolute_uri('/') + 'media/chat/video/' + timestamp + '_' + file_name
        video_img_path = root_str + '/media/chat/video/' + timestamp + '.jpg'
        video_img_url = request.build_absolute_uri('/') + 'media/chat/video/' + timestamp + '.jpg'
    else:
        return JsonResponse(get_response_data('200002'))
    print('file path is {0}'.format(file_path))
    with open(file_path, 'wb+') as f:
        for chunk in file.chunks():
            f.write(chunk)
    data = {'media_url': media_url, 'media_img_url': ''}
    if video_img_url:
        rval = set_video_img_1(file_path, video_img_path)
        if rval:
            data['media_img_url'] = video_img_url

    return JsonResponse(get_response_data('000000', data))
Пример #27
0
def save_comment(request):
    user_id = request.POST.get('user_id')
    wine_code = request.POST.get('wine_code')
    msg_type = request.POST.get('msg_type')
    content = request.POST.get('content')
    video_img = request.POST.get('video_img', '')
    create_at = request.POST.get('create_at')
    if not (user_id and wine_code and msg_type and content and create_at):
        return JsonResponse(get_response_data('000002'))
    try:
        wine = WineInfo.objects.get(code=wine_code)
        user = Jh_User.objects.get(id=user_id)
    except Exception:
        return JsonResponse(get_response_data('000002'))
    comment = Comment(
        wine=wine,
        user=user,
        content=content,
        video_img_url=video_img,
        type=msg_type,
        create_at=create_at
    )
    comment.save()
    return JsonResponse(get_response_data('000000'))
Пример #28
0
def set_optional(request):
    wine_code = request.POST.get('code')
    if not wine_code:
        res = get_response_data('000002')
        return JsonResponse(res)
    # 判断用户是否登录
    rval, user_id = is_auth(request.META)
    _logger.info('user is auth? {0}, user id is {1}'.format(rval, user_id))
    if rval:
        jh_user = Jh_User.objects.get(user_id=user_id)
    elif user_id is not None:
        jh_user = Jh_User.objects.get(id=user_id)
    else:
        return JsonResponse(get_response_data('000007'))
    # jh_user = Jh_User.objects.get(user=request.user)
    personal_select = jh_user.personal_select
    personal_select_list = personal_select.split(';')
    # personal_select_list = list(set(personal_select_list))
    if wine_code in personal_select_list:
        res = get_response_data('100001')
        return JsonResponse(res)
    if personal_select:
        personal_select += ';' + wine_code
    else:
        personal_select = wine_code
    # personal_select += wine_code + ';'
    jh_user.personal_select = personal_select
    jh_user.save()
    # 推送最新自选信息
    rval = select_emit(wine_code, 'add')
    if rval:
        _logger.info('推送最新自选信息<<<成功>>>!')
    else:
        _logger.info('推送最新自选信息<<<失败>>>!')
    res = get_response_data('000000')
    return JsonResponse(res)
Пример #29
0
def first_set_select_redis(request):
    select_data = {}
    for user in Jh_User.objects.all():
        codes = user.personal_select
        if not codes:
            continue
        for code in codes.split(';'):
            if select_data.get(code):
                select_data[code] += 1
            else:
                select_data[code] = 1
    for key, val in select_data.items():
        select_key = 'juhui_chat_select_' + key
        REDIS_CLIENT.set(select_key, val)
    return JsonResponse(get_response_data('000000'))
Пример #30
0
def sort_optional(request):
    sort_type = request.POST.get('sort_type', '1')
    page = request.POST.get('page', str(OPTINOAL_PAGE))
    page_num = request.POST.get('page_num', str(OPTINOAL_PAGE_NUM))
    if not (page.isdigit() and page_num.isdigit()):
        return JsonResponse(get_response_data('000002'))
    page = int(page)
    page_num = int(page_num)
    # 判断用户是否登录
    rval, user_id = is_auth(request.META)
    _logger.info('user is auth? {0}, user id is {1}'.format(rval, user_id))
    if rval:
        jh_user = Jh_User.objects.get(user_id=user_id)  # 已注册用户
    elif user_id is not None:
        jh_user = Jh_User.objects.get(id=user_id)  # 游客
    else:
        return JsonResponse(get_response_data('000007'))
    # jh_user = Jh_User.objects.get(user=request.user)
    personal_select = jh_user.personal_select
    if sort_type == '1':  # 移动单个选项
        wine_code = request.POST.get('code', '')
        sort_no = request.POST.get('sort_no', '')
        if wine_code and sort_no.isdigit():
            sort_no = int(sort_no)
            personal_select_list = personal_select.split(';')
            if (sort_no >= len(personal_select_list)) or (
                    wine_code not in personal_select_list):  # 移到末尾
                tmp = ';'.join(personal_select.split(wine_code + ';'))
                jh_user.personal_select = tmp + ';' + wine_code
                jh_user.save()
            else:
                origin_no = personal_select_list.index(wine_code)
                if origin_no < sort_no:  # 往后移
                    for i in range(origin_no, sort_no):
                        personal_select_list[i] = personal_select_list[i + 1]
                else:  # 往前移
                    for j in range(origin_no, sort_no, -1):
                        personal_select_list[j] = personal_select_list[j - 1]
                personal_select_list[sort_no] = wine_code
                jh_user.personal_select = ';'.join(personal_select_list)
                jh_user.save()
            data = get_wine_list(jh_user.personal_select,
                                 (page - 1) * page_num, page * page_num)
            return JsonResponse(get_response_data('000000', data))
        else:
            return JsonResponse(get_response_data('000002'))
    else:  # 全局排序
        sort_codes = request.POST.get('sort_codes')
        if not sort_codes:
            return JsonResponse(get_response_data('000002'))
        data = get_wine_list(sort_codes, (page - 1) * page_num,
                             page * page_num)
        return JsonResponse(get_response_data('000000', data))