57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
"""金额罚单 fadan 状态常量(与 orders.models.Penalty.Status 一致)"""
|
||
|
||
PENALTY_PENDING_PAY = 1 # 待缴纳(平台审核通过后)
|
||
PENALTY_PAID = 2 # 已缴纳
|
||
PENALTY_APPEALING = 3 # 申诉中
|
||
PENALTY_REJECTED = 4 # 已驳回 / 打手申诉成功
|
||
PENALTY_PLATFORM_AUDIT = 5 # 平台审核中(商家提交后,审核通过前)
|
||
|
||
# 影响抢单:仅平台审核通过后的未结案罚单
|
||
PENALTY_GRAB_BLOCK_STATUSES = (PENALTY_PENDING_PAY, PENALTY_APPEALING)
|
||
|
||
# 影响提现:含平台审核中
|
||
PENALTY_WITHDRAW_BLOCK_STATUSES = (PENALTY_PENDING_PAY, PENALTY_APPEALING, PENALTY_PLATFORM_AUDIT)
|
||
|
||
PENALTY_STATUS_LABELS = {
|
||
1: '待缴纳',
|
||
2: '已缴纳',
|
||
3: '申诉中',
|
||
4: '已驳回',
|
||
5: '平台审核中',
|
||
}
|
||
|
||
# 售后/两端下一步提示(商家、打手、客服通用)
|
||
PENALTY_STATUS_HINTS = {
|
||
1: '打手待缴纳;打手可缴纳或申诉,商家待缴期间可修改/撤销',
|
||
2: '已缴纳完成,分红已按规则处理',
|
||
3: '打手已申诉,等待客服处理;商家申诉期间可修改/撤销',
|
||
4: '已驳回或已撤销;商家可再次申请',
|
||
5: '平台审核中,请耐心等待;勿重复提交,商家可修改/撤销',
|
||
}
|
||
|
||
# 商家身份(ApplicantIdentity)
|
||
APPLICANT_MERCHANT = 5
|
||
|
||
|
||
def penalty_status_hint(status):
|
||
try:
|
||
status = int(status)
|
||
except (TypeError, ValueError):
|
||
return ''
|
||
return PENALTY_STATUS_HINTS.get(status, '')
|
||
|
||
|
||
def penalty_platform_audit_pending_q():
|
||
"""待平台审核:仅 zhuangtai=5(商家新流程提交)。"""
|
||
from django.db.models import Q
|
||
return Q(Status=PENALTY_PLATFORM_AUDIT)
|
||
|
||
|
||
def is_penalty_platform_audit_pending(penalty):
|
||
return getattr(penalty, 'Status', None) == PENALTY_PLATFORM_AUDIT
|
||
|
||
|
||
def penalty_display_status(penalty):
|
||
status = getattr(penalty, 'Status', None)
|
||
return PENALTY_STATUS_LABELS.get(status, '未知')
|