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, MongoCBDData
from smartfarming.models.worm_forecast import MongoBZYphoto, MongoCBDphoto
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']

scd_device = {
"866547058627400",
"866547058637276",
"866547058633663",
"866547058613921"
}



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_device_cbdphoto

    for i in scd_device:
        device_info = collection.find_one({'device_id':i})
        device_id = device_info['id']
        id = device_info["id"]
        print(device_id, "================")
        data = {'device_id': str(device_id),'uptime':{'$gte':1689006195}}
        cursor = collection1.find(data,{'_id':0,'id':0})
        device_id = MongoDevice.objects.get(device_id=i).id 
        for i in cursor:
            if i["addr"] == i["indentify_photo"]:
                scd_data = MongoCBDphoto.objects.create(
                    device_id = device_id,
                    addtime = i["addtime"],
                    uptime = i["uptime"],
                    addr = i["addr"],
                    at = i["at"],
                    ah = i["ah"],
                    describe = i["describe"],
                    indentify_photo = i["indentify_photo"],
                    indentify_result = i["indentify_result"],
                    photo_status = i["photo_status"],
                    is_mark = i["is_mark"],
                    mark = i["mark"],
                    label = i["label"]
                )
                print(scd_data)
        print(f"设备: {i} {device_id} 数据量  {cursor.count()}")
    return True


if __name__ == "__main__":
    dsj_qxz_conf_info()