Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
	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()
Ejemplo n.º 3
0
	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()		
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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()
Ejemplo n.º 6
0
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()
Ejemplo n.º 7
0
 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()
Ejemplo n.º 8
0
    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()
Ejemplo n.º 9
0
    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()
Ejemplo n.º 10
0
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()
Ejemplo n.º 11
0
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()
Ejemplo n.º 12
0
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()
Ejemplo n.º 13
0
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()
Ejemplo n.º 14
0
	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()
Ejemplo n.º 15
0
    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()
Ejemplo n.º 16
0
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()
Ejemplo n.º 17
0
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()
Ejemplo n.º 18
0
    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()		
Ejemplo n.º 20
0
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&timestamp=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()
Ejemplo n.º 21
0
    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()
Ejemplo n.º 22
0
	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()
Ejemplo n.º 23
0
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()
Ejemplo n.º 24
0
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()
Ejemplo n.º 25
0
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()
Ejemplo n.º 26
0
    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()
Ejemplo n.º 27
0
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()
Ejemplo n.º 28
0
	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()
Ejemplo n.º 29
0
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()
Ejemplo n.º 30
0
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()