peng 2 жил өмнө
parent
commit
956c020314

+ 57 - 1
AdminController/IcloudManagementController.py

@@ -60,6 +60,9 @@ class IcloudServeView(View):
                 return self.get_user_icloud_info(request_dict, response)
             elif operation == 'resetIcloud':
                 return self.reset_icloud(request_dict, response)
+            # 云盘订单信息
+            elif operation == 'getIcloudOrder':
+                return self.get_icloud_order(request_dict, response)
             else:
                 return response.json(404)
 
@@ -188,7 +191,8 @@ class IcloudServeView(View):
                                                                        'content')
                 total = lang.count()
             else:
-                lang = lang.values('icloudstoremeal__id', 'id', 'lang', 'title', 'content')[(page - 1) * line:page * line]
+                lang = lang.values('icloudstoremeal__id', 'id', 'lang', 'title', 'content')[
+                       (page - 1) * line:page * line]
         return response.json(0, {'langList': list(lang), 'total': total})
 
     @staticmethod
@@ -293,3 +297,55 @@ class IcloudServeView(View):
             return response.json(0)
         except Exception as e:
             return response.json(500)
+
+    @staticmethod
+    def get_icloud_order(request_dict, response):
+        page = request_dict.get('pageNo', None)
+        line = request_dict.get('pageSize', None)
+        order_id = request_dict.get('orderID', None)
+        username = request_dict.get('userID__username', None)
+        pay_type = request_dict.get('payType', None)
+        status = request_dict.get('status', None)
+        time_range = request_dict.getlist('timeRange', None)
+        trade_no = request_dict.get('tradeNo', None)
+        if not all([page, line]):
+            return response.json(444)
+        try:
+            order_qs = Order_Model.objects.filter(order_type=4)
+            if order_id:
+                order_qs = order_qs.filter(orderID=order_id)
+            if username:
+                order_qs = order_qs.filter(userID__username=username)
+            if pay_type:
+                order_qs = order_qs.filter(payType=pay_type)
+            if status:
+                order_qs = order_qs.filter(status=status)
+            if time_range:
+                start_time, end_time = time_range.split(',')
+                order_qs = order_qs.filter(addTime__gte=start_time, addTime__lte=end_time)
+            if trade_no:
+                order_qs = order_qs.filter(trade_no=trade_no)
+            order_qs = order_qs.values('orderID', 'trade_no', 'userID__username', 'price', 'status', 'payType', 'desc',
+                                       'unify_combo_id', 'paypal', 'refunded_amount', 'addTime', 'updTime')
+            count = order_qs.count()
+            order_list = []
+            for item in order_qs:
+                icloud_dict = {
+                    'order_id': item['orderID'],
+                    'trade_no': item['trade_no'],
+                    'username': item['userID__username'],
+                    'price': item['price'],
+                    'status': item['status'],
+                    'pay_type': item['payType'],
+                    'refunded_amount': item['refunded_amount'],
+                    'add_time': item['addTime'],
+                    'upd_time': item['updTime'],
+                }
+                icloud_meal_qs = ICloudStoreMeal.objects.filter(id=item['unify_combo_id']).values('expire', 'size')
+                icloud_dict['expire'] = icloud_meal_qs[0]['expire'] if icloud_meal_qs.exists() else ''
+                icloud_dict['size'] = icloud_meal_qs[0]['size'] if icloud_meal_qs.exists() else ''
+                icloud_dict['paypal'] = item['paypal'] if item['paypal'] else ''
+                order_list.append(icloud_dict)
+            return response.json(0, {'list': order_list, 'total': count})
+        except Exception as e:
+            return response.json(500)