优化案件模块
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user