|
@@ -12,7 +12,7 @@ from boto3.session import Session
|
|
|
from django.http import JsonResponse, HttpResponseRedirect, HttpResponse, StreamingHttpResponse
|
|
|
from django.views.generic.base import View
|
|
|
from Model.models import Device_Info, Role, MenuModel, VodBucketModel, CDKcontextModel, Store_Meal, Order_Model, \
|
|
|
- UID_Bucket, ExperienceContextModel, Lang
|
|
|
+ UID_Bucket, ExperienceContextModel, Lang, Device_User, CloudLogModel
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Object.UidTokenObject import UidTokenObject
|
|
@@ -35,7 +35,8 @@ class serveManagement(View):
|
|
|
def validation(self, request_dict, request, operation):
|
|
|
language = request_dict.get('language', 'en')
|
|
|
response = ResponseObject(language, 'pc')
|
|
|
- if operation == '??':
|
|
|
+ if operation == 'getCloudUserList':
|
|
|
+ return self.getCloudUserList(request_dict, response)
|
|
|
return 0
|
|
|
else:
|
|
|
tko = TokenObject(
|
|
@@ -84,6 +85,8 @@ class serveManagement(View):
|
|
|
return self.deleteDevicePackage(userID, request_dict, response)
|
|
|
elif operation == 'experiencereset': # 重置设备云存体验
|
|
|
return self.do_experience_reset(request_dict, userID, response)
|
|
|
+ elif operation == 'getCloudUserList': # 重置设备云存体验
|
|
|
+ return self.getCloudUserList(request_dict, userID, response)
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
@@ -722,3 +725,63 @@ class serveManagement(View):
|
|
|
|
|
|
else:
|
|
|
return response.json(0, '重置云存体验失败')
|
|
|
+
|
|
|
+
|
|
|
+ def getCloudUserList(self, request_dict, response):
|
|
|
+ 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()
|
|
|
+ if uid:
|
|
|
+ ubqs = ubqs.filter(uid__contains=uid)
|
|
|
+
|
|
|
+ if not ubqs.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:
|
|
|
+ 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)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return response.json(
|
|
|
+ 0, {'list': list(listdata), 'total': count})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+
|