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

分享设备保存推送信息

peng 11 сар өмнө
parent
commit
1bf2ee87a6

+ 27 - 1
Controller/DeviceShare.py

@@ -20,7 +20,8 @@ from django.views.generic.base import View
 from Ansjer.config import SERVER_DOMAIN, LOGGER
 from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
 from Controller.UserDevice.UserDeviceShareController import UserDeviceShareView
-from Model.models import Device_Info, Device_User, DeviceChannelUserSet, DeviceChannelUserPermission
+from Model.models import Device_Info, Device_User, DeviceChannelUserSet, DeviceChannelUserPermission, UidSetModel, \
+    UidPushModel, GatewayPush
 from Model.models import UID_Bucket
 from Object.ContentSecurityObject import ContentSecurity
 from Object.RedisObject import RedisObject
@@ -214,6 +215,31 @@ class DeviceShareView(View):
                     sharerDvqs.data_joined = None
                     sharerDvqs.save()
                     UserDeviceShareView.qrcode_share_channel_permission_save(userID, UID)
+                    uid_set_qs = UidSetModel.objects.filter(uid=UID).values('id')
+                    if uid_set_qs.exists():
+                        uid_set_id = uid_set_qs[0]['id']
+                        now_time = int(time.time())
+                        uid_push_qs = UidPushModel.objects.filter(userID=userID).values_list('appBundleId', 'app_type',
+                                                                                             'push_type', 'token_val',
+                                                                                             'jg_token_val', 'm_code',
+                                                                                             'lang', 'tz')
+                        if uid_push_qs.exists():
+                            for item in set(list(uid_push_qs)):
+                                UidPushModel.objects.create(userID_id=userID, appBundleId=item[0], app_type=item[1],
+                                                            push_type=item[2], token_val=item[3], jg_token_val=item[4],
+                                                            m_code=item[5], lang=item[6], tz=item[7], addTime=now_time,
+                                                            updTime=now_time, uid_set_id=uid_set_id)
+                        else:
+                            gateway_push_qs = GatewayPush.objects.filter(user_id=userID, logout=False).values(
+                                'app_app_id', 'm_code', 'app_type', 'push_type', 'token_val', 'lang', 'jg_token_val',
+                                'tz')
+                            for item in gateway_push_qs:
+                                UidPushModel.objects.create(userID_id=userID, appBundleId=item['app_app_id'],
+                                                            app_type=item['app_type'], addTime=now_time,
+                                                            push_type=item['push_type'], updTime=now_time,
+                                                            token_val=item['token_val'], uid_set_id=uid_set_id,
+                                                            jg_token_val=item['jg_token_val'], lang=item['lang'],
+                                                            m_code=item['m_code'], tz=item['tz'])
                 except Exception as e:
                     return response.json(10, repr(e))
                 else: