fix 用户重复兑换问题

FFIB %!s(int64=4) %!d(string=hace) años
padre
commit
f6fe8ce082
Se han modificado 1 ficheros con 13 adiciones y 10 borrados
  1. 13 10
      api/member_views.py

+ 13 - 10
api/member_views.py

@@ -212,16 +212,19 @@ def good_exchange(request):
212 212
         good.left_num -= 1
213 213
         good.save()
214 214
 
215
-        GoodsOrderInfo.objects.create(
216
-            user_id=user_id,
217
-            good_id=good_id,
218
-            good_type=good.good_type,
219
-            title=good.title,
220
-            name=name,
221
-            phone=phone,
222
-            address=address,
223
-            integral=good.integral,
224
-        )
215
+        # 校验重复兑换
216
+        is_exists = GoodsOrderInfo.objects.filter(user_id=user_id, good_id=good_id, status=True).exists()
217
+        if not is_exists:
218
+            GoodsOrderInfo.objects.create(
219
+                user_id=user_id,
220
+                good_id=good_id,
221
+                good_type=good.good_type,
222
+                title=good.title,
223
+                name=name,
224
+                phone=phone,
225
+                address=address,
226
+                integral=good.integral,
227
+            )
225 228
 
226 229
         if good.good_type == GoodsInfo.PHYSICAL:
227 230
             # TODO: 通知客服发快递