Ver código fonte

设备套餐

chenshibin 4 anos atrás
pai
commit
f9d3aac9b4
1 arquivos alterados com 68 adições e 1 exclusões
  1. 68 1
      AdminController/ServeManagementController.py

+ 68 - 1
AdminController/ServeManagementController.py

@@ -11,7 +11,7 @@ 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
+from Model.models import Device_Info, Role, MenuModel, VodBucketModel, CDKcontextModel, Store_Meal, Order_Model
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -58,6 +58,10 @@ class serveManagement(View):
                 return self.deleteCdk(request_dict, response)
             elif operation == 'downloadCDK':
                 return self.downloadCDK(request_dict, response)
+            elif operation == 'getDeviceOrderList':
+                return self.getDeviceOrderList(request_dict, response)
+            elif operation == 'deleteDeviceOrder':
+                return self.deleteDeviceOrder(userID,request_dict, response)
             else:
                 return response.json(404)
 
@@ -280,4 +284,67 @@ class serveManagement(View):
         response['Content-Disposition'] = 'attachment;filename="CDK.txt"'
         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)
+        channel = request_dict.get('channel', None)
+        orderID = request_dict.get('orderID', None)
+        userID__username = request_dict.get('userID__username', None)
+        currency = request_dict.get('currency', None)
+        payType = request_dict.get('payType', None)
+        status = request_dict.get('status', None)
+        if not all([pageNo, pageSize]):
+            return response.json(444)
+
+        page = int(pageNo)
+        line = int(pageSize)
+        try:
+            omqs = Order_Model.objects.all()
+            # 筛选指定设备id的订单
+            if uid:
+                omqs = omqs.filter(UID=uid)
+            if channel:
+                omqs = omqs.filter(channel=channel)
+            if orderID:
+                omqs = omqs.filter(orderID=orderID)
+            if userID__username:
+                omqs = omqs.filter(userID__username=userID__username)
+            if currency:
+                omqs = omqs.filter(currency=currency)
+            if payType:
+                omqs = omqs.filter(payType=payType)
+            if status:
+                omqs = omqs.filter(status=status)
+            if not omqs.exists():
+                return response.json(0, [])
+
+            count = omqs.count()
+
+            order_ql = omqs.values("orderID", "UID", "userID__username", "channel",
+                                                                  "desc", "price",
+                                                                  "currency", "addTime", "updTime", "paypal",
+                                                                  "payType",
+                                                                  "rank__day",
+                                                                  "rank__price", "status")
+            order_ql = order_ql.order_by('-addTime')  # 根据CDK创建时间降序排序
+            order_ql = order_ql[(page - 1) * line:page * line]
+            return response.json(
+                0, {'list': list(order_ql), 'total': count})
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+
+    def deleteDeviceOrder(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)
+
+