Esempio n. 1
0
def report(request):
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    goods = []
    print(request.method)

    if request.method == 'GET':
        token = request.session.get('token', '')
        r_platform = 'web'
        if token == '':
            return HttpResponseRedirect('/login')
        else:
            buyer = Buyer.objects.filter(token_web=request.session.get('token', ''))
    elif request.method == 'POST':
        req = json.loads(request.body)
        buyer = Buyer.objects.filter(token=req['token'])
    if len(buyer) == 1:
        user = buyer[0]
        goods_list = Goods.objects.filter(store=user.store)
        for good in goods_list:
            dic = get_good_dic_by_model(good)
            dic['count'] = len(BuyHistory.objects.filter(goods=good).exclude(state=0))
            goods.append(dic)
        response['response'] = 1
        response['info'] = info
    else:
        return HttpResponseRedirect('/login')
    if r_platform == 'web':
        return render_to_response('goods_list.html', locals())
    elif r_platform == 'android':
        json.dumps(response)
        j = json.dumps(response)
        return HttpResponse(j)
Esempio n. 2
0
def get_good(request):
    response = {'response': '2'}
    error_message = ''
    print(request.method)
    if request.method == 'POST':
        req = json.loads(request.body)
        print req
        good_id = req['good_id']
        # good_id = request.POST.get('test')
        goods = Goods.objects.filter(id=good_id)
        buyer = Buyer.objects.filter(token=req['token'])
        if len(goods) != 0:
            good = goods[0]
            dic_good = get_good_dic_by_model(good)
            print dic_good
            dic_good['count'] = len(BuyHistory.objects.filter(goods=good).exclude(state=0))
            try:
                collect = Collect.objects.get(goods=good, buyer=buyer[0])
                dic_good['isCollect'] = collect.is_collect
            except Exception:
                dic_good['isCollect'] = 0
            store = good.store
            solder = store.owner
            response['good'] = dic_good
            response['response'] = '1'
            response['store'] = model_to_dict(store)
            response['solder'] = model_to_dict(solder)
            response['solder']['token'] = ''
            response['solder']['password'] = ''

    response['error_msg'] = error_message
    j = json.dumps(response)
    print j
    return HttpResponse(j)
Esempio n. 3
0
def get_goods_by_category(request):
    response = {'response': '2'}
    error_message = ''
    print(request.method)
    if request.method == 'POST':
        req = json.loads(request.body)
        print req
        cate = req['category']
        # cate = request.POST.get('test')
        goods = Goods.objects.filter(category=cate)
        response['len'] = len(goods)
        if len(goods) != 0:
            goods.reverse()
            r_goods = []
            for foo in goods:
                # dic = {'id': foo.id, 'title': foo.name, 'price': foo.price, 'des': foo.des, 'category': foo.category,
                # 'store': foo.store.id, 'count': len(BuyHistory.objects.filter(goods=foo)),
                # 'store_name': foo.store.name}
                dic = get_good_dic_by_model(foo)
                print dic
                dic['count'] = len(BuyHistory.objects.filter(goods=foo).exclude(state=0))
                dic['store'] = model_to_dict(foo.store)
                print dic['store']
                r_goods.insert(0, dic)
            response['goods'] = r_goods
        response['response'] = '1'

    response['error_msg'] = error_message
    j = json.dumps(response)
    return HttpResponse(j)
Esempio n. 4
0
def get_order(request):
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    buyer = None
    order = None
    order_id = ''
    print(request.method)

    if request.method == 'POST':
        req = json.loads(request.body)
        print req
        r_platform = req['platform']
        buyer = Buyer.objects.filter(token=req['token'])
        order_id = req['order_id']
        # r_platform = request.POST.get('platform')
        # order_id = request.POST.get('test')
        # buyer = Buyer.objects.filter(token_web=request.session.get('token'))
    if len(buyer) == 1:
        user = buyer[0]
        order = Order.objects.get(id=order_id)
        histories = BuyHistory.objects.filter(order=order)
        if len(histories) != 0:
            his_dic = []
            for foo in histories:
                dic = model_to_dict(foo)
                dic['good'] = get_good_dic_by_model(foo.goods)
                dic['store'] = model_to_dict(foo.goods.store)
                dic['solder'] = model_to_dict(foo.goods.store.owner)
                dic['solder']['password'] = ''
                apps = Appraise.objects.filter(buy_history=foo)
                if len(apps) != 0:
                    dic['appraise'] = model_to_dict(apps[0])
                else:
                    dic['appraise'] = ''
                his_dic.append(dic)
            response['history_list'] = his_dic
            j_buyer = model_to_dict(user)
            j_buyer['password'] = ''
            response['buyer'] = j_buyer
            response['len'] = len(histories)
            response['order'] = model_to_dict(order)
            response['order']['address'] = model_to_dict(order.address)
        else:
            pass
        response['response'] = 1
        print response
    else:
        response['response'] = 2
        error_message = 'error'
    if r_platform == 'web':
        return render_to_response('personal.html', locals())
    elif r_platform == 'android':
        json.dumps(response)
        j = json.dumps(response)
        return HttpResponse(j)
Esempio n. 5
0
def add_collection(request):
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    buyer = None
    goods = None
    print(request.method)

    if request.method == 'GET':
        token = request.session.get('token', '')
        r_platform = 'web'
        if token == '':
            return HttpResponseRedirect('/login')
        else:
            buyer = Buyer.objects.filter(token_web=request.session.get('token', ''))
    elif request.method == 'POST':
        req = json.loads(request.body)
        r_platform = req['platform']
        good_id = req['good_id']
        buyer = Buyer.objects.filter(token=req['token'])
        goods = Goods.objects.filter(id=good_id)
    if len(buyer) == 1 and len(goods) == 1:
        user = buyer[0]
        good = goods[0]
        collect_exist = Collect.objects.filter(goods=good, buyer=user)
        if len(collect_exist) == 1:
            collect = collect_exist[0]
            if collect.is_collect == 1:
                collect.is_collect = 0
            else:
                collect.is_collect = 1
        else:
            collect = Collect(goods=good, buyer=user, is_collect=1)
        collect.save()
        response['response'] = 1
        response['collect'] = model_to_dict(collect)
        response['collect']['good'] = get_good_dic_by_model(collect.goods)
        response['collect']['store'] = model_to_dict(collect.goods.store)
    else:
        error_message = 'error'
    if r_platform == 'web':
        return render_to_response('personal.html', locals())
    elif r_platform == 'android':
        json.dumps(response)
        j = json.dumps(response)
        return HttpResponse(j)
Esempio n. 6
0
def get_goods_by_search(request):
    response = {'response': '2'}
    error_message = ''
    print(request.method)
    dict_relevancy = {}
    if request.method == 'POST':
        # r_platform = request.POST.get('platform')
        # search_key = request.POST.get('test')
        # buyer = Buyer.objects.filter(token_web=request.session.get('token'))
        req = json.loads(request.body)
        print req
        search_key = req['search_key']
        search_keys = search_key.split(' ')
        goods = Goods.objects.filter(name__icontains=search_key)
        for key in search_keys:
            t_goods = Goods.objects.filter(name__icontains=key)
            for good in t_goods:
                if goods.filter(id=good.id).exists():
                    try:
                        dict_relevancy[good.id] += 1
                    except KeyError:
                        dict_relevancy[good.id] = 1
                else:
                    goods |= t_goods.filter(id=good.id)

        response['len'] = len(goods)
        if len(goods) != 0:
            r_goods = []
            for foo in goods:
                dic = get_good_dic_by_model(foo)
                dic['count'] = len(BuyHistory.objects.filter(goods=foo).exclude(state=0))
                dic['store'] = model_to_dict(foo.store)
                try:
                    dic['relevancy'] = dict_relevancy[foo.id]
                except KeyError:
                    dic['relevancy'] = 0
                r_goods.append(dic)
            # 根据相关度排序
            r_goods.sort(lambda x, y: cmp(x['relevancy'], y['relevancy']))
            r_goods.reverse()
            response['goods'] = r_goods
        response['response'] = '1'

    response['error_msg'] = error_message
    j = json.dumps(response)
    return HttpResponse(j)
Esempio n. 7
0
def get_wish_list(request):
    count = ''
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    buyer = None
    print(request.method)

    if request.method == 'POST':
        req = json.loads(request.body)
        r_platform = req['platform']
        buyer = Buyer.objects.filter(token=req['token'])
    if len(buyer) == 1:
        user = buyer[0]
        wish_list = WishList.objects.filter(buyer=user, dele=1)
        response['len'] = len(wish_list)
        if len(wish_list) != 0:
            wish_list.reverse()
            wishes = []
            for foo in wish_list:
                dic = model_to_dict(foo)
                dic['good'] = get_good_dic_by_model(foo.goods)
                dic['store'] = model_to_dict(foo.goods.store)
                wishes.insert(0, dic)
            response['wish_list'] = wishes
        else:
            pass
        response['response'] = 1
        print response
    else:
        response['response'] = 2
        error_message = 'error'
    if r_platform == 'web':
        return render_to_response('personal.html', locals())
    elif r_platform == 'android':
        json.dumps(response)
        j = json.dumps(response)
        return HttpResponse(j)
Esempio n. 8
0
def get_report(request):
    response = {'response': '2'}
    error_message = ''
    user = None
    buyer = None
    history_list = []
    history_dic = []
    order_state_list = get_order_state_list()
    print(request.method)
    if request.session.get('token') == '':
        return HttpResponseRedirect('/login')
    if request.method == 'GET':
        buyer = Buyer.objects.filter(token_web=request.session.get('token'))
    if len(buyer) == 1:
        user = buyer[0]
        history_list1 = BuyHistory.objects.all()
        for foo in history_list1:
            if foo.goods.store.owner.id == user.id:
                history_list.append(foo)
        response['len'] = len(history_list)
        if len(history_list) != 0:
            for foo in history_list:
                dic = model_to_dict(foo)
                dic['state_text'] = order_state_list[foo.state]
                dic['buyer'] = model_to_dict(foo.buyer)
                dic['good'] = get_good_dic_by_model(foo.goods)
                dic['good']['count'] = len(BuyHistory.objects.filter(goods=foo.goods).exclude(state=0))
                dic['store'] = model_to_dict(foo.goods.store)
                history_dic.insert(0, dic)
            response['history_list'] = history_dic
        else:
            pass
        response['response'] = 1
        print response
    else:
        response['response'] = 2
        error_message = 'error'
    print response
    return render_to_response('report.html', locals())
Esempio n. 9
0
def get_collection_list(request):
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    buyer = None
    print(request.method)

    if request.method == 'POST':
        req = json.loads(request.body)
        r_platform = req['platform']
        buyer = Buyer.objects.filter(token=req['token'])

    if len(buyer) == 1:
        user = buyer[0]
        collections = Collect.objects.filter(buyer=user)
        response['len'] = len(collections)
        if len(collections) != 0:
            colle_dic = []
            for foo in collections:
                dic = model_to_dict(foo)
                dic['good'] = get_good_dic_by_model(foo.goods)
                dic['good']['count'] = len(BuyHistory.objects.filter(goods=foo.goods).exclude(state=0))
                dic['store'] = model_to_dict(foo.goods.store)
                colle_dic.insert(0, dic)
            response['collect_list'] = colle_dic
        else:
            pass
        response['response'] = 1
        print response
    else:
        response['response'] = 2
        error_message = 'error'
    if r_platform == 'web':
        return render_to_response('personal.html', locals())
    elif r_platform == 'android':
        j = json.dumps(response)
        return HttpResponse(j)
Esempio n. 10
0
def get_buy_history(request):
    count = ''
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    buyer = None
    print(request.method)

    if request.method == 'POST':
        req = json.loads(request.body)
        r_platform = req['platform']
        buyer = Buyer.objects.filter(token=req['token'])
    if len(buyer) == 1:
        user = buyer[0]
        histories = BuyHistory.objects.filter(buyer=user)
        response['len'] = len(histories)
        if len(histories) != 0:
            his_dic = []
            for foo in histories:
                dic = model_to_dict(foo)
                dic['good'] = get_good_dic_by_model(foo.goods)
                dic['store'] = model_to_dict(foo.goods.store)
                his_dic.insert(0, dic)
            response['history_list'] = his_dic
        else:
            pass
        response['response'] = 1
        print response
    else:
        response['response'] = 2
        error_message = 'error'
    if r_platform == 'web':
        return render_to_response('personal.html', locals())
    elif r_platform == 'android':
        j = json.dumps(response)
        return HttpResponse(j)
Esempio n. 11
0
def get_home(request):
    response = {'response': '2'}
    r_platform = 'android'
    error_message = ''
    user = None
    buyer = None
    print(request.method)

    if request.method == 'POST':
        req = json.loads(request.body)
        r_platform = req['platform']
        buyer = Buyer.objects.filter(token=req['token'])
        # r_platform = request.POST.get('platform')
        # order_id = request.POST.get('test')
        # buyer = Buyer.objects.filter(token_web=request.session.get('token'))
    goods = Goods.objects.all()
    random_list = goods if len(goods) < 5 else random.sample(goods, 5)
    others_list_first = Collect.objects.all()
    others_list = set()
    for i in range(len(others_list_first)):
        others_list.add(random.choice(others_list_first).goods)
        if len(others_list) == 5:
            break
    response['len_random'] = len(random_list)
    if len(random_list) != 0:
        colle_dic = []
        response['response'] = 1
        for foo in random_list:
            dic = {}
            dic['good'] = get_good_dic_by_model(foo)
            dic['good']['count'] = len(BuyHistory.objects.filter(goods=foo).exclude(state=0))
            dic['store'] = model_to_dict(foo.store)
            colle_dic.insert(0, dic)
        response['random_list'] = colle_dic
    response['len_others'] = len(others_list)
    print len(others_list)
    if len(others_list) != 0:
        colle_dic = []
        response['response'] = 1
        for foo in others_list:
            dic = {}
            dic['good'] = get_good_dic_by_model(foo)
            dic['good']['count'] = len(BuyHistory.objects.filter(goods=foo).exclude(state=0))
            dic['store'] = model_to_dict(foo.store)
            colle_dic.insert(0, dic)
        response['others_list'] = colle_dic
    if len(buyer) == 1:
        user = buyer[0]
        history_list = BuyHistory.objects.all()
        if len(history_list) == 0:
            response['response'] = 1
            response['len_cate'] = 0
        else:
            goods_cate = Goods.objects.filter(category=history_list.last().goods.category)
            cate_list = goods_cate if len(goods_cate) < 5 else random.sample(goods_cate, 5)
            if len(cate_list) != 0:
                colle_dic = []
                for foo in cate_list:
                    dic = {}
                    dic['good'] = get_good_dic_by_model(foo)
                    dic['good']['count'] = len(BuyHistory.objects.filter(goods=foo).exclude(state=0))
                    dic['store'] = model_to_dict(foo.store)
                    colle_dic.insert(0, dic)
                response['cate_list'] = colle_dic
                response['len_cate'] = len(colle_dic)
            else:
                pass
        response['response'] = 1
        print response
    else:
        response['len_cate'] = 0
    if r_platform == 'web':
        return render_to_response('personal.html', locals())
    elif r_platform == 'android':
        j = json.dumps(response)
        return HttpResponse(j)