@@ -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 |
+ }) |
@@ -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'), # 微信直播间列表 |
@@ -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) |