live_room_list filter pay_status and goods_name

FFIB 5 anos atrás
pai
commit
aee48e9d7e
1 arquivos alterados com 12 adições e 1 exclusões
  1. 12 1
      api/admin_views.py

+ 12 - 1
api/admin_views.py

@@ -187,13 +187,24 @@ def live_order_list(request):
187 187
     admin_id = request.POST.get('admin_id', '')
188 188
     page = request.POST.get('page', 1)
189 189
     num = request.POST.get('num', 20)
190
+    pay_status = request.POST.get('pay_status', '')
191
+    query = request.POST.get('query', '')
192
+    goods_name = request.POST.get('goods_name', '')
190 193
 
191 194
     try:
192 195
         administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
193 196
     except AdministratorInfo.DoesNotExist:
194 197
         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
198
+    
199
+    orders = RoomInfo.objects.filter(Q(name__contains=query) | Q(phone__contains=query)).order_by('-created_at')
200
+    if pay_status:
201
+        orders = orders.filter(pay_status=pay_status)
202
+    
203
+    if goods_name:
204
+        goods_infos = liveGoodsInfo.objects.filter(goods_name__contains=goods_name)
205
+        goods_infos = [info.goods_id for info in goods_infos]
206
+        orders = orders.filter(goods_id__in=goods_infos)
195 207
 
196
-    orders = RoomOrderInfo.objects.order_by('-created_at').all()
197 208
     count = orders.count()
198 209
     orders = Paginator(orders, num).get_page(page)
199 210
     orders = [order.admindata for order in orders]