package gmodel

import (
	"gorm.io/gorm"
	"time"
)

// fs_admin_user 后台--管理员表
type FsAdminUser struct {
	Id                int64      `gorm:"primary_key;default:0;auto_increment;" json:"id"`       // 序号
	DepartmentId      *int64     `gorm:"default:0;" json:"department_id"`                       // 部门
	RoleId            *int64     `gorm:"default:0;" json:"role_id"`                             // 角色
	EmployeeId        *int64     `gorm:"default:0;" json:"employee_id"`                         // 员工
	Type              *int64     `gorm:"default:0;" json:"type"`                                // 类型:1=超级管理员,2=普通管理员
	Account           *string    `gorm:"unique_key;default:'';" json:"account"`                 //
	Password          *string    `gorm:"default:'';" json:"password"`                           //
	Nickname          *string    `gorm:"default:'';" json:"nickname"`                           //
	Mobile            *string    `gorm:"default:'';" json:"mobile"`                             //
	Email             *string    `gorm:"default:'';" json:"email"`                              //
	Salt              *string    `gorm:"default:'';" json:"salt"`                               //
	LoginInitPassword *string    `gorm:"default:'';" json:"login_init_password"`                //
	LoginLastTime     *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"login_last_time"` //
	LoginLastIp       *string    `gorm:"default:'';" json:"login_last_ip"`                      //
	LoginNum          *int64     `gorm:"default:0;" json:"login_num"`                           // 登录次数
	Status            *int64     `gorm:"default:2;" json:"status"`                              // 状态:1=启用,2=停用
	Remark            *string    `gorm:"default:'';" json:"remark"`                             //
	Sort              *int64     `gorm:"default:0;" json:"sort"`                                // 排序权重
	CreateTime        *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"create_time"`     //
	UpdateTime        *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"update_time"`     //
	DeleteTime        *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"delete_time"`     //
	CreateUid         *int64     `gorm:"default:0;" json:"create_uid"`                          // 创建人
	UpdateUid         *int64     `gorm:"default:0;" json:"update_uid"`                          // 更新人
	DeleteUid         *int64     `gorm:"default:0;" json:"delete_uid"`                          // 删除人
	IsDel             *int64     `gorm:"default:0;" json:"is_del"`                              // 是否删除:1=是 0=否
	RoleIds           *string    `gorm:"default:'';" json:"role_ids"`                           //
}
type FsAdminUserModel struct {
	db   *gorm.DB
	name string
}

func NewFsAdminUserModel(db *gorm.DB) *FsAdminUserModel {
	return &FsAdminUserModel{db: db, name: "fs_admin_user"}
}