def get_template(request): count_per_page = int(request.GET.get('count_per_page', 15)) cur_page = int(request.GET.get('page', '1')) templates = MarketToolsTemplateMessageDetail.objects.filter(owner=request.user) pageinfo, templates = paginator.paginate(templates, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) template_ids = [t.template_message_id for t in templates] messages = MarketToolsTemplateMessage.objects.filter(id__in=template_ids) id2template = {} for message in messages: id2template[message.id] = message items = [] for template in templates: item = {} template_message_id = template.template_message_id item['template_detail_id'] = template.id item['template_id'] = template.template_id item['title'] = id2template[template_message_id].title item['industry_name'] = TYPE2INDUSTRY.get(id2template[template_message_id].industry, '') if template.status == 1: item['status'] = u'已启用' else: item['status'] = u'未启用' if template.type == 0: item['type'] = u'主营行业' else: item['type'] = u'副营行业' items.append(item) response = create_response(200) response.data.items = items response.data.pageinfo = paginator.to_dict(pageinfo) response.data.sortAttr = '' return response.get_response()
def api_get(request): """ 响应API GET """ pageinfo, datas = GroupParticipances.get_datas(request) items = [] for data in datas: items.append({ 'id': data['id'], 'group_leader_name':data['group_leader_name'], 'rest_days':data['rest_days'], 'start_time_date': data['start_time_date'], 'start_time_time': data['start_time_time'], 'end_time_date': data['end_time_date'], 'end_time_time': data['end_time_time'], 'status':data['status'], 'members_count':data['members_count'], 'member_id':data['member_id'] }) response_data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': '', 'data': {} } response = create_response(200) response.data = response_data return response.get_response()
def api_get(request): """ 响应API GET """ pageinfo, datas = {{resource.class_name}}.get_datas(request) __STRIPPER_TAG__ items = [] for data in datas: items.append({ 'id': str(data.id), 'name': data.name, 'start_time': data.start_time.strftime('%Y-%m-%d %H:%M'), 'end_time': data.end_time.strftime('%Y-%m-%d %H:%M'), 'participant_count': data.participant_count, 'related_page_id': data.related_page_id, 'status': data.status_text, 'created_at': data.created_at.strftime("%Y-%m-%d %H:%M:%S") }) response_data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': 'id', 'data': {} } response = create_response(200) response.data = response_data return response.get_response()
def get_complain(request): complains = MemberComplainRecord.objects.filter( complain_settings__owner=request.user).order_by('-created_at') cur_page = int(request.GET.get('page', '1')) for complain in complains: if complain.webapp_user_id != -1: try: member = WebAppUser.get_member_by_webapp_user_id( complain.webapp_user_id) if member and member.is_for_test == False: complain.member_username = member.username_for_html complain.member_id = member.id else: complain.member_username = u'非会员' except: complain.member_username = u'非会员' else: complain.member_username = u'非会员' pageinfo, complains = paginator.paginate( complains, cur_page, COUNT_PER_PAGE, query_string=request.META['QUERY_STRING']) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SECOND_NAV_NAME, 'complains': complains, 'pageinfo': json.dumps(paginator.to_dict(pageinfo)), }) return render_to_response('complain/editor/member_complain_list.html', c)
def get_cards_num_census(request): """ 微众卡列表页面 """ weizoomcardpermission = WeiZoomCardPermission.objects.filter( user_id=request.user.id) can_view_statistical_details = can_export_statistical_details = 0 if weizoomcardpermission: can_view_statistical_details = weizoomcardpermission[ 0].can_view_statistical_details can_export_statistical_details = weizoomcardpermission[ 0].can_export_statistical_details count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) filter_value = request.GET.get('filter_value', None) query_string = request.META['QUERY_STRING'] cards, card_ids, pageinfo = get_num_cards(filter_value, cur_page, count_per_page, query_string) cards = sorted( cards.items(), lambda x, y: cmp(float(x[1]['use_money']), float(y[1]['use_money'])), reverse=True) response = create_response(200) response.data.items = cards response.data.card_ids = card_ids response.data.sortAttr = request.GET.get('sort_attr', 'money') response.data.pageinfo = paginator.to_dict(pageinfo) response.data.can_view_statistical_details = can_view_statistical_details response.data.can_export_statistical_details = can_export_statistical_details return response.get_response()
def get_courses(request): shengjing_course_configs = ShengjingCourseConfig.objects.filter( owner=request.user).order_by('-update_time') count_per_page = int(request.GET.get('count_per_page', 15)) cur_page = int(request.GET.get('page', '1')) pageinfo, shengjing_course_configs = paginator.paginate( shengjing_course_configs, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) response = create_response(200) cur_shengjing_course_configs = [] for config in shengjing_course_configs: cur_course_config = JsonResponse() cur_course_config.id = config.id cur_course_config.name = config.name cur_course_config.created_at = config.created_at.strftime('%Y-%m-%d') cur_course_config.update_time = config.update_time.strftime('%Y-%m-%d') cur_shengjing_course_configs.append(cur_course_config) response.data.items = cur_shengjing_course_configs response.data.sortAttr = request.GET.get('sort_attr', '-display_index') response.data.pageinfo = paginator.to_dict(pageinfo) return response.get_response()
def api_get(request): webapp_id = request.user_profile.webapp_id member_id = request.GET.get('member_id', None) cur_page = int(request.GET.get('page', '1')) count = int(request.GET.get('count_per_page', COUNT_PER_PAGE)) shared_url_infos = [] if member_id: member = Member.objects.get(id=member_id, webapp_id=webapp_id) shared_url_infos = get_member_shared_urls(member) pageinfo, shared_url_infos = paginator.paginate( shared_url_infos, cur_page, count) items = [] for shared_url_info in shared_url_infos: items.append({ "id": shared_url_info.id, "title": shared_url_info.title, "pv": shared_url_info.pv, "followers": shared_url_info.followers, "leadto_buy_count": shared_url_info.leadto_buy_count, }) response = create_response(200) response.data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo) } return response.get_response()
def post(request): response = create_response(200) response.data = {} access_token = request.POST.get('access_token', '') found_begin_time = request.POST.get('found_begin_time', '') found_end_time = request.POST.get('found_end_time', '') pay_begin_time = request.POST.get('pay_begin_time', '') pay_end_time = request.POST.get('pay_end_time', '') order_status = request.POST.get('order_status', '') order_id = request.POST.get('order_id', '') cur_page = request.POST.get('cur_page', 1) orders, pageinfo, count = api_resource.get( 'open', 'orders', { 'access_token': access_token, 'found_begin_time': found_begin_time, 'found_end_time': found_end_time, 'pay_begin_time': pay_begin_time, 'pay_end_time': pay_end_time, 'order_status': order_status, 'order_id': order_id, 'cur_page': cur_page }) response.data = {} response.data['pageinfo'] = paginator.to_dict(pageinfo) response.data['count'] = count response.data['items'] = orders return response.get_response()
def api_get(request): """ 响应API GET """ sort_attr = request.GET.get('sort_attr', '-latest_date') pageinfo, datas = SignParticipances.get_datas(request) member_ids = [] for data in datas: member_ids.append(data.member_id) members = member_models.Member.objects.filter(id__in=member_ids) member_id2member = {member.id: member for member in members} items = [] for data in datas: coupon_count = 0 if data.prize['coupon']: coupon_count = len(data.prize['coupon'].split(',')) items.append({ 'id': str(data.id), 'belong_to': data.belong_to, 'member_id': data.member_id, 'participant_name': member_id2member[data.member_id].username_for_html if member_id2member.get(data.member_id) else u'未知', 'participant_icon': member_id2member[data.member_id].user_icon if member_id2member.get(data.member_id) else '/static/img/user-1.jpg', 'created_at': data.created_at.strftime("%Y/%m/%d %H:%M:%S"), 'latest_date': data.latest_date.strftime("%Y/%m/%d %H:%M:%S") if data.latest_date else "", 'latest_date_f': data.latest_date.strftime("%Y-%m-%d %H:%M:%S") if data.latest_date else "", 'total_count': data.total_count, 'serial_count': data.serial_count, 'top_serial_count': data.top_serial_count, 'total_integral': data.prize['integral'], 'coupon_count': coupon_count }) response_data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': sort_attr, 'data': {} } response = create_response(200) response.data = response_data return response.get_response()
def get_cards_channel_census(request): """ channel列表页面 """ weizoomcardpermission = WeiZoomCardPermission.objects.filter( user_id=request.user.id) can_view_statistical_details = can_export_statistical_details = 0 if weizoomcardpermission: can_view_statistical_details = weizoomcardpermission[ 0].can_view_statistical_details can_export_statistical_details = weizoomcardpermission[ 0].can_export_statistical_details count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) sort_attr = request.GET.get('sort_attr', '-use_money') filter_value = request.GET.get('filter_value', None) query_string = request.META['QUERY_STRING'] channel, owner2channel, pageinfo = get_channel_cards( sort_attr, filter_value, cur_page, count_per_page, query_string) response = create_response(200) response.data.items = channel response.data.owner2channel = owner2channel response.data.sortAttr = request.GET.get('sort_attr', '-use_money') response.data.pageinfo = paginator.to_dict(pageinfo) response.data.can_view_statistical_details = can_view_statistical_details response.data.can_export_statistical_details = can_export_statistical_details return response.get_response()
def get_integral_adjust_accounts(request): count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) items = [] user_profile = UserProfile.objects.get(user_id=request.GET.get('user_id')) group_datas = Order.by_webapp_id(user_profile.webapp_id).filter(status__gte=2).values('integral_each_yuan').annotate(count=Count('integral_each_yuan')) webapp_id = user_profile.webapp_id for group_data in group_datas: integral_each_yuan = group_data['integral_each_yuan'] if integral_each_yuan and int(integral_each_yuan) != -1: integral_count = Order.by_webapp_id(webapp_id).filter(status__gte=2, integral_each_yuan=integral_each_yuan).aggregate(Sum('integral')) integral_sum = 0 if integral_count["integral__sum"] is not None: integral_sum = integral_count["integral__sum"] integral_money_sums = Order.by_webapp_id(webapp_id).filter(status__gte=2, integral_each_yuan=integral_each_yuan).aggregate(Sum('integral_money')) integral_money_sum = 0.00 if integral_money_sums["integral_money__sum"] is not None: integral_money_sum = integral_money_sums["integral_money__sum"] items.append({ 'integral_each_yuan': integral_each_yuan, 'integral': integral_sum, 'integral_money_sum': '%.2f' % integral_money_sum }) pageinfo, items = paginator.paginate(items, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) response = create_response(200) response.data.pageinfo = paginator.to_dict(pageinfo) response.data.items = items return response.get_response()
def get_accounts(request): response = create_response(200) card_has_accounts = WeizoomCardHasAccount.get_all_weizoom_card_accounts(request.user) count_per_page = int(request.GET.get('count_per_page', 15)) cur_page = int(request.GET.get('page', '1')) pageinfo, card_has_accounts = paginator.paginate(card_has_accounts, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) account_ids = [c.account_id for c in card_has_accounts] users = User.objects.filter(id__in=account_ids) id2users = {} for user in users: id2users[user.id] = user items = [] for card_has_account in card_has_accounts: account_id = card_has_account.account_id items.append({ 'id': card_has_account.id, 'account_id': account_id, 'username': id2users.get(account_id, '').username, 'nickname': card_has_account.account_name }) response.data.items = items response.data.pageinfo = paginator.to_dict(pageinfo) response.data.sortAttr = request.GET.get('sort_attr', '-created_at') return response.get_response()
def get_weizoom_card_rules(request): count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) weizoom_card_rule_id = int(request.GET.get('weizoom_card_rule_id', '-1')) weizoom_card_rules = WeizoomCardRule.objects.filter(owner=request.user).order_by('-created_at') pageinfo, weizoom_card_rules = paginator.paginate(weizoom_card_rules, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) cur_weizoom_card_rules = [] for c in weizoom_card_rules: cur_weizoom_card_rule = JsonResponse() cur_weizoom_card_rule.id = c.id cur_weizoom_card_rule.name = c.name cur_weizoom_card_rule.count = c.count cur_weizoom_card_rule.remark = c.remark cur_weizoom_card_rule.money = '%.2f' % c.money cur_weizoom_card_rule.expired_time = datetime.strftime(c.expired_time, '%Y-%m-%d %H:%M') cur_weizoom_card_rule.created_at = datetime.strftime(c.created_at, '%Y-%m-%d %H:%M') cur_weizoom_card_rules.append(cur_weizoom_card_rule) response = create_response(200) response.data.items = cur_weizoom_card_rules response.data.sortAttr = request.GET.get('sort_attr', '-created_at') response.data.pageinfo = paginator.to_dict(pageinfo) return response.get_response()
def api_get(request): member_id = request.GET.get('mid') cards = mall_models.MemberHasCard.objects.filter( member_id=member_id, is_deleted=False ).order_by('-id') #进行分页 count_per_page = int(request.GET.get('count_per_page', COUNT_PER_PAGE)) cur_page = int(request.GET.get('page', '1')) pageinfo, cards = paginator.paginate(cards, cur_page, count_per_page) items = [] for card in cards: items.append({ 'id': card.id, 'bank_name': card.bank_name, 'card_number': card.card_number, 'valid_time': card.valid_time }) response_data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': 'id' } response = create_response(200) response.data = response_data return response.get_response()
def api_get(request): filter_name = request.GET.get('filter_name', '') categories = mall_models.ProductCategory.objects.filter( owner=request.manager) if filter_name: categories = categories.filter(name__contains=filter_name) count_per_page = int(request.GET.get('count_per_page', 10)) cur_page = int(request.GET.get('page', '1')) pageinfo, categories = paginator.paginate( categories, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) items = [] for category in categories: data = { 'id': category.id, 'name': category.name, 'created_at': category.created_at.strftime("%Y-%m-%d %H:%M") } items.append(data) response = create_response(200) response.data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': '', 'data': {} } return response.get_response()
def get_store(request): count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) filter_attr = request.GET.get('filter_attr') if filter_attr == 'city': stores =Store.objects.filter(owner=request.user, city=request.GET.get('filter_value')).order_by('-created_at') else: stores = Store.objects.filter(owner=request.user).order_by('-created_at') pageinfo, stores = paginator.paginate(stores, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) cur_stores = [] for c in stores: cur_store = JsonResponse() cur_store.id = c.id cur_store.name = c.name cur_store.city = c.city cur_store.created_at = datetime.strftime(c.created_at, '%Y-%m-%d %H:%M') cur_stores.append(cur_store) cur_citys = list(Store.objects.filter(owner=request.user).values('city').distinct()) response = create_response(200) response.data.items = cur_stores response.data.all_city = cur_citys response.data.sortAttr = request.GET.get('sort_attr', '-created_at') response.data.pageinfo = paginator.to_dict(pageinfo) return response.get_response()
def get_member_logs(request): member_id = request.GET.get('member_id', '') if member_id: member_logs = MemberIntegralLog.objects.filter(member_id=member_id).order_by('-id') else: member_logs = '' #进行分页 count_per_page = int(request.GET.get('count_per_page', 10)) cur_page = int(request.GET.get('page', '1')) pageinfo, member_logs = paginator.paginate(member_logs, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) data = [] for log in member_logs: data.append( {'event_type': log.event_type, 'integral_count': log.integral_count, 'created_at': log.created_at.strftime('%Y/%m/%d %H:%M:%S'), 'manager': log.manager, 'reason': log.reason, 'current_integral': log.current_integral }) response = create_response(200) response.data = { 'items': data, 'pageinfo': paginator.to_dict(pageinfo), } return response.get_response()
def api_get(request): cur_page = int(request.GET.get('page', '1')) count_per_page = 10 # 处理排序 sort_attr = request.GET .get('sort_attr', None); name = request.GET.get('name', None); if not sort_attr: sort_attr = '-created_at' if not name: suppliers = list(Supplier.objects.filter(owner_id=request.manager.id).filter(is_delete=False).order_by('-id')) else: suppliers = list(Supplier.objects.filter(owner_id=request.manager.id).filter(name__contains=name).filter(is_delete=False).order_by('-id')) pageinfo, part_suppliers = paginator.paginate(suppliers, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) result_supplier = [] for supplier in part_suppliers: result_supplier.append({ "id": supplier.id, "name": supplier.name, "responsible_person": supplier.responsible_person, "supplier_tel": supplier.supplier_tel, "supplier_address": supplier.supplier_address, "create_at": datetime.strftime(supplier.created_at, '%Y-%m-%d %H:%M'), "remark": supplier.remark }) response = create_response(200) response.data = { 'items': result_supplier, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': sort_attr } return response.get_response()
def api_get(request): """ 响应API GET """ pageinfo, datas = {{resource.class_name}}.get_datas(request) __STRIPPER_TAG__ tmp_member_ids = [] for data in datas: tmp_member_ids.append(data.member_id) members = member_models.Member.objects.filter(id__in=tmp_member_ids) member_id2member = {member.id: member for member in members} __STRIPPER_TAG__ items = [] for data in datas: items.append({ 'id': str(data.id), 'participant_name': member_id2member[data.member_id].username_size_ten if member_id2member.get(data.member_id) else u'未知', 'participant_icon': member_id2member[data.member_id].user_icon if member_id2member.get(data.member_id) else '/static/img/user-1.jpg', 'created_at': data.created_at.strftime("%Y-%m-%d %H:%M:%S") }) response_data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': 'id', 'data': {} } response = create_response(200) response.data = response_data return response.get_response()
def get_members(request): """ 获取会员列表 URL: http://weapp.weizoom.com/member/api/members/get/?design_mode=0&version=1&filter_value=pay_times:0-1|first_pay:2015-04-08%2000:00--2015-04-30%2000:00&page=1&count_per_page=50&enable_paginate=1×tamp=1435216368297&_=1435215905446 """ pageinfo, request_members, total_count = __get_request_members_list(request) # 构造返回数据 return_members_jsonarray = [] for member in request_members: return_members_jsonarray.append(__build_return_member_json(member)) tags_json = _get_tags_json(request) response = create_response(200) if request.user.username == 'shengjing360': is_shengjing = True else: is_shengjing = False response.data = { 'is_shengjing': is_shengjing, 'items': return_members_jsonarray, 'sortAttr': request.GET.get('sort_attr', '-created_at'), 'pageinfo': paginator.to_dict(pageinfo), 'tags': tags_json, 'selected_count': len(request_members), 'total_count': total_count } return response.get_response()
def api_get(request): """ 获取实时消息详情集合json数据 """ #获取当前页数 cur_page = int(request.GET.get('page', '1')) #获取每页个数 count_per_page = int(request.GET.get('count_per_page', COUNT_PER_PAGE)) #过滤条件 session_id = request.GET.get('session_id', '') replied = int(request.GET.get('replied', 0)) session = Session.objects.get(id=session_id) session.unread_count = 0 session.save() pageinfo, realtime_messages, member = get_messages(request.manager, request.user_profile, session_id, replied, cur_page, count_per_page, request.META['QUERY_STRING']) response = create_response(200) response.data = { 'items': realtime_messages, 'pageinfo': paginator.to_dict(pageinfo), 'session_id': session_id, 'member': member } return response.get_response()
def api_get(request): """ 响应API GET """ pageinfo, datas, member_id2tel = ExlotteryParticipances.get_datas(request) tmp_member_ids = [] for data in datas: tmp_member_ids.append(data.member_id) members = member_models.Member.objects.filter(id__in=tmp_member_ids) member_id2member = {member.id: member for member in members} items = [] for data in datas: member_id = data.member_id items.append({ 'id': str(data.id), 'participant_name': member_id2member[member_id].username_truncated if member_id2member.get(member_id) else u'未知', 'participant_icon': member_id2member[member_id].user_icon if member_id2member.get(member_id) else '/static/img/user-1.jpg', 'tel': member_id2tel.get(member_id, '') if not data.tel else data.tel, 'prize_title': data.prize_title, 'prize_name': data.prize_name, 'status': data.status, 'created_at': data.created_at.strftime("%Y-%m-%d %H:%M:%S") }) response_data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': 'id', 'data': {} } response = create_response(200) response.data = response_data return response.get_response()
def get_newses(request): materials = Material.objects.filter( owner=request.user, is_deleted=False).order_by('-created_at') cur_page = request.GET.get('page', 1) count_per_page = request.GET.get('count_per_page', 20) response = create_response(200) if not cur_page == "0": pageinfo, materials = paginator.paginate( materials, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) response.data.pageinfo = paginator.to_dict(pageinfo) else: pass material_ids = [m.id for m in materials] id2material = __get_materials(material_ids) newses = [] for id in material_ids: data = dict() data['id'] = id data['newses'] = id2material[id] if len(data['newses']) == 0: #空素材,略过 pass else: newses.append(data) response.data.items = newses return response.get_response()
def get_red_envelopes(request): red_envelopes = RedEnvelope.objects.filter(owner=request.user, is_deleted=False) response = create_response(200) #进行分页 count_per_page = int(request.GET.get('count_per_page', 15)) cur_page = int(request.GET.get('page', '1')) pageinfo, red_envelopes = paginator.paginate( red_envelopes, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) response.data.items = [] for red_envelope in red_envelopes: cur_red_envelope = JsonResponse() cur_red_envelope.id = red_envelope.id cur_red_envelope.name = red_envelope.name response.data.items.append(cur_red_envelope) response.data.pageinfo = paginator.to_dict(pageinfo) response.data.sortAttr = request.GET.get('sort_attr', '-created_at') return response.get_response()
def get_orders(request): token = request.GET.get('token', '').strip() response = erp_util.check_invalid_serach_type( request.GET.get('serach_type', '0')) if response: return response try: pageinfo, request_orders, count_per_page = __get_request_order_list( request) return_orders_jsonarray = [] # 构造返回数据 for order in request_orders: return_orders_jsonarray.append( __build_return_order_min_json(order)) response = create_response(200) response.data = {'items': return_orders_jsonarray} if count_per_page == -1: response.data['pageinfo'] = { 'object_count': pageinfo['object_count'] } else: response.data['pageinfo'] = paginator.to_dict(pageinfo) except: response = create_response(590) response.errMsg = u'内部异常' error_msg = u"erp获取订单列表 token={}, cause:\n{}".format( token, unicode_full_stack()) response.innerErrMsg = error_msg watchdog_error(error_msg) return response.get_response()
def api_get(request): """ """ notices = notices_models.Notice.objects.all().order_by('-id') notices_json = [] # 进行分页 count_per_page = int(request.GET.get('count_per_page', 4)) cur_page = int(request.GET.get('page', '1')) pageinfo, notices = paginator.paginate( list(notices), cur_page, count_per_page, query_string=request.META['QUERY_STRING']) for notice in notices: dict_notice = notice.to_dict() dict_notice['created_at'] = notice.created_at.strftime('%Y-%m-%d') notices_json.append(dict_notice) response = create_response(200) response.data = { 'items': notices_json, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': '', 'data': {}, } return response.get_response()
def get_records(request): user = request.user.get_profile() records = ShakeRecord.objects.filter(owner=request.user).order_by('-created_at') #进行分页 count_per_page = int(request.GET.get('count_per_page', 15)) cur_page = int(request.GET.get('page', '1')) pageinfo, records = paginator.paginate(records, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) response = create_response(200) response.data.items = [] for record in records: member = record.member one_record = JsonResponse() if member: one_record.username = member.username_for_html one_record.user_id = member.id else: one_record.username = u'未知' one_record.user_id = 0 one_record.money = str(record.money) one_record.name = record.shake_detail.shake.name one_record.is_sended = record.is_sended one_record.created_at = record.created_at.strftime('%Y-%m-%d %H:%M:%S') one_record.id = record.id response.data.items.append(one_record) response.data.pageinfo = paginator.to_dict(pageinfo) response.data.sortAttr = request.GET.get('sort_attr', '-created_at') return response.get_response()
def api_get(request): """ 查询已上架商品 """ product_name = request.GET.get('product_name','') bar_code = request.GET.get('bar_code', '') owner_id = request.manager.id #过滤掉已经关联过的商品 related_products = app_models.EvaluatesRelatedProducts.objects() related_products_ids = [p.product_id for p in related_products] #查询 param = { 'owner_id': owner_id } if product_name: param['name__icontains'] = product_name if bar_code: param['bar_code__icontains'] = bar_code products = mall_models.Product.objects.exclude(id__in = related_products_ids).filter(**param).order_by('-created_at') EvaluatesProducts.fill_display_price(products) # 分页 count_per_page = int(request.GET.get('count_per_page', COUNT_PER_PAGE)) current_page = int(request.GET.get('page', '1')) pageinfo, products = paginator.paginate(products, current_page,count_per_page, query_string=request.META['QUERY_STRING']) evaluates = app_models.ProductEvaluates.objects(owner_id=owner_id).order_by("-created_at") #构造商品对应的评价数映射 product_id2evaluate_count = {} for evaluate in evaluates: product_id = evaluate.product_id if product_id in product_id2evaluate_count: product_id2evaluate_count[product_id] += 1 else: product_id2evaluate_count[product_id] = 1 items = [] for product in products: product_id = product.id items.append({ 'id': product_id, 'bar_code': product.bar_code, 'product_name': product.name, 'price': product.display_price, 'evaluate_count': product_id2evaluate_count.get(product_id,0) }) response = create_response(200) response.data = { 'items': items, 'pageinfo': paginator.to_dict(pageinfo), 'sortAttr': '', 'data': {} } return response.get_response()
def get_managers(request): count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) is_manage = 'manage' in request.GET if is_manage: card_managers = WeiZoomCardManager.objects.all() else: card_managers = WeiZoomCardManager.objects.exclude( user_id=request.user.id) pageinfo, card_managers = paginator.paginate( card_managers, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) weizoomcardpermissions = WeiZoomCardPermission.objects.all() card_manager2weizoomcardpermission = {} for weizoomcardpermission in weizoomcardpermissions: card_manager2weizoomcardpermission[ weizoomcardpermission.user_id] = weizoomcardpermission cur_card_managers = [] for card_manager in card_managers: cur_card_manager = JsonResponse() cur_card_manager.id = card_manager.id cur_card_manager.user_id = card_manager.user_id cur_card_manager.username = card_manager.username cur_card_manager.nickname = card_manager.nickname try: cur_card_manager.can_create_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_create_card cur_card_manager.can_export_batch_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_export_batch_card cur_card_manager.can_add_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_add_card cur_card_manager.can_batch_stop_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_batch_stop_card cur_card_manager.can_batch_active_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_batch_active_card cur_card_manager.can_view_card_details = card_manager2weizoomcardpermission[ card_manager.user_id].can_view_card_details cur_card_manager.can_stop_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_stop_card cur_card_manager.can_active_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_active_card cur_card_manager.can_delay_card = card_manager2weizoomcardpermission[ card_manager.user_id].can_delay_card cur_card_manager.can_change_shop_config = card_manager2weizoomcardpermission[ card_manager.user_id].can_change_shop_config cur_card_manager.can_view_statistical_details = card_manager2weizoomcardpermission[ card_manager.user_id].can_view_statistical_details cur_card_manager.can_export_statistical_details = card_manager2weizoomcardpermission[ card_manager.user_id].can_export_statistical_details except: pass cur_card_managers.append(cur_card_manager) response = create_response(200) response.data.items = cur_card_managers response.data.pageinfo = paginator.to_dict(pageinfo) return response.get_response()
def get_weizoom_cards(request): count_per_page = int(request.GET.get('count_per_page', '1')) cur_page = int(request.GET.get('page', '1')) weizoom_card_rule_id = int(request.GET.get('weizoom_card_rule_id', '-1')) query = request.GET.get('query', None) weizoom_cards = WeizoomCard.objects.filter(owner=request.user, weizoom_card_rule_id=weizoom_card_rule_id) #获得已经过期的微众卡id today = datetime.today() card_ids_need_expire = [] for card in weizoom_cards: #记录过期并且是未使用的微众卡id if card.expired_time < today: card_ids_need_expire.append(card.id) if len(card_ids_need_expire) > 0: WeizoomCard.objects.filter(id__in=card_ids_need_expire).update(is_expired=True) #处理过滤 filter_attr = request.GET.get('filter_attr', None) filter_value = int(request.GET.get('filter_value', -1)) if filter_attr and (filter_value != -1): params = {filter_attr: filter_value} weizoom_cards = weizoom_cards.filter(**params) if query: weizoom_cards = weizoom_cards.filter(weizoom_card_id=query) pageinfo, weizoom_cards = paginator.paginate(weizoom_cards, cur_page, count_per_page, query_string=request.META['QUERY_STRING']) target_user_ids = [] for weizoom_card in weizoom_cards: target_user_ids.append(weizoom_card.target_user_id) card_has_accounts = WeizoomCardHasAccount.objects.filter(owner=request.user, account__in=target_user_ids) user2name = {} for card_has_account in card_has_accounts: user2name[card_has_account.account_id] = card_has_account.account_name cur_weizoom_cards = [] for c in weizoom_cards: cur_weizoom_card = JsonResponse() cur_weizoom_card.id = c.id cur_weizoom_card.status = c.status cur_weizoom_card.weizoom_card_id = c.weizoom_card_id cur_weizoom_card.password = c.password cur_weizoom_card.money = '%.2f' % c.money if c.activated_at: cur_weizoom_card.activated_at = c.activated_at.strftime('%Y-%m-%d %H:%M:%S') else: cur_weizoom_card.activated_at = '' cur_weizoom_card.target_name = user2name.get(c.target_user_id, u'') cur_weizoom_card.is_expired = c.is_expired cur_weizoom_cards.append(cur_weizoom_card) response = create_response(200) response.data.items = cur_weizoom_cards response.data.sortAttr = request.GET.get('sort_attr', '-created_at') response.data.pageinfo = paginator.to_dict(pageinfo) return response.get_response()