@@ -531,4 +531,4 @@ def room_goods_add(request): |
||
531 | 531 |
room_goods.inventory = goods.get('inventory', 0) |
532 | 532 |
room_goods.save() |
533 | 533 |
|
534 |
- return response(200, 'Room Goods Add Success', u'直播间商品库添加成功') |
|
534 |
+ return response(200, 'Room Goods Add Success', u'直播间商品库添加成功') |
@@ -0,0 +1,18 @@ |
||
1 |
+# Generated by Django 2.2.12 on 2020-05-26 07:40 |
|
2 |
+ |
|
3 |
+from django.db import migrations, models |
|
4 |
+ |
|
5 |
+ |
|
6 |
+class Migration(migrations.Migration): |
|
7 |
+ |
|
8 |
+ dependencies = [ |
|
9 |
+ ('live', '0016_auto_20200524_2041'), |
|
10 |
+ ] |
|
11 |
+ |
|
12 |
+ operations = [ |
|
13 |
+ migrations.AddField( |
|
14 |
+ model_name='roomgoodsinfo', |
|
15 |
+ name='goods_status', |
|
16 |
+ field=models.IntegerField(choices=[(0, '上架'), (1, '草稿'), (2, '下架')], db_index=True, default=1, help_text='商品状态', verbose_name='goods_status'), |
|
17 |
+ ), |
|
18 |
+ ] |
@@ -181,10 +181,22 @@ class liveGoodsInfo(BaseModelMixin): |
||
181 | 181 |
|
182 | 182 |
|
183 | 183 |
class RoomGoodsInfo(BaseModelMixin): |
184 |
+ PUBLISH = 0 |
|
185 |
+ DRAFT = 1 |
|
186 |
+ OFF = 2 |
|
187 |
+ # DELETED = 9 |
|
188 |
+ |
|
189 |
+ GOODS_STATUS = ( |
|
190 |
+ (PUBLISH, '上架'), |
|
191 |
+ (DRAFT, '草稿'), |
|
192 |
+ (OFF, '下架'), |
|
193 |
+ ) |
|
194 |
+ |
|
184 | 195 |
room_id = models.CharField(_('room_id'), max_length=32, help_text='房间唯一标识', db_index=True) |
185 | 196 |
anchor_id = models.CharField(_('anchor_id'), max_length=32, blank=True, help_text='主播唯一标识') |
186 | 197 |
goods_id = models.CharField(_('goods_id'), max_length=32, blank=True, help_text='商品ID') |
187 | 198 |
inventory = models.IntegerField(_('inventory'), default=0, help_text='直播间库存数量') |
199 |
+ goods_status = models.IntegerField(_('goods_status'), choices=GOODS_STATUS, default=DRAFT, help_text='商品状态', db_index=True) |
|
188 | 200 |
sale_infos = JSONField(_('sale_infos'), blank=True, default=[], help_text='直播间商品销售信息') |
189 | 201 |
|
190 | 202 |
class Meta: |
@@ -212,6 +224,7 @@ class RoomGoodsInfo(BaseModelMixin): |
||
212 | 224 |
'price': goods.price, |
213 | 225 |
'price2': goods.price2, |
214 | 226 |
'inventory': self.inventory, |
227 |
+ 'goods_status': self.goods_status, |
|
215 | 228 |
'sale_count': len(self.sale_infos), |
216 | 229 |
} |
217 | 230 |
|
@@ -50,12 +50,12 @@ def room_goods_detail(request): |
||
50 | 50 |
try: |
51 | 51 |
room_goods_info = RoomGoodsInfo.objects.get(goods_id=goods_id, room_id=room_id) |
52 | 52 |
except: |
53 |
- return response() |
|
53 |
+ return response(400001, 'Room Goods Not Found', '直播间商品不存在') |
|
54 | 54 |
|
55 | 55 |
try: |
56 | 56 |
goods_info = liveGoodsInfo.objects.get(goods_id=goods_id) |
57 | 57 |
except: |
58 |
- return response() |
|
58 |
+ return response(400001, 'Live Goods Not Found', '直播商品不存在') |
|
59 | 59 |
|
60 | 60 |
return response(200, 'Get Room Goods Detail Success', '获取直播间商品成功', data={ |
61 | 61 |
'goods_info': { |
@@ -64,6 +64,7 @@ def room_goods_detail(request): |
||
64 | 64 |
'price_type': goods_info.price_type, |
65 | 65 |
'price': goods_info.price, |
66 | 66 |
'price2': goods_info.price2, |
67 |
+ 'goods_status': room_goods_info.goods_status, |
|
67 | 68 |
'inventory': room_goods_info.inventory, |
68 | 69 |
}, |
69 | 70 |
'anchor_id': room_goods_info.anchor_id, |
@@ -140,7 +141,7 @@ def live_order_create(request): |
||
140 | 141 |
# 金额校验 |
141 | 142 |
try: |
142 | 143 |
goods_info = liveGoodsInfo.objects.get(goods_id=goods_id) |
143 |
- if amount * int(goods_info.price) != total_fee: |
|
144 |
+ if amount * int(goods_info.price if goods_info.price_type else goods_info.price2) != total_fee: |
|
144 | 145 |
return response(404091, 'FEE Check Fail', description='金额校验失败') |
145 | 146 |
except: |
146 | 147 |
return response(404091, 'FEE Check Fail', description='金额校验失败') |