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)
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)
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)
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)
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)
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)
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)
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())
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)
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)
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)