Эх сурвалжийг харах

pc查询主用户子用户信息

peng 2 жил өмнө
parent
commit
4ff765c3a4

+ 54 - 2
Controller/EquipmentManagerV3.py

@@ -11,7 +11,8 @@ from django.db import transaction
 from django.db.models import Q
 from django.views.generic.base import View
 
-from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY
+from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY, SERVER_DOMAIN_LIST, SERVER_DOMAIN_TEST, \
+    SERVER_DOMAIN_CN, SERVER_DOMAIN_US, SERVER_DOMAIN_EUR
 from Controller.CheckUserData import RandomStr
 from Controller.DeviceConfirmRegion import Device_Region
 from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
@@ -47,6 +48,10 @@ class EquipmentManagerV3(View):
 
         if operation == 'notLoginMainUserDevice':
             return self.not_login_do_mainUserDevice(request_dict, response)
+        elif operation == 'notLoginUserDevice':
+            return self.not_login_get_mainUserDevice(request_dict, response)
+        elif operation == 'notLoginGlobalUserDevice':
+            return self.not_login_get_global_mainUserDevice(request_dict, response)
         elif operation == 'notLoginMainDelDevice':
             return self.test_tool_del_device(request_dict, response)
 
@@ -961,7 +966,7 @@ class EquipmentManagerV3(View):
         if dvq.exists():
             qs = Device_User.objects.filter(userID=dvq[0]['vodPrimaryUserID']).values('userID', 'NickName', 'username',
                                                                                       'userEmail', 'phone')
-            NickName = qs[0]['username']
+            NickName = qs[0]['NickName']
             phone = qs[0]['phone']
             username = qs[0]['username']
             qs = CommonService.qs_to_list(qs)
@@ -971,6 +976,53 @@ class EquipmentManagerV3(View):
                 qs[0]['phone'] = NickName
         return response.json(0, qs)
 
+    def not_login_get_mainUserDevice(self, request_dict, response):
+        UID = request_dict.get('UID')
+        token = request_dict.get('token', None)
+        time_stamp = request_dict.get('time_stamp', None)
+
+        if not all([token, time_stamp]):
+            return response.json(444)
+
+        # 时间戳token校验
+        if not CommonService.check_time_stamp_token(token, time_stamp):
+            return response.json(13)
+
+        dvq = Device_Info.objects.filter(UID=UID).values('userID', 'userID__NickName', 'userID__username',
+                                                         'userID__userEmail', 'userID__phone',
+                                                         'vodPrimaryUserID')
+        qs = []
+        for item in dvq:
+            user_dict = {
+                'userID': item['userID'],
+                'NickName': item['userID__NickName'] if item['userID__NickName'] else item['userID__username'],
+                'username': item['userID__username'],
+                'userEmail': item['userID__userEmail'],
+                'phone': item['userID__phone'] if item['userID__phone'] else item['userID__NickName'],
+                'vodPrimaryUserID': item['vodPrimaryUserID']
+            }
+            qs.append(user_dict)
+        return response.json(0, qs)
+
+    def not_login_get_global_mainUserDevice(self, request_dict, response):
+        orders_domain_name_list = SERVER_DOMAIN_LIST
+        if SERVER_DOMAIN_TEST in orders_domain_name_list:
+            orders_domain_name_list.remove(SERVER_DOMAIN_TEST)
+        uid_list = []
+        try:
+            for orders_domain_name in orders_domain_name_list:
+                url = orders_domain_name + 'v3/equipment/notLoginUserDevice'
+                res = requests.post(url=url, data=request_dict)
+                result = res.json()
+                if result['result_code'] != 0:
+                    return response.json(result['result_code'])
+                for item in result['result']:
+                    item['domain_name'] = orders_domain_name
+                    uid_list.append(item)
+            return response.json(0, uid_list)
+        except Exception as e:
+            return response.json(500, repr(e))
+
     @staticmethod
     def test_tool_del_device(request_dict, response):
         """