商家派单押金要求改为后台可配限额,去掉写死的 0.1-50。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-22 19:36:17 +08:00
parent fa62b5515c
commit edcb235828
7 changed files with 135 additions and 41 deletions

View File

@@ -1752,20 +1752,16 @@ class ShangjiaTianjiaMobanView(APIView):
if len(jieshao) > 100:
return Response({'code': 400, 'msg': '订单介绍不能超过100字', 'data': {}}, status=400)
# 6. 佣金验证(若启用)
# 6. 押金要求验证(若启用,限额读后台配置
yongjin_qiangdan = False
yongjin_jiage = None
if commission_enabled:
yongjin_qiangdan = True
if not commission_value:
return Response({'code': 400, 'msg': '开启佣金时,佣金金额不能为空', 'data': {}}, status=400)
try:
comm_decimal = Decimal(str(commission_value))
if comm_decimal <= 0:
return Response({'code': 400, 'msg': '佣金必须大于0', 'data': {}}, status=400)
yongjin_jiage = comm_decimal
except (InvalidOperation, ValueError, TypeError):
return Response({'code': 400, 'msg': '佣金格式错误', 'data': {}}, status=400)
from utils.shangjia_paifa_config import validate_shangjia_paifa_yajin
yajin_ok, yajin_msg, yajin_val = validate_shangjia_paifa_yajin(commission_value)
if not yajin_ok:
return Response({'code': 400, 'msg': yajin_msg, 'data': {}}, status=400)
yongjin_jiage = yajin_val
# 7. 标签ID清洗前端可能传数字或字符串
cleaned_label_id = None
@@ -1950,22 +1946,18 @@ class ShangjiaGengxinMobanView(APIView):
moban.chenghao_id = new_label
update_fields.append('chenghao_id')
# 修改佣金设置
# 修改押金要求设置限额读后台配置不再写死50
if commission_enabled is not None:
enabled = bool(commission_enabled)
if enabled:
if not commission_value:
return Response({'code': 400, 'msg': '佣金价格不能为空', 'data': {}}, status=400)
try:
comm_decimal = Decimal(commission_value)
if comm_decimal < 0.1 or comm_decimal > 50:
return Response({'code': 400, 'msg': '佣金需在0.1-50元之间', 'data': {}}, status=400)
if moban.yongjin_qiangdan != True or moban.yongjin_jiage != comm_decimal:
moban.yongjin_qiangdan = True
moban.yongjin_jiage = comm_decimal
update_fields.extend(['yongjin_qiangdan', 'yongjin_jiage'])
except (InvalidOperation, ValueError, TypeError):
return Response({'code': 400, 'msg': '佣金格式错误', 'data': {}}, status=400)
from utils.shangjia_paifa_config import validate_shangjia_paifa_yajin
yajin_ok, yajin_msg, comm_decimal = validate_shangjia_paifa_yajin(commission_value)
if not yajin_ok:
return Response({'code': 400, 'msg': yajin_msg, 'data': {}}, status=400)
if moban.yongjin_qiangdan != True or moban.yongjin_jiage != comm_decimal:
moban.yongjin_qiangdan = True
moban.yongjin_jiage = comm_decimal
update_fields.extend(['yongjin_qiangdan', 'yongjin_jiage'])
else:
if moban.yongjin_qiangdan != False or moban.yongjin_jiage is not None:
moban.yongjin_qiangdan = False