qxz_http.py 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. import os
  2. import django
  3. import sys
  4. BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
  5. sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
  6. os.environ.setdefault("DJANGO_SETTINGS_MODULE",
  7. "yfwlw_pro.settings") # project_name 项目名称
  8. django.setup()
  9. import json
  10. import time
  11. import requests
  12. import datetime
  13. from apps.ReportManage.all_dict import qxz_dict, ql_qxz
  14. from apps.AppInfoManage.models import Equip, Equip_type, QXZstatus_New, QXZdata_New, QXZ_Default_Conf, QXZ_Conf
  15. print("--------qxz_http start!-----------")
  16. # url = 'http://cloud.cqyoushuo.com/api/GetNewData?uid=1EF0&key=99F1322FB10D93C49B6EA9583E4101D6'
  17. # r = requests.get(url)
  18. # rec = r.text
  19. # print(rec)
  20. while True:
  21. for imei in ql_qxz:
  22. key = ql_qxz[imei]
  23. url = 'http://cloud.cqyoushuo.com/api/GetNewData?uid=%s&key=%s'%(imei,key)
  24. r = requests.get(url)
  25. rec = r.text
  26. # print(rec)
  27. qxzdata = eval(rec)["data"]
  28. time1 = eval(rec)["time1"]
  29. time1 = datetime.datetime.strptime(time1,'%Y-%m-%d %H:%M:%S')
  30. e1 = ''
  31. e2 = ''
  32. e3 = ''
  33. e4 = ''
  34. e5 = ''
  35. e6 = ''
  36. e7 = ''
  37. e8 = ''
  38. e9 = ''
  39. e10 = ''
  40. e11 = ''
  41. e12 = ''
  42. e13 = ''
  43. e14 = ''
  44. e15 = ''
  45. e16 = ''
  46. e17 = ''
  47. e18 = ''
  48. e19 = ''
  49. e20 = ''
  50. e21 = ''
  51. e22 = ''
  52. e23 = ''
  53. e24 = ''
  54. e25 = ''
  55. e26 = ''
  56. e27 = ''
  57. e28 = ''
  58. e29 = ''
  59. e30 = ''
  60. conf1 = ''
  61. conf2 = ''
  62. conf3 = ''
  63. conf4 = ''
  64. conf5 = ''
  65. conf6 = ''
  66. conf7 = ''
  67. conf8 = ''
  68. conf9 = ''
  69. conf10 = ''
  70. conf11 = ''
  71. conf12 = ''
  72. conf13 = ''
  73. conf14 = ''
  74. conf15 = ''
  75. conf16 = ''
  76. conf17 = ''
  77. conf18 = ''
  78. conf19 = ''
  79. conf20 = ''
  80. conf21 = ''
  81. conf22 = ''
  82. conf23 = ''
  83. conf24 = ''
  84. conf25 = ''
  85. conf26 = ''
  86. conf27 = ''
  87. conf28 = ''
  88. conf29 = ''
  89. conf30 = ''
  90. for i in qxzdata:
  91. if i['eKey'] == 'e1':
  92. e1 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  93. conf1 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  94. if e1[0] == "#":
  95. continue
  96. elif i['eKey'] == 'e2':
  97. e2 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  98. conf2 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  99. if e2[0] == "#":
  100. continue
  101. elif i['eKey'] == 'e3':
  102. e3 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  103. conf3 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  104. if e3[0] == "#":
  105. continue
  106. elif i['eKey'] == 'e4':
  107. e4 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  108. conf4 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  109. if e4[0] == "#":
  110. continue
  111. elif i['eKey'] == 'e5':
  112. e5 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  113. conf5 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  114. if e5[0] == "#":
  115. continue
  116. elif i['eKey'] == 'e6':
  117. e6 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  118. conf6 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  119. if e6[0] == "#":
  120. continue
  121. elif i['eKey'] == 'e7':
  122. e7 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  123. conf7 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  124. if e7[0] == "#":
  125. continue
  126. elif i['eKey'] == 'e8':
  127. e8 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  128. conf8 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  129. if e8[0] == "#":
  130. continue
  131. elif i['eKey'] == 'e9':
  132. e9 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  133. conf9 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  134. if e9[0] == "#":
  135. continue
  136. elif i['eKey'] == 'e10':
  137. e10 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  138. conf10 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  139. if e10[0] == "#":
  140. continue
  141. elif i['eKey'] == 'e11':
  142. e11 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  143. conf11 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  144. if e11[0] == "#":
  145. continue
  146. elif i['eKey'] == 'e12':
  147. e12 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  148. conf12 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  149. if e12[0] == "#":
  150. continue
  151. elif i['eKey'] == 'e13':
  152. e13 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  153. conf13 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  154. if e13[0] == "#":
  155. continue
  156. elif i['eKey'] == 'e14':
  157. e14 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  158. conf14 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  159. if e14[0] == "#":
  160. continue
  161. elif i['eKey'] == 'e15':
  162. e15 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  163. conf15 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  164. if e15[0] == "#":
  165. continue
  166. elif i['eKey'] == 'e16':
  167. e16 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  168. conf16 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  169. if e16[0] == "#":
  170. continue
  171. elif i['eKey'] == 'e17':
  172. e17 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  173. conf17 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  174. if e17[0] == "#":
  175. continue
  176. elif i['eKey'] == 'e18':
  177. e18 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  178. conf18 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  179. if e18[0] == "#":
  180. continue
  181. elif i['eKey'] == 'e19':
  182. e19 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  183. conf19 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  184. if e19[0] == "#":
  185. continue
  186. elif i['eKey'] == 'e20':
  187. e20 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  188. conf20 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  189. if e20[0] == "#":
  190. continue
  191. elif i['eKey'] == 'e21':
  192. e21 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  193. conf21 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  194. if e21[0] == "#":
  195. continue
  196. elif i['eKey'] == 'e22':
  197. e22 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  198. conf22 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  199. if e22[0] == "#":
  200. continue
  201. elif i['eKey'] == 'e23':
  202. e23 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  203. conf23 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  204. if e23[0] == "#":
  205. continue
  206. elif i['eKey'] == 'e24':
  207. e24 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  208. conf24 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  209. if e24[0] == "#":
  210. continue
  211. elif i['eKey'] == 'e25':
  212. e25 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  213. conf25 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  214. if e25[0] == "#":
  215. continue
  216. elif i['eKey'] == 'e26':
  217. e26 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  218. conf26 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  219. if e26[0] == "#":
  220. continue
  221. elif i['eKey'] == 'e27':
  222. e27 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  223. conf27 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  224. if e27[0] == "#":
  225. continue
  226. elif i['eKey'] == 'e28':
  227. e28 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  228. conf28 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  229. if e28[0] == "#":
  230. continue
  231. elif i['eKey'] == 'e29':
  232. e29 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  233. conf29 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  234. if e29[0] == "#":
  235. continue
  236. elif i['eKey'] == 'e30':
  237. e30 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  238. conf30 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  239. if e30[0] == "#":
  240. continue
  241. qxz_exist = Equip.objects.filter(equip_id=imei)
  242. # print("extdata:", extdata)
  243. # 设备存在,进一步判断状态表是否存在:
  244. if qxz_exist.exists():
  245. print("<-----this equip is existed!----->")
  246. try:
  247. e_id = Equip.objects.get(equip_id=imei)
  248. except:
  249. print("<-----this equip didn't exist!----->")
  250. print("================>>time1",time1)
  251. if QXZstatus_New.objects.get(equip_id=imei).upl_time == time1:
  252. print("===========暂未更新")
  253. else:
  254. try:
  255. # 设备数据表直接储存数据
  256. # QXZdata.objects.create(equip_id=e_id, qxz_data=extdata)
  257. QXZdata_New.objects.create(equip_id_id=e_id,
  258. e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
  259. e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
  260. e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,upl_time=time1)
  261. print("<-----data update success!----->")
  262. except:
  263. print("<-----data update failed!----->")
  264. if QXZstatus_New.objects.filter(equip_id=imei).exists():
  265. print("<-----this equip's status is existed!----->")
  266. try:
  267. sta = QXZstatus_New.objects.get(equip_id=imei)
  268. sta.e1 = e1
  269. sta.e2 = e2
  270. sta.e3 = e3
  271. sta.e4 = e4
  272. sta.e5 = e5
  273. sta.e6 = e6
  274. sta.e7 = e7
  275. sta.e8 = e8
  276. sta.e9 = e9
  277. sta.e10 = e10
  278. sta.e11 = e11
  279. sta.e12 = e12
  280. sta.e13 = e13
  281. sta.e14 = e14
  282. sta.e15 = e15
  283. sta.e16 = e16
  284. sta.e17 = e17
  285. sta.e18 = e18
  286. sta.e19 = e19
  287. sta.e20 = e20
  288. sta.e21 = e21
  289. sta.e22 = e22
  290. sta.e23 = e23
  291. sta.e24 = e24
  292. sta.e25 = e25
  293. sta.e26 = e26
  294. sta.e27 = e27
  295. sta.e28 = e28
  296. sta.e29 = e29
  297. sta.e30 = e30
  298. sta.upl_time = time1
  299. sta.save()
  300. print("<-----status update success!----->")
  301. except:
  302. print("<-----status update failed!----->")
  303. else:
  304. # 设备状态表不存在、创建状态表:
  305. print("<-----this equip's status is not existed!----->")
  306. try:
  307. QXZstatus_New.objects.create(equip_id_id=e_id,
  308. e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
  309. e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
  310. e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,upl_time=time1)
  311. # QXZstatus.objects.create(equip_id=e_id, qxz_status=extdata)
  312. print("<-----this equip's status table re-create successed!----->")
  313. except:
  314. print("<-----this equip's status table re-create failed!----->")
  315. print("1111111111")
  316. # 判断标题配置表
  317. if QXZ_Conf.objects.filter(equip_id=e_id).exists():
  318. print("------conf create default-------")
  319. else:
  320. QXZ_Conf.objects.create(equip_id_id=e_id,
  321. e1=conf1,e2=conf2,e3=conf3,e4=conf4,e5=conf5,e6=conf6,e7=conf7,e8=conf8,e9=conf9,e10=conf10,
  322. e11=conf11,e12=conf12,e13=conf13,e14=conf14,e15=conf15,e16=conf16,e17=conf17,e18=conf18,e19=conf19,e20=conf20,
  323. e21=conf21,e22=conf22,e23=conf23,e24=conf24,e25=conf25,e26=conf26,e27=conf27,e28=conf28,e29=conf29,e30=conf30)
  324. QXZ_Default_Conf.objects.create(equip_id_id=e_id,
  325. e1=conf1,e2=conf2,e3=conf3,e4=conf4,e5=conf5,e6=conf6,e7=conf7,e8=conf8,e9=conf9,e10=conf10,
  326. e11=conf11,e12=conf12,e13=conf13,e14=conf14,e15=conf15,e16=conf16,e17=conf17,e18=conf18,e19=conf19,e20=conf20,
  327. e21=conf21,e22=conf22,e23=conf23,e24=conf24,e25=conf25,e26=conf26,e27=conf27,e28=conf28,e29=conf29,e30=conf30)
  328. print("------conf create success-------")
  329. # 设备状态表存在、刷新状态表:
  330. print("2222222")
  331. else:
  332. print("<-----this equip not existed!----->")
  333. # 设备不存在,在设备列表中创建:
  334. equip_t = Equip_type.objects.get(type_id=5)
  335. try:
  336. e_id = Equip.objects.create(equip_id=imei, equip_type=equip_t)
  337. print("<-----this imei add successed!----->")
  338. try:
  339. # 设备数据表直接储存数据
  340. QXZdata_New.objects.create(equip_id_id=e_id,
  341. e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
  342. e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
  343. e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,upl_time=time1)
  344. # QXZdata.objects.create(equip_id=e_id, qxz_data=extdata)
  345. print("<-----data update success!----->")
  346. except:
  347. print("<-----data update failed!----->")
  348. try:
  349. QXZstatus_New.objects.create(equip_id_id=e_id,
  350. e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
  351. e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
  352. e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,upl_time=time1)
  353. # QXZstatus.objects.create(equip_id=e_id, qxz_status=extdata)
  354. print("<-----this imei register successed!----->")
  355. except:
  356. print("<-----this imei register failed!----->")
  357. # 判断标题配置表
  358. if QXZ_Conf.objects.filter(equip_id=e_id).exists():
  359. print("------conf create default-------")
  360. else:
  361. QXZ_Conf.objects.create(equip_id_id=e_id,
  362. e1=conf1,e2=conf2,e3=conf3,e4=conf4,e5=conf5,e6=conf6,e7=conf7,e8=conf8,e9=conf9,e10=conf10,
  363. e11=conf11,e12=conf12,e13=conf13,e14=conf14,e15=conf15,e16=conf16,e17=conf17,e18=conf18,e19=conf19,e20=conf20,
  364. e21=conf21,e22=conf22,e23=conf23,e24=conf24,e25=conf25,e26=conf26,e27=conf27,e28=conf28,e29=conf29,e30=conf30)
  365. QXZ_Default_Conf.objects.create(equip_id_id=e_id,
  366. e1=conf1,e2=conf2,e3=conf3,e4=conf4,e5=conf5,e6=conf6,e7=conf7,e8=conf8,e9=conf9,e10=conf10,
  367. e11=conf11,e12=conf12,e13=conf13,e14=conf14,e15=conf15,e16=conf16,e17=conf17,e18=conf18,e19=conf19,e20=conf20,
  368. e21=conf21,e22=conf22,e23=conf23,e24=conf24,e25=conf25,e26=conf26,e27=conf27,e28=conf28,e29=conf29,e30=conf30)
  369. print("------conf create success-------")
  370. except Exception as e:
  371. print(e)
  372. print("<-----this imei add failed!----->")
  373. time.sleep(1800)