# -*- coding: utf-8 -*- # !/usr/bin/env python from mongoengine import Q from apilib.utils_datetime import to_datetime from base import init_env, get_logger init_env(interactive = True) from apps import reportCache logger = get_logger(__name__) from apps.web.core.accounting import groupCountNetPayTmpl from apps.web.device.models import Group from apps.web.user.models import ConsumeRecord # 获取所有的设备ID todayDate = '2018-10-06' beginTime = todayDate + ' 00:00:00' endTime = todayDate + ' 23:59:59' # 恢复组数据统计数据 groups = Group.get_collection().find(spec = {}, fields = {'_id': 1}) for group in groups: groupId = str(group['_id']) consume_filter = Q(__raw__ = {'groupId': groupId}) consume_filter &= Q(__raw__ = {'dateTimeAdded': {'$gte': to_datetime(beginTime)}}) consume_filter &= Q(__raw__ = {'dateTimeAdded': {'$lte': to_datetime(endTime)}}) count = ConsumeRecord.get_collection().find(spec = consume_filter.to_query(ConsumeRecord), fields = {'_id': 1}).count() key = groupCountNetPayTmpl(str(groupId), todayDate) reportCache.set(key, str(count)) logger.info('finish groups!') # 恢复线上投币次数数据 logger.info('finish all!')