瀏覽代碼

搜索手机号分享设备保存子用户推送信息

peng 11 月之前
父節點
當前提交
6d3eb56aa9
共有 1 個文件被更改,包括 30 次插入1 次删除
  1. 30 1
      Controller/shareUserPermission.py

+ 30 - 1
Controller/shareUserPermission.py

@@ -7,7 +7,8 @@ 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, DeviceUserPermissions, DeviceSharePermission
+from Model.models import Device_User, Device_Info, Role, UserExModel, DeviceUserPermissions, DeviceSharePermission, \
+    UidSetModel, UidPushModel, GatewayPush
 from Service.CommonService import CommonService
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -199,6 +200,7 @@ class shareUserEquipmentView(View):
             return response.json(104)
         querysetList = []
         permission_list = []
+        uid_push_list = []
         p_ids = [int(val) for val in permission_ids.split(',')] if permission_ids else []
         now_time = int(time.time())
         dictLen = 0
@@ -213,6 +215,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)
@@ -240,6 +243,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)
@@ -261,6 +265,31 @@ class shareUserEquipmentView(View):
             try:
                 Device_Info.objects.bulk_create(querysetList)
                 DeviceUserPermissions.objects.bulk_create(permission_list)
+                uid_set_qs = UidSetModel.objects.filter(uid=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_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=GuestID, 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:
                 errorInfo = traceback.format_exc()
                 print('添加数据库记录错误: %s' % errorInfo)