@@ -209,6 +209,10 @@ def good_exchange(request): |
||
209 | 209 |
# 校验重复兑换 |
210 | 210 |
if good.only_once and GoodsOrderInfo.objects.filter(user_id=user_id, good_id=good_id, status=True).exists(): |
211 | 211 |
return response(MemberGoodStatusCode.GOOD_EXCHANGE_ONLY_ONCE) |
212 |
+ |
|
213 |
+ if good.good_type == GoodsInfo.PHYSICAL and address == '': |
|
214 |
+ return response(MemberGoodStatusCode.GOOD_NO_ADDRESS) |
|
215 |
+ |
|
212 | 216 |
|
213 | 217 |
user.integral -= good.integral |
214 | 218 |
user.save() |
@@ -82,6 +82,7 @@ class MemberGoodStatusCode(BaseStatusCode): |
||
82 | 82 |
GOOD_INTEGRAL_NOT_ENOUGH = StatusCodeField(503503, 'Good Integral Not Enough', description=u'商品兑换积分不足') |
83 | 83 |
GOOD_STOCK_NOT_ENOUGH = StatusCodeField(503504, 'Good Integral Not Enough', description=u'商品库存不足') |
84 | 84 |
GOOD_EXCHANGE_ONLY_ONCE = StatusCodeField(503505, 'Good Exchange Only Once', description=u'商品仅可兑换一次') |
85 |
+ GOOD_NO_ADDRESS = StatusCodeField(503506, 'Good Exchange No Address', description=u'实物商品需填写地址') |
|
85 | 86 |
|
86 | 87 |
|
87 | 88 |
class MemberRightStatusCode(BaseStatusCode): |