chenjunkai 6 жил өмнө
parent
commit
9d90e13185

+ 39 - 82
Controller/EquipmentManager.py

@@ -116,55 +116,6 @@ def addNewUserEquipmentInterface(request):
         return response.json(0, sqlDict)
 
 
-def addInterface(request):
-    request.encoding = 'utf-8'
-    response = ResponseObject()
-    if request.method == 'POST':
-        request_dict = request.POST
-    elif request.method == 'GET':
-        request_dict = request.GET
-    else:
-        return response.json(444)
-    token = request_dict.get('token', None)
-    deviceContent = request_dict.get('content', None)
-    if not deviceContent:
-        return response.json(444, 'content')
-    tko = TokenObject(token)
-    response.lang = tko.lang
-    if tko.code != 0:
-        return response.json(tko.code)
-    userID = tko.userID
-    try:
-        deviceData = json.loads(deviceContent)
-        UID = deviceData.get('UID', None)
-        if not UID:
-            return response.json(444, 'content')
-        dValid = Device_Info.objects.filter(userID=userID, UID=UID)
-        if dValid:
-            return response.json(174)
-        else:
-            UID = deviceData.get('UID', '')
-            re_uid = re.compile(r'^[A-Za-z0-9]{20}$')
-            if re_uid.match(UID):
-                is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
-                # 判断是否有已绑定用户
-                if not is_bind.exists():
-                    userDevice = Device_Info(id=CommonService.getUserID(getUser=False), userID_id=userID,
-                                             **deviceData)
-                    userDevice.save()
-                else:
-                    return response.json()
-            else:
-                return response.json(444, 'UID')
-    except Exception as e:
-        errorInfo = traceback.format_exc()
-        print('添加设备错误: %s ' % errorInfo)
-        return response.json(178, repr(e))
-    else:
-        sqlDict = CommonService.qs_to_dict([userDevice])
-        return response.json(0, sqlDict)
-
-
 def delUserEquipmentInterface(request):
     '''
     删除用户设备
@@ -375,6 +326,7 @@ def deleteInterface(request):
         return response.json(0)
 
 
+# 查询设备字段
 def queryInterface(request):
     request.encoding = 'utf-8'
     response = ResponseObject()
@@ -389,7 +341,10 @@ def queryInterface(request):
     response.lang = tko.lang
     if tko.code == 0:
         userID = tko.userID
-        dvqs = Device_Info.objects.filter(userID_id=userID)
+
+        dvqs = Device_Info.objects.filter(userID_id=userID). \
+            values('id', 'userID', 'NickName', 'UID', 'SID', 'View_Account', 'View_Password', 'AudioFormat',
+                   'EventNotification', 'ChannelIndex', 'Online', 'mMonitorIndex', 'Type', '', '')
 
     else:
         return response.json(tko.code)
@@ -418,14 +373,11 @@ def queryInterface(request):
         res.append(p)
     return response.json(0, {'datas': res})
 
-def queryInterfacexxx(request):
-    '''
-    删除用户设备
-    :param request:
-    :return:
-    '''
-    response = ResponseObject()
+
+# 添加设备字段
+def addInterface(request):
     request.encoding = 'utf-8'
+    response = ResponseObject()
     if request.method == 'POST':
         request_dict = request.POST
     elif request.method == 'GET':
@@ -433,32 +385,37 @@ def queryInterfacexxx(request):
     else:
         return response.json(444)
     token = request_dict.get('token', None)
-    id = request_dict.get('id', None)
-    if not id:
-        return response.json(444, 'id')
+    UID = request_dict.get('UID', None)
+    NickName = request_dict.get('NickName', None)
+    View_Account = request_dict.get('View_Account', None)
+    View_Password = request_dict.get('View_Password', None)
+    Type = request_dict.get('Type', None)
+    ChannelIndex = request_dict.get('ChannelIndex', None)
     tko = TokenObject(token)
     response.lang = tko.lang
-    if tko.code != 0:
-        return response.json(tko.code)
-    userID = tko.userID
-    # 主用户删除设备全部删除
-    if not userID:
-        return response.json(309)
-    try:
-        dv_qs = Device_Info.objects.filter(userID_id=userID, id=id)
-        uid = dv_qs[0].UID
-        if dv_qs[0].isShare:
-            dv_qs.delete()
+    if tko.code == 0:
+        userID = tko.userID
+        re_uid = re.compile(r'^[A-Za-z0-9]{20}$')
+        if re_uid.match(UID):
+            is_exist = Device_Info.objects.filter(UID=UID, userID_id=userID)
+            if is_exist:
+                return response.json(174)
+            else:
+                is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
+                # 判断是否有已绑定用户
+                if is_bind:
+                    return response.json(15)
+                else:
+                    try:
+                        userDevice = Device_Info(id=CommonService.getUserID(getUser=False), userID_id=userID, UID=UID,
+                                                 NickName=NickName, View_Account=View_Account,
+                                                 View_Password=View_Password, Type=Type, ChannelIndex=ChannelIndex)
+                        userDevice.save()
+                    except Exception as e:
+                        return response.json(10, repr(10))
+                    else:
+                        return response.json(0)
         else:
-            # 主用户删除设备
-            dv_qs.delete()
-            # 分享获得用户假删除
-            ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True)
-            if ud_dv_qs.exists():
-                ud_dv_qs.update(isExist=0)
-    except Exception as e:
-        errorInfo = traceback.format_exc()
-        print('删除数据库记录错误: %s' % errorInfo)
-        return response.json(176, repr(e))
+            return response.json(444, {'param':'UID'})
     else:
-        return response.json(0)
+        return response.json(tko.code)

+ 6 - 6
Model/models.py

@@ -206,17 +206,17 @@ class Device_Info(models.Model):
     id = models.CharField(blank=True, max_length=32, primary_key=True)
     userID = models.ForeignKey(Device_User, blank=True, to_field='userID', on_delete=models.CASCADE)
     NickName = models.CharField(blank=True, max_length=32, verbose_name=u'设备名称')
-    UID = models.CharField(blank=True, max_length=32, verbose_name=u'设备UID')
-    SID = models.CharField(blank=True, max_length=32, verbose_name=u'服务器ID')
-    View_Account = models.CharField(blank=True, max_length=32, verbose_name=u'设备用户名称')
-    View_Password = models.CharField(blank=True, max_length=32, verbose_name=u'设备密码')
+    UID = models.CharField(blank=True, max_length=32, verbose_name=u'设备UID',default='')
+    SID = models.CharField(blank=True, max_length=32, verbose_name=u'服务器ID',default='')
+    View_Account = models.CharField(blank=True, max_length=32, verbose_name=u'设备用户名称',default='')
+    View_Password = models.CharField(blank=True, max_length=32, verbose_name=u'设备密码',default='')
     AudioFormat = models.IntegerField(blank=True, default=1, verbose_name=u'初始化影像')
     EventNotification = models.IntegerField(blank=True, verbose_name=u'报警类型',default=0)
-    ChannelIndex = models.IntegerField(blank=True, verbose_name=u'通道号')
+    ChannelIndex = models.IntegerField(blank=True, verbose_name=u'通道号',default=0)
     Online = models.BooleanField(blank=True, default=False, verbose_name=u'设备是否在线')
     mMonitorIndex = models.IntegerField(blank=True, default=-1)
     Type = models.IntegerField(blank=True,verbose_name='设备类型')
-    DebugMode = models.IntegerField(blank=True, verbose_name=u'调试模式')
+    DebugMode = models.IntegerField(blank=True, verbose_name=u'调试模式',default=0)
     NotificationMode = models.IntegerField(blank=True, verbose_name=u'是否报警',default=0)
     qvgaLevel = models.BooleanField(blank=True, verbose_name=u'SD与HD画面', default=0,
                                     help_text=u'0代表:SD、1代表:HD')