修复了罚单履约与回退机制
This commit is contained in:
@@ -602,7 +602,24 @@ class ShangjiaChenggong(APIView):
|
||||
'message': '订单不存在或不属于当前用户'
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 3. 检查订单状态是否为已支付(3)
|
||||
# 3. 订单未支付时,尝试补偿履约(回调延迟/失败时通过轮询兜底)
|
||||
if order.zhuangtai == 9:
|
||||
from jituan.services.czjilu_fulfill import confirm_czjilu_paid, CzjiluFulfillError
|
||||
try:
|
||||
confirm_czjilu_paid(dingdanid, request.user.UserUID, expected_leixing=4)
|
||||
order = Czjilu.query.get(
|
||||
dingdan_id=dingdanid,
|
||||
yonghuid=request.user.UserUID,
|
||||
leixing=4
|
||||
)
|
||||
except CzjiluFulfillError as exc:
|
||||
logger.info(f"商家充值确认未就绪 {dingdanid}: {exc}")
|
||||
return Response({
|
||||
'code': 400,
|
||||
'message': '订单尚未支付完成'
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 4. 检查订单状态是否为已支付(3)
|
||||
if order.zhuangtai != 3:
|
||||
logger.info(f"商家订单{dingdanid}尚未支付完成,当前状态: {order.zhuangtai}")
|
||||
return Response({
|
||||
@@ -610,7 +627,7 @@ class ShangjiaChenggong(APIView):
|
||||
'message': '订单尚未支付完成'
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 4. 获取商家余额(通过反向查询)
|
||||
# 5. 获取商家余额(通过反向查询)
|
||||
try:
|
||||
shangjia = request.user.ShopProfile
|
||||
yue = float(shangjia.yue) # 转为浮点数方便前端处理
|
||||
|
||||
Reference in New Issue
Block a user