|
@@ -625,8 +625,11 @@ class serveManagement(View):
|
|
|
if status:
|
|
|
omqs = omqs.filter(status=status)
|
|
|
if timeRange:
|
|
|
- startTime, endTime = int(timeRange[0][:-3]), int(timeRange[1][:-3])
|
|
|
- omqs = omqs.filter(addTime__gte=startTime, addTime__lte=endTime)
|
|
|
+ startTime, endTime = int(
|
|
|
+ timeRange[0][:-3]), int(timeRange[1][:-3])
|
|
|
+ omqs = omqs.filter(
|
|
|
+ addTime__gte=startTime,
|
|
|
+ addTime__lte=endTime)
|
|
|
if not omqs.exists():
|
|
|
return response.json(0, [])
|
|
|
|
|
@@ -726,62 +729,121 @@ class serveManagement(View):
|
|
|
else:
|
|
|
return response.json(0, '重置云存体验失败')
|
|
|
|
|
|
-
|
|
|
def getCloudUserList(self, request_dict, response):
|
|
|
+ print('request_dict: ', request_dict)
|
|
|
+
|
|
|
+ # UID_Bucket表查询数据
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
+ status = request_dict.get('status', None)
|
|
|
+ use_status = request_dict.get('use_status', None)
|
|
|
+ has_unused = request_dict.get('has_unused', None)
|
|
|
+ addTimeRange = request_dict.getlist('addTimeRange[]', None)
|
|
|
+ endTimeRange = request_dict.getlist('endTimeRange[]', None)
|
|
|
+
|
|
|
+ # Order_Model表查询数据
|
|
|
+ username = request_dict.get('username', None)
|
|
|
+ phone = request_dict.get('phone', None)
|
|
|
+ userEmail = request_dict.get('userEmail', None)
|
|
|
+ payType = request_dict.get('payType', None)
|
|
|
+
|
|
|
pageNo = request_dict.get('pageNo', None)
|
|
|
pageSize = request_dict.get('pageSize', None)
|
|
|
- uid = request_dict.get('uid', None)
|
|
|
if not all([pageNo, pageSize]):
|
|
|
return response.json(444)
|
|
|
-
|
|
|
page = int(pageNo)
|
|
|
line = int(pageSize)
|
|
|
+
|
|
|
try:
|
|
|
- ubqs = UID_Bucket.objects.all()
|
|
|
+ uid_bucket_qs = UID_Bucket.objects.all()
|
|
|
if uid:
|
|
|
- ubqs = ubqs.filter(uid__contains=uid)
|
|
|
-
|
|
|
- if not ubqs.exists():
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(uid__contains=uid)
|
|
|
+ if status:
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(status=status)
|
|
|
+ if use_status:
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(use_status=use_status)
|
|
|
+ if has_unused:
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(has_unused=has_unused)
|
|
|
+ if addTimeRange:
|
|
|
+ addStartTime, addEndTime = int(
|
|
|
+ addTimeRange[0][:-3]), int(addTimeRange[1][:-3])
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(
|
|
|
+ addTime__gte=addStartTime,
|
|
|
+ addTime__lte=addEndTime)
|
|
|
+ if endTimeRange:
|
|
|
+ endStartTime, endEndTime = int(
|
|
|
+ endTimeRange[0][:-3]), int(endTimeRange[1][:-3])
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(
|
|
|
+ addTime__gte=endStartTime,
|
|
|
+ addTime__lte=endEndTime)
|
|
|
+ if not uid_bucket_qs.exists():
|
|
|
return response.json(0, [])
|
|
|
|
|
|
- order_qs = Order_Model.objects.filter(uid_bucket_id__in=ubqs.values('id')).values('userID__userID')
|
|
|
-
|
|
|
- cg_qs = CloudLogModel.objects.filter(operation='cloudstorage/queryvodlist')
|
|
|
- listdata = []
|
|
|
- i = 0
|
|
|
- count = ubqs.count()
|
|
|
- ubqs = ubqs[(page - 1) * line:page * line]
|
|
|
-
|
|
|
- for ub in ubqs:
|
|
|
+ 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:
|
|
|
+ order_qs = order_qs.filter(userID__username=username)
|
|
|
+ if phone:
|
|
|
+ order_qs = order_qs.filter(userID__phone__contains=phone)
|
|
|
+ if userEmail:
|
|
|
+ order_qs = order_qs.filter(
|
|
|
+ userID__userEmail__contains=userEmail)
|
|
|
+ if payType:
|
|
|
+ order_qs = order_qs.filter(payType=int(payType))
|
|
|
+ # 过滤套餐关联的UID_Bucket数据
|
|
|
+ uid_bucket_qs = uid_bucket_qs.filter(
|
|
|
+ id__in=order_qs.values_list(
|
|
|
+ 'uid_bucket_id', flat=True))
|
|
|
+
|
|
|
+ cg_qs = CloudLogModel.objects.filter(
|
|
|
+ operation='cloudstorage/queryvodlist')
|
|
|
+ list_data = []
|
|
|
+ count = uid_bucket_qs.count()
|
|
|
+ uid_bucket_qs = uid_bucket_qs[(page - 1) * line:page * line]
|
|
|
+
|
|
|
+ for uid_bucket in uid_bucket_qs:
|
|
|
data = {
|
|
|
- 'id': ub.id,
|
|
|
- 'uid': ub.uid,
|
|
|
- 'channel': ub.channel,
|
|
|
- 'status': ub.status,
|
|
|
- 'endTime': time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(ub.endTime)),
|
|
|
- 'addTime': time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(ub.addTime)),
|
|
|
- 'use_status': ub.use_status,
|
|
|
- 'has_unused': ub.has_unused
|
|
|
- }
|
|
|
-
|
|
|
- for od in order_qs.filter(uid_bucket_id=ub.id).values('uid_bucket_id','desc','userID__userID','UID','price','payType','userID__username','userID__phone','userID__userEmail','userID__data_joined'):
|
|
|
- data['desc'] = od['desc']
|
|
|
- data['payType'] = od['payType']
|
|
|
- data['price'] = od['price']
|
|
|
- data['username'] = od['userID__username']
|
|
|
- data['phone'] = od['userID__phone']
|
|
|
- data['userEmail'] = od['userID__userEmail']
|
|
|
- data['data_joined'] = od['userID__data_joined'].strftime("%Y-%m-%d %H:%M:%S")
|
|
|
- data['playcount'] = cg_qs.filter(operation='cloudstorage/queryvodlist', uid=od['UID']).count()
|
|
|
-
|
|
|
-
|
|
|
- listdata.append(data)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ 'id': uid_bucket.id,
|
|
|
+ 'uid': uid_bucket.uid,
|
|
|
+ 'channel': uid_bucket.channel,
|
|
|
+ 'status': uid_bucket.status,
|
|
|
+ 'endTime': time.strftime(
|
|
|
+ "%Y--%m--%d %H:%M:%S",
|
|
|
+ time.localtime(
|
|
|
+ uid_bucket.endTime)),
|
|
|
+ 'addTime': time.strftime(
|
|
|
+ "%Y--%m--%d %H:%M:%S",
|
|
|
+ time.localtime(
|
|
|
+ uid_bucket.addTime)),
|
|
|
+ 'use_status': uid_bucket.use_status,
|
|
|
+ 'has_unused': uid_bucket.has_unused}
|
|
|
+
|
|
|
+ for order in order_qs.filter(
|
|
|
+ uid_bucket_id=uid_bucket.id).values(
|
|
|
+ 'uid_bucket_id',
|
|
|
+ 'desc',
|
|
|
+ 'userID__userID',
|
|
|
+ 'UID',
|
|
|
+ 'price',
|
|
|
+ 'payType',
|
|
|
+ 'userID__username',
|
|
|
+ 'userID__phone',
|
|
|
+ 'userID__userEmail',
|
|
|
+ 'userID__data_joined'):
|
|
|
+ data['desc'] = order['desc']
|
|
|
+ data['payType'] = order['payType']
|
|
|
+ data['price'] = order['price']
|
|
|
+ data['username'] = order['userID__username']
|
|
|
+ data['phone'] = order['userID__phone']
|
|
|
+ data['userEmail'] = order['userID__userEmail']
|
|
|
+ data['data_joined'] = order['userID__data_joined'].strftime(
|
|
|
+ "%Y-%m-%d %H:%M:%S")
|
|
|
+ data['playcount'] = cg_qs.filter(
|
|
|
+ operation='cloudstorage/queryvodlist', uid=order['UID']).count()
|
|
|
+
|
|
|
+ list_data.append(data)
|
|
|
return response.json(
|
|
|
- 0, {'list': list(listdata), 'total': count})
|
|
|
+ 0, {'list': list_data, 'total': count})
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
-
|