浏览代码

新增家庭成员邀请类型,新增查询邀请记录审核状态接口。

zhangdongming 3 年之前
父节点
当前提交
c608b3ef1c
共有 2 个文件被更改,包括 40 次插入9 次删除
  1. 38 9
      Controller/SensorGateway/GatewayFamilyMemberController.py
  2. 2 0
      Model/models.py

+ 38 - 9
Controller/SensorGateway/GatewayFamilyMemberController.py

@@ -50,6 +50,33 @@ class GatewayFamilyMemberView(View):
             return self.family_generate_token(app_user_id, request_dict, response)
         elif operation == 'qrcode/check':
             return self.check_qrcode(request_dict, response)
+        elif operation == 'join/info':
+            return self.member_join_info(request_dict, response)
+
+    @classmethod
+    def member_join_info(cls, request_dict, response):
+        """
+        查询加入家庭信息
+        @param request_dict:
+        @param response:
+        @return:
+        """
+        join_id = request_dict.get('joinId', None)
+        if not join_id:
+            return response.json(444)
+        join_id = int(join_id)
+        family_join_qs = FamilyMemberJoin.objects.filter(id=join_id)
+        if not family_join_qs.exists():
+            return response.json(173)
+        family_join_qs = family_join_qs.values('type', 'user__NickName', 'family__name', 'status', 'id')
+        family_join_qs = family_join_qs.first()
+        return response.json(0, {
+            'id': family_join_qs['id'],
+            'type': family_join_qs['type'],
+            'nickName': family_join_qs['user__NickName'],
+            'familyName': family_join_qs['family__name'],
+            'status': family_join_qs['status'],
+        })
 
     @classmethod
     def member_join(cls, app_user_id, request_dict, response):
@@ -61,7 +88,7 @@ class GatewayFamilyMemberView(View):
         @return:
         """
         family_id = request_dict.get('familyId', None)
-        invite = request_dict.get('QRCodeInvite', None)
+        invite = request_dict.get('QRCodeInvite', 0)
         user_id = request_dict.get('app_user_id', None)
         lang = request_dict.get('lang', 'en')
         if not all([family_id, invite]):
@@ -110,7 +137,8 @@ class GatewayFamilyMemberView(View):
                 family_user_join = FamilyMemberJoin.objects.create(family_id=family_id, user_id=join_user_id,
                                                                    status=0,
                                                                    updated_time=now_time,
-                                                                   created_time=now_time)
+                                                                   created_time=now_time,
+                                                                   type=invite)
                 data['uid'] = family_user_join.id
                 SysMsgModel.objects.create(**data)
                 return response.json(0)
@@ -157,7 +185,8 @@ class GatewayFamilyMemberView(View):
         member_join = FamilyMemberJoin.objects.filter(family_id=family_id).values('status', 'user__username',
                                                                                   'user__userIconUrl', 'user__phone',
                                                                                   'user__userEmail', 'updated_time',
-                                                                                  'created_time')
+                                                                                  'created_time',
+                                                                                  'user__NickName')
 
         page_no = int(page_no)
         page_size = int(page_size)
@@ -246,10 +275,10 @@ class GatewayFamilyMemberView(View):
                                                'user__phone', 'user__NickName',
                                                'user__username')
         return response.json(0, {
-            'userPhone': user_family_qs['user__phone'],
-            'nickName': user_family_qs['user__NickName'],
-            'userIconUrl': user_family_qs['user__userIconUrl'],
-            'userName': user_family_qs['user__username'],
-            'familyName': user_family_qs['name'],
-            'userEmail': user_family_qs['user__userEmail'],
+            'userPhone': user_family_qs[0]['user__phone'],
+            'nickName': user_family_qs[0]['user__NickName'],
+            'userIconUrl': user_family_qs[0]['user__userIconUrl'],
+            'userName': user_family_qs[0]['user__username'],
+            'familyName': user_family_qs[0]['name'],
+            'userEmail': user_family_qs[0]['user__userEmail'],
         })

+ 2 - 0
Model/models.py

@@ -2518,6 +2518,8 @@ class FamilyMemberJoin(models.Model):
     family = models.ForeignKey(UserFamily, to_field='id', default='', on_delete=models.CASCADE,
                                verbose_name='关联用户家庭id')
     status = models.SmallIntegerField(default=0, verbose_name='状态{0:未确认,1:拒绝,2:同意}')
+    # 0:家庭所有者搜索邀请,1:成员扫码加入
+    type = models.SmallIntegerField(default=0, verbose_name='类型')
     updated_time = models.IntegerField(default=0, verbose_name='更新时间')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')