Quellcode durchsuchen

feature:
新版本,查询设备接口

chenjunkai vor 6 Jahren
Ursprung
Commit
cf91a49002
3 geänderte Dateien mit 81 neuen und 78 gelöschten Zeilen
  1. 1 0
      Ansjer/urls.py
  2. 79 77
      Controller/EquipmentManager.py
  3. 1 1
      Service/CommonService.py

+ 1 - 0
Ansjer/urls.py

@@ -37,6 +37,7 @@ urlpatterns = [
     # 新删除设备接口
     url(r'^equipment/delete', EquipmentManager.deleteInterface),
     url(r'^equipment/add', EquipmentManager.addInterface),
+    url(r'^equipment/query', EquipmentManager.queryInterface),
 
     url(r'^OTA/uploads$', OTAEquipment.getUploadFiletoDirView.as_view()),
     url(r'^OTA/download$', OTAEquipment.downloadUpdataFileUrl),

+ 79 - 77
Controller/EquipmentManager.py

@@ -280,6 +280,54 @@ def findEquipmentInfoInterface(request, *callback_args, **callback_kwargs):
         return response.json(0, send_dict)
 
 
+# 添加设备字段
+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)
+    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:
+        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:
+            return response.json(444, {'param': 'UID'})
+    else:
+        return response.json(tko.code)
+
+
+# 新删除设备
 def deleteInterface(request):
     '''
     删除用户设备
@@ -326,7 +374,7 @@ def deleteInterface(request):
         return response.json(0)
 
 
-# 查询设备字段
+# 查询设备字段
 def queryInterface(request):
     request.encoding = 'utf-8'
     response = ResponseObject()
@@ -337,85 +385,39 @@ def queryInterface(request):
     else:
         return response.json(444)
     token = request_dict.get('token', None)
-    tko = TokenObject(token)
-    response.lang = tko.lang
-    if tko.code == 0:
-        userID = tko.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)
-    ######################
-    ######################
-    if not userID:
-        return response.json(309)
-    dvqs = Device_Info.objects.filter(userID_id=userID)
-    dvdict = CommonService.qs_to_dict(dvqs)
-    uid_list = Device_Info.objects.filter(userID_id=userID, isShare=False). \
-        values_list('UID', flat=True)
-    ubqs = UID_Bucket.objects.filter(uid__in=uid_list). \
-        values('bucket__content', 'status', 'channel', 'endTime', 'uid')
-    res = []
-    nowTime = int(time.time())
-    for p in dvdict['datas']:
-        p['fields']['vod'] = []
-        for dm in ubqs:
-            if p['fields']['UID'] == dm['uid']:
-                if dm['endTime'] > nowTime:
-                    p['fields']['vod'].append(dm)
-                    # dm['valid'] = 1
-                # else:
-                #     dm['valid'] = 0
-        # p['fields']['primaryUserID'] = ''
-        res.append(p)
-    return response.json(0, {'datas': res})
-
-
-# 添加设备字段
-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)
-    UID = request_dict.get('UID', None)
+    page = request_dict.get('page', None)
+    line = request_dict.get('line', 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)
+    page=int(page)
+    line=int(line)
     tko = TokenObject(token)
     response.lang = tko.lang
     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:
-            return response.json(444, {'param':'UID'})
+        dvqs = Device_Info.objects.filter(userID_id=userID)
+        if NickName:
+            dvqs.filter(NickName__icontains=NickName)
+        count = dvqs.count()
+        dvql = dvqs[(page - 1) * line:page * line].values('id', 'userID', 'NickName', 'UID', 'View_Account',
+                                                          'View_Password','ChannelIndex', 'Type', 'isShare',
+                                                          'primaryUserID', 'primaryMaster', 'data_joined', 'version',
+                                                          'isVod', 'isExist')
+        dvls = CommonService.qs_to_list(dvql)
+        uid_list = []
+        for dvl in dvls:
+            if dvl['isShare'] is False:
+                uid_list.append(dvl['UID'])
+        ubqs = UID_Bucket.objects.filter(uid__in=uid_list). \
+            values('bucket__content', 'status', 'channel', 'endTime', 'uid')
+        nowTime = int(time.time())
+        data = []
+        for p in dvls:
+            p['vod'] = []
+            for dm in ubqs:
+                if p['UID'] == dm['uid']:
+                    if dm['endTime'] > nowTime:
+                        p['vod'].append(dm)
+            data.append(p)
+        return response.json(0, {'data': data, 'count': count})
     else:
-        return response.json(tko.code)
+        return response.json(tko.code)

+ 1 - 1
Service/CommonService.py

@@ -161,7 +161,7 @@ class CommonService:
     @staticmethod
     def qs_to_list(qs):
         res = []
-        print(qs)
+        # print(qs)
         for ps in qs:
             if 'add_time' in ps:
                 ps['add_time'] = ps['add_time'].strftime("%Y-%m-%d %H:%M:%S")