fix: 平台审核队列兼容旧商家罚款+列表筛选

This commit is contained in:
XingQue
2026-07-02 02:38:21 +08:00
parent 5d20d1a25e
commit 0c40b326ea
2 changed files with 68 additions and 7 deletions

View File

@@ -19,3 +19,38 @@ PENALTY_STATUS_LABELS = {
4: '已驳回',
5: '平台审核中',
}
# 商家身份ApplicantIdentity
APPLICANT_MERCHANT = 5
def penalty_platform_audit_pending_q():
"""
待平台审核队列:
- 新流程zhuangtai=5
- 旧数据:商家提交直写 zhuangtai=1 且尚未有平台处理人
"""
from django.db.models import Q
legacy_merchant_pending = Q(
Status=PENALTY_PENDING_PAY,
ApplicantIdentity=APPLICANT_MERCHANT,
) & (Q(ProcessorID__isnull=True) | Q(ProcessorID=''))
return Q(Status=PENALTY_PLATFORM_AUDIT) | legacy_merchant_pending
def is_penalty_platform_audit_pending(penalty):
"""单条罚单是否处于平台审核队列(含旧数据)。"""
status = getattr(penalty, 'Status', None)
if status == PENALTY_PLATFORM_AUDIT:
return True
if status == PENALTY_PENDING_PAY and getattr(penalty, 'ApplicantIdentity', None) == APPLICANT_MERCHANT:
return not (getattr(penalty, 'ProcessorID', None) or '').strip()
return False
def penalty_display_status(penalty):
"""列表/详情展示用状态文案。"""
if is_penalty_platform_audit_pending(penalty):
return PENALTY_STATUS_LABELS[PENALTY_PLATFORM_AUDIT]
return PENALTY_STATUS_LABELS.get(getattr(penalty, 'Status', None), '未知')