Browse Source

新增成员视图接口,设备家庭url if改elif,家庭房间增加排序接口。

zhangdongming 3 years ago
parent
commit
d2f06c140f

+ 2 - 1
Ansjer/server_urls/loocam_url.py

@@ -8,9 +8,10 @@
 """
 """
 from django.conf.urls import url
 from django.conf.urls import url
 
 
-from SensorGateway import EquipmentFamilyController, GatewayFamilyRoomController
+from SensorGateway import EquipmentFamilyController, GatewayFamilyRoomController, GatewayFamilyMemberController
 
 
 urlpatterns = [
 urlpatterns = [
     url(r'^sensor/gateway/(?P<operation>.*)$', EquipmentFamilyController.EquipmentFamilyView.as_view()),
     url(r'^sensor/gateway/(?P<operation>.*)$', EquipmentFamilyController.EquipmentFamilyView.as_view()),
     url(r'^gateway/family/room/(?P<operation>.*)$', GatewayFamilyRoomController.GatewayFamilyRoomView.as_view()),
     url(r'^gateway/family/room/(?P<operation>.*)$', GatewayFamilyRoomController.GatewayFamilyRoomView.as_view()),
+    url(r'^gateway/family/member/(?P<operation>.*)$', GatewayFamilyMemberController.GatewayFamilyMemberView.as_view()),
 ]
 ]

+ 10 - 10
SensorGateway/EquipmentFamilyController.py

@@ -56,34 +56,34 @@ class EquipmentFamilyView(View):
         if operation == 'add':
         if operation == 'add':
             return self.do_save(user_id, request_dict, response, request)
             return self.do_save(user_id, request_dict, response, request)
         # 分页获取未添加房间设备
         # 分页获取未添加房间设备
-        if operation == 'family-device-query':
+        elif operation == 'family-device-query':
             return self.get_device_not_in_room(user_id, request_dict, response)
             return self.get_device_not_in_room(user_id, request_dict, response)
         # 条件查询设备列表
         # 条件查询设备列表
-        if operation == 'query':
+        elif operation == 'query':
             return self.do_device_query(user_id, request_dict, response)
             return self.do_device_query(user_id, request_dict, response)
         # 获取家庭列表
         # 获取家庭列表
-        if operation == 'family-list':
+        elif operation == 'family-list':
             return self.get_family_list(user_id, request_dict, response)
             return self.get_family_list(user_id, request_dict, response)
         # 家庭保存
         # 家庭保存
-        if operation == 'family-save':
+        elif operation == 'family-save':
             return self.family_save(user_id, request_dict, response)
             return self.family_save(user_id, request_dict, response)
         # 家庭设置
         # 家庭设置
-        if operation == 'family-setting':
+        elif operation == 'family-setting':
             return self.get_family_setting(user_id, request_dict, response)
             return self.get_family_setting(user_id, request_dict, response)
         # 家庭成员删除
         # 家庭成员删除
-        if operation == 'member-del':
+        elif operation == 'member-del':
             return self.family_member_del(user_id, request_dict, response)
             return self.family_member_del(user_id, request_dict, response)
         # 获取房间列表
         # 获取房间列表
-        if operation == 'room-list':
+        elif operation == 'room-list':
             return self.get_family_room_list(request_dict, response)
             return self.get_family_room_list(request_dict, response)
         # 房间保存
         # 房间保存
-        if operation == 'room-save':
+        elif operation == 'room-save':
             return self.room_save(request_dict, response)
             return self.room_save(request_dict, response)
         # 权限列表
         # 权限列表
-        if operation == 'permission-list':
+        elif operation == 'permission-list':
             return self.get_member_permission_list(user_id, request_dict, response)
             return self.get_member_permission_list(user_id, request_dict, response)
         # 成员权限修改
         # 成员权限修改
-        if operation == 'permission-update':
+        elif operation == 'permission-update':
             return self.changes_member_permission(user_id, request_dict, response)
             return self.changes_member_permission(user_id, request_dict, response)
         else:
         else:
             return response.json(414)
             return response.json(414)

+ 82 - 0
SensorGateway/GatewayFamilyMemberController.py

@@ -0,0 +1,82 @@
+# -*- encoding: utf-8 -*-
+"""
+@File    : GatewayFamilyMemberController.py
+@Time    : 2022/5/25 10:21
+@Author  : stephen
+@Email   : zhangdongming@asj6.wecom.work
+@Software: PyCharm
+"""
+
+from django.views.generic.base import View
+
+from Model.models import FamilyMemberJoin
+from Object.ResponseObject import ResponseObject
+from Object.TokenObject import TokenObject
+
+
+# 家庭房间管理
+class GatewayFamilyMemberView(View):
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.GET, request, operation)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.POST, request, operation)
+
+    def validation(self, request_dict, request, operation):
+        token = request.META.get('HTTP_AUTHORIZATION')
+        token = TokenObject(token)
+        lang = request_dict.get('lang', None)
+        response = ResponseObject(lang) if lang else ResponseObject(token.lang)
+        if token.code != 0:
+            return response.json(token.code)
+        app_user_id = token.userID
+        # 添加设备关联房间
+        if operation == 'join':
+            return self.member_join(app_user_id, request_dict, response)
+        elif operation == 'join/page':
+            return self.member_join_page(request_dict, response)
+
+    @classmethod
+    def member_join(cls, app_user_id, request_dict, response):
+        pass
+
+    @classmethod
+    def member_join_page(cls, request_dict, response):
+        """
+        家庭成员邀请记录
+        @param request_dict:
+        @param response:
+        @return:
+        """
+        page_no = request_dict.get('pageNo', None)
+        page_size = request_dict.get('pageSize', None)
+        family_id = request_dict.get('familyId', None)
+        if not all([page_no, page_size, family_id]):
+            return response.json(444)
+        member_join = FamilyMemberJoin.objects.filter(family_id=family_id).values('status', 'user__username',
+                                                                                  'user__userIconUrl', 'user__phone',
+                                                                                  'user__userEmail', 'updated_time',
+                                                                                  'created_time')
+
+        page_no = int(page_no)
+        page_size = int(page_size)
+        member_join = member_join.order_by('-created_time')[(page_no - 1) * page_size: page_no * page_size]
+        if not member_join.exists():
+            return response.json(0, [])
+        result = []
+        for item in member_join:
+            result.append({
+                'status': item['status'],
+                'userName': item['user__username'],
+                'userIconUrl': item['user__userIconUrl'],
+                'phone': item['user__phone'],
+                'userEmail': item['user__userEmail'],
+                'updatedTime': item['updated_time'],
+                'createdTime': item['created_time']
+            })
+        return response.json(0, result)

+ 9 - 5
SensorGateway/GatewayFamilyRoomController.py

@@ -32,8 +32,8 @@ class GatewayFamilyRoomView(View):
     def validation(self, request_dict, request, operation):
     def validation(self, request_dict, request, operation):
         token = request.META.get('HTTP_AUTHORIZATION')
         token = request.META.get('HTTP_AUTHORIZATION')
         token = TokenObject(token)
         token = TokenObject(token)
-        lang = request_dict.get('lang', None)
-        response = ResponseObject(lang) if lang else ResponseObject(token.lang)
+        lang = request_dict.get('lang', token.lang)
+        response = ResponseObject(lang)
         if token.code != 0:
         if token.code != 0:
             return response.json(token.code)
             return response.json(token.code)
         app_user_id = token.userID
         app_user_id = token.userID
@@ -111,7 +111,11 @@ class GatewayFamilyRoomView(View):
         ids = request_dict.getlist('ids', None)
         ids = request_dict.getlist('ids', None)
         if not ids:
         if not ids:
             return response.json(444)
             return response.json(444)
-        for i, item in ids:
-            id_sort = item[i]
-            print(id_sort)
+        for item in ids:
+            items = item.split(',')
+            room_id = items[0]
+            sort = items[1]
+            family_room = FamilyRoom.objects.filter(id=int(room_id))
+            if family_room.exists():
+                family_room.update(sort=int(sort))
         return response.json(0)
         return response.json(0)