def withdraw_list(r): start, num = get_paginator(r) params = r.REQUEST condition = make_conditions(r, type='type', bankcard_id='bankcard_id', verify_status='verify_status') if 'create_time_start' in params: condition['create_time__gte'] = get_stamp_by_date(params['create_time_start']) if 'create_time_end' in params: condition['create_time__lte'] = get_stamp_by_date(params['create_time_end']) if 'user_id' in r.REQUEST: condition['bankcard__user_id'] = r.REQUEST['user_id'] withdraws = Withdraw.objects.filter(**condition)[start:start + num] total = Withdraw.objects.filter(**condition).count() data = [] for wit in withdraws: d = wit.to_dict() if wit.reward == 0: d['reward'] = wit.amount d['bank_name'] = wit.bankcard.bank_name d['bank_city'] = wit.bankcard.bank_city d['owner_name'] = wit.bankcard.owner_name d['account_id'] = wit.bankcard.account_id d['account_name'] = wit.bankcard.account_name d['user_id'] = wit.bankcard.user_id d['user_qq'] = wit.bankcard.user.qq d['user_name'] = wit.bankcard.user.idc_name d['user_phone'] = wit.bankcard.user.phone d['create_time'] = wit.create_time data.append(d) return JsonResponse(code=Const['code.success'], data={'total': total, 'withdraws': data})
def rebate_export(r): start, num = get_paginator(r) params = r.REQUEST condition = make_conditions(r, type='type', bankcard_id='bankcard_id', verify_status='verify_status') if 'create_time_start' in params: condition['create_time__gte'] = get_stamp_by_date(params['create_time_start']) if 'create_time_end' in params: condition['create_time__lte'] = get_stamp_by_date(params['create_time_end']) if 'user_id' in r.REQUEST: condition['bankcard__user_id'] = r.REQUEST['user_id'] withdraws = Withdraw.objects.filter(**condition) data = [] for wit in withdraws: d = {} d['account_id'] = wit.bankcard.account_id d['owner_name'] = wit.bankcard.owner_name if wit.type == Const['model.withdraw.type.principal']: d['amount'] = wit.amount else: d['amount'] = wit.reward d['bank_name'] = wit.bankcard.bank_name d['account_name'] = wit.bankcard.account_name d['bank_city'] = wit.bankcard.bank_city data.append(d) metas = { 'account_id': u'收款卡号', 'owner_name': u'收款用户', 'amount': u'返款金额', 'bank_name': u'收款银行', 'account_name': u'收款支行', 'bank_city': u'归属', } return CsvResponse(metas, data)
def user_listidc(r): start, num = get_paginator(r) condition = make_conditions(r, id='user_id', verify_status='verify_status') if 'register_start_time' in r.REQUEST: condition['register_time__gte'] = get_stamp_by_date( r.REQUEST['register_start_time']) users = User.objects.exclude(idc_name='').filter(**condition)[start:start + num] logger.debug(users.query) total = User.objects.exclude(idc_name='').filter(**condition).count() data = [] for u in users: try: idcphotos = json.loads(u.idc_photo) except Exception: idcphotos = [None, None] data.append({ 'user_id': u.id, 'register_time': u.register_time, 'user_name': u.idc_name, 'idc_photo1': idcphotos[0], 'idc_photo2': idcphotos[1], 'verify_status': u.verify_status, }) return JsonResponse(code=Const['code.success'], data={ 'total': total, 'users': data })
def user_listappeal(r, uid): start, num = get_paginator(r) if r.REQUEST['type'] == '0': appeals = Appeal.objects.filter(complainant_id=uid).filter( order__tb__user__id=uid)[start:start + num] else: appeals = Appeal.objects.filter(respondent_id=uid).filter( order__tb__user__id=uid)[start:start + num] data = [] for a in appeals: data.append( obj_to_dict(a, 'id', 'order_id', 'complainant_id', 'respondent_id', 'create_time', 'status', pics='get_pics', description='get_description', complainant_qq='get_complainant_qq', respondent_qq='get_respondent_qq', talks='get_talks', type='get_type')) return JsonResponse(code=Const['code.success'], data=data)
def tbaccount_list(r): start, num = get_paginator(r) condition = make_conditions(r, user_id='user_id', status='verify_status') if 'register_start_time' in r.REQUEST: condition['user__register_time__gte'] = get_stamp_by_date( r.REQUEST['register_start_time']) tbs = TBAccount.objects.filter(**condition)[start:start + num] total = TBAccount.objects.filter(**condition).count() data = [] for t in tbs: d = t.to_dict() try: pics = json.loads(t.pic_paths) except Exception: pics = [None, None] if not isinstance(pics, list): pics = [None, None] # 获取user的身份证姓名信息,如果没有提交,那么使用旺旺号码 idc_name = t.user.idc_name if (idc_name): d['name'] = idc_name else: d['name'] = u'未绑定身份证--' + d['name'] d['pic1'] = pics[0] d['pic2'] = pics[1] d['register_time'] = t.user.register_time d['tb_register_time'] = t.register_time # 旺旺注册时间 data.append(d) return JsonResponse(code='code.success', data={ 'total': total, 'tbaccounts': data })
def recharge_list(r): start, num = get_paginator(r) condition = make_conditions(r, user_id='user_id', verify_status='verify_status') recharges = Recharge.objects.filter(**condition)[start:start + num] total = Recharge.objects.filter(**condition).count() data = [] for rec in recharges: d = rec.to_dict() d['user_qq'] = rec.user.qq d['user_name'] = rec.user.idc_name d['user_phone'] = rec.user.phone data.append(d) return JsonResponse(code=Const['code.success'], data={'total': total, 'recharges': data})
def notice_list(r): start, num = get_paginator(r) conditions = {} params = r.REQUEST if 'type' in params: conditions['type'] = params['type'] if 'publish_start_date' in params: conditions['create_time__gte'] = get_stamp_by_date(params['publish_start_date']) if 'publish_end_date' in params: conditions['create_time__lte'] = get_stamp_by_date(params['publish_end_date']) if 'keyword' in params: conditions['title__contains'] = params['keyword'] total = Notice.objects.filter(**conditions).count() notices = Notice.objects.filter(**conditions)[start:start + num] return JsonResponse(code=Const['code.success'], data={'total': total, 'notices': [n.to_dict() for n in notices]})
def user_listaccount(r): start, num = get_paginator(r) condition = make_conditions(r, id='user_id') total = User.objects.filter(**condition).count() users = User.objects.filter(**condition)[start:start + num] data = [] for u in users: data.append({ 'principal': u.principal, 'commission': u.commission, 'is_close_seller_return': u.is_close_sellerreturn, 'user_id': u.id }) return JsonResponse(code=Const['code.success'], data={ 'total': total, 'users': data })
def bankcard_list(r): start, num = get_paginator(r) condition = make_conditions(r, user_id='user_id', verify_status='verify_status') if 'register_start_time' in r.REQUEST: condition['user__register_time__gte'] = get_stamp_by_date( r.REQUEST['register_start_time']) bankcards = Bankcard.objects.filter(**condition)[start:start + num] total = Bankcard.objects.filter(**condition).count() data = [] for b in bankcards: d = b.to_dict() d['register_time'] = b.user.register_time data.append(d) return JsonResponse(code='code.success', data={ 'total': total, 'bankcards': data })
def user_list(r): start, num = get_paginator(r) conditions = make_conditions(r, pk='user_id', phone='phone', qq='qq', buyer_level='buyer_level', register_time='register_time') if 'register_time' in conditions: conditions['register_time'] = get_stamp_by_date( conditions['register_time']) total = User.objects.filter(**conditions).count() users = User.objects.filter(**conditions)[start:start + num] data = [] for u in users: try: idcphotos = json.loads(u.idc_photo) except Exception: idcphotos = [None, None] data.append({ 'id': u.id, 'register_time': u.register_time, 'user_name': u.idc_name, 'phone': u.phone, 'qq': u.qq, 'buyer_level': u.buyer_level, 'seller_level': u.seller_level, 'idc_photo1': idcphotos[0], 'idc_photo2': idcphotos[1], 'verify_status': u.verify_status, 'principal': u.principal, 'commission': u.commission, 'flags': u.flag_dump(), }) return JsonResponse(code=Const['code.success'], data={ 'total': total, 'users': data })
def record_list(r): start, num = get_paginator(r) condition = make_conditions(r, user_id='user_id', start_time='start_time', end_time='end_time') if 'start_time' in condition: condition['create_time__gte'] = get_stamp_by_date( condition['start_time']) if 'end_time' in condition: condition['create_time__lte'] = get_stamp_by_date( condition['end_time']) total = Record.objects.filter(**sub_dict( condition, 'user_id', 'create_time__lte', 'create_time__gte')).count() records = Record.objects.filter( **sub_dict(condition, 'user_id', 'create_time__lte', 'create_time__gte'))[start:start + num] return JsonResponse(code=Const['code.success'], data={ 'total': total, 'records': [re.to_dict() for re in records] })
def user_listrecord(r, uid): start, num = get_paginator(r) return JsonResponse(code=Const['code.success'], data=[x.to_dict() for x in \ Record.objects.filter(user_id=uid, type=r.REQUEST['type'])[ start:start + num]])
def user_listbuyerorder(r, mid): order_type = int( r.REQUEST['order_type']) if 'order_type' in r.REQUEST else -1 order_status = int( r.REQUEST['order_status']) if 'order_status' in r.REQUEST else 0 logger.debug(order_status) start, num = get_paginator(r) # buyer = User.objects.get(pk=mid) sort_adv = False args = [ Q(tb__user__id=mid), ] if order_type == 0: args.append( Q(order_type__in=(Const['model.order.type.flow'], Const['model.order.type.collect']))) elif order_type == 1: args.append(~Q(order_type__in=(Const['model.order.type.flow'], Const['model.order.type.collect']))) # else: # return JsonResponse(code=Const['code.request_error']) if order_status == 1: # 待操作 args.append( Q(status__in=[ Const['model.order.status.received'], Const['model.order.status.step1'], Const['model.order.status.step2'], # Const['model.order.status.step3'], Const['model.order.status.step9'], Const['model.order.status.step10'], ])) elif order_status == 3: args.append(Q(status=Const['model.order.status.completed'])) # 待返款 # args.append(Q(status__in=[ # Const['model.order.status.step3'], # Const['model.order.status.returnmoney'], # ])) elif order_status == 2: # 待评价 args.append(Q(status=Const['model.order.status.deliver'])) # Q(status__in=[ # Const['model.order.status.deliver'], # Const['model.order.status.comment'], # Const['model.order.status.affirm'], # Const['model.order.status.completed'], # ])) else: sort_adv = True status_list = [ Const['model.order.status.received'], Const['model.order.status.step1'], Const['model.order.status.step2'], Const['model.order.status.step3'], Const['model.order.status.step9'], Const['model.order.status.returnmoney'], Const['model.order.status.comment'], Const['model.order.status.deliver'], Const['model.order.status.affirm'], ] clauses = ' '.join([ 'WHEN `tasks_order`.`status`=%s THEN %s' % (pk, 100 - i) for i, pk in enumerate(status_list) ]) ordering = 'CASE %s END' % clauses args.append(~Q(status__in=[ Const['model.order.status.cancel'], ])) be15 = before15(15) if sort_adv: orders = Order.objects.filter(*args) \ .extra(select={'_ordering': ordering}, order_by=('-_ordering', 'receive_time')) \ .filter((Q(status=Const['model.order.status.completed']) & Q(update_time__gte=be15)) | \ ~Q(status=Const['model.order.status.completed']))[start:start + num] else: orders = Order.objects.filter(*args).filter((Q(status=Const['model.order.status.completed']) & \ Q(update_time__gte=be15)) | ~Q( status=Const['model.order.status.completed']))[start:start + num] # logger.info('user_listbuyerorder sql:%s'%orders.query) data = [] for o in orders: data.append({ 'order_id': o.id, 'frozen': o.frozen, 'photo_url': json.loads(o.task.commodities)[0]['pic_path'], 'date': o.receive_time, 'pay': o.buyer_gain, 'cost': o.dianzi(), 'order_type': o.get_general_order_type(), 'order_status': 1 if o.status == 108 else o.status, 'return_type': o.task.return_type, 'tb_wangwang': o.tb.wangwang if o.tb else '', 'order_type2': o.order_type, }) return JsonResponse(code=Const['code.success'], data=data)