商家罚款增加平台审核:新增状态5、证据图、审核API;审核通过前不影响抢单,提现仍拦截未结案罚单
This commit is contained in:
@@ -11601,6 +11601,7 @@ class FaKuanJiFenTongJiView(APIView):
|
||||
total=Count('id'),
|
||||
daijiaona=Count('id', filter=Q(Status=1)),
|
||||
shensuzhong=Count('id', filter=Q(Status=3)),
|
||||
pingtai_shenhe=Count('id', filter=Q(Status=5)),
|
||||
yijiaona=Count('id', filter=Q(Status=2)),
|
||||
yibohui=Count('id', filter=Q(Status=4)),
|
||||
)
|
||||
@@ -11622,6 +11623,7 @@ class FaKuanJiFenTongJiView(APIView):
|
||||
"total": fadan_stats['total'],
|
||||
"daijiaona": fadan_stats['daijiaona'],
|
||||
"shensuzhong": fadan_stats['shensuzhong'],
|
||||
"pingtai_shenhe": fadan_stats['pingtai_shenhe'],
|
||||
"yijiaona": fadan_stats['yijiaona'],
|
||||
"yibohui": fadan_stats['yibohui'],
|
||||
},
|
||||
@@ -11686,7 +11688,7 @@ class DaShouFaKuanLieBiaoView(APIView):
|
||||
qs = Penalty.query.filter(PenalizedUserID=yonghuid)
|
||||
|
||||
# 状态筛选
|
||||
if zhuangtai is not None and int(zhuangtai) in [1, 2, 3, 4]:
|
||||
if zhuangtai is not None and int(zhuangtai) in [1, 2, 3, 4, 5]:
|
||||
qs = qs.filter(Status=int(zhuangtai))
|
||||
|
||||
# 订单号模糊搜索
|
||||
@@ -11805,6 +11807,8 @@ class ShangjiaCufaTongjiView(APIView):
|
||||
yijiaona_jine=Sum('FineAmount', filter=Q(Status=2)),
|
||||
shensuzhong=Count('id', filter=Q(Status=3)),
|
||||
shensuzhong_jine=Sum('FineAmount', filter=Q(Status=3)),
|
||||
pingtai_shenhe=Count('id', filter=Q(Status=5)),
|
||||
pingtai_shenhe_jine=Sum('FineAmount', filter=Q(Status=5)),
|
||||
yibohui=Count('id', filter=Q(Status=4)),
|
||||
yibohui_jine=Sum('FineAmount', filter=Q(Status=4)),
|
||||
shijidaozhang_jine=Sum(
|
||||
@@ -11842,6 +11846,8 @@ class ShangjiaCufaTongjiView(APIView):
|
||||
'yijiaona_jine': _money_str(fadan_agg['yijiaona_jine']),
|
||||
'shensuzhong': fadan_agg['shensuzhong'] or 0,
|
||||
'shensuzhong_jine': _money_str(fadan_agg['shensuzhong_jine']),
|
||||
'pingtai_shenhe': fadan_agg['pingtai_shenhe'] or 0,
|
||||
'pingtai_shenhe_jine': _money_str(fadan_agg['pingtai_shenhe_jine']),
|
||||
'yibohui': fadan_agg['yibohui'] or 0,
|
||||
'yibohui_jine': _money_str(fadan_agg['yibohui_jine']),
|
||||
'shijidaozhang_jine': _money_str(fadan_agg['shijidaozhang_jine']),
|
||||
@@ -11889,7 +11895,7 @@ class ShangjiaFakuanLieBiaoView(APIView):
|
||||
sousuo_dingdan_id = str(request.data.get('sousuo_dingdan_id', '')).strip()
|
||||
|
||||
qs = Penalty.query.filter(ApplicantID=yonghuid)
|
||||
if zhuangtai is not None and int(zhuangtai) in [1, 2, 3, 4]:
|
||||
if zhuangtai is not None and int(zhuangtai) in [1, 2, 3, 4, 5]:
|
||||
qs = qs.filter(Status=int(zhuangtai))
|
||||
if sousuo_dingdan_id:
|
||||
qs = qs.filter(RelatedOrderID__icontains=sousuo_dingdan_id)
|
||||
@@ -12002,14 +12008,23 @@ class FaKuanShenSuView(APIView):
|
||||
except Penalty.DoesNotExist:
|
||||
return Response({'code': 404, 'msg': '罚单不存在或无权操作'}, status=404)
|
||||
|
||||
# 只允许待缴纳状态(状态1)且没有驳回理由的罚单申诉
|
||||
if fadan.Status != 1:
|
||||
# 待缴纳(1)或平台审核中(5)可申诉;平台审核中仅保存申诉内容,不改变状态
|
||||
from utils.penalty_status import (
|
||||
PENALTY_PENDING_PAY, PENALTY_APPEALING, PENALTY_PLATFORM_AUDIT,
|
||||
)
|
||||
if fadan.Status not in (PENALTY_PENDING_PAY, PENALTY_PLATFORM_AUDIT):
|
||||
return Response({'code': 400, 'msg': '罚单状态不允许申诉'}, status=400)
|
||||
if fadan.RejectReason:
|
||||
if fadan.Status == PENALTY_PENDING_PAY and fadan.RejectReason:
|
||||
return Response({'code': 400, 'msg': '该罚单申诉已被驳回,不可再次申诉'}, status=400)
|
||||
|
||||
# 更新罚单状态为申诉中,并记录理由
|
||||
fadan.Status = 3
|
||||
if not isinstance(tupian_urls, list):
|
||||
return Response({'code': 400, 'msg': '申诉图片格式错误'}, status=400)
|
||||
tupian_urls = [str(u).strip() for u in tupian_urls if str(u).strip()]
|
||||
if len(tupian_urls) > 9:
|
||||
return Response({'code': 400, 'msg': '申诉图片最多9张'}, status=400)
|
||||
|
||||
if fadan.Status == PENALTY_PENDING_PAY:
|
||||
fadan.Status = PENALTY_APPEALING
|
||||
fadan.AppealReason = shensu_liyou
|
||||
fadan.save()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user