@@ -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)
|