feat: 仅特约商家可更换打手,后台可开关
This commit is contained in:
@@ -966,6 +966,7 @@ class KefuGetShangjiaDetailView(APIView):
|
||||
'jinyuedingdan': shangjia.jinyuedingdan,
|
||||
'jinyueliushui': str(shangjia.jinyueliushui),
|
||||
'is_youzhi_shangjia': bool(shangjia.is_youzhi_shangjia),
|
||||
'is_teyue_shangjia': bool(getattr(shangjia, 'is_teyue_shangjia', False)),
|
||||
'CreateTime': shangjia.CreateTime.isoformat() if shangjia.CreateTime else None,
|
||||
'create_time': user.UserCreateTime.strftime('%Y-%m-%d %H:%M:%S') if getattr(user, 'UserCreateTime', None) else '',
|
||||
}
|
||||
@@ -999,7 +1000,7 @@ class KefuUpdateShangjiaView(APIView):
|
||||
return Response({'code': 401, 'msg': '缺少username'})
|
||||
if not yonghuid:
|
||||
return Response({'code': 400, 'msg': '缺少商家ID'})
|
||||
if action not in ('add_balance', 'sub_balance', 'ban', 'unban', 'set_youzhi'):
|
||||
if action not in ('add_balance', 'sub_balance', 'ban', 'unban', 'set_youzhi', 'set_teyue'):
|
||||
return Response({'code': 400, 'msg': 'action参数无效'})
|
||||
|
||||
# 权限校验
|
||||
@@ -1008,7 +1009,7 @@ class KefuUpdateShangjiaView(APIView):
|
||||
return permissions
|
||||
|
||||
# 操作权限校验
|
||||
if action in ('add_balance', 'ban', 'unban', 'set_youzhi') and '1100a' not in permissions:
|
||||
if action in ('add_balance', 'ban', 'unban', 'set_youzhi', 'set_teyue') and '1100a' not in permissions:
|
||||
return Response({'code': 403, 'msg': '无权限执行此操作(需要1100a)'})
|
||||
if action == 'sub_balance' and '1100b' not in permissions:
|
||||
return Response({'code': 403, 'msg': '无权限减少商家余额(需要1100b)'})
|
||||
@@ -1139,6 +1140,27 @@ class KefuUpdateShangjiaView(APIView):
|
||||
'data': {'is_youzhi_shangjia': is_youzhi},
|
||||
})
|
||||
|
||||
if action == 'set_teyue':
|
||||
if '1100a' not in permissions:
|
||||
return Response({'code': 403, 'msg': '无权限设置特约商家(需要1100a)'})
|
||||
is_teyue = bool(request.data.get('is_teyue_shangjia', False))
|
||||
shangjia.is_teyue_shangjia = is_teyue
|
||||
shangjia.save(update_fields=['is_teyue_shangjia'])
|
||||
write_xiugai_log(
|
||||
yonghuid=yonghuid,
|
||||
xiugaiid=kefu.user.Phone,
|
||||
leixing=XIUGAI_LEIXING_SHANGJIA,
|
||||
qitashuoming=(
|
||||
f'【后台】设置特约商家(可更换打手):{is_teyue},'
|
||||
f'商家ID={yonghuid},昵称={shangjia.nicheng},操作人={kefu.user.Phone}'
|
||||
),
|
||||
)
|
||||
return Response({
|
||||
'code': 0,
|
||||
'msg': '特约商家设置成功',
|
||||
'data': {'is_teyue_shangjia': is_teyue},
|
||||
})
|
||||
|
||||
return Response({'code': 400, 'msg': '未知操作'})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user