package domain import "time" type User struct { Id int64 `json:"id,string"` // 用户Id Account string `json:"account"` // 用户账号 AvatarUrl string `json:"avatarUrl"` // 用户头像URL CompanyId int64 `json:"companyId"` // 公司编号 AdminType int `json:"adminType"` // 1普通员工 2 主管理员 Name string `json:"name"` // 用户姓名 Email string `json:"email"` // 邮箱 Status int `json:"status"` // 用户状态(1正常 2禁用) DepartmentId []int `json:"departmentId"` // 用户归属的部门 PositionId []int `json:"PositionId"` // 用户职位 EntryTime string `json:"entryTime"` // 入职日期 ParentId int64 `json:"parentId"` // 上级ID UpdatedAt time.Time `json:"updatedAt"` // 更新时间 DeletedAt *time.Time `json:"deletedAt"` CreatedAt time.Time `json:"createdAt"` } // 1普通员工 2 主管理员 const ( UserTypeCommon int = 1 UserTypeManager int = 2 UserStatusEnable int = 1 // 正常用户 2禁用用户 ) type UserRepository interface { Insert(user *User) (*User, error) Update(user *User) (*User, error) Remove(userId []int64) error FindOne(queryOptions map[string]interface{}) (*User, error) Find(queryOptions map[string]interface{}) (int, []*User, error) }