siminfo_update.py 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. # -*- coding: utf-8 -*-
  2. # File Name:mqtt_chat_client.py
  3. # Python Version:3.5.1
  4. import os
  5. import django
  6. import sys
  7. BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
  8. sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
  9. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yfwlw_pro.settings") # 你的django的settings文件
  10. # os.environ.setdefault("DJANGO_SETTINGS_MODULE",
  11. # "yfwlw_pro.settings") # project_name 项目名称
  12. django.setup()
  13. import json
  14. from apps.AppInfoManage.models import Equip, Equip_type, MyUser, CBDphoto, CBDstatus, QXZdata, SCDstatus, CBDstatus, Equip_SimInfo, YBQstatus
  15. import re
  16. import datetime
  17. import time
  18. from apps.SimInfo.views import get_siminfo
  19. while True:
  20. sta1 = SCDstatus.objects.all()
  21. sta2 = CBDstatus.objects.all()
  22. sta3 = YBQstatus.objects.all()
  23. # _list = YBQstatus.objects.all()
  24. # for i in _list:
  25. # iccid = eval(i.ybq_status)['iccid']
  26. # if len(iccid) == 20:
  27. # print(iccid)
  28. # 获取设备列表中的SIM卡的iccid号码:
  29. iccids = []
  30. # 获取设备的id:
  31. equip_ids = []
  32. # 获取设备的名称:
  33. equip_names = []
  34. # 遍历查询流量信息:
  35. siminfos = []
  36. for i in sta1:
  37. try:
  38. iccid = eval(i.scd_status)['iccid']
  39. except:
  40. iccid = ""
  41. iccids.append(iccid)
  42. equip_ids.append(str(i.equip_id))
  43. equip_names.append(str(i.equip_id.equip_name))
  44. for i in sta2:
  45. try:
  46. iccid = eval(i.cbd_status)['iccid']
  47. except:
  48. iccid = ""
  49. iccids.append(iccid)
  50. equip_ids.append(str(i.equip_id))
  51. equip_names.append(str(i.equip_id.equip_name))
  52. for i in sta3:
  53. try:
  54. iccid = eval(i.ybq_status)['iccid']
  55. if len(iccid) == 20:
  56. pass
  57. else:
  58. iccid = ""
  59. except:
  60. iccid = ""
  61. iccids.append(iccid)
  62. equip_ids.append(str(i.equip_id))
  63. equip_names.append(str(i.equip_id.equip_name))
  64. # print('all iccids :',iccids)
  65. # print('all equip_ids :',equip_ids)
  66. # print('all equip_names :',equip_names)
  67. # print('iccids :',iccids)
  68. # print('equip_ids :',equip_ids)
  69. # print('equip_names :',equip_names)
  70. # 调用api查到的iccid号:
  71. for i in range(len(iccids)):
  72. if iccids[i] != "":
  73. # print("------",i)
  74. # print('iccids :',iccids[i])
  75. # print('equip_ids :',equip_ids[i])
  76. # print('equip_names :',equip_names[i])
  77. res = get_siminfo(iccids[i])
  78. sim_res = res.text.encode('utf-8').decode('unicode_escape')
  79. if eval(sim_res)["code"] == 0:
  80. timeStamp = eval(sim_res)["data"]["expiry_date"]
  81. dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
  82. otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
  83. timeStamp1 = eval(sim_res)["data"]["active_date"]
  84. dateArray1 = datetime.datetime.utcfromtimestamp(timeStamp1)
  85. otherStyleTime1 = dateArray1.strftime("%Y-%m-%d %H:%M:%S")
  86. if Equip_SimInfo.objects.filter(equip_id=equip_ids[i]).exists():
  87. siminfo_obj = Equip_SimInfo.objects.get(equip_id=equip_ids[i])
  88. siminfo_obj.equip_name = equip_names[i]
  89. siminfo_obj.equip_type = Equip.objects.get(equip_id=equip_ids[i]).equip_type_id
  90. siminfo_obj.iccid = eval(sim_res)["data"]["iccid"]
  91. siminfo_obj.msisdn = eval(sim_res)["data"]["msisdn"]
  92. siminfo_obj.imsi = eval(sim_res)["data"]["imsi"]
  93. siminfo_obj.sp_code = eval(sim_res)["data"]["sp_code"]
  94. siminfo_obj.carrier = eval(sim_res)["data"]["carrier"]
  95. siminfo_obj.data_plan = eval(sim_res)["data"]["data_plan"]
  96. siminfo_obj.data_usage = eval(sim_res)["data"]["data_usage"]
  97. siminfo_obj.account_status = eval(sim_res)["data"]["account_status"]
  98. siminfo_obj.expiry_date = otherStyleTime
  99. siminfo_obj.active = eval(sim_res)["data"]["active"]
  100. siminfo_obj.test_valid_date = eval(sim_res)["data"]["test_valid_date"]
  101. siminfo_obj.silent_valid_date = eval(sim_res)["data"]["silent_valid_date"]
  102. siminfo_obj.test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"]
  103. siminfo_obj.active_date = otherStyleTime1
  104. siminfo_obj.data_balance = eval(sim_res)["data"]["data_balance"]
  105. siminfo_obj.outbound_date = eval(sim_res)["data"]["outbound_date"]
  106. siminfo_obj.support_sms = eval(sim_res)["data"]["support_sms"]
  107. siminfo_obj.upl_time = datetime.datetime.now()
  108. siminfo_obj.save()
  109. else:
  110. Equip_SimInfo.objects.create(
  111. equip_id = Equip.objects.get(equip_id=equip_ids[i]),
  112. equip_name = equip_names[i],
  113. equip_type = Equip.objects.get(equip_id=equip_ids[i]).equip_type_id,
  114. iccid = eval(sim_res)["data"]["iccid"],
  115. msisdn = eval(sim_res)["data"]["msisdn"],
  116. imsi = eval(sim_res)["data"]["imsi"],
  117. sp_code = eval(sim_res)["data"]["sp_code"],
  118. carrier = eval(sim_res)["data"]["carrier"],
  119. data_plan = eval(sim_res)["data"]["data_plan"],
  120. data_usage = eval(sim_res)["data"]["data_usage"],
  121. account_status = eval(sim_res)["data"]["account_status"],
  122. expiry_date = otherStyleTime,
  123. active = eval(sim_res)["data"]["active"],
  124. test_valid_date = eval(sim_res)["data"]["test_valid_date"],
  125. silent_valid_date = eval(sim_res)["data"]["silent_valid_date"],
  126. test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"],
  127. active_date = otherStyleTime1,
  128. data_balance = eval(sim_res)["data"]["data_balance"],
  129. outbound_date = eval(sim_res)["data"]["outbound_date"],
  130. support_sms = eval(sim_res)["data"]["support_sms"]
  131. )
  132. print("-----sim卡信息更新成功------")
  133. time.sleep(72000)