import re from Utils.ErrorUtil import ObjColumnCheckError from user.user_impl import UserManageImpl, UserOperateImpl from user.user_utils import decrypt_data class User: """ 用户对象 uid: str 用户ID email: str 邮箱 name: str 用户名 pwd: str 密码 status: str 用户状态 role: str 角色 """ def __init__(self): self.uid = None self.email = None self.name = None self.pwd = None self.status = None self.role = None def check_uid(self): """用户ID校验""" if type(self.uid) is not str: raise ObjColumnCheckError("用户ID格式错误") if len(self.uid) != 8: raise ObjColumnCheckError("用户ID格式错误") def check_email(self): """邮箱格式仅允许@fecr.com.cn""" regex = "^.+\\@fecr.com.cn" case = (len(self.email) > 7) and (re.match(regex, self.email) is not None) result = True if case else False if not result: raise ObjColumnCheckError("邮箱格式错误") def check_name(self): """用户名格式校验""" if type(self.name) is not str: raise ObjColumnCheckError("用户名格式错误") def check_pwd(self): """密码格式校验""" if type(self.pwd) is not str: raise ObjColumnCheckError("密码格式错误") password = decrypt_data(encrypt_msg=self.pwd) if not password: raise ObjColumnCheckError("密码格式错误") regex = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)^.{8,}$" case = (len(password) >= 8) and (re.match(regex, password) is not None) result = True if case else False if not result: raise ObjColumnCheckError("密码格式错误") def check_status(self): """用户状态校验""" if self.status not in ['normal', 'disable']: raise ObjColumnCheckError("用户状态格式错误") def check_role(self): """用户角色校验""" if self.role not in ['admin', 'analysts', 'developer', 'operator', 'guest']: raise ObjColumnCheckError("用户角色格式错误") class UserManage(User): """ 用户管理 """ @staticmethod def list_user(search, sort, page_size, page_no): """ 用户信息列表 """ return UserManageImpl.list_user_impl(search, sort, page_size, page_no) def send_vcode_to_user(self): """ 发送验证码 Returns: 发送成功 bool 返回True 发送失败 str 返回异常信息 """ self.check_email() return UserManageImpl.send_vcode_to_user_impl(self.email) def create_user(self): """ 创建用户 Returns: 创建成功 bool 返回True 创建失败 str 返回异常信息 """ return UserManageImpl.create_user_impl(self.email, self.name, self.pwd, self.role) def disable_user(self): """ 禁用用户 """ # TODO def delete_user(self): """ 删除用户 """ # TODO def manage_role_of_user(self): """ 管理用户角色 """ # TODO class UserOperation(User): """ 用户操作 """ def __init__(self): super().__init__() self.token = None self.block = None self.vcode = None # 登录 def login(self): """ 用户登录 """ return UserOperateImpl.login_impl(self.email, self.pwd, self.vcode) # 停用 def deactivate(self): return UserOperateImpl.disable_user_impl(self.uid) # 删除 def delete(self): return UserOperateImpl.delete_user_impl(self.uid) # 管理角色 def manage(self): return UserOperateImpl.manage_role_of_user_impl(self.uid, self.role) if __name__ == '__main__': user = User() user.email = "aaa" user.check_email()