Explorar o código

设备转移置顶排序

locky hai 9 horas
pai
achega
2949245ae9
Modificáronse 1 ficheiros con 11 adicións e 21 borrados
  1. 11 21
      Controller/CloudTransfer.py

+ 11 - 21
Controller/CloudTransfer.py

@@ -9,7 +9,7 @@ import json
 import time
 
 from django.db import transaction
-from django.db.models import Q
+from django.db.models import Q, Max
 from django.views.generic.base import View
 
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
@@ -84,12 +84,6 @@ class cloudTestView(View):
             if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
                 return response.json(10037)
 
-            # uid_mian = UIDMainUser.objects.filter(UID=uid).values('UID', 'user_id')
-            # if uid_mian.exists():
-            #     vodPrimaryUserID = uid_mian[0]['user_id']
-            #     if vodPrimaryUserID != '' and vodPrimaryUserID != oldUserID:
-            #         return response.json(10037)
-
             # 判断新用户是否已有此设备
             new_deviceInfo_qs = Device_Info.objects.filter(userID_id=newUserID, UID=uid, isExist=1)
             if new_deviceInfo_qs.exists():
@@ -111,12 +105,17 @@ class cloudTestView(View):
             # 获取用户家庭信息
             device_id = old_deviceInfo_qs[0]['id']
             user_family_qs = UserFamily.objects.filter(user_id=newUserID).values('id')
+            # 转移后置顶排序
+            sort_order = Device_Info.objects.filter(userID_id=newUserID).aggregate(
+                Max('sort_order'))['sort_order__max'] or 0
+            sort_order += 1
             with transaction.atomic():
                 serial_number = old_deviceInfo_qs[0]['serial_number']
                 # 删除旧用户此设备的uid_push数据
                 UidPushModel.objects.filter(userID_id=oldUserID, uid_set__uid=uid).delete()
-                # 更新旧设备的userID,设备添加时间,关闭推送消息提醒
-                old_deviceInfo_qs.update(userID=newUserID, data_joined=now_time, NotificationMode=0)
+                # 更新旧设备的userID,设备添加时间,关闭推送消息提醒,排序
+                old_deviceInfo_qs.update(
+                    userID=newUserID, data_joined=now_time, NotificationMode=0, sort_order=sort_order)
                 # 更新设备的主用户信息
                 Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID=vodPrimaryUserID,
                                                            vodPrimaryMaster=vodPrimaryMaster,
@@ -171,18 +170,9 @@ class cloudTestView(View):
                     'operation': '用户{}的设备{}转移给了用户{}'.format(old_user_name, uid, newUserName),
                 }
                 LogModel.objects.create(**log)
-                # UIDMainUser.objects.filter(UID=uid).delete()
-                # uid_main_dict = {
-                #     'UID': uid,
-                #     'user_id': newUserID
-                # }
-                # UIDMainUser.objects.create(**uid_main_dict)
-
+            return response.json(0)
         except Exception as e:
-            # print(e)
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-        else:
-            return response.json(0)
 
     @classmethod
     def add_user_phone_push(cls, userID, UID):
@@ -350,7 +340,7 @@ class cloudTestView(View):
                 LogModel.objects.create(**log)
             return response.json(0)
         except Exception as e:
-            return response.json(500, repr(e))
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
     def expireMeal(self, request_dict, response):
         UID_Bucket_id = request_dict.get("UID_Bucket_id", None)
@@ -360,7 +350,7 @@ class cloudTestView(View):
                 UID_Bucket.objects.filter(id=UID_Bucket_id).update(use_status=2)
             except Exception as e:
                 # print(e)
-                return response.json(500, repr(e))
+                return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
             else:
                 return response.json(0)
         response.json(404)