login_log.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package monitor_service
  2. import (
  3. "gfast/app/model/admin/sys_login_log"
  4. "gfast/library/utils"
  5. "github.com/gogf/gf/errors/gerror"
  6. "github.com/gogf/gf/frame/g"
  7. "github.com/gogf/gf/util/gconv"
  8. )
  9. func LoginLogListByPage(req *sys_login_log.SelectPageReq) (total, page int, list []*sys_login_log.Entity, err error) {
  10. model := sys_login_log.Model
  11. order := "login_time DESC"
  12. if req != nil {
  13. if req.LoginName != "" {
  14. model = model.Where("login_name like ?", "%"+req.LoginName+"%")
  15. }
  16. if req.Status != "" {
  17. model = model.Where("status", gconv.Int(req.Status))
  18. }
  19. if req.Ipaddr != "" {
  20. model = model.Where("ipaddr like ?", "%"+req.Ipaddr+"%")
  21. }
  22. if req.BeginTime != "" {
  23. model = model.Where("login_time >=", utils.StrToTimestamp(req.BeginTime))
  24. }
  25. if req.EndTime != "" {
  26. model = model.Where("login_time <=", utils.StrToTimestamp(req.EndTime))
  27. }
  28. if req.SortName != "" {
  29. if req.SortOrder != "" {
  30. order = req.SortName + " " + req.SortOrder
  31. } else {
  32. order = req.SortName + " DESC"
  33. }
  34. }
  35. }
  36. total, err = model.Count()
  37. if err != nil {
  38. g.Log().Error(err)
  39. err = gerror.New("获取总行数失败")
  40. return
  41. }
  42. if req.PageNum == 0 {
  43. req.PageNum = 1
  44. }
  45. page = req.PageNum
  46. if req.PageSize == 0 {
  47. req.PageSize = utils.AdminPageNum
  48. }
  49. list, err = model.Page(page, req.PageSize).Order(order).All()
  50. if err != nil {
  51. g.Log().Error(err)
  52. err = gerror.New("获取数据失败")
  53. return
  54. }
  55. return
  56. }
  57. //删除登录日志
  58. func DeleteLoginLogByIds(ids []int) (err error) {
  59. if len(ids) == 0 {
  60. err = gerror.New("参数错误")
  61. return
  62. }
  63. _, err = sys_login_log.Model.Delete("info_id in (?)", ids)
  64. if err != nil {
  65. g.Log().Error(err)
  66. err = gerror.New("删除失败")
  67. }
  68. return
  69. }
  70. //清空日志
  71. func ClearLoginLog() (err error) {
  72. _, err = g.DB().Exec("truncate " + sys_login_log.Table)
  73. if err != nil {
  74. g.Log().Error(err)
  75. err = gerror.New("清除失败")
  76. }
  77. return
  78. }