sys_login_log.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package sys_login_log
  2. import (
  3. "gfast/library/utils"
  4. "github.com/gogf/gf/errors/gerror"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/util/gconv"
  7. )
  8. // Fill with you ideas below.
  9. //查询列表请求参数
  10. type SelectPageReq struct {
  11. LoginName string `p:"loginName"` //登陆名
  12. Status string `p:"status"` //状态
  13. Ipaddr string `p:"ipaddr"` //登录地址
  14. BeginTime string `p:"beginTime"` //数据范围
  15. EndTime string `p:"endTime"` //开始时间
  16. PageNum int `p:"page"` //当前页码
  17. PageSize int `p:"pageSize"` //每页数
  18. SortName string `p:"orderByColumn"` //排序字段
  19. SortOrder string `p:"isAsc"` //排序方式
  20. }
  21. func LoginLogListByPage(req *SelectPageReq) (total, page int, list []*Entity, err error) {
  22. model := Model
  23. page = req.PageNum
  24. order := "login_time DESC"
  25. if req.LoginName != "" {
  26. model = model.Where("login_name like ?", "%"+req.LoginName+"%")
  27. }
  28. if req.Status != "" {
  29. model = model.Where("status", gconv.Int(req.Status))
  30. }
  31. if req.Ipaddr != "" {
  32. model = model.Where("ipaddr like ?", "%"+req.Ipaddr+"%")
  33. }
  34. if req.BeginTime != "" {
  35. model = model.Where("login_time >=", utils.StrToTimestamp(req.BeginTime))
  36. }
  37. if req.EndTime != "" {
  38. model = model.Where("login_time <=", utils.StrToTimestamp(req.EndTime))
  39. }
  40. if req.SortName != "" {
  41. if req.SortOrder != "" {
  42. order = req.SortName + " " + req.SortOrder
  43. } else {
  44. order = req.SortName + " DESC"
  45. }
  46. }
  47. total, err = model.Count()
  48. if err != nil {
  49. g.Log().Error(err)
  50. err = gerror.New("获取总行数失败")
  51. return
  52. }
  53. list, err = model.Page(page, req.PageSize).Order(order).All()
  54. if err != nil {
  55. g.Log().Error(err)
  56. err = gerror.New("获取数据失败")
  57. return
  58. }
  59. return
  60. }
  61. //删除登录日志
  62. func DeleteLoginLogByIds(ids []int) (err error) {
  63. if len(ids) == 0 {
  64. err = gerror.New("参数错误")
  65. return
  66. }
  67. _, err = Model.Delete("info_id in (?)", ids)
  68. if err != nil {
  69. g.Log().Error(err)
  70. err = gerror.New("删除失败")
  71. }
  72. return
  73. }
  74. //清空日志
  75. func ClearLoginLog() (err error) {
  76. _, err = g.DB().Exec("truncate " + Table)
  77. if err != nil {
  78. g.Log().Error(err)
  79. err = gerror.New("清除失败")
  80. }
  81. return
  82. }