scd_device_data.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. import os
  2. import sys
  3. import time
  4. import django
  5. local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
  6. print(local_path)
  7. if local_path not in sys.path:
  8. sys.path.append(local_path)
  9. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kedong.settings")
  10. django.setup()
  11. from django.conf import settings
  12. from smartfarming.models.device import MongoDevice, MongoSCDData
  13. import json
  14. import requests
  15. import pymongo
  16. from urllib import parse
  17. my_client = pymongo.MongoClient(host="8.136.98.49", port=27017, username="root", password="yfkj@6020")
  18. my_col = my_client['smartfarming']['sa_device']
  19. scd_device = {
  20. "865328061465380",
  21. "865328061478136",
  22. "865328061471529",
  23. "865328061466933",
  24. "865328061428701",
  25. "865328061466404",
  26. "865328061449913",
  27. "865328061455027",
  28. "865328061271879",
  29. "865328061253190",
  30. "865328061460159",
  31. "865328061438890",
  32. "865328061429451",
  33. "869298052295540",
  34. "865328061465679",
  35. "865328061450044"
  36. }
  37. def dsj_qxz_conf_info():
  38. user = parse.quote_plus("root")
  39. passwd = parse.quote_plus("yfkj@6020")
  40. # 账号密码方式连接MongoDB | "mongodb://用户名:密码@公网ip:端口/"
  41. myclient = pymongo.MongoClient("mongodb://{0}:{1}@8.136.98.49:57017/".format(user,passwd))
  42. # myclient = pymongo.MongoClient("mongodb://127.0.0.1:12514/")
  43. # 指定数据库
  44. db = myclient.smartfarming
  45. # 指定集合
  46. collection = db.sa_device
  47. collection1 = db.sa_device_scd_data
  48. for i in scd_device:
  49. device_info = collection.find_one({'device_id':i})
  50. device_id = device_info['id']
  51. id = device_info["id"]
  52. device, is_created = MongoDevice.objects.get_or_create(
  53. device_id = device_info["device_id"],
  54. defaults={
  55. "dver_num": device_info["dver_num"],
  56. "device_model": device_info["device_model"],
  57. "device_type_id": device_info["device_type_id"],
  58. "device_name": device_info["device_name"],
  59. "owner_uid": device_info["owner_uid"],
  60. "user_dealer": device_info["user_dealer"],
  61. "province": device_info["province"],
  62. "city": device_info["city"],
  63. "district": device_info["district"],
  64. "device_code": device_info["device_code"],
  65. "device_status": device_info["device_status"],
  66. "off_time": device_info["off_time"],
  67. "ftp_push_addr": device_info["ftp_push_addr"],
  68. "serverconf": device_info["serverconf"],
  69. "lng": device_info["lng"],
  70. "lat": device_info["lat"],
  71. "gps": device_info["gps"],
  72. "addtime": device_info["addtime"],
  73. "uptime": device_info["uptime"],
  74. "glass_slide_time": device_info["glass_slide_time"],
  75. "cultivate_time": device_info["cultivate_time"],
  76. "add_position": device_info["add_position"],
  77. "simid": device_info["simid"],
  78. "disable": device_info["disable"],
  79. "decoy": device_info["decoy"],
  80. "sim_dealer": device_info["sim_dealer"],
  81. "xy_uptime": device_info["xy_uptime"],
  82. "networking": device_info["networking"],
  83. "equipment": device_info["equipment"],
  84. "sale_uid": device_info["sale_uid"],
  85. "salesman_task_number": device_info["salesman_task_number"],
  86. "whether_equipment_status": device_info["whether_equipment_status"],
  87. "device_expire_time": device_info["device_expire_time"],
  88. "device_activation": device_info["device_activation"],
  89. "device_expire": device_info["device_expire"],
  90. "device_expire_days": device_info["device_expire_days"],
  91. "water_pump_switch": device_info["water_pump_switch"],
  92. "device_notes": device_info["device_notes"],
  93. "water_pump_times": device_info["water_pump_times"],
  94. "water_pump_switch_times": device_info["water_pump_switch_times"],
  95. "xy_expire_time": device_info["xy_expire_time"],
  96. "device_tag": device_info["device_tag"]
  97. }
  98. )
  99. print(device.id, is_created)
  100. data = {'device_id': device_id,'addtime':{'$gt':1681808604}}
  101. cursor = collection1.find(data,{'_id':0,'id':0,'device_id':0})
  102. for i in cursor:
  103. scd_data = MongoSCDData.objects.create(
  104. device_id=device.id,
  105. device_data=i["device_data"],
  106. addtime=i['addtime'],
  107. device_status=i['device_status']
  108. )
  109. print(scd_data.id)
  110. return True
  111. if __name__ == "__main__":
  112. dsj_qxz_conf_info()