浏览代码

云存用户信息查询添加产品编码查询

locky 3 年之前
父节点
当前提交
391fb63513
共有 1 个文件被更改,包括 24 次插入16 次删除
  1. 24 16
      AdminController/ServeManagementController.py

+ 24 - 16
AdminController/ServeManagementController.py

@@ -788,11 +788,31 @@ class serveManagement(View):
                 uid_bucket_qs = uid_bucket_qs.filter(
                 uid_bucket_qs = uid_bucket_qs.filter(
                     addTime__gte=endStartTime,
                     addTime__gte=endStartTime,
                     addTime__lte=endEndTime)
                     addTime__lte=endEndTime)
+
+            uid_list = []
+            uid_set_dict = {}
+            if ucode and ucode != ['']:
+                uid_set_qs = UidSetModel.objects.filter(ucode__in=ucode).values('uid', 'ucode', 'version').distinct()
+                for uid_set in uid_set_qs:
+                    uid_list.append(uid_set['uid'])
+                    uid_set_dict[uid_set['uid']] = {
+                        'ucode': uid_set['ucode'],
+                        'version': uid_set['version']
+                    }
+                uid_bucket_qs = uid_bucket_qs.filter(uid__in=uid_list)
+            else:
+                uid_set_qs = UidSetModel.objects.filter().values('uid', 'ucode', 'version').distinct()
+                for uid_set in uid_set_qs:
+                    uid_list.append(uid_set['uid'])
+                    uid_set_dict[uid_set['uid']] = {
+                        'ucode': uid_set['ucode'],
+                        'version': uid_set['version']
+                    }
+
             if not uid_bucket_qs.exists():
             if not uid_bucket_qs.exists():
                 return response.json(0, [])
                 return response.json(0, [])
 
 
-            order_qs = Order_Model.objects.filter(
-                uid_bucket_id__in=uid_bucket_qs.values('id'))
+            order_qs = Order_Model.objects.filter(uid_bucket_id__in=uid_bucket_qs.values('id'))
             if username or phone or userEmail or payType:
             if username or phone or userEmail or payType:
                 if username:
                 if username:
                     order_qs = order_qs.filter(userID__username=username)
                     order_qs = order_qs.filter(userID__username=username)
@@ -808,14 +828,6 @@ class serveManagement(View):
                     id__in=order_qs.values_list(
                     id__in=order_qs.values_list(
                         'uid_bucket_id', flat=True))
                         'uid_bucket_id', flat=True))
 
 
-            uidset_qs = UidSetModel.objects.filter(
-                uid__in=uid_bucket_qs.values('uid'))
-            if ucode or version:
-                if ucode:
-                    uidset_qs = uidset_qs.filter(ucode=ucode)
-                if version:
-                    uidset_qs = uidset_qs.filter(version=version)
-
             cg_qs = CloudLogModel.objects.filter(
             cg_qs = CloudLogModel.objects.filter(
                 operation='cloudstorage/queryvodlist')
                 operation='cloudstorage/queryvodlist')
             if logTimeRange:
             if logTimeRange:
@@ -872,12 +884,8 @@ class serveManagement(View):
                     data['playcount'] = cg_qs.filter(
                     data['playcount'] = cg_qs.filter(
                         operation='cloudstorage/queryvodlist', uid=order['UID']).count()
                         operation='cloudstorage/queryvodlist', uid=order['UID']).count()
 
 
-                for uidset in uidset_qs.filter(
-                        uid=uid_bucket.uid).values(
-                        'ucode',
-                        'version'):
-                    data['ucode'] = uidset['ucode']
-                    data['version'] = uidset['version']
+                data['ucode'] = uid_set_dict[uid_bucket.uid]['ucode']
+                data['version'] = uid_set_dict[uid_bucket.uid]['version']
 
 
                 list_data.append(data)
                 list_data.append(data)
             return response.json(
             return response.json(