def get_shopmanagers(request): ''' 获取门店管理员列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) shopNo = request.GET.get('shopNo') registerStart = request.GET.get('registerStart') registerEnd = request.GET.get('registerEnd') users = AuthShopManager.objects.filter(is_staff=True) if shopNo: users = users.filter(shopNo=shopNo) if registerStart: users = users.filter(date_joined__gte=registerStart) if registerEnd: users = users.filter(date_joined__lt=cast_endtime(registerEnd)) count = users.count() # 总数 mgrs = users.order_by('-date_joined')[(page - 1) * pagesize:page * pagesize] shopNo_list = [item.shopNo for item in mgrs] shops = Shop.objects.filter(fiveSysId__in=shopNo_list).values('fiveSysId', 'shopName') result = [] for item in mgrs: shopName = safe_dict_value(list(filter(lambda m: m['fiveSysId'] == item.shopNo, shops)), 'shopName') result.append(item.to_dict(shopName)) paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_activities(request): ''' 获取活动列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) raId = request.GET.get('raId') acStart = request.GET.get('acStart') acEnd = request.GET.get('acEnd') acitivities = RidersActivity.objects.all() if raId: acitivities = acitivities.filter(raId=raId) if acStart: acitivities = acitivities.filter(acTime__gte=acStart) if acEnd: acitivities = acitivities.filter(acTime__lt=cast_endtime(acEnd)) count = acitivities.count() # 总数 acitivities = acitivities.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in acitivities] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_shop_stats(request): ''' 获取门店结算数据 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) shopNo = request.GET.get('shopNo') payTime = request.GET.get('payTime') stats = ReceiveMoney.objects.filter(payType=2).extra( where=['status & 2=2']) if shopNo: stats = stats.filter(shopNo=shopNo) payTime = datetime.strptime(payTime, '%Y-%m') if payTime else datetime.now() stats = stats.filter(payTime__year=payTime.year, payTime__month=payTime.month) count = stats.count() # 总数 stats = stats[(page - 1) * pagesize:page * pagesize] shopNo_list = [item.shopNo for item in stats] shops = Shop.objects.filter(fiveSysId__in=shopNo_list).values( 'fiveSysId', 'shopName') result = [] for item in stats: shopName = safe_dict_value( list(filter(lambda m: m['fiveSysId'] == item.shopNo, shops)), 'shopName') result.append(item.to_dict(shopName)) paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_awardrecords(request): ''' 获取充值推荐奖励列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) poId = request.GET.get('poId') awards = [] if poId: try: award = AwardRecord.objects.get(payOrder__poId=poId) recommend = RecommendRelate.objects.get( user__userId=award.user.userId) except Exception as e: pass else: award = award.to_dict() first_user = safe_id_name(recommend.firstUserId) second_user = safe_id_name(recommend.secondUserId) third_user = safe_id_name(recommend.threeUserId) award['firstUserId'] = first_user['userId'] award['firstUserName'] = first_user['userName'] award['secondUserId'] = second_user['userId'] award['secondUserName'] = second_user['userName'] award['thirdUserId'] = third_user['userId'] award['thirdUserName'] = third_user['userName'] awards = [award] count = len(awards) # 总数 paged_result.set(page, pagesize, count, awards) return JsonResponse(paged_result.to_dict())
def get_advances(request): ''' 获取预约列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) userId = request.GET.get('userId') shopNo = request.GET.get('shopNo') advances = AdvanceInfo.objects.all() if userId: advances = advances.filter(user__userId=userId) if shopNo: advances = advances.filter(shopNo=shopNo) count = advances.count() # 总数 advances = advances.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] advances = list(advances) shopNo_list = [item.shopNo for item in advances] shops = Shop.objects.filter(fiveSysId__in=shopNo_list).values( 'fiveSysId', 'shopName') result = [] for advance in advances: shopName = safe_dict_value( list(filter(lambda m: m['fiveSysId'] == advance.shopNo, shops)), 'shopName') result.append(advance.to_dict(shopName)) paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_obds(request): ''' 获取obd设备列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) sn = request.GET.get('sn') purchaseTime = request.GET.get('purchaseTime') purchaseTimeEnd = request.GET.get('purchaseTimeEnd') obds = ObdDevice.objects.all() if sn: obds = obds.filter(sn__contains=sn) if purchaseTime: obds = obds.filter(purchaseTime__gt=purchaseTime) if purchaseTimeEnd: obds = obds.filter(purchaseTime__lt=cast_endtime(purchaseTimeEnd)) count = obds.count() # 总数 obds = obds.order_by('-purchaseTime')[(page - 1) * pagesize:page * pagesize] obd_sns = [item.sn for item in obds] car_obds = CarObd.objects.filter(sn__in=obd_sns).values( 'sn', 'shopNo', 'carId') #车辆obd关联数据 shopNo_list = [] carId_list = [] for item in car_obds: shopNo_list.append(item['shopNo']) carId_list.append(item['carId']) shops = Shop.objects.filter(fiveSysId__in=shopNo_list).values( 'fiveSysId', 'shopName') cars = CarInfo.objects.filter(carId__in=carId_list).values( 'carId', 'carNoFix', 'carNo') result = [] for obd in obds: d1 = safe_dict_values( list(filter(lambda m: m['sn'] == obd.sn, car_obds)), 'shopNo', 'carId') d2 = safe_dict_values( list(filter(lambda m: m['carId'] == d1['carId'], cars)), 'carNoFix', 'carNo') shopName = safe_dict_value( list(filter(lambda m: m['fiveSysId'] == d1['shopNo'], shops)), 'shopName') result.append( obd.to_dict(d1['shopNo'], shopName, d1['carId'], d2['carNoFix'], d2['carNo'])) paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_headlines(request): ''' 获取头条列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) headlines = Headline.objects.all() count = headlines.count() # 总数 headlines = headlines.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in headlines] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_groups(request): ''' 获取角色列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) keyword = request.GET.get('keywords') groups = Group.objects.all() if keyword: groups = groups.filter(name__contains=keyword) # 按名称查询 count = groups.count() # 总数 groups = groups[(page - 1) * pagesize:page * pagesize] result = [{'id': item.id, 'name': item.name} for item in groups] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_adpositions(request): ''' 获取广告位列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) adpositions = Adposition.objects.all() count = adpositions.count() # 总数 adpositions = adpositions.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in adpositions] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_users(request): ''' 获取管理用户列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) keyword = request.GET.get('keywords') users = AuthUser.objects.all() if keyword: users = users.filter(username__contains=keyword) # 按名称查询 count = users.count() # 总数 users = users.order_by('-date_joined')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in users] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_products(request): ''' 获取产品列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) keyword = request.GET.get('keywords') products = PayInfo.objects.all() if keyword: products = products.filter(username__contains=keyword) # 按名称查询 count = products.count() # 总数 users = products.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in users] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_sms(request): ''' 获取短信列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) raId = request.GET.get('raId') acStart = request.GET.get('acStart') acEnd = request.GET.get('acEnd') sms = SmsRecord.objects.all() count = sms.count() # 总数 sms = sms.order_by('-sendTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in sms] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_logs(request): ''' 获取日志列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) # raId = request.GET.get('raId') actionStart = request.GET.get('actionStart') actionEnd = request.GET.get('actionEnd') logs = LogEntry.objects.all() if actionStart: logs = logs.filter(action_time__gte=actionStart) if actionEnd: logs = logs.filter(action_time__lt=cast_endtime(actionEnd)) count = logs.count() # 总数 logs = logs.order_by('-action_time')[(page - 1) * pagesize:page * pagesize] user_ids = list(logs.values_list('user_id', flat=True)) users = AuthUser.objects.filter(id__in=user_ids).values('id', 'username') result = [{ 'id': item.id, 'object_id': item.object_id, 'object_repr': item.object_repr, 'action_flag': ACTION_FLAG.get(item.action_flag), 'ip': item.change_message, 'user_id': item.user_id, 'username': safe_dict_value(list(filter(lambda m: m['id'] == item.user_id, users)), 'username'), 'action_time': formattime(item.action_time) } for item in logs] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_cars(request): ''' 获取车辆列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) userId = request.GET.get('userId') carNo = request.GET.get('carNo') cars = CarInfo.objects.all() if userId: cars = cars.filter(user__userId=userId) if carNo: cars = cars.filter(carNo__icontains=carNo) count = cars.count() # 总数 users = cars.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in users] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_users(request): ''' 获取用户列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) userId = request.GET.get('userId') registerStart = request.GET.get('registerStart') registerEnd = request.GET.get('registerEnd') users = User.objects.extra(where=['status & 4=0']) # 非删除、非店长 if userId: users = users.filter(userId=userId) if registerStart: users = users.filter(registerTime__gte=registerStart) if registerEnd: users = users.filter(registerTime__lt=cast_endtime(registerEnd)) count = users.count() # 总数 users = users.order_by('-registerTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in users] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_withdraworders(request): ''' 获取提现列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) userId = request.GET.get('userId') createStart = request.GET.get('createStart') createEnd = request.GET.get('createEnd') orders = WithdrawOrder.objects.all() if userId: orders = WithdrawOrder.objects.filter(user__userId=userId) if createStart: orders = orders.filter(wrTime__gte=createStart) if createEnd: orders = orders.filter(wrTime__lt=cast_endtime(createEnd)) count = orders.count() # 总数 users = orders.order_by('-wrTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in users] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_payorders(request): ''' 获取充值列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) userId = request.GET.get('userId') payStart = request.GET.get('payStart') payEnd = request.GET.get('payEnd') orders = PayOrder.objects.all() if userId: orders = orders.filter(user__userId=userId) if payStart: orders = orders.filter(payTime__gte=payStart) if payEnd: orders = orders.filter(payTime__lt=cast_endtime(payEnd)) count = orders.count() # 总数 orders = orders.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in orders] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_shops(request): ''' 获取门店列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) shopNo = request.GET.get('shopNo') createStart = request.GET.get('createStart') createEnd = request.GET.get('createEnd') shops = Shop.objects.all() if shopNo: shops = shops.filter(fiveSysId=shopNo) if createStart: shops = shops.filter(createdTime__gte=createStart) if createEnd: shops = shops.filter(createdTime__lt=cast_endtime(createEnd)) count = shops.count() # 总数 shops = shops.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in shops] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_ads(request): ''' 获取广告列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) posiId = request.GET.get('posiId') createStart = request.GET.get('createStart') createEnd = request.GET.get('createEnd') ads = Advertisement.objects.all() if posiId: ads = ads.filter(adPosition__posiId=posiId) if createStart: ads = ads.filter(createdTime__gte=createStart) if createEnd: ads = ads.filter(createdTime__lt=cast_endtime(createEnd)) count = ads.count() # 总数 adpositions = ads.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in adpositions] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())
def get_signs(request): ''' 获取活动报名列表 ''' page = int(request.GET.get('page', 1)) pagesize = int(request.GET.get('rows', 15)) raId = request.GET.get('raId') createStart = request.GET.get('createStart') createEnd = request.GET.get('createEnd') signs = ActivitySign.objects.select_related().all() if raId: signs = signs.filter(ridersActivity__raId=raId) if createStart: signs = signs.filter(createdTime__gte=createStart) if createEnd: signs = signs.filter(createdTime__lt=cast_endtime(createEnd)) count = signs.count() # 总数 signs = signs.order_by('-createdTime')[(page - 1) * pagesize:page * pagesize] result = [item.to_dict() for item in signs] paged_result.set(page, pagesize, count, result) return JsonResponse(paged_result.to_dict())