login.go 1019 B

1234567891011121314151617181920212223242526272829303132333435
  1. package handler
  2. import (
  3. "IotAdmin/common/middleware/models"
  4. log "IotAdmin/core/logger"
  5. "IotAdmin/core/sdk/pkg"
  6. "gorm.io/gorm"
  7. )
  8. type Login struct {
  9. Username string `form:"UserName" json:"username" binding:"required"`
  10. Password string `form:"Password" json:"password" binding:"required"`
  11. Code string `form:"Code" json:"code" binding:"required"`
  12. UUID string `form:"UUID" json:"uuid" binding:"required"`
  13. }
  14. func (u *Login) GetUser(tx *gorm.DB) (user models.SysUser, role models.SysRole, err error) {
  15. err = tx.Table("sys_user").Preload("Org").Where("username = ? and status = '2'", u.Username).First(&user).Error
  16. if err != nil {
  17. log.Errorf("get user error, %s", err.Error())
  18. return
  19. }
  20. _, err = pkg.CompareHashAndPassword(user.Password, u.Password)
  21. if err != nil {
  22. log.Errorf("user login error, %s", err.Error())
  23. return
  24. }
  25. err = tx.Table("sys_role").Where("role_id = ? ", user.RoleId).First(&role).Error
  26. if err != nil {
  27. log.Errorf("get role error, %s", err.Error())
  28. return
  29. }
  30. return
  31. }