修复了 管理员 无 客服扩展表 视图问题
This commit is contained in:
328
users/views.py
328
users/views.py
@@ -6901,7 +6901,18 @@ class KefuStatsView(APIView):
|
||||
logger.warning(f"统计接口用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'detail': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 5. 尝试获取客服扩展表数据
|
||||
# 5. 尝试获取客服扩展表数据(管理员跳过)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
if is_admin:
|
||||
return Response({
|
||||
'code': 0,
|
||||
'data': {
|
||||
'jinrichuli': 0,
|
||||
'jinyuechuli': 0,
|
||||
'zongchuli': 0,
|
||||
}
|
||||
}, status=status.HTTP_200_OK)
|
||||
|
||||
try:
|
||||
kefu_profile = current_user.KefuProfile # OneToOneField 反向关系
|
||||
except UserKefu.DoesNotExist:
|
||||
@@ -6952,15 +6963,18 @@ class KefuGetOrderTypesView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu_profile = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
# 管理员跳过客服扩展表检查
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu_profile = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu_profile.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已被禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu_profile.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已被禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 4. 查询订单类型(商品类型)
|
||||
try:
|
||||
@@ -7360,15 +7374,18 @@ class KefuChangeDashouView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单
|
||||
try:
|
||||
@@ -7497,13 +7514,16 @@ class KefuRecoverOrderView(APIView):
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单
|
||||
try:
|
||||
@@ -7570,15 +7590,18 @@ class KefuPlatformRefundView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单并加锁
|
||||
try:
|
||||
@@ -7849,13 +7872,16 @@ class KefuRejectRefundView(APIView):
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单并加锁
|
||||
try:
|
||||
@@ -8015,13 +8041,16 @@ class KefuMerchantRefundView(APIView):
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
|
||||
# 查询订单,预加载商家扩展表
|
||||
@@ -8111,11 +8140,14 @@ class KefuMerchantRefundView(APIView):
|
||||
|
||||
|
||||
|
||||
kefu = current_user.KefuProfile
|
||||
kefu.jinrichuli += 1
|
||||
kefu.jinyuechuli += 1
|
||||
kefu.zongchuli += 1
|
||||
kefu.save()
|
||||
# 管理员无客服扩展表,跳过计数器更新
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
if not is_admin:
|
||||
kefu = current_user.KefuProfile
|
||||
kefu.jinrichuli += 1
|
||||
kefu.jinyuechuli += 1
|
||||
kefu.zongchuli += 1
|
||||
kefu.save()
|
||||
|
||||
return Response({'code': 0, 'msg': '退款成功'})
|
||||
|
||||
@@ -8155,15 +8187,18 @@ class KefuRejectSettlementView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单,预加载平台扩展表
|
||||
try:
|
||||
@@ -8264,12 +8299,15 @@ class KefuTransferHallView(APIView):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单
|
||||
try:
|
||||
@@ -8332,12 +8370,15 @@ class KefuCancelDesignationView(APIView):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单
|
||||
try:
|
||||
@@ -8413,15 +8454,18 @@ class KefuGetDashouListView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 构建查询条件(只查询打手)
|
||||
# 通过 UserDashou 扩展表关联 User
|
||||
@@ -8501,15 +8545,18 @@ class KefuGetDashouDetailView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询打手主表和扩展表
|
||||
try:
|
||||
@@ -9042,13 +9089,16 @@ class KefuGetOrderDetailView(APIView):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 客服扩展表
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except Exception as e:
|
||||
logger.exception(f"[kefuhqddxq] 获取客服扩展表异常 user={getattr(current_user, 'yonghuid', '?')}")
|
||||
return Response({'code': 500, 'msg': '服务器错误'}, status=500)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except Exception as e:
|
||||
logger.exception(f"[kefuhqddxq] 获取客服扩展表异常 user={getattr(current_user, 'yonghuid', '?')}")
|
||||
return Response({'code': 500, 'msg': '服务器错误'}, status=500)
|
||||
|
||||
# 3. 查询订单
|
||||
try:
|
||||
@@ -9183,15 +9233,18 @@ class KefuPunishmentDetailView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 查询处罚记录(按创建时间倒序取最新一条)
|
||||
try:
|
||||
@@ -9272,12 +9325,15 @@ class KefuPunishmentActionView(APIView):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 查询待处理的处罚记录(状态0或3)
|
||||
try:
|
||||
@@ -9401,13 +9457,16 @@ class KefuForceCompleteView(APIView):
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return Response({'code': 401, 'msg': '认证失败'})
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'})
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return Response({'code': 401, 'msg': '认证失败'})
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '客服状态异常'})
|
||||
if kefu.zhuangtai != 1:
|
||||
return Response({'code': 401, 'msg': '客服状态异常'})
|
||||
|
||||
# 2. 订单处理(事务内)
|
||||
try:
|
||||
@@ -9874,15 +9933,18 @@ class KefuWithdrawDetailView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 查询提现记录
|
||||
try:
|
||||
@@ -9982,12 +10044,15 @@ class KefuWithdrawActionView(APIView):
|
||||
return None, Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if current_user.UserType not in ('kefu', 'admin'):
|
||||
return None, Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return None, Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
return None, Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
# 管理员跳过客服扩展表检查
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
return None, Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
return None, Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
return current_user, None
|
||||
|
||||
def _parse_items(self, request):
|
||||
@@ -10242,15 +10307,18 @@ class KefuPunishView(APIView):
|
||||
logger.warning(f"用户类型非客服: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
is_admin = current_user.UserType == 'admin' or current_user.IsSuperuser
|
||||
kefu = None
|
||||
if not is_admin:
|
||||
try:
|
||||
kefu = current_user.KefuProfile
|
||||
except ObjectDoesNotExist:
|
||||
logger.warning(f"客服扩展表不存在: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
if kefu.zhuangtai != 1:
|
||||
logger.warning(f"客服账号已禁用: {current_user.UserUID}")
|
||||
return Response({'code': 401, 'msg': '认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# 3. 查询订单
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user