fix: 收款申请仅拦截进行中订单

打手佣金/押金收款时,订单状态只拦 Status=2;退款中、结算中等不再拦截;其余资格校验不变。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-17 17:01:33 +08:00
parent cb89720260
commit b6044cd44a

View File

@@ -65,8 +65,8 @@ logger = logging.getLogger('yonghu.tixian_shenhe')
ORDER_STATUS_COMPLETED = 3 ORDER_STATUS_COMPLETED = 3
ORDER_STATUS_REFUNDED = 5 ORDER_STATUS_REFUNDED = 5
# 打手提现申请:仅 jiedan_dashou_id=该用户 且 zhuangtai=2(进行中) 才拦截 # 打手提现申请 / 收款:仅 PlayerID=该用户 且 Status=2(进行中) 才拦截
# 1已下单 3已完成 4退款审核中 5已退款 6拒绝退款 7指定中 8结算中 —— 均不拦 # 退款中(4)、结算中(8) 等不拦
DASHOU_WITHDRAW_APPLY_BLOCKING_ORDER_STATUSES = (2,) DASHOU_WITHDRAW_APPLY_BLOCKING_ORDER_STATUSES = (2,)
LEIXING_RATE_KEY = { LEIXING_RATE_KEY = {
@@ -279,7 +279,7 @@ def _dashou_has_unfinished_orders(yonghuid):
def _dashou_has_orders_blocking_withdraw_apply(yonghuid): def _dashou_has_orders_blocking_withdraw_apply(yonghuid):
"""打手提现申请:仅拦该用户接单的进行中(2)订单。""" """打手提现申请/收款:仅拦该用户接单的进行中(Status=2)订单。"""
return Order.query.filter( return Order.query.filter(
PlayerID=yonghuid, PlayerID=yonghuid,
Status__in=DASHOU_WITHDRAW_APPLY_BLOCKING_ORDER_STATUSES, Status__in=DASHOU_WITHDRAW_APPLY_BLOCKING_ORDER_STATUSES,
@@ -451,6 +451,7 @@ def validate_collect_eligibility(user_main, leixing):
""" """
自动提现收款前严格校验(申请时已扣款,不再校余额)。 自动提现收款前严格校验(申请时已扣款,不再校余额)。
打手佣金/押金:罚单、封禁、接单中、积分、会员、订单等; 打手佣金/押金:罚单、封禁、接单中、积分、会员、订单等;
订单仅拦进行中(2);退款中/结算中等不拦。
不要求手机号/收款码(微信打款到 OpenID 不要求手机号/收款码(微信打款到 OpenID
""" """
wx_ok, wx_msg = validate_auto_withdraw_prerequisites(user_main) wx_ok, wx_msg = validate_auto_withdraw_prerequisites(user_main)
@@ -480,8 +481,8 @@ def validate_collect_eligibility(user_main, leixing):
trial_ok, trial_msg = check_dashou_trial_blocks_commission_withdraw(yonghuid) trial_ok, trial_msg = check_dashou_trial_blocks_commission_withdraw(yonghuid)
if not trial_ok: if not trial_ok:
return False, trial_msg return False, trial_msg
if _dashou_has_unfinished_orders(yonghuid): if _dashou_has_orders_blocking_withdraw_apply(yonghuid):
return False, '您还有未完成或未退款的订单,无法收款' return False, '您还有进行中的订单,请完成后再收款'
if _dashou_has_open_penalties(yonghuid): if _dashou_has_open_penalties(yonghuid):
return False, '您有未处理完毕的自身罚单,无法收款' return False, '您有未处理完毕的自身罚单,无法收款'
return True, '' return True, ''
@@ -500,8 +501,8 @@ def validate_collect_eligibility(user_main, leixing):
huiyuan_ok, huiyuan_msg = check_dashou_has_formal_huiyuan_for_withdraw(yonghuid) huiyuan_ok, huiyuan_msg = check_dashou_has_formal_huiyuan_for_withdraw(yonghuid)
if not huiyuan_ok: if not huiyuan_ok:
return False, huiyuan_msg return False, huiyuan_msg
if _dashou_has_unfinished_orders(yonghuid): if _dashou_has_orders_blocking_withdraw_apply(yonghuid):
return False, '您还有未完成或未退款的订单,无法收款' return False, '您还有进行中的订单,请完成后再收款'
if _dashou_has_open_penalties(yonghuid): if _dashou_has_open_penalties(yonghuid):
return False, '您有未处理完毕的自身罚单,无法收款' return False, '您有未处理完毕的自身罚单,无法收款'
return True, '' return True, ''