|
|
@@ -8,7 +8,7 @@ import logging
|
|
|
from smartfarming.utils import get_addr_by_lag_lng
|
|
|
from smartfarming.serializers.device_serializers import DeviceSerializers
|
|
|
from smartfarming.models.device import MongoDevice, MongoCBDData, MongoSCDData, MongoXYCBData
|
|
|
-from smartfarming.models.weather import MongoQXZ_Base_Info, MongoQXZ_Info_Record, MongoQXZ_Conf
|
|
|
+from smartfarming.models.weather import MongoQXZ_Base_Info, MongoQXZ_Info_Record, MongoQXZ_Conf, QXZdata_New
|
|
|
from django.db.models import Q
|
|
|
|
|
|
from smartfarming.qxz import data_deal
|
|
|
@@ -29,7 +29,7 @@ class CbdScdXyDeviceSaveAPIView(APIView):
|
|
|
authentication_classes = []
|
|
|
|
|
|
def post(self, request):
|
|
|
- # 测报灯设备及数据入库
|
|
|
+ # 测报灯 杀虫灯 性诱 设备及数据入库
|
|
|
data = request.data
|
|
|
topic = data.get("topic")
|
|
|
payload = data.get("payload")
|
|
|
@@ -109,48 +109,28 @@ class CbdScdXyDeviceSaveAPIView(APIView):
|
|
|
return Response({"code": 2, "msg": "请核对数据结构"})
|
|
|
|
|
|
class QxzDeviceAddAPIViw(APIView):
|
|
|
-
|
|
|
+ permission_classes = []
|
|
|
+ authentication_classes = []
|
|
|
def post(self, request):
|
|
|
# 气象站上传数据
|
|
|
request_data = request.data
|
|
|
device_id = request_data.get("StationID")
|
|
|
uptime = request_data.get("MonitorTime")
|
|
|
data = request_data.get("data")
|
|
|
+ qx_ek = {}
|
|
|
+ for i in data:
|
|
|
+ tp_value = i.get("eValue")
|
|
|
+ if tp_value:
|
|
|
+ qx_ek[i.get("eKey")] = tp_value
|
|
|
+
|
|
|
if data:
|
|
|
# 30分钟上报一次的数据
|
|
|
conf_data = data_deal(data)
|
|
|
- qxz_data = MongoQXZ_Conf()
|
|
|
- qxz_data.device_id = 2
|
|
|
- qxz_data.e1 = data[1]
|
|
|
- qxz_data.e2 = data[2]
|
|
|
- qxz_data.e3 = data[3]
|
|
|
- qxz_data.e4 = data[4]
|
|
|
- qxz_data.e5 = data[5]
|
|
|
- qxz_data.e6 = data[6]
|
|
|
- qxz_data.e7 = data[7]
|
|
|
- qxz_data.e8 = data[8]
|
|
|
- qxz_data.e9 = data[9]
|
|
|
- qxz_data.e10 = data[10]
|
|
|
- qxz_data.e11 = data[11]
|
|
|
- qxz_data.e12 = data[12]
|
|
|
- qxz_data.e13 = data[13]
|
|
|
- qxz_data.e14 = data[14]
|
|
|
- qxz_data.e15 = data[15]
|
|
|
- qxz_data.e16 = data[16]
|
|
|
- qxz_data.e17 = data[17]
|
|
|
- qxz_data.e18 = data[18]
|
|
|
- qxz_data.e19 = data[19]
|
|
|
- qxz_data.e20 = data[20]
|
|
|
- qxz_data.e21 = data[21]
|
|
|
- qxz_data.e22 = data[22]
|
|
|
- qxz_data.e23 = data[23]
|
|
|
- qxz_data.e24 = data[24]
|
|
|
- qxz_data.e25 = data[25]
|
|
|
- qxz_data.e26 = data[26]
|
|
|
- qxz_data.e27 = data[27]
|
|
|
- qxz_data.e28 = data[28]
|
|
|
- qxz_data.e29 = data[29]
|
|
|
- qxz_data.e30 = data[30]
|
|
|
+ qx_ek["device_id"] = device_id
|
|
|
+ qx_ek["uptime"] = uptime
|
|
|
+ qxz_data = QXZdata_New(**qx_ek)
|
|
|
+ qxz_data.save()
|
|
|
+
|
|
|
|
|
|
|
|
|
|