| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- import os
- import sys
- import time
- import django
- local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
- print(local_path)
- if local_path not in sys.path:
- sys.path.append(local_path)
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kedong.settings")
- django.setup()
- from django.conf import settings
- from smartfarming.models.device import MongoDevice
- from smartfarming.models.weather import QXZdata_New
- import json
- import requests
- import pymongo
- from urllib import parse
- my_client = pymongo.MongoClient(host="8.136.98.49", port=27017, username="root", password="yfkj@6020")
- my_col = my_client['smartfarming']['sa_device']
- qx_device = {
- # "861551055315402",
- # "861551056086671",
- # "861551056088693",
- # "861551056088479",
- # "861551056088719",
- # "861551055313365",
- # "861551056086614",
- # "861551056093800"
- "861551056095367",
- "861551056102502",
- "861551056096621",
- "861551056101785",
- "861551056086549",
- "861551055354120",
- "861551055353536",
- "861551056092018",
- "861551055319586",
- "861551056088875",
- "861551055324651",
- "861551055313423"
- }
- def dsj_qxz_conf_info():
- user = parse.quote_plus("root")
- passwd = parse.quote_plus("yfkj@6020")
- # 账号密码方式连接MongoDB | "mongodb://用户名:密码@公网ip:端口/"
- myclient = pymongo.MongoClient("mongodb://{0}:{1}@8.136.98.49:57017/".format(user,passwd))
- # myclient = pymongo.MongoClient("mongodb://127.0.0.1:12514/")
- # 指定数据库
- db = myclient.smartfarming
- # 指定集合
- collection = db.sa_device
- collection1 = db.sa_qxz_data
- for i in qx_device:
- device_info = collection.find_one({'device_id':i})
- device_id = device_info['id']
- id = device_info["id"]
- device, is_created = MongoDevice.objects.get_or_create(
- device_id = device_info["device_id"],
- defaults={
- "dver_num": device_info["dver_num"],
- "device_model": device_info["device_model"],
- "device_type_id": device_info["device_type_id"],
- "device_name": device_info["device_name"],
- "owner_uid": device_info["owner_uid"],
- "user_dealer": device_info["user_dealer"],
- "province": device_info["province"],
- "city": device_info["city"],
- "district": device_info["district"],
- "device_code": device_info["device_code"],
- "device_status": device_info["device_status"],
- "off_time": device_info["off_time"],
- "ftp_push_addr": device_info["ftp_push_addr"],
- "serverconf": device_info["serverconf"],
- "lng": device_info["lng"],
- "lat": device_info["lat"],
- "gps": device_info["gps"],
- "addtime": device_info["addtime"],
- "uptime": device_info["uptime"],
- "glass_slide_time": device_info["glass_slide_time"],
- "cultivate_time": device_info["cultivate_time"],
- "add_position": device_info["add_position"],
- "simid": device_info["simid"],
- "disable": device_info["disable"],
- "decoy": device_info["decoy"],
- "sim_dealer": device_info["sim_dealer"],
- "xy_uptime": device_info["xy_uptime"],
- "networking": device_info["networking"],
- "equipment": device_info["equipment"],
- "sale_uid": device_info["sale_uid"],
- "salesman_task_number": device_info["salesman_task_number"],
- "whether_equipment_status": device_info["whether_equipment_status"],
- "device_expire_time": device_info["device_expire_time"],
- "device_activation": device_info["device_activation"],
- "device_expire": device_info["device_expire"],
- "device_expire_days": device_info["device_expire_days"],
- "water_pump_switch": device_info["water_pump_switch"],
- "device_notes": device_info["device_notes"],
- "water_pump_times": device_info["water_pump_times"],
- "water_pump_switch_times": device_info["water_pump_switch_times"],
- "xy_expire_time": device_info["xy_expire_time"],
- "device_tag": device_info["device_tag"]
- }
- )
- print(device.id, is_created)
- data = {'device_id': i,'uptime':{'$gt':1688919860}}
- cursor = collection1.find(data,{'_id':0,'id':0})
- for i in cursor:
- qx_data = QXZdata_New.objects.create(
- device_id = i['device_id'],
- uptime = i['uptime'],
- e1 = i['e1'],
- e2 = i['e2'],
- e3 = i['e3'],
- e4 = i['e4'],
- e5 = i['e5'],
- e6 = i['e6'],
- e7 = i['e7'],
- e8 = i['e8'],
- e9 = i['e9'],
- e10 = i['e10'],
- e11 = i['e11'],
- e12 = i['e12'],
- e13 = i['e13'],
- e14 = i['e14'],
- e15 = i['e15'],
- e16 = i['e16'],
- e17 = i['e17'],
- e18 = i['e18'],
- e19 = i['e19'],
- e20 = i['e20'],
- e21 = i['e21'],
- e22 = i['e22'],
- e23 = i['e23'],
- e24 = i['e24'],
- e25 = i['e25'],
- e26 = i['e26'],
- e27 = i['e27'],
- e28 = i['e28'],
- e29 = i['e29'],
- e30 = i['e30']
- )
- print(f"设备: {i} 数据量 {cursor.count()}")
- return True
- if __name__ == "__main__":
- dsj_qxz_conf_info()
|