This commit is contained in:
qiangyanwen 2023-01-07 18:51:28 +08:00
parent f573e542cd
commit 594d1687ea
3 changed files with 10 additions and 9 deletions

View File

@ -31,7 +31,7 @@ async def register(user: Annotated[UserFrom, Body(...)], db: Session = Depends(g
@router.post("/login", summary="用户登录", name="用户登录") @router.post("/login", summary="用户登录", name="用户登录")
async def login(user: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(get_db)): async def login(user: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(get_db)):
user = await login_user(db, user.username, user.password) user = login_user(db, user.username, user.password)
if user[0]: if user[0]:
expire_time = timedelta(minutes=settings.ACCESS.ACCESS_TOKEN_EXPIRE_MINUTES) expire_time = timedelta(minutes=settings.ACCESS.ACCESS_TOKEN_EXPIRE_MINUTES)
token = create_token(AutomationResponse.model_to_dict(user[1]), expire_time) token = create_token(AutomationResponse.model_to_dict(user[1]), expire_time)
@ -40,14 +40,14 @@ async def login(user: OAuth2PasswordRequestForm = Depends(), db: Session = Depen
return error_211(message=user[1]) return error_211(message=user[1])
@router.post("/user/active", summary="用户启用和禁用", name="用户启用和禁用") @router.post("/user/active", summary="用户状态禁用", name="用户状态禁用")
async def active(user: Annotated[ActiveUser, Body(...)], db: Session = Depends(get_db), user_id: int = Depends(parse_token)): async def active(user: Annotated[ActiveUser, Body(...)], db: Session = Depends(get_db), user_id: int = Depends(parse_token)):
status = 0 status = 0
if user.status == 0: # 正在启用 if user.status == 0: # 正在启用
status = 1 status = 1
if user.status == 1: # 正在禁用 if user.status == 1: # 正在禁用
status = 0 status = 0
await active_user(db, user_id=user.id, status=status) active_user(db, user_id=user.id, status=status)
if status == 0: # 正在启用 if status == 0: # 正在启用
return success_200(data=dict(status=1), message="禁用成功") return success_200(data=dict(status=1), message="禁用成功")
if status == 1: # 正在停用 if status == 1: # 正在停用

View File

@ -22,8 +22,9 @@ class User(DatabaseModel):
deleted_time = Column(DATETIME, comment="更新时间") deleted_time = Column(DATETIME, comment="更新时间")
__table_args__ = ({'comment': '用户表'}) __table_args__ = ({'comment': '用户表'})
def __init__(self, username, password, email): def __init__(self, username, password, email,status):
self.username = username self.username = username
self.password = password self.password = password
self.email = email self.email = email
self.status = status
self.created_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") self.created_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

View File

@ -27,15 +27,15 @@ def register_user(db: Session, user: UserFrom) -> dict:
return AutomationResponse.model_to_dict(us_er, "password") return AutomationResponse.model_to_dict(us_er, "password")
async def login_user(db: Session, username, password): def login_user(db: Session, username, password):
password = get_md5_pwd(password) password = get_md5_pwd(password)
user = await db.query(User).filter(User.username == username, User.password == password).first() user = db.query(User).filter(User.username == username, User.password == password).first()
if user.username and user.email: if user.username and user.email:
return True, user return True, user
return False, RegisterUser.LOGIN_USER_ERROR.value return False, RegisterUser.LOGIN_USER_ERROR.value
async def active_user(db: Session, user_id: int, status: int): def active_user(db: Session, user_id: int, status: int):
user = await db.query(User).filter(User.id == user_id).first() user = db.query(User).filter(User.id == user_id).first()
user.status = status user.status = status
db_save(db, user) db_save(db, user)