package forms import ( "errors" "time" ) type UserLoginReq struct { UserName string `form:"user_name" json:"user_name" binding:"required,min=1,max=30"` Password string `form:"password" json:"password" binding:"required,min=1,max=40"` } type UserLoginRes struct { ID int64 `json:"id"` UserName string `json:"user_name"` Nickname string `json:"nickname"` Status int32 `json:"status"` Avatar string `json:"avatar"` Token string `json:"token"` } type UserRegisterReq struct { Nickname string `form:"nickname" json:"nickname" binding:"required,min=2,max=30"` UserName string `form:"user_name" json:"user_name" binding:"required,min=2,max=30"` Password string `form:"password" json:"password" binding:"required,min=6,max=40"` } type UserMeReq struct { ID int64 `json:"user_id"` UserName string `json:"user_name"` RoleId int64 `json:"role_id"` Avatar string `json:"avatar"` Nickname string `json:"nickname"` Permissions []UserLoginPermissions `json:"permissions"` IsSuper bool `json:"isSuper"` } type UserLoginPermissions struct { Label string `json:"label" description:"标签"` Value string `json:"value" description:"值"` } type AdminUserListReq struct { ListReq Sn string `json:"sn" form:"sn"` Cdk string `json:"cdk" form:"cdk"` CreatedAt []int64 `json:"created_at" form:"created_at[]"` Time []time.Time } func (req *AdminUserListReq) Check() error { if req.CreatedAt != nil && len(req.CreatedAt) != 2 { return errors.New("生成时间必须选择一个区间或者留空") } if len(req.CreatedAt) == 2 { if req.CreatedAt[0] > req.CreatedAt[1] { return errors.New("生成时间选择的区间值不合理") } // 默认是毫秒 req.CreatedAt[0] = req.CreatedAt[0] / 1000 req.CreatedAt[1] = req.CreatedAt[1] / 1000 } return nil } type AdminUserListModel struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` RoleID int64 `gorm:"column:role_id" json:"role_id"` UserName string `gorm:"column:user_name" json:"user_name"` // 用户名 //PasswordDigest string `gorm:"column:password_digest" json:"password_digest"` // 密码 Nickname string `gorm:"column:nickname" json:"nickname"` // 昵称 Mobile string `gorm:"column:mobile" json:"mobile"` // 手机号 FeishuUserName string `gorm:"column:feishu_username" json:"feishu_username"` // 飞书用户名 FeishuEmployeeId string `gorm:"column:feishu_employee_id" json:"feishu_employee_id"` // 飞书用户工号ID Avatar string `gorm:"column:avatar" json:"avatar"` Status int32 `gorm:"column:status;default:1" json:"status"` // 状态 CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` // 创建时间 UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` // 更新时间 RoleName string `json:"roleName"` } type AdminUserEditReq struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` RoleID int64 `gorm:"column:role_id" json:"role_id"` UserName string `gorm:"column:user_name" json:"user_name"` // 用户名 PasswordDigest string `gorm:"column:password_digest" json:"password_digest"` // 密码 Password string `gorm:"column:password" json:"password"` // 密码 Nickname string `gorm:"column:nickname" json:"nickname"` // 昵称 Avatar string `gorm:"column:avatar" json:"avatar"` Status int32 `gorm:"column:status;default:1" json:"status"` // 状态 } type AdminUserResetPasswordReq struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` Password string `gorm:"column:password" json:"password"` // 密码 } type AdminUserUpdatePasswordReq struct { NewPassword string `gorm:"column:newPassword" json:"newPassword"` OldPassword string `gorm:"column:oldPassword" json:"oldPassword"` } func (req *AdminUserUpdatePasswordReq) Check() error { if req.NewPassword == "" { return errors.New("新密码不能为空") } if req.OldPassword == "" { return errors.New("老密码不能为空") } if req.OldPassword == req.NewPassword { return errors.New("新老密码不能一样") } return nil }