add admin/room/goods/list

FFIB 5 年之前
父节点
当前提交
0d89b6cb54
共有 3 个文件被更改,包括 49 次插入2 次删除
  1. 23 1
      api/admin_views.py
  2. 3 1
      api/urls.py
  3. 23 0
      live/models.py

+ 23 - 1
api/admin_views.py

@@ -294,7 +294,7 @@ def live_room_list(request):
294 294
     except AdministratorInfo.DoesNotExist:
295 295
         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
296 296
 
297
-    rooms = RoomInfo.objects.all()
297
+    rooms = RoomInfo.objects.filter(status=True).order_by('-created_at')
298 298
     count = rooms.count()
299 299
     rooms = Paginator(rooms, num).get_page(page)
300 300
     rooms = [room.admindata for room in rooms]
@@ -473,3 +473,25 @@ def fetch_wx_room_list(request):
473 473
         room.save()
474 474
     
475 475
     return response(200, 'Fetch wx Room List Success', u'微信直播间列表获取成功')
476
+
477
+@logit(res=True)
478
+def room_goods_list(request):
479
+    admin_id = request.POST.get('admin_id', '')
480
+    page = request.POST.get('page', 1)
481
+    num = request.POST.get('num', 20)
482
+
483
+    try:
484
+        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
485
+    except AdministratorInfo.DoesNotExist:
486
+        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
487
+    
488
+    goods_list = RoomGoodsInfo.objects.filter(status=True).order_by('-created_at')
489
+
490
+    count = goods_list.count()
491
+    goods_list = Paginator(goods_list, num).get_page(page)
492
+    goods_list = [goods.admindata for goods in goods_list]
493
+
494
+    return response(200, 'Room Goods Success', u'直播间商品库获取成功', data={
495
+        'goods_list': goods_list,
496
+        'count': count,
497
+    })

+ 3 - 1
api/urls.py

@@ -54,7 +54,9 @@ urlpatterns += [
54 54
     url(r'^admin/live/room/list$', admin_views.live_room_list, name='live_room_list'),   # 直播间列表
55 55
 
56 56
     url(r'^admin/live/order/list$', admin_views.live_order_list, name='live_order_list'),   # 直播间订单列表
57
-    url(r'^admin/live/order/delivery$', admin_views.live_order_delivery, name='live_order_delivery'),   # 直播间订单发货
57
+    url(r'^admin/live/order/delivery$', admin_views.live_order_delivery, name='live_order_delivery'), # 直播间订单发货
58
+
59
+    url(r'^admin/room/goods/list$', admin_views.room_goods_list, name='room_goods_list'), # 直播间商品
58 60
 
59 61
     #微信直播 api
60 62
     url(r'^admin/live/wx/room/list$', admin_views.fetch_wx_room_list, name='fetch_wx_room_list'),   # 微信直播间列表

+ 23 - 0
live/models.py

@@ -1,3 +1,5 @@
1
+import json
2
+
1 3
 from django.db import models
2 4
 from django.utils.translation import ugettext_lazy as _
3 5
 from django_models_ext import BaseModelMixin, upload_file_path, upload_file_url, upload_path
@@ -191,6 +193,27 @@ class RoomGoodsInfo(BaseModelMixin):
191 193
 
192 194
     def __unicode__(self):
193 195
         return self.pk
196
+    
197
+    @property
198
+    def admindata(self):
199
+        goods = liveGoodsInfo.objects.get(goods_id=self.goods_id)
200
+        anchor = AnchorInfo.objects.get(anchor_id=self.anchor_id)
201
+        room = RoomInfo.objects.get(room_id=self.room_id)
202
+        return {
203
+            'room_id': self.room_id,
204
+            'room_name': room.name,
205
+            'anchor_id': self.anchor_id,
206
+            'anchor_avatar': anchor.anchor_avatar_url,
207
+            'anchor_name': anchor.anchor_name,
208
+            'goods_id': self.goods_id,
209
+            'goods_name': goods.name,
210
+            'goods_img': goods.goods_img_url,
211
+            'price_type': goods.price_type,
212
+            'price': goods.price,
213
+            'price2': goods.price2,
214
+            'inventory': self.inventory,
215
+            'sale_count': len(self.sale_infos),
216
+        }
194 217
 
195 218
 class RoomUserInfo(BaseModelMixin):
196 219
     room_id = models.CharField(_('room_id'), max_length=32, help_text='房间唯一标识', db_index=True)