Ver código fonte

删除家庭接口

zhangdongming 3 anos atrás
pai
commit
57a6484536

+ 42 - 1
Controller/SensorGateway/EquipmentFamilyController.py

@@ -19,7 +19,7 @@ from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY
 from Controller.DeviceConfirmRegion import Device_Region
 from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidChannelSetModel, \
     iotdeviceInfoModel, UIDModel, Device_User, UserFamily, FamilyMember, FamilyMemberPermission, \
-    FamilyRoomDevice, FamilyRoom
+    FamilyRoomDevice, FamilyRoom, FamilyMemberJoin
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -85,9 +85,50 @@ class EquipmentFamilyView(View):
         # 成员权限修改
         elif operation == 'permission-update':
             return self.changes_member_permission(user_id, request_dict, response)
+        elif operation == 'family/del':
+            return self.family_family_del(user_id, request_dict, response)
         else:
             return response.json(414)
 
+    @classmethod
+    def family_family_del(cls, user_id, request_dict, response):
+        """
+        删除家庭
+        @param user_id:
+        @param request_dict:
+        @param response:
+        @return:
+        """
+        family_id = request_dict.get('familyId', None)
+        if not family_id:
+            return response.json(444)
+        family_id = int(family_id)
+        permission = cls.get_member_permission_details(user_id, family_id)
+        if not permission or permission == '003':
+            return response.json(404)
+        user_family_qs = UserFamily.objects.filter(id=family_id, user_id=user_id)
+        if not user_family_qs.exists():
+            return response.json(173)
+        count = UserFamily.objects.filter(user_id=user_id).count()
+        if count <= 1:
+            return response.json(10057)
+        family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id)
+        if family_room_device_qs.exists():
+            family_room_device_qs.delete()
+        family_join_qs = FamilyMemberJoin.objects.filter(family_id=family_id)
+        if family_join_qs.exists():
+            family_join_qs.delete()
+        family_room_qs = FamilyRoom.objects.filter(family_id=family_id)
+        if family_room_qs.exists():
+            family_room_qs.delete()
+        family_member_qs = FamilyMember.objects.filter(family_id=family_id)
+        if family_member_qs.exists():
+            family_member_qs.delete()
+        family_qs = UserFamily.objects.filter(id=family_id)
+        if family_qs.exists():
+            family_qs.delete()
+        return response.json(0)
+
     @classmethod
     def do_save(cls, user_id, request_dict, response, request):
         """

+ 3 - 1
Object/ResponseObject.py

@@ -113,6 +113,7 @@ class ResponseObject(object):
             10054: 'The AI service has expired',
             10055: 'The AI does not recognize any labels',
             10056: 'The device has enabled automatic renewal of cloud storage package and cannot be transferred for the time being',
+            10057: "Can't delete",
         }
         data_cn = {
             0: '成功',
@@ -219,6 +220,7 @@ class ResponseObject(object):
             10054: 'AI服务已过期',
             10055: 'AI没有识别到任何标签',
             10056: '该设备已开通云存套餐自动续费,暂时无法转移',
+            10057: '不能删除',
         }
         if self.lang == 'cn':
             msg = data_cn
@@ -234,7 +236,7 @@ class ResponseObject(object):
             message = '系统错误,code不存在'
         print(self.lang == 'cn')
         print(msg)
-        if self.returntype=='pc':
+        if self.returntype == 'pc':
             return {'code': code, 'msg': message, 'data': res, 'error_code': code}
         return {'result_code': code, 'reason': message, 'result': res, 'error_code': code}