Browse Source

修改转移设备无法拨通通话功能

zhangdongming 7 months ago
parent
commit
4b174755be
1 changed files with 46 additions and 1 deletions
  1. 46 1
      Controller/CloudTransfer.py

+ 46 - 1
Controller/CloudTransfer.py

@@ -14,12 +14,13 @@ from django.views.generic.base import View
 
 
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
     VodBucketModel, UnicomDeviceInfo, LogModel, UidPushModel, AiService, UidSetModel, UserFamily, FamilyRoomDevice, \
     VodBucketModel, UnicomDeviceInfo, LogModel, UidPushModel, AiService, UidSetModel, UserFamily, FamilyRoomDevice, \
-    UserAudioVideoPush
+    UserAudioVideoPush, GatewayPush
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Service.VodHlsService import SplitVodHlsObject
 from Service.VodHlsService import SplitVodHlsObject
+from Ansjer.config import LOGGER
 
 
 
 
 class cloudTestView(View):
 class cloudTestView(View):
@@ -153,6 +154,7 @@ class cloudTestView(View):
                 # 双通话键设备
                 # 双通话键设备
                 UserAudioVideoPush.objects.filter(uid=uid).update(buttonUser1=newUserID, buttonUser2=newUserID,
                 UserAudioVideoPush.objects.filter(uid=uid).update(buttonUser1=newUserID, buttonUser2=newUserID,
                                                                   updated_time=int(time.time()))
                                                                   updated_time=int(time.time()))
+                self.add_user_phone_push(newUserID, uid)
 
 
                 # 记录设备转移日志
                 # 记录设备转移日志
                 ip = CommonService.get_ip_address(request)
                 ip = CommonService.get_ip_address(request)
@@ -180,6 +182,49 @@ class cloudTestView(View):
         else:
         else:
             return response.json(0)
             return response.json(0)
 
 
+    @classmethod
+    def add_user_phone_push(cls, userID, UID):
+        """
+        根据userID查询用户手机推送令牌信息
+        """
+        try:
+            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').order_by('-updTime')
+                count = 0
+                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)
+                        count += 1
+                        if count >= 4:
+                            break
+                else:
+                    gateway_push_qs = GatewayPush.objects.filter(user_id=userID, logout=False).values(
+                        'app_bundle_id', 'm_code', 'app_type', 'push_type', 'token_val', 'lang', 'jg_token_val',
+                        'tz').order_by('-id')
+                    for item in gateway_push_qs:
+                        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,
+                                                    jg_token_val=item['jg_token_val'], lang=item['lang'],
+                                                    m_code=item['m_code'], tz=item['tz'])
+                        count += 1
+                        if count >= 4:
+                            break
+
+        except Exception as e:
+            LOGGER.error('添加用户设备推送异常,uid:{},error_line:{}, error_msg:{}'
+                         .format(UID, e.__traceback__.tb_lineno, repr(e)))
+
     def mealTransfer(self, request, request_dict, response, userID):
     def mealTransfer(self, request, request_dict, response, userID):
         # 云存套餐转移,同一用户下不同设备间的云存套餐转移
         # 云存套餐转移,同一用户下不同设备间的云存套餐转移
         old_uid = request_dict.get("old_uid", None)
         old_uid = request_dict.get("old_uid", None)