From a1a49261a519250cf4aeebc02eb76084e33fb869 Mon Sep 17 00:00:00 2001 From: XingQue Date: Fri, 17 Jul 2026 01:52:45 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"fix:=20=E6=8A=A2=E5=8D=95=E6=8A=BC?= =?UTF-8?q?=E9=87=91=E6=A0=A1=E9=AA=8C=E8=AE=A1=E5=85=A5=E6=8F=90=E7=8E=B0?= =?UTF-8?q?=E5=86=BB=E7=BB=93=E4=B8=AD=E6=8A=BC=E9=87=91"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 52009a54a9cc131fb349de8b008df768d4df863c. --- orders/views/dashou.py | 25 +++++------------------ users/tixian_shenhe_services.py | 36 --------------------------------- 2 files changed, 5 insertions(+), 56 deletions(-) diff --git a/orders/views/dashou.py b/orders/views/dashou.py index 8a369f3..4b70b38 100644 --- a/orders/views/dashou.py +++ b/orders/views/dashou.py @@ -542,7 +542,7 @@ class QiangdanView(APIView): if order.GrabRequirement == 1: return self._validate_huiyuan_requirement(order, dashou_yonghuid) elif order.GrabRequirement == 2: - return self._validate_yajin_requirement(order, dashou_profile, dashou_yonghuid) + return self._validate_yajin_requirement(order, dashou_profile) return {'success': True, 'message': '验证通过'} def _validate_huiyuan_requirement(self, order, dashou_yonghuid): @@ -567,26 +567,11 @@ class QiangdanView(APIView): return {'success': True, 'message': '会员验证通过'} return {'success': False, 'message': '未开通对应会员或会员已过期,无法抢此订单'} - def _validate_yajin_requirement(self, order, dashou_profile, dashou_yonghuid=None): - """ - 押金抢单:余额 + 提现冻结中押金均可用于抢单门槛。 - 提现/后台换人等其它场景仍只认实际 yajin 余额。 - """ - from users.tixian_shenhe_services import pending_yajin_withdraw_frozen_amount - + def _validate_yajin_requirement(self, order, dashou_profile): yajin_required = order.CommissionReq or 0 - balance = dashou_profile.yajin or 0 - yonghuid = dashou_yonghuid or getattr( - getattr(dashou_profile, 'user', None), 'UserUID', None - ) - frozen = pending_yajin_withdraw_frozen_amount(yonghuid) if yonghuid else Decimal('0') - effective = Decimal(str(balance)) + Decimal(str(frozen)) - required = Decimal(str(yajin_required)) - if effective < required: - return { - 'success': False, - 'message': f'押金不足,需要{required}元,当前可用{effective}元', - } + dashou_yajin = dashou_profile.yajin or 0 + if dashou_yajin < yajin_required: + return {'success': False, 'message': f'押金不足,需要{yajin_required}元,当前有{dashou_yajin}元'} return {'success': True, 'message': '押金验证通过'} def _execute_qiangdan(self, order, dashou_profile, dashou_yonghuid): diff --git a/users/tixian_shenhe_services.py b/users/tixian_shenhe_services.py index 56fc807..f0433f7 100644 --- a/users/tixian_shenhe_services.py +++ b/users/tixian_shenhe_services.py @@ -91,42 +91,6 @@ 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