123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- # -*- encoding: utf-8 -*-
- """
- @File : GatewayFamilyMemberController.py
- @Time : 2022/5/25 10:21
- @Author : stephen
- @Email : zhangdongming@asj6.wecom.work
- @Software: PyCharm
- """
- import json
- import time
- from django.views.generic.base import View
- from Model.models import FamilyMemberJoin, UserFamily, Device_Info, Device_User
- from Object.RedisObject import RedisObject
- from Object.ResponseObject import ResponseObject
- from Object.TokenObject import TokenObject
- from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
- from Service.CommonService import CommonService
- # 家庭房间管理
- 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)
- @classmethod
- def family_qrcode(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)
- is_owner = EquipmentFamilyView.get_family_owner(user_id, family_id)
- if not is_owner:
- return response.json(404)
- try:
- UserFamily.objects.get(id=family_id)
- except Exception as e:
- print(e)
- return response.json(173, repr(e))
- pass
|