优化案件模块

This commit is contained in:
27942
2026-01-20 16:27:34 +08:00
parent a497ea2fc3
commit 34f9961d82
2 changed files with 368 additions and 8 deletions

View File

@@ -1992,6 +1992,8 @@ class PaymentRequest(APIView):
payee_account = request.data.get('payee_account') # 收款方银行账号
payee_bank = request.data.get('payee_bank') # 收款方开户行
payment_description = request.data.get('payment_description') # 支付说明
payment_type = request.data.get('payment_type', '律所支付') # 支付方式(可选,保留字段,但不影响审批流程)
applicant = request.data.get('applicant') # 申请人可选如果前端传递则使用否则从token获取
approvers = request.data.get('approvers') # 审核人列表可选多人团队时需要推荐用户ID数组如[1,2,3],兼容:用户名数组)
# 兼容旧接口:如果传了 personincharge转换为 approvers
personincharge = request.data.get('personincharge')
@@ -2003,7 +2005,7 @@ class PaymentRequest(APIView):
bankcard = request.data.get('bankcard') or payee_account
BankName = request.data.get('BankName') or payee_bank
# 必填字段验证申请人通过token获取不需要验证
# 必填字段验证
if not all([payment_reason or reason, amount, payee_name or payee, payee_account or bankcard, payee_bank or BankName, payment_description]):
missing_params = []
if not (payment_reason or reason):
@@ -2024,14 +2026,28 @@ class PaymentRequest(APIView):
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
# 从token获取申请人
# 获取申请人优先使用前端传递的applicant如果没有则从token获取
applicant_user = None
token = request.META.get('token')
try:
applicant_user = User.objects.get(token=token, is_deleted=False)
applicant = applicant_user.username
except User.DoesNotExist:
return Response({'status': 'error', 'message': '用户不存在或已被删除', 'code': 1},
status=status.HTTP_401_UNAUTHORIZED)
if applicant:
# 如果前端传递了申请人,验证申请人是否存在
try:
applicant_user = User.objects.get(username=applicant, is_deleted=False)
except User.DoesNotExist:
return Response({'status': 'error', 'message': '申请人不存在或已被删除', 'code': 1},
status=status.HTTP_400_BAD_REQUEST)
else:
# 如果前端没有传递申请人从token获取
if not token:
return Response({'status': 'error', 'message': '缺少参数请提供applicant或token', 'code': 1},
status=status.HTTP_400_BAD_REQUEST)
try:
applicant_user = User.objects.get(token=token, is_deleted=False)
applicant = applicant_user.username
except User.DoesNotExist:
return Response({'status': 'error', 'message': '用户不存在或已被删除', 'code': 1},
status=status.HTTP_401_UNAUTHORIZED)
from datetime import datetime
now = datetime.now()