优化大版本

This commit is contained in:
27942
2026-01-12 17:32:15 +08:00
parent 093f76dc79
commit 79a5c89b38
5 changed files with 21 additions and 21 deletions

View File

@@ -26,7 +26,7 @@ class Team(models.Model):
class User(models.Model):
role = models.ManyToManyField(role)
department =models.ManyToManyField(Department) # 归属部门
username = models.CharField(max_length=100, unique=True) # 姓名
username = models.CharField(max_length=100) # 姓名移除unique=True允许软删除后重新注册同名用户
account = models.CharField(max_length=100) # 账号
password = models.CharField(max_length=100) # 密码
ethnicity = models.CharField(max_length=100) # 名族

View File

@@ -74,7 +74,7 @@ class CreateUserView(APIView):
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
# 检查用户名是否已存在username字段有唯一性约束
# 检查用户名是否已被未软删除的用户使用(允许软删除后重新注册同名用户
if User.objects.filter(username=username, is_deleted=False).exists():
return Response({'status': 'error', 'message': '用户名已存在,不能重复', 'code': 1},
status=status.HTTP_400_BAD_REQUEST)
@@ -454,7 +454,7 @@ class PersonnelDetailsView(APIView):
def post(self, request, *args, **kwargs):
token = request.META.get('token')
user = User.objects.prefetch_related('role', 'department').get(token=token)
user = User.objects.prefetch_related('role', 'department').get(token=token, is_deleted=False)
# 如果是admin用户直接返回最高权限标识
if user.username == 'admin' or user.account == 'admin':
@@ -552,7 +552,7 @@ class PersonnelListView(APIView):
if not all([page, per_page]):
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
Q_obj = Q()
Q_obj = Q(is_deleted=False) # 只查询未软删除的用户
if username:
Q_obj &= Q(username__icontains=username)
if department:

View File

@@ -30,7 +30,7 @@ class registration(APIView):
party_username = request.data.get('party_username')
description = request.data.get('description')
Undertaker = request.data.get('Undertaker')
user = User.objects.get(token=token).username
user = User.objects.get(token=token, is_deleted=False).username
if not all([times, description, Undertaker]):
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
@@ -1151,7 +1151,7 @@ class Log(APIView):
if not all([id, content]):
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
user = User.objects.get(token=token)
user = User.objects.get(token=token, is_deleted=False)
now = datetime.now()
date_str = now.strftime('%Y-%m-%d')
Caselog.objects.create(
@@ -1287,7 +1287,7 @@ class Application(APIView):
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
now = datetime.now()
date_str = now.strftime('%Y-%m-%d')
user = User.objects.get(token=token)
user = User.objects.get(token=token, is_deleted=False)
sea = SealApplication.objects.create(
Printingpurpose=Printingpurpose,
CaseNumber=CaseNumber,
@@ -1732,7 +1732,7 @@ class bulletin(APIView):
if state == "置顶":
bol = 1
user = User.objects.get(token=token).username
user = User.objects.get(token=token, is_deleted=False).username
Announcement.objects.create(
title=title,
content=content,
@@ -1818,7 +1818,7 @@ class EditBulletin(APIView):
# 获取用户信息(如果 token 存在)
if token:
try:
user = User.objects.get(token=token).username
user = User.objects.get(token=token, is_deleted=False).username
except User.DoesNotExist:
# 如果用户不存在,使用原有用户名
user = ann.username
@@ -2403,23 +2403,23 @@ class TransferCase(APIView):
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
# 检查原承办人员是否存在
# 检查原承办人员是否存在(排除软删除用户)
try:
old_user = User.objects.get(username=old_undertaker)
old_user = User.objects.get(username=old_undertaker, is_deleted=False)
except User.DoesNotExist:
return Response({
'status': 'error',
'message': '原承办人员不存在',
'message': '原承办人员不存在或已被删除',
'code': 1
}, status=status.HTTP_404_NOT_FOUND)
# 检查新承办人员是否存在
# 检查新承办人员是否存在(排除软删除用户)
try:
new_user = User.objects.get(username=new_undertaker)
new_user = User.objects.get(username=new_undertaker, is_deleted=False)
except User.DoesNotExist:
return Response({
'status': 'error',
'message': '新承办人员不存在',
'message': '新承办人员不存在或已被删除',
'code': 1
}, status=status.HTTP_404_NOT_FOUND)

View File

@@ -102,7 +102,7 @@ class JWTAuthenticationMiddleware(MiddlewareMixin):
content_type='application/json',
headers={'Access-Control-Allow-Origin': '*'}
)
User.objects.get(token=token)
User.objects.get(token=token, is_deleted=False)
except User.DoesNotExist:
# 标记为未授权请求
request.META['_is_unauthorized'] = True

View File

@@ -35,21 +35,21 @@ def grant_admin_all_permissions():
为admin用户添加所有权限
"""
try:
# 步骤1: 查找admin用户
# 步骤1: 查找admin用户(排除软删除用户)
# 先尝试通过account字段查找
admin_user = None
try:
admin_user = User.objects.get(account='admin')
admin_user = User.objects.get(account='admin', is_deleted=False)
print(f"✓ 找到admin用户通过account字段: ID={admin_user.id}, username={admin_user.username}, account={admin_user.account}")
except User.DoesNotExist:
# 如果account不是'admin'尝试通过username查找
try:
admin_user = User.objects.get(username='admin')
admin_user = User.objects.get(username='admin', is_deleted=False)
print(f"✓ 找到admin用户通过username字段: ID={admin_user.id}, username={admin_user.username}, account={admin_user.account}")
except User.DoesNotExist:
print("✗ 错误找不到account或username为'admin'的用户")
print("✗ 错误找不到account或username为'admin'未删除用户")
print("\n请检查数据库中的用户数据:")
users = User.objects.all()[:5]
users = User.objects.filter(is_deleted=False)[:5]
for u in users:
print(f" - ID: {u.id}, username: {u.username}, account: {u.account}")
return False