fix: 抢单押金校验计入提现冻结中押金
押金提现申请后余额已扣,仅抢单接口把审核中/待收款冻结额加回可用;提现与换人等其它场景仍只认实际余额。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -91,6 +91,42 @@ def get_tixian_feilv(leixing, yonghuid=None, club_id=None):
|
||||
return _get_tixian_feilv_for_club(club_id, leixing)
|
||||
|
||||
|
||||
# 押金提现已扣款、尚未完结(仍视为「冻结中」)的审核状态
|
||||
_YAJIN_FROZEN_AUDIT_STATUSES = (1, 6) # 审核中、待收款
|
||||
|
||||
|
||||
def pending_yajin_withdraw_frozen_amount(yonghuid):
|
||||
"""
|
||||
押金提现申请时已从 UserDashou.yajin 扣走、尚未完结的金额。
|
||||
|
||||
仅供抢单资格把「冻结中」押金计入可用;提现/换人等其它场景不要调用。
|
||||
"""
|
||||
if not yonghuid:
|
||||
return decimal.Decimal('0')
|
||||
|
||||
audit_sum = (
|
||||
TixianShenheJilu.query.filter(
|
||||
yonghuid=yonghuid,
|
||||
leixing=5,
|
||||
zhuangtai__in=_YAJIN_FROZEN_AUDIT_STATUSES,
|
||||
).aggregate(total=Sum('shenqing_jine'))['total']
|
||||
or decimal.Decimal('0')
|
||||
)
|
||||
|
||||
# 旧手动提现:只写 Tixianjilu、无审核单;避免与自动流程双重累计
|
||||
manual_sum = (
|
||||
Tixianjilu.query.filter(
|
||||
yonghuid=yonghuid,
|
||||
leixing=5,
|
||||
zhuangtai=1,
|
||||
shenhe_jilu_id__isnull=True,
|
||||
).aggregate(total=Sum('jine'))['total']
|
||||
or decimal.Decimal('0')
|
||||
)
|
||||
|
||||
return audit_sum + manual_sum
|
||||
|
||||
|
||||
DAKUAN_MODE_MANUAL = 1
|
||||
DAKUAN_MODE_AUTO = 2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user