| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package models
- import (
- "time"
- orm "device-manage/common/global"
- )
- type LoginLog struct {
- InfoId int `json:"infoId" gorm:"primary_key;auto_increment;"` //主键
- Username string `json:"username" gorm:"size:128;"` //用户名
- Status string `json:"status" gorm:"size:4;"` //状态
- Ipaddr string `json:"ipaddr" gorm:"size:255;"` //ip地址
- LoginLocation string `json:"loginLocation" gorm:"size:255;"` //归属地
- Browser string `json:"browser" gorm:"size:255;"` //浏览器
- Os string `json:"os" gorm:"size:255;"` //系统
- Platform string `json:"platform" gorm:"size:255;"` // 固件
- LoginTime time.Time `json:"loginTime" gorm:"type:timestamp;"` //登录时间
- CreateBy string `json:"createBy" gorm:"size:128;"` //创建人
- UpdateBy string `json:"updateBy" gorm:"size:128;"` //更新者
- DataScope string `json:"dataScope" gorm:"-"` //数据
- Params string `json:"params" gorm:"-"` //
- Remark string `json:"remark" gorm:"size:255;"` //备注
- Msg string `json:"msg" gorm:"size:255;"`
- BaseModel
- }
- func (LoginLog) TableName() string {
- return "sys_loginlog"
- }
- func (e *LoginLog) Get() (LoginLog, error) {
- var doc LoginLog
- table := orm.Eloquent.Table(e.TableName())
- if e.Ipaddr != "" {
- table = table.Where("ipaddr = ?", e.Ipaddr)
- }
- if e.InfoId != 0 {
- table = table.Where("info_id = ?", e.InfoId)
- }
- if err := table.First(&doc).Error; err != nil {
- return doc, err
- }
- return doc, nil
- }
- func (e *LoginLog) GetPage(pageSize int, pageIndex int) ([]LoginLog, int, error) {
- var doc []LoginLog
- table := orm.Eloquent.Table(e.TableName())
- if e.Ipaddr != "" {
- table = table.Where("ipaddr = ?", e.Ipaddr)
- }
- if e.Status != "" {
- table = table.Where("status = ?", e.Status)
- }
- if e.Username != "" {
- table = table.Where("userName = ?", e.Username)
- }
- var count int64
- if err := table.Order("info_id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
- return nil, 0, err
- }
- //table.Where("`deleted_at` IS NULL").Count(&count)
- return doc, int(count), nil
- }
- func (e *LoginLog) Create() (LoginLog, error) {
- var doc LoginLog
- e.CreateBy = "0"
- e.UpdateBy = "0"
- result := orm.Eloquent.Table(e.TableName()).Create(&e)
- if result.Error != nil {
- err := result.Error
- return doc, err
- }
- doc = *e
- return doc, nil
- }
- func (e *LoginLog) Update(id int) (update LoginLog, err error) {
- if err = orm.Eloquent.Table(e.TableName()).First(&update, id).Error; err != nil {
- return
- }
- //参数1:是要修改的数据
- //参数2:是修改的数据
- if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
- return
- }
- return
- }
- func (e *LoginLog) BatchDelete(id []int) (Result bool, err error) {
- if err = orm.Eloquent.Table(e.TableName()).Where("info_id in (?)", id).Delete(&LoginLog{}).Error; err != nil {
- return
- }
- Result = true
- return
- }
|