yf_yzl 2 anni fa
parent
commit
31751058b4
2 ha cambiato i file con 18 aggiunte e 38 eliminazioni
  1. 15 35
      smartfarming/views/device.py
  2. 3 3
      smartfarming/views/user.py

+ 15 - 35
smartfarming/views/device.py

@@ -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()
+
 
 
 

+ 3 - 3
smartfarming/views/user.py

@@ -226,7 +226,7 @@ class LoginInfoAPIView(APIView):
 class UserListAPIView(APIView):
 
     def post(self, request):
-        # 用户列表
+        # 用户列表  state 启用0 禁用 1  删除 4
         request_data = request.data
         search = request_data.get("search")
         page_num = int(request_data.get("pagenum", 1))
@@ -276,7 +276,7 @@ class UserAddAPIView(APIView):
         mobile = request_data.get("mobile")
         role_id = request_data.get("role_id")
         state = request_data.get("state")  # 1 正常
-        user = User.objects.filter(username=username)
+        user = User.objects.filter(username=username, is_active=1)
         if user:
             return Response({"code": 2, "msg": "该用户已存在"})
         user = User.objects.create_user(username=username, password=password)
@@ -329,7 +329,7 @@ class UserDeleteAPIView(APIView):
         request_data = request.data 
         uid = request_data.get("uid")
         try:
-            User.objects.filter(id=uid).update(is_active=0)
+            User.objects.filter(id=uid).delete()
             DeviceUser.objects.filter(uid=uid).update(state=4)
             return Response({"code": 0, "msg": "success"})
         except Exception as e: