抢单押金校验计入冻结押金池,提现等其它场景仍只认未冻结余额。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4297,10 +4297,20 @@ class QiangdanView(APIView):
|
||||
return {'success': False, 'message': '未开通对应会员,无法抢此订单'}
|
||||
|
||||
def _validate_yajin_requirement(self, order, dashou_profile):
|
||||
yajin_required = order.yongjin or 0
|
||||
dashou_yajin = dashou_profile.yajin or 0
|
||||
if dashou_yajin < yajin_required:
|
||||
return {'success': False, 'message': f'押金不足,需要{yajin_required}元,当前有{dashou_yajin}元'}
|
||||
"""抢单专用:冻结押金(dongjie_chi_yajin)也算可用,提现等其它场景仍只认未冻结余额。"""
|
||||
from decimal import Decimal
|
||||
yajin_required = Decimal(str(order.yongjin or 0))
|
||||
free_yajin = Decimal(str(dashou_profile.yajin or 0))
|
||||
frozen_yajin = Decimal(str(getattr(dashou_profile, 'dongjie_chi_yajin', 0) or 0))
|
||||
usable_yajin = free_yajin + frozen_yajin
|
||||
if usable_yajin < yajin_required:
|
||||
return {
|
||||
'success': False,
|
||||
'message': (
|
||||
f'押金不足,需要{yajin_required}元,'
|
||||
f'当前可用{usable_yajin}元(含冻结{frozen_yajin}元)'
|
||||
),
|
||||
}
|
||||
return {'success': True, 'message': '押金验证通过'}
|
||||
|
||||
def _execute_qiangdan(self, order, dashou_profile, dashou_yonghuid):
|
||||
|
||||
Reference in New Issue
Block a user