user.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package schema
  2. import (
  3. "errors"
  4. "github.com/jinzhu/gorm"
  5. )
  6. // UserTableName 用户表名
  7. var UserTableName = "users"
  8. // User 用户表
  9. type User struct {
  10. gorm.Model
  11. RecordID string //记录ID
  12. UserCode string `gorm:"size:20;unique;not null;unique_index"` //用户编号
  13. UserName string `gorm:"size:25;not null"` //用户名称
  14. PassWord string `gorm:"size:32;not null"` //密码
  15. Phone string `gorm:"size:11;"` //手机号
  16. UserType int `gorm:"size:10;not null;default:0"` //用户角色类型(0超级管理员,1普通管理员、10公司管理员\11公司普通用户 20代理商管理员,21代理商普通用户)
  17. RoleCode int `gorm:"size:10;not null;default:0"` //用户权限类型
  18. TypCode string `gorm:"size:50;not null;"` //编号 所属公司编号
  19. Operator string `gorm:"-"` //操作人ID
  20. UserIntro string `gorm:"size:255;"` //备注
  21. }
  22. // Validate ``
  23. func (u *User) Validate() error {
  24. if u.UserCode == "" ||
  25. u.UserName == "" ||
  26. u.TypCode == "" {
  27. return errors.New("参数不能为空")
  28. }
  29. return nil
  30. }
  31. // LoginRequest 用户登录请求
  32. type LoginRequest struct {
  33. UserName string //用户名
  34. PassWord string //密码
  35. Platform string //平板 ANDROID IOS PC
  36. Version string //版本号
  37. }
  38. // Validate 实现验证
  39. func (a *LoginRequest) Validate() error {
  40. if a.UserName == "" || a.PassWord == "" {
  41. return errors.New("用户名或密码不能为空")
  42. }
  43. return nil
  44. }
  45. // LoginResponse 登录成功返回
  46. type LoginResponse struct {
  47. User `json:"user"`
  48. Token string `json:"token"` //登陆令牌
  49. }