|
@@ -296,15 +296,16 @@ class UserManagement(View):
|
|
userID = tko.userID
|
|
userID = tko.userID
|
|
if operation == 'getUserInfo':
|
|
if operation == 'getUserInfo':
|
|
return self.getUserInfo(userID, request_dict, response)
|
|
return self.getUserInfo(userID, request_dict, response)
|
|
- if operation == 'doEdit':
|
|
|
|
- return self.doEdit(userID, request_dict, response)
|
|
|
|
- if operation == 'doDelete':
|
|
|
|
|
|
+ elif operation == 'registerAccount':
|
|
|
|
+ return self.registerAccount(userID, request_dict, response)
|
|
|
|
+ elif operation == 'doDelete':
|
|
return self.doDelete(userID, request_dict, response)
|
|
return self.doDelete(userID, request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(404)
|
|
return response.json(404)
|
|
|
|
|
|
def getUserInfo(self, userID, request_dict, response):
|
|
def getUserInfo(self, userID, request_dict, response):
|
|
print('request_dict: ', request_dict)
|
|
print('request_dict: ', request_dict)
|
|
|
|
+ username = request_dict.get('username', '').strip() # 移除字符串头尾的空格
|
|
pageNo = request_dict.get('pageNo', None)
|
|
pageNo = request_dict.get('pageNo', None)
|
|
pageSize = request_dict.get('pageSize', None)
|
|
pageSize = request_dict.get('pageSize', None)
|
|
|
|
|
|
@@ -313,9 +314,23 @@ class UserManagement(View):
|
|
|
|
|
|
page = int(pageNo)
|
|
page = int(pageNo)
|
|
line = int(pageSize)
|
|
line = int(pageSize)
|
|
-
|
|
|
|
try:
|
|
try:
|
|
- device_user_qs = Device_User.objects.filter().all() # values('username', 'role', 'phone', 'NickName', 'userEmail', 'data_joined', 'last_login', 'online')
|
|
|
|
|
|
+ if username: # 查询
|
|
|
|
+ # 校验查询输入数据是否匹配用户名,手机或邮箱正则
|
|
|
|
+ dataValid = DataValid()
|
|
|
|
+ if not (dataValid.name_validate(username) or dataValid.mobile_validate(username) \
|
|
|
|
+ or dataValid.email_validate(username)):
|
|
|
|
+ return response.json(444)
|
|
|
|
+ device_user_qs = Device_User.objects.filter(username=username)
|
|
|
|
+ if not device_user_qs.exists():
|
|
|
|
+ device_user_qs = Device_User.objects.filter(phone=username)
|
|
|
|
+ if not device_user_qs.exists():
|
|
|
|
+ device_user_qs = Device_User.objects.filter(userEmail=username)
|
|
|
|
+ if not device_user_qs.exists():
|
|
|
|
+ return response.json(104)
|
|
|
|
+
|
|
|
|
+ else:
|
|
|
|
+ device_user_qs = Device_User.objects.filter().all() # 查询全部
|
|
count = device_user_qs.count()
|
|
count = device_user_qs.count()
|
|
device_users = device_user_qs[(page - 1) * line:page * line]
|
|
device_users = device_user_qs[(page - 1) * line:page * line]
|
|
user_list = []
|
|
user_list = []
|
|
@@ -334,10 +349,38 @@ class UserManagement(View):
|
|
'online': device_user.online,
|
|
'online': device_user.online,
|
|
})
|
|
})
|
|
print('user_list: ', user_list)
|
|
print('user_list: ', user_list)
|
|
- return response.json(0, {'list': user_list, 'count': count})
|
|
|
|
|
|
+ return response.json(0, {'list': user_list, 'total': count})
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
|
|
+ def registerAccount(self, userID, request_dict, response):
|
|
|
|
+ username = request_dict.get('username', '').strip() # 移除字符串头尾的空格
|
|
|
|
+ userEmail = request_dict.get('userEmail', '').strip()
|
|
|
|
+ password = request_dict.get('password', None)
|
|
|
|
+
|
|
|
|
+ if not all([username, password]):
|
|
|
|
+ return response.json(444)
|
|
|
|
|
|
|
|
+ # 校验用户名,邮箱,密码是否符合规则
|
|
|
|
+ dataValid = DataValid()
|
|
|
|
+ if not dataValid.name_validate(username) or not dataValid.email_validate(userEmail) \
|
|
|
|
+ or not dataValid.password_validate(password):
|
|
|
|
+ return response.json(444)
|
|
|
|
|
|
|
|
+ try:
|
|
|
|
+ # 查询用户是否已存在
|
|
|
|
+ # 创建账户信息
|
|
|
|
+ user_data = {
|
|
|
|
+ "username": username,
|
|
|
|
+ "NickName": username,
|
|
|
|
+ "userEmail": userEmail,
|
|
|
|
+ "password": make_password(password),
|
|
|
|
+ "userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
|
+ "is_active": True,
|
|
|
|
+ "user_isValid": True,
|
|
|
|
+ }
|
|
|
|
+ Device_User.objects.create(**user_data)
|
|
|
|
+ return response.json(0)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(500, repr(e))
|