Browse Source

设备套餐

chenshibin 4 years ago
parent
commit
08d0a91b15
1 changed files with 63 additions and 2 deletions
  1. 63 2
      AdminController/ServeManagementController.py

+ 63 - 2
AdminController/ServeManagementController.py

@@ -11,7 +11,8 @@ import logging
 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
+from Model.models import Device_Info, Role, MenuModel, VodBucketModel, CDKcontextModel, Store_Meal, Order_Model, \
+    UID_Bucket, ExperienceContextModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -70,6 +71,12 @@ class serveManagement(View):
                 return self.getDeviceOrderList(request_dict, response)
             elif operation == 'deleteDeviceOrder':
                 return self.deleteDeviceOrder(userID, request_dict, response)
+            elif operation == 'getDevicePackageList':
+                return self.getDevicePackageList(request_dict, response)
+            elif operation == 'deleteDevicePackage':
+                return self.deleteDevicePackage(userID, request_dict, response)
+            elif operation == 'experiencereset':  # 重置设备云存体验
+                return self.do_experience_reset(request_dict, userID, response)
             else:
                 return response.json(404)
 
@@ -495,7 +502,6 @@ class serveManagement(View):
         return response
 
     def getDeviceOrderList(self, request_dict, response):
-        # 获取激活码列表
         pageNo = request_dict.get('pageNo', None)
         pageSize = request_dict.get('pageSize', None)
         uid = request_dict.get('uid', None)
@@ -563,3 +569,58 @@ class serveManagement(View):
             return response.json(0)
         else:
             return response.json(444)
+
+    def getDevicePackageList(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, [])
+
+            count = ubqs.count()
+            ubqs = ubqs.values('id', 'uid', 'channel', 'status', 'endTime', 'bucket__bucket',
+                               'bucket__storeDay', 'bucket__area')
+
+            ubqs = ubqs.order_by('-addTime')  # 根据CDK创建时间降序排序
+            ubqs = ubqs[(page - 1) * line:page * line]
+            return response.json(
+                0, {'list': list(ubqs), 'total': count})
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+    def deleteDevicePackage(self, userID, request_dict, response):
+        orderID = request_dict.get('orderID', None)
+
+        if orderID:
+            Order_Model.objects.filter(orderID=orderID).delete()
+            return response.json(0)
+        else:
+            return response.json(444)
+
+    # 重置设备云存体验
+    def do_experience_reset(self, request_dict, userID, response):
+        bid = request_dict.get("id", None)
+        ubq = UID_Bucket.objects.filter(id=bid)
+        if ubq:
+            eq = ExperienceContextModel.objects.filter(uid=ubq[0].uid)
+            if eq:
+                eq.delete()
+                Order_Model.objects.filter(uid_bucket_id=bid).delete()
+                ubq.delete()
+                return response.json(0)
+            else:
+                return response.json(10007)
+
+        else:
+            return response.json(0, '重置云存体验失败')