浏览代码

Merge branch 'test' into pzb

chenjunkai 6 年之前
父节点
当前提交
83cadfe8bb
共有 4 个文件被更改,包括 69 次插入24 次删除
  1. 28 23
      Controller/DetectController.py
  2. 35 0
      Controller/DeviceShare.py
  3. 1 1
      Controller/EquipmentManager.py
  4. 5 0
      Service/TemplateService.py

+ 28 - 23
Controller/DetectController.py

@@ -26,6 +26,7 @@ from Object.UidTokenObject import UidTokenObject
 from Ansjer.config import SERVER_DOMAIN
 import json
 import requests
+from Model.models import Equipment_Info
 
 
 class DetectControllerView(View):
@@ -108,30 +109,24 @@ class NotificationView(View):
         uidToken = request_dict.get('uidToken', None)
         utko = UidTokenObject(uidToken)
         uid = utko.UID
-        uaqs = UID_App.objects.filter(uid=uid).\
+        uaqs = UID_App.objects.filter(uid=uid). \
             values('token_val', 'app_type', 'appBundleId', 'push_type', 'uid')
         if uaqs.exists():
-            push_type = uaqs[0]['push_type']
-            # ios apns
-            if push_type == 0:
-                return self.do_apns(request_dict, uaqs[0], response)
-            # android gcm
-            elif push_type == 1:
-                return self.do_gmc(request_dict, uaqs[0], response)
-            # android jpush
-            elif push_type == 2:
-                return self.do_jpush(request_dict, uaqs[0], response)
+            for ua in uaqs:
+                push_type = ua['push_type']
+                # ios apns
+                if push_type == 0:
+                    return self.do_apns(request_dict, ua, response)
+                # android gcm
+                elif push_type == 1:
+                    return self.do_gmc(request_dict, ua, response)
+                # android jpush
+                elif push_type == 2:
+                    return self.do_jpush(request_dict, ua, response)
+            return response.json(0)
+
         else:
             return response.json(173)
-        # # 设备主键uid
-        # if pushType == 'jpush':
-        #     return self.do_jpush(request_dict)
-        # elif pushType == 'gcm':
-        #     return
-        # elif pushType == 'apns':
-        #     return
-        # else:
-        #     return response.json(414)
 
     def do_jpush(self, request_dict, uaql, response):
         jpush_config = {
@@ -202,9 +197,7 @@ class NotificationView(View):
         appBundleId = uaql['appBundleId']
         token_val = uaql['token_val']
         uid = uaql['uid']
-        gcm_config = {
-            'xxx': 'key'
-        }
+        gcm_config = {'xxx': 'key'}
         serverKey = gcm_config[appBundleId]
 
         msg = {'n_time': n_time, 'uid': uid}
@@ -249,3 +242,15 @@ class NotificationView(View):
                 return response.json(404, res.reason)
         except Exception as e:
             return response.json(10, repr(e))
+
+    def do_save_equipment_info(self,userID_id):
+        Equipment_Info.objects.create(
+            userID_id=userID_id,
+            eventTime='',
+            eventType='',
+            devUid='',
+            devNickName='',
+            Channel='',
+            alarm='',
+            receiveTime='',)
+        return

+ 35 - 0
Controller/DeviceShare.py

@@ -47,6 +47,8 @@ class DeviceShareView(View):
                 userID = tko.userID
                 if operation == 'generateTokenUrl':
                     return self.do_generate_token_url(userID, request_dict, response)
+                elif operation == 'showShareInfo':
+                    return self.do_show_share_info(request_dict, response)
                 elif operation == 'confirm':
                     return self.do_confirm(userID, request_dict, response)
                 elif operation == 'queryUser':
@@ -92,6 +94,38 @@ class DeviceShareView(View):
         else:
             return response.json(173)
 
+    def do_show_share_info(self, request_dict, response):
+        shareToken = request_dict.get('shareToken', None)
+        if shareToken is not None:
+            redisObj = RedisObject()
+            data_str = redisObj.get_data(key=shareToken)
+            if data_str:
+                data = json.loads(data_str)
+                # 分享者userID
+                sharer = data.get('sharer', None)
+                # 分享的uid
+                UID = data.get('UID', None)
+                sharerDvqs = Device_Info.objects.filter(userID_id=sharer, UID=UID, isShare=False).\
+                    values('NickName','Type')
+                sharerDuqs = Device_User.objects.filter(userID=sharer).values('username', 'userEmail', 'phone')
+                if sharerDuqs[0]['username']:
+                    share_user = sharerDuqs[0]['username']
+                elif sharerDuqs[0]['userEmail']:
+                    share_user = sharerDuqs[0]['userEmail']
+                elif sharerDuqs[0]['phone']:
+                    share_user = sharerDuqs[0]['phone']
+                else:
+                    share_user = ''
+                return response.json(0, {
+                    'deviceName': sharerDvqs[0]['NickName'],
+                    'deviceType': sharerDvqs[0]['Type'],
+                    'shareUser': share_user,
+                })
+            else:
+                return response.json(404)
+        else:
+            return response.json(414)
+
     def do_confirm(self, userID, request_dict, response):
         shareToken = request_dict.get('shareToken', None)
         if shareToken is not None:
@@ -147,6 +181,7 @@ class DeviceShareView(View):
                         values('bucket__content', 'status', 'channel', 'endTime', 'uid')
                     res = dvql[0]
                     res['vod'] = list(ubqs)
+                    redisObj.del_data(key=shareToken)
                     return response.json(0, res)
             else:
                 return response.json(174)

+ 1 - 1
Controller/EquipmentManager.py

@@ -508,7 +508,7 @@ def deleteInterface(request):
             # 主用户删除设备
             dv_qs.delete()
             # 分享获得用户假删除
-            ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True)
+            ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True,primaryUserID=userID)
             if ud_dv_qs.exists():
                 ud_dv_qs.update(isExist=0)
     except Exception as e:

+ 5 - 0
Service/TemplateService.py

@@ -56,6 +56,11 @@ class TemplateService:
 
             'equipment/add',
             'deviceShare/queryUser',
+            'deviceShare/showShareInfo',
+            'deviceShare/confirm',
+            'deviceShare/deleteUser',
+            'equipment/delete',
+            'equipment/add',
         ]
         return apiList