12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package dao
- import (
- "time"
- )
- type User struct {
- ID int64 `gorm:"primary_key" json:"id"`
- TenantId string `gorm:"type:varchar(12);default '000000'" json:"tenantId"`
- Code string `gorm:"type:varchar(12)" json:"code"`
- Account string `gorm:"type:varchar(45)" json:"account"`
- Password string `gorm:"type:varchar(45)" json:"password"`
- Name string `gorm:"type:varchar(20)" json:"name"`
- RealName string `gorm:"type:varchar(12)" json:"realName"`
- Avatar string `gorm:"type:varchar(500)" json:"avatar"`
- Email string `gorm:"type:varchar(45)" json:"email"`
- Phone string `gorm:"type:varchar(45)" json:"phone"`
- Birthday string `gorm:"type:datetime" json:"birthday"`
- Sex int `gorm:"type:smallint" json:"sex"`
- RoleId string `gorm:"type:varchar(1000)" json:"roleId"`
- DeptId string `gorm:"type:varchar(1000)" json:"deptId"`
- PostId string `gorm:"type:varchar(1000)" json:"postId"`
- CreateUser int64 `gorm:"type:bigint" json:"createUser"`
- CreateDept int64 `gorm:"type:bigint" json:"createDept"`
- CreateTime time.Time `gorm:"type:datetime" json:"createTime"`
- UpdateUser int64 `gorm:"type:bigint" json:"updateUser"`
- UpdateTime time.Time `gorm:"type:datetime" json:"updateTime"`
- Status int `gorm:"type:int " json:"status"`
- IsDeleted int `gorm:"type:int" json:"isDeleted"`
- GroupId int `gorm:"type:int" json:"groupId"`
- BigScreenIndexCameraIds string `gorm:"type:varchar(255)" json:"bigScreenIndexCameraIds"`
- SecuritySixScreen string `gorm:"type:varchar(255)" json:"securitySixScreen"`
- }
- func (User) TableName() string {
- return "user"
- }
- func (c *User) GetUser() error {
- return Db.Model(&c).Where("id = ? and is_deleted = 0", c.ID).Find(&c).Error
- }
- func (c *User) GetUserByPwd() error {
- return Db.Model(&c).Where("tenant_id = ? and account = ? and password = ? and is_deleted = 0", c.TenantId, c.Account,
- c.Password).Find(&c).Error
- }
- func (c User) GetUsers(offset, limit int) ([]User, error) {
- var users []User
- db := Db.Model(&c)
- if c.Account != "" {
- db = db.Where("account like ?", "%"+c.Account+"%")
- }
- if c.RealName != "" {
- db = db.Where("real_name like ?", "%"+c.RealName+"%")
- }
- err := db.Where("is_deleted = 0").Offset(offset).Limit(limit).Find(&users).Error
- return users, err
- }
- func (c *User) Save() error {
- return Db.Model(&c).Save(&c).Error
- }
- func (c *User) Update() error {
- return Db.Model(&c).Where(" id = ? ", c.ID).Update(&c).Error
- }
- func (c *User) Remove() error {
- return Db.Model(&c).Where("id = ?", c.ID).Updates(map[string]interface{}{"update_time": c.UpdateTime,
- "update_user": c.UpdateUser, "is_deleted": c.IsDeleted}).Error
- }
- func (c *User) UpdatePwd(pwd string) error {
- return Db.Model(&c).Where(" id = ? ", c.ID).Updates(map[string]interface{}{"password": pwd}).Error
- }
- func (c *User) GetAll() ([]User, error) {
- var users []User
- err := Db.Model(&c).Where("is_deleted = 0").Find(&users).Error
- return users, err
- }
- func (c *User) UpdateRoles(userIds []string, roleIds string) error {
- err := Db.Model(&c).Where("id in ?", userIds).Updates(map[string]interface{}{"role_id": roleIds}).Error
- return err
- }
|