+ return response(404091, 'FEE Check Fail', description='金额校验失败')
+
+ if amount * int(goods_info.price if goods_info.price_type == 1 else goods_info.price2) != total_fee:
return response(404091, 'FEE Check Fail', description='金额校验失败')
# 消库存
@@ -198,7 +201,6 @@ def live_order_create(request):
order.save()
wxpay_params = wxpay.jsapi.get_jsapi_params(prepay_id)
-
return response(200, 'Order Create Success', '订单创建成功', {
'order_id': order.order_id,
@@ -206,6 +208,7 @@ def live_order_create(request):
'wxpay_params': wxpay_params,
})
+
def live_order_cancel(request):
user_id = request.POST.get('user_id', '')
order_id = request.POST.get('order_id', '')
@@ -213,24 +216,26 @@ def live_order_cancel(request):
try:
order = RoomOrderInfo.objects.get(user_id=user_id, order_id=order_id, prepay_id=prepay_id)
- except:
+ except RoomOrderInfo.DoesNotExist:
return response(400001, 'Order Not Found', description='直播间订单不存在')
-
+
if order.pay_status == RoomOrderInfo.FAIL:
return response(200, 'Order Cancel Success', '订单取消成功')
-
+
order.pay_status = RoomOrderInfo.FAIL
order.save()
-
+
try:
goods_info = RoomGoodsInfo.objects.get(room_id=order.room_id, goods_id=order.goods_id, anchor_id=order.anchor_id)
- goods_info.inventory += order.amount
- goods_info.save()
- except:
+ except RoomGoodsInfo.DoesNotExist:
return response(400001, 'Room Goods Not Found', description='直播间商品不存在')
-
+
+ goods_info.inventory += order.amount
+ goods_info.save()
+
return response(200, 'Order Cancel Success', '订单取消成功')
+
def order_paid_success(order):
if order.pay_status == RoomOrderInfo.PAID:
return
@@ -241,11 +246,13 @@ def order_paid_success(order):
try:
goods_info = RoomGoodsInfo.objects.get(room_id=order.room_id, goods_id=order.goods_id, anchor_id=order.anchor_id)
- goods_info.sale_infos += [order.order_id]
- goods_info.save()
- except:
+ except RoomGoodsInfo.DoesNotExist:
return
+ goods_info.sale_infos += [order.order_id]
+ goods_info.save()
+
+
def order_paid_fail(order):
if order.pay_status == RoomGoodsInfo.FAIL:
return
@@ -255,11 +262,13 @@ def order_paid_fail(order):
try:
goods_info = RoomGoodsInfo.objects.get(room_id=order.room_id, goods_id=order.goods_id, anchor_id=order.anchor_id)
- goods_info.inventory += order.amount
- goods_info.save()
- except:
+ except RoomGoodsInfo.DoesNotExist:
return
+ goods_info.inventory += order.amount
+ goods_info.save()
+
+
@logit
@transaction.atomic
def notify_url_api(request):
@@ -17,12 +17,11 @@ from TimeConvert import TimeConvert as tc |
||
| 17 | 17 |
from account.models import UserInfo |
| 18 | 18 |
from goods.models import GoodsInfo, PackGoodsInfo, PackGoodsSaleInfo, PackInfo |
| 19 | 19 |
from kol.models import KOLInfo |
| 20 |
-from pay.models import OrderInfo |
|
| 20 |
+from live import views as live_views |
|
| 21 | 21 |
from live.models import RoomOrderInfo |
| 22 |
+from pay.models import OrderInfo |
|
| 22 | 23 |
from utils.error.errno_utils import KOLStatusCode, OrderStatusCode, PackGoodsStatusCode, PackStatusCode, UserStatusCode |
| 23 | 24 |
|
| 24 |
-from live import views as live_views |
|
| 25 |
- |
|
| 26 | 25 |
|
| 27 | 26 |
WECHAT = settings.WECHAT |
| 28 | 27 |
|
@@ -82,7 +81,7 @@ def wx_order_create_api(request): |
||
| 82 | 81 |
except GoodsInfo.DoesNotExist: |
| 83 | 82 |
continue |
| 84 | 83 |
amount = amount + good.price * g.get('num', 0)
|
| 85 |
- |
|
| 84 |
+ |
|
| 86 | 85 |
if amount != total_fee: |
| 87 | 86 |
return response(OrderStatusCode.FEE_CHECK_FAIL) |
| 88 | 87 |
|
@@ -145,6 +144,7 @@ def wx_order_create_api(request): |
||
| 145 | 144 |
'wxpay_params': wxpay_params, |
| 146 | 145 |
}) |
| 147 | 146 |
|
| 147 |
+ |
|
| 148 | 148 |
def order_cancel(request): |
| 149 | 149 |
user_id = request.POST.get('user_id', '')
|
| 150 | 150 |
order_id = request.POST.get('order_id', '')
|
@@ -152,15 +152,15 @@ def order_cancel(request): |
||
| 152 | 152 |
|
| 153 | 153 |
try: |
| 154 | 154 |
order = OrderInfo.objects.get(user_id=user_id, order_id=order_id, prepay_id=prepay_id) |
| 155 |
- except: |
|
| 155 |
+ except OrderInfo.DoesNotExist: |
|
| 156 | 156 |
return response() |
| 157 |
- |
|
| 157 |
+ |
|
| 158 | 158 |
if order.pay_status == OrderInfo.FAIL: |
| 159 | 159 |
return response(200, 'Order Cancel Success', '订单取消成功') |
| 160 |
- |
|
| 160 |
+ |
|
| 161 | 161 |
order.pay_status = OrderInfo.FAIL |
| 162 | 162 |
order.save() |
| 163 |
- |
|
| 163 |
+ |
|
| 164 | 164 |
for g in order.goods_info: |
| 165 | 165 |
try: |
| 166 | 166 |
good = PackGoodsInfo.objects.get(pack_id=order.pack_id, good_id=g.get('good_id', ''))
|
@@ -168,9 +168,10 @@ def order_cancel(request): |
||
| 168 | 168 |
good.save() |
| 169 | 169 |
except PackGoodsInfo.DoesNotExist: |
| 170 | 170 |
continue |
| 171 |
- |
|
| 171 |
+ |
|
| 172 | 172 |
return response(200, 'Order Cancel Success', '订单取消成功') |
| 173 | 173 |
|
| 174 |
+ |
|
| 174 | 175 |
def order_paid_success(order): |
| 175 | 176 |
if order.pay_status == OrderInfo.PAID: |
| 176 | 177 |
return |
@@ -218,22 +219,20 @@ def wx_notify_url_api(request): |
||
| 218 | 219 |
if not success: |
| 219 | 220 |
return HttpResponse(WXPAY_NOTIFY_FAIL) |
| 220 | 221 |
|
| 221 |
- #尖货接龙订单 |
|
| 222 |
+ # 尖货接龙订单 |
|
| 222 | 223 |
try: |
| 223 | 224 |
order = OrderInfo.objects.select_for_update().get(order_id=notify_data.get('out_trade_no', ''), status=True)
|
| 224 |
- order.notify_msg = request.body |
|
| 225 |
- order.transaction_id = notify_data.get('transaction_id', '')
|
|
| 226 |
- order.save() |
|
| 227 |
- |
|
| 228 |
- result_code = notify_data.get('result_code', '')
|
|
| 229 |
- if result_code == 'SUCCESS': |
|
| 230 |
- order_paid_success(order) |
|
| 231 |
- else: |
|
| 232 |
- order_paid_fail(order) |
|
| 233 |
- |
|
| 234 |
- return HttpResponse(WXPAY_NOTIFY_SUCCESS) |
|
| 235 |
- except: |
|
| 225 |
+ except OrderInfo.DoesNotExist: |
|
| 236 | 226 |
return HttpResponse(WXPAY_NOTIFY_FAIL) |
| 237 | 227 |
|
| 228 |
+ order.notify_msg = request.body |
|
| 229 |
+ order.transaction_id = notify_data.get('transaction_id', '')
|
|
| 230 |
+ order.save() |
|
| 231 |
+ |
|
| 232 |
+ result_code = notify_data.get('result_code', '')
|
|
| 233 |
+ if result_code == 'SUCCESS': |
|
| 234 |
+ order_paid_success(order) |
|
| 235 |
+ else: |
|
| 236 |
+ order_paid_fail(order) |
|
| 238 | 237 |
|
| 239 | 238 |
return HttpResponse(WXPAY_NOTIFY_SUCCESS) |