chenjunkai %!s(int64=6) %!d(string=hai) anos
pai
achega
5e12b805ad
Modificáronse 2 ficheiros con 37 adicións e 42 borrados
  1. 1 1
      Controller/CloudVod.py
  2. 36 41
      Controller/EquipmentManager.py

+ 1 - 1
Controller/CloudVod.py

@@ -113,7 +113,7 @@ class CloudVodView(View):
             elif operation == 'appSts':
                 return self.do_get_appSts(request_dict, userID, response)
             elif operation == 'details':
-                return self.do_get_details(request_dict, userID, response)
+                return self.do_get_details(request_dict, response)
             else:
                 return response.json(414)
 

+ 36 - 41
Controller/EquipmentManager.py

@@ -46,14 +46,12 @@ def queryUserEquipmentInterface(request):
 
 
 @csrf_exempt
-def addNewUserEquipmentInterface(request, *callback_args,
-                                 **callback_kwargs):
+def addNewUserEquipmentInterface(request):
+    request.encoding = 'utf-8'
     response = ResponseObject()
     if request.method == 'POST':
-        request.encoding = 'utf-8'
         request_dict = request.POST
     elif request.method == 'GET':
-        request.encoding = 'utf-8'
         request_dict = request.GET
     else:
         return response.json(801)
@@ -75,43 +73,34 @@ def addNewUserEquipmentInterface(request, *callback_args,
                 return response.json(803, repr(e))
             else:
                 UID = deviceData.get('UID', None)
-                if UID != None:
-                    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)
-                            # is_bind = ''
-                            # 判断是否有已绑定用户
-                            if is_bind:
-                                # return response.json(175)
-                                # 判断用户密码是否正确
-                                # dev_pass = deviceData.get('View_Password', '')
-                                # if is_bind[0].View_Password == dev_pass:
-                                # deviceData['NickName'] = is_bind[0].NickName
-                                if 'isShare' in deviceData:
-                                    deviceData['isShare'] = True
-                                bind_userID = is_bind[0].userID_id
-                                userDevice = Device_Info(id=CommonService.getUserID(getUser=False),
-                                                         userID_id=userID,
-                                                         primaryUserID=bind_userID,
-                                                         primaryMaster=ModelService.get_user_name(bind_userID),
-                                                         **deviceData)
-                                userDevice.save()
-                                # else:
-                                #     return response.json(111)
-                            else:
-                                userDevice = Device_Info(id=CommonService.getUserID(getUser=False),
-                                                         userID_id=userID,
-                                                         **deviceData)
-                                userDevice.save()
-                        else:
-                            return response.json(180)
-                else:
+                if not UID:
                     return response.json(806)
+                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:
+                            # 分享添加
+                            if 'isShare' in deviceData:
+                                deviceData['isShare'] = True
+                            bind_userID = is_bind[0].userID_id
+                            userDevice = Device_Info(id=CommonService.getUserID(getUser=False),
+                                                     userID_id=userID,
+                                                     primaryUserID=bind_userID,
+                                                     primaryMaster=ModelService.get_user_name(bind_userID),
+                                                     **deviceData)
+                            userDevice.save()
+                    else:
+                        return response.json(180)
 
         except Exception as e:
             errorInfo = traceback.format_exc()
@@ -148,8 +137,14 @@ def delUserEquipmentInterface(request):
     if tko.code != 0:
         return response.json(tko.code)
     userID = tko.userID
+    # 主用户删除设备全部删除
     try:
-        Device_Info.objects.filter(userID_id=userID, id=id).delete()
+        dv_qs = Device_Info.objects.filter(userID_id=userID, id=id).values('UID', 'isShare')
+        if dv_qs[0]['isShare']:
+            Device_Info.objects.filter(userID_id=userID, id=id).delete()
+        else:
+            # 主用户删除设备
+            Device_Info.objects.filter(UID=dv_qs[0]['UID']).delete()
     except Exception as e:
         errorInfo = traceback.format_exc()
         print('删除数据库记录错误: %s' % errorInfo)