# -*- coding: utf-8 -*- #!/usr/bin/env python import threading import uuid,os import simplejson as json import sys,time import datetime PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..') sys.path.insert(0, PROJECT_ROOT) os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.production"}) import django django.setup() from script.base import init_env, get_logger logger = get_logger(__name__) from apps.web.device.models import SIMCard,Device from apilib.utils_datetime import to_datetime from apps.web.dealer.models import DealerRechargeRecord from apps.web.constant import Const #sim卡的全同步脚本 logger.info('start update_device_sim_info_from_jieyang ......... ') devObjs = Device.objects.filter(iccid = None,ownerId__ne = '',groupId__ne = '',devType__ne = None) devNos = [] for dev in devObjs: if not dev.ownerId or not dev.groupId or not dev.devType or dev.logicalCode[0] in ['B','G']: continue if not str(dev.logicalCode).isdigit(): continue if len(dev.logicalCode) < 9 and int(dev.logicalCode) > 30000: continue print dev.logicalCode devNos.append(dev.devNo) #把这个月充值的设备的状态统一改回来,否则用户充值了,系统还会让别人充值 print 'all is ',len(devNos) Device.get_collection().update({'devNo':{'$in':devNos}}, {'$set':{'simStatus':'updated','simExpireDate':to_datetime('2021-03-31 00:00:00')}}, multi=True) Device.invalid_many_device_cache(devNos) logger.info('finished update_device_sim_info_from_jieyang')