# -*- coding: utf-8 -*- # File Name:mqtt_chat_client.py # Python Version:3.5.1 import os import django import sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录 sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir))) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yfwlw_pro.settings") # 你的django的settings文件 # os.environ.setdefault("DJANGO_SETTINGS_MODULE", # "yfwlw_pro.settings") # project_name 项目名称 django.setup() import json from apps.AppInfoManage.models import Equip, Equip_type, MyUser, CBDphoto, CBDstatus, QXZdata, SCDstatus, CBDstatus, Equip_SimInfo, YBQstatus import re import datetime import time from apps.SimInfo.views import get_siminfo while True: sta1 = SCDstatus.objects.all() sta2 = CBDstatus.objects.all() sta3 = YBQstatus.objects.all() # _list = YBQstatus.objects.all() # for i in _list: # iccid = eval(i.ybq_status)['iccid'] # if len(iccid) == 20: # print(iccid) # 获取设备列表中的SIM卡的iccid号码: iccids = [] # 获取设备的id: equip_ids = [] # 获取设备的名称: equip_names = [] # 遍历查询流量信息: siminfos = [] for i in sta1: try: iccid = eval(i.scd_status)['iccid'] except: iccid = "" iccids.append(iccid) equip_ids.append(str(i.equip_id)) equip_names.append(str(i.equip_id.equip_name)) for i in sta2: try: iccid = eval(i.cbd_status)['iccid'] except: iccid = "" iccids.append(iccid) equip_ids.append(str(i.equip_id)) equip_names.append(str(i.equip_id.equip_name)) for i in sta3: try: iccid = eval(i.ybq_status)['iccid'] if len(iccid) == 20: pass else: iccid = "" except: iccid = "" iccids.append(iccid) equip_ids.append(str(i.equip_id)) equip_names.append(str(i.equip_id.equip_name)) # print('all iccids :',iccids) # print('all equip_ids :',equip_ids) # print('all equip_names :',equip_names) # print('iccids :',iccids) # print('equip_ids :',equip_ids) # print('equip_names :',equip_names) # 调用api查到的iccid号: for i in range(len(iccids)): if iccids[i] != "": # print("------",i) # print('iccids :',iccids[i]) # print('equip_ids :',equip_ids[i]) # print('equip_names :',equip_names[i]) res = get_siminfo(iccids[i]) sim_res = res.text.encode('utf-8').decode('unicode_escape') if eval(sim_res)["code"] == 0: timeStamp = eval(sim_res)["data"]["expiry_date"] dateArray = datetime.datetime.utcfromtimestamp(timeStamp) otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S") timeStamp1 = eval(sim_res)["data"]["active_date"] dateArray1 = datetime.datetime.utcfromtimestamp(timeStamp1) otherStyleTime1 = dateArray1.strftime("%Y-%m-%d %H:%M:%S") if Equip_SimInfo.objects.filter(equip_id=equip_ids[i]).exists(): siminfo_obj = Equip_SimInfo.objects.get(equip_id=equip_ids[i]) siminfo_obj.equip_name = equip_names[i] siminfo_obj.equip_type = Equip.objects.get(equip_id=equip_ids[i]).equip_type_id siminfo_obj.iccid = eval(sim_res)["data"]["iccid"] siminfo_obj.msisdn = eval(sim_res)["data"]["msisdn"] siminfo_obj.imsi = eval(sim_res)["data"]["imsi"] siminfo_obj.sp_code = eval(sim_res)["data"]["sp_code"] siminfo_obj.carrier = eval(sim_res)["data"]["carrier"] siminfo_obj.data_plan = eval(sim_res)["data"]["data_plan"] siminfo_obj.data_usage = eval(sim_res)["data"]["data_usage"] siminfo_obj.account_status = eval(sim_res)["data"]["account_status"] siminfo_obj.expiry_date = otherStyleTime siminfo_obj.active = eval(sim_res)["data"]["active"] siminfo_obj.test_valid_date = eval(sim_res)["data"]["test_valid_date"] siminfo_obj.silent_valid_date = eval(sim_res)["data"]["silent_valid_date"] siminfo_obj.test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"] siminfo_obj.active_date = otherStyleTime1 siminfo_obj.data_balance = eval(sim_res)["data"]["data_balance"] siminfo_obj.outbound_date = eval(sim_res)["data"]["outbound_date"] siminfo_obj.support_sms = eval(sim_res)["data"]["support_sms"] siminfo_obj.upl_time = datetime.datetime.now() siminfo_obj.save() else: Equip_SimInfo.objects.create( equip_id = Equip.objects.get(equip_id=equip_ids[i]), equip_name = equip_names[i], equip_type = Equip.objects.get(equip_id=equip_ids[i]).equip_type_id, iccid = eval(sim_res)["data"]["iccid"], msisdn = eval(sim_res)["data"]["msisdn"], imsi = eval(sim_res)["data"]["imsi"], sp_code = eval(sim_res)["data"]["sp_code"], carrier = eval(sim_res)["data"]["carrier"], data_plan = eval(sim_res)["data"]["data_plan"], data_usage = eval(sim_res)["data"]["data_usage"], account_status = eval(sim_res)["data"]["account_status"], expiry_date = otherStyleTime, active = eval(sim_res)["data"]["active"], test_valid_date = eval(sim_res)["data"]["test_valid_date"], silent_valid_date = eval(sim_res)["data"]["silent_valid_date"], test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"], active_date = otherStyleTime1, data_balance = eval(sim_res)["data"]["data_balance"], outbound_date = eval(sim_res)["data"]["outbound_date"], support_sms = eval(sim_res)["data"]["support_sms"] ) print("-----sim卡信息更新成功------") time.sleep(72000)