放宽商家提现校验:仅校验订单状态3/5,不再校验罚单
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -214,9 +214,10 @@ def validate_withdraw_eligibility(user_main, leixing, jine):
|
||||
"""
|
||||
yonghuid = user_main.yonghuid
|
||||
|
||||
fadan_ok, fadan_msg = check_fadan_qiangdan_eligible(yonghuid, 2)
|
||||
if not fadan_ok:
|
||||
return False, fadan_msg, {}
|
||||
if leixing != 6:
|
||||
fadan_ok, fadan_msg = check_fadan_qiangdan_eligible(yonghuid, 2)
|
||||
if not fadan_ok:
|
||||
return False, fadan_msg, {}
|
||||
|
||||
if leixing == 1:
|
||||
try:
|
||||
@@ -299,12 +300,6 @@ def validate_withdraw_eligibility(user_main, leixing, jine):
|
||||
).exclude(dingdan__zhuangtai__in=[ORDER_STATUS_COMPLETED, ORDER_STATUS_REFUNDED]).exists()
|
||||
if unfinished_orders:
|
||||
return False, '您还有未完成或未退款的订单,请先处理完毕再提现余额', {}
|
||||
self_fadan = Fadan.objects.filter(beichufa_id=yonghuid).exclude(zhuangtai__in=[2, 4]).exists()
|
||||
if self_fadan:
|
||||
return False, '您有未处理完毕的自身罚单(待缴纳/申诉中),请先处理', {}
|
||||
applied_fadan = Fadan.objects.filter(shenqing_chufa=yonghuid).exclude(zhuangtai__in=[2, 4]).exists()
|
||||
if applied_fadan:
|
||||
return False, '您发起的对其他用户的处罚尚未处理完毕,请等待完结', {}
|
||||
return True, '', {'nicheng': shangjia.nicheng or ''}
|
||||
|
||||
return False, '无效的提现类型', {}
|
||||
@@ -318,9 +313,10 @@ def validate_collect_eligibility(user_main, leixing):
|
||||
"""
|
||||
yonghuid = user_main.yonghuid
|
||||
|
||||
fadan_ok, fadan_msg = check_fadan_qiangdan_eligible(yonghuid, 2)
|
||||
if not fadan_ok:
|
||||
return False, fadan_msg
|
||||
if leixing != 6:
|
||||
fadan_ok, fadan_msg = check_fadan_qiangdan_eligible(yonghuid, 2)
|
||||
if not fadan_ok:
|
||||
return False, fadan_msg
|
||||
|
||||
if leixing == 1:
|
||||
try:
|
||||
@@ -391,12 +387,6 @@ def validate_collect_eligibility(user_main, leixing):
|
||||
).exclude(dingdan__zhuangtai__in=[ORDER_STATUS_COMPLETED, ORDER_STATUS_REFUNDED]).exists()
|
||||
if unfinished_orders:
|
||||
return False, '您还有未完成或未退款的订单,无法收款'
|
||||
self_fadan = Fadan.objects.filter(beichufa_id=yonghuid).exclude(zhuangtai__in=[2, 4]).exists()
|
||||
if self_fadan:
|
||||
return False, '您有未处理完毕的自身罚单,无法收款'
|
||||
applied_fadan = Fadan.objects.filter(shenqing_chufa=yonghuid).exclude(zhuangtai__in=[2, 4]).exists()
|
||||
if applied_fadan:
|
||||
return False, '您发起的处罚尚未处理完毕,无法收款'
|
||||
return True, ''
|
||||
|
||||
return False, '无效的提现类型'
|
||||
|
||||
@@ -1906,10 +1906,17 @@ class TixianShenqingView(APIView):
|
||||
fangshi = request.data.get('fangshi')
|
||||
txskfs = request.data.get('txskfs', 0)
|
||||
|
||||
# 罚单检查(共用)
|
||||
fadan_ok, fadan_msg = check_fadan_qiangdan_eligible(yonghuid, 2)
|
||||
if not fadan_ok:
|
||||
return Response({'code': 400, 'msg': fadan_msg})
|
||||
# 提前解析 leixing:商家提现(leixing=6)不校验罚单
|
||||
raw_leixing = request.data.get('leixing')
|
||||
try:
|
||||
leixing_preview = int(raw_leixing) if raw_leixing is not None else None
|
||||
except (ValueError, TypeError):
|
||||
leixing_preview = None
|
||||
|
||||
if leixing_preview != 6:
|
||||
fadan_ok, fadan_msg = check_fadan_qiangdan_eligible(yonghuid, 2)
|
||||
if not fadan_ok:
|
||||
return Response({'code': 400, 'msg': fadan_msg})
|
||||
|
||||
# 参数完整性
|
||||
missing = []
|
||||
@@ -2147,8 +2154,7 @@ class TixianShenqingView(APIView):
|
||||
|
||||
def _check_shangjia_withdraw(self, user_main, jine):
|
||||
"""
|
||||
商家余额提现校验(退出平台)
|
||||
包含:订单、自身罚单、申请的罚单检查
|
||||
商家余额提现校验:仅校验订单状态,允许已完成(3)与已退款(5),其余状态不可提现。
|
||||
"""
|
||||
try:
|
||||
shangjia = UserShangjia.objects.get(user=user_main)
|
||||
@@ -2160,7 +2166,6 @@ class TixianShenqingView(APIView):
|
||||
if shangjia.yue < jine:
|
||||
return {'code': 62, 'msg': f'商家余额不足,当前余额: {shangjia.yue}'}
|
||||
|
||||
# 订单检查(使用 Q 取反)
|
||||
unfinished_orders = DingdanShangjia.objects.filter(
|
||||
shangjia_id=user_main.yonghuid,
|
||||
).exclude(
|
||||
@@ -2169,24 +2174,6 @@ class TixianShenqingView(APIView):
|
||||
if unfinished_orders:
|
||||
return {'code': 63, 'msg': '您还有未完成或未退款的订单,请先处理完毕再提现余额'}
|
||||
|
||||
# 自身被处罚的罚单检查(状态不是已缴纳(2)和已驳回(4))
|
||||
self_fadan = Fadan.objects.filter(
|
||||
beichufa_id=user_main.yonghuid,
|
||||
).exclude(
|
||||
zhuangtai__in=[2, 4]
|
||||
).exists()
|
||||
if self_fadan:
|
||||
return {'code': 64, 'msg': '您有未处理完毕的自身罚单(待缴纳/申诉中),请先处理'}
|
||||
|
||||
# 申请的对他人处罚罚单检查(状态不是已缴纳(2)和已驳回(4))
|
||||
applied_fadan = Fadan.objects.filter(
|
||||
shenqing_chufa=user_main.yonghuid,
|
||||
).exclude(
|
||||
zhuangtai__in=[2, 4]
|
||||
).exists()
|
||||
if applied_fadan:
|
||||
return {'code': 65, 'msg': '您发起的对其他用户的处罚尚未处理完毕(待缴纳/申诉中),请等待完结'}
|
||||
|
||||
return {'code': 0, 'msg': 'ok', 'data': {'nicheng': shangjia.nicheng or ''}}
|
||||
|
||||
def _check_dashou_yajin_withdraw(self, user_main, jine):
|
||||
|
||||
Reference in New Issue
Block a user