chenshibin 4 жил өмнө
parent
commit
f9d3aac9b4

+ 68 - 1
AdminController/ServeManagementController.py

@@ -11,7 +11,7 @@ import logging
 from boto3.session import Session
 from boto3.session import Session
 from django.http import JsonResponse, HttpResponseRedirect, HttpResponse, StreamingHttpResponse
 from django.http import JsonResponse, HttpResponseRedirect, HttpResponse, StreamingHttpResponse
 from django.views.generic.base import View
 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.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -58,6 +58,10 @@ class serveManagement(View):
                 return self.deleteCdk(request_dict, response)
                 return self.deleteCdk(request_dict, response)
             elif operation == 'downloadCDK':
             elif operation == 'downloadCDK':
                 return self.downloadCDK(request_dict, response)
                 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:
             else:
                 return response.json(404)
                 return response.json(404)
 
 
@@ -280,4 +284,67 @@ class serveManagement(View):
         response['Content-Disposition'] = 'attachment;filename="CDK.txt"'
         response['Content-Disposition'] = 'attachment;filename="CDK.txt"'
         return response
         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)
+
+