peng 11 месяцев назад
Родитель
Сommit
2121e463fa
2 измененных файлов с 32 добавлено и 3 удалено
  1. 2 2
      Controller/DeviceShare.py
  2. 30 1
      Controller/shareUserPermission.py

+ 2 - 2
Controller/DeviceShare.py

@@ -231,10 +231,10 @@ class DeviceShareView(View):
                                                             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',
+                                'app_bundle_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'],
+                                UidPushModel.objects.create(userID_id=userID, appBundleId=item['app_bundle_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,

+ 30 - 1
Controller/shareUserPermission.py

@@ -5,7 +5,7 @@ import traceback, simplejson as json
 from django.views.generic.base import View
 from django.views.decorators.csrf import csrf_exempt
 from django.utils.decorators import method_decorator
-from Model.models import Device_User, Device_Info, Role, UserExModel
+from Model.models import Device_User, Device_Info, Role, UserExModel, UidSetModel, UidPushModel, GatewayPush
 from Service.CommonService import CommonService
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -195,6 +195,8 @@ class shareUserEquipmentView(View):
         if not Master or not Guest:
             return response.json(104)
         querysetList = []
+        uid_push_list = []
+        now_time = int(time.time())
         dictLen = 0
         if sharedAll:
             for equipment in Master:
@@ -207,6 +209,7 @@ class shareUserEquipmentView(View):
                     dictLen += 1
                     continue
                 else:
+                    uid_push_list.append(eqDict.get('UID', None))
                     puserId = eqDict.pop('userID')
                     eqDict['primaryUserID'] = puserId
                     eqDict['primaryMaster'] = ModelService.get_user_name(puserId)
@@ -230,6 +233,7 @@ class shareUserEquipmentView(View):
                         if shareEquipment:
                             dictLen += 1
                         else:
+                            uid_push_list.append(eqDict.get('UID', None))
                             puserId = eqDict.pop('userID')
                             eqDict['primaryUserID'] = puserId
                             eqDict['primaryMaster'] = ModelService.get_user_name(puserId)
@@ -245,6 +249,31 @@ class shareUserEquipmentView(View):
         else:
             try:
                 Device_Info.objects.bulk_create(querysetList)
+                uid_set_qs = UidSetModel.objects.filter(uid__in=uid_push_list).values('id')
+                for uid_set in uid_set_qs:
+                    uid_set_id = uid_set['id']
+                    now_time = int(time.time())
+                    uid_push_qs = UidPushModel.objects.filter(userID=GuestID).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=GuestID, 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=GuestID, logout=False).values(
+                            'app_bundle_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=GuestID, appBundleId=item['app_bundle_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:
                 errorInfo = traceback.format_exc()
                 print('添加数据库记录错误: %s' % errorInfo)