fix: 商家撤销罚单处理人身份为商家;处罚待处理含申诉中
This commit is contained in:
@@ -498,7 +498,7 @@ class Penalty(QModel):
|
||||
db_column='shenqingren_shenfen', verbose_name='申请处罚人身份',
|
||||
)
|
||||
ProcessorIdentity = models.IntegerField(
|
||||
choices=[(1, '客服'), (2, '售后'), (3, '管理员')],
|
||||
choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (5, '商家')],
|
||||
default=2,
|
||||
db_column='chulizhe_shenfen', verbose_name='处理者身份',
|
||||
)
|
||||
|
||||
@@ -2171,8 +2171,8 @@ class ShangjiaShujuTongjiView(APIView):
|
||||
try:
|
||||
from orders.models import Penalty, PenaltyRecord
|
||||
from django.db.models import Q, Sum
|
||||
fakuan_pending = Penalty.query.filter(ApplicantID=yonghuid, Status=1).count()
|
||||
fakuan_pending_amt = Penalty.query.filter(ApplicantID=yonghuid, Status=1).aggregate(
|
||||
fakuan_pending = Penalty.query.filter(ApplicantID=yonghuid, Status__in=[1, 3]).count()
|
||||
fakuan_pending_amt = Penalty.query.filter(ApplicantID=yonghuid, Status__in=[1, 3]).aggregate(
|
||||
amt=Sum('FineAmount')
|
||||
)['amt']
|
||||
jifen_pending = PenaltyRecord.query.filter(
|
||||
@@ -6600,7 +6600,7 @@ class ShangjiaFakuaiXiugaiView(APIView):
|
||||
elif operation == 'cancel_penalty':
|
||||
return self._cancel_penalty(fadan, request.data.get('liyou', ''), user.UserUID)
|
||||
elif operation == 'resubmit_penalty':
|
||||
return self._resubmit_penalty(fadan, request.data.get('liyou', ''), request.data.get('jine'))
|
||||
return self._resubmit_penalty(fadan, request.data.get('liyou', ''), request.data.get('jine'), user.UserUID)
|
||||
elif operation == 'manage_penalty_evidence':
|
||||
return self._manage_penalty_evidence(fadan, request.data)
|
||||
else:
|
||||
@@ -6645,11 +6645,8 @@ class ShangjiaFakuaiXiugaiView(APIView):
|
||||
fadan.FineAmount = jine
|
||||
if processor_id:
|
||||
fadan.ProcessorID = processor_id
|
||||
fadan.ProcessorIdentity = 5 # 小程序商家自行处理
|
||||
fadan.save()
|
||||
logger.info(
|
||||
f"商家修改罚单{fadan.id}:理由={liyou[:50]},金额={jine},"
|
||||
f"操作人={processor_id or fadan.ApplicantID}"
|
||||
)
|
||||
return Response({'code': 0, 'msg': '罚款修改成功'})
|
||||
|
||||
def _cancel_penalty(self, fadan, liyou, processor_id=None):
|
||||
@@ -6663,14 +6660,11 @@ class ShangjiaFakuaiXiugaiView(APIView):
|
||||
fadan.RejectReason = liyou[:500]
|
||||
if processor_id:
|
||||
fadan.ProcessorID = processor_id
|
||||
fadan.ProcessorIdentity = 5 # 小程序商家撤销=商家作为处理人
|
||||
fadan.save()
|
||||
logger.info(
|
||||
f"商家撤销罚单{fadan.id},驳回理由={liyou[:50]},"
|
||||
f"操作人={processor_id or fadan.ApplicantID}"
|
||||
)
|
||||
return Response({'code': 0, 'msg': '罚款已撤销(驳回)'})
|
||||
|
||||
def _resubmit_penalty(self, fadan, liyou, jine_str):
|
||||
def _resubmit_penalty(self, fadan, liyou, jine_str, processor_id=None):
|
||||
"""再次申请罚款(状态4 → 状态1,修改理由和金额)"""
|
||||
if fadan.Status != 4:
|
||||
return Response({'code': 400, 'msg': '只有已驳回的罚单可再次申请'})
|
||||
@@ -6687,6 +6681,9 @@ class ShangjiaFakuaiXiugaiView(APIView):
|
||||
fadan.Reason = liyou[:500]
|
||||
fadan.FineAmount = jine
|
||||
fadan.RejectReason = '' # 清空驳回理由
|
||||
if processor_id:
|
||||
fadan.ProcessorID = processor_id
|
||||
fadan.ProcessorIdentity = 5
|
||||
fadan.save()
|
||||
logger.info(f"商家重新申请罚单{fadan.id},金额={jine}")
|
||||
return Response({'code': 0, 'msg': '已重新申请罚款'})
|
||||
|
||||
Reference in New Issue
Block a user