user.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package models
  2. import (
  3. "fmt"
  4. "easydo-echo_win7/utils"
  5. )
  6. // User 用户模型
  7. type SysUser struct {
  8. ID *int64 `json:"id" db:"id" id_type:"AUTO"`
  9. DeptId *int64 `json:"deptId" db:"dept_id"`
  10. NickName *string `json:"nickName" db:"nick_name"`
  11. Gender *string `json:"gender" db:"gender"`
  12. Phone *string `json:"phone" db:"phone"`
  13. Username *string `json:"username" db:"username"`
  14. Password *string `json:"-" db:"password"` // 不序列化密码
  15. Email *string `json:"email" db:"email"`
  16. Features *string `json:"features" db:"features"`
  17. TenantId *string `json:"tenantId" db:"tenant_id"`
  18. Dept *SysDept `json:"dept" db:"-"`
  19. Tenant *Tenant `json:"tenant" db:"-"`
  20. RoleList *[]SysRole `json:"roleList" db:"-"`
  21. EmptyField *[]string `json:"emptyField" db:"-"`
  22. }
  23. // CheckPassword 验证密码
  24. func (u *SysUser) CheckPassword(password string) bool {
  25. plainText, err := utils.DecryptByPrivateKey(password)
  26. if err != nil {
  27. fmt.Printf("解密失败: %v\n", err)
  28. return false
  29. }
  30. fmt.Printf("解密结果: %s\n", plainText)
  31. result := utils.VerifyPassword(plainText, *u.Password)
  32. return result
  33. }
  34. // UserLoginRequest 登录请求
  35. type UserLoginRequest struct {
  36. Username string `json:"username" validate:"required,min=3,max=50"`
  37. Password string `json:"password" validate:"required,min=6,max=100"`
  38. CaptchaID string `json:"uuid" validate:"required"`
  39. CaptchaCode string `json:"code" validate:"required"`
  40. }