ipblacks.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package models
  2. import "time"
  3. type Ipblack struct {
  4. ID uint `gorm:"primaryKey autoIncrement" json:"id"`
  5. IP string `gorm:"size:32" json:"ip"`
  6. KefuId string `gorm:"size:50" json:"kefu_id"`
  7. CreateAt time.Time `json:"create_at"`
  8. }
  9. func CreateIpblack(ip string, kefuId string) uint {
  10. black := &Ipblack{
  11. IP: ip,
  12. KefuId: kefuId,
  13. CreateAt: time.Now(),
  14. }
  15. DB.Create(black)
  16. return black.ID
  17. }
  18. func DeleteIpblackByIp(ip string) {
  19. DB.Where("ip = ?", ip).Delete(Ipblack{})
  20. }
  21. func FindIp(ip string) Ipblack {
  22. var ipblack Ipblack
  23. DB.Where("ip = ?", ip).First(&ipblack)
  24. return ipblack
  25. }
  26. func FindIps(query interface{}, args []interface{}, page int, pagesize int) []Ipblack {
  27. offset := (page - 1) * pagesize
  28. if offset < 0 {
  29. offset = 0
  30. }
  31. var ipblacks []Ipblack
  32. if query != nil {
  33. DB.Where(query, args...).Offset(offset).Limit(pagesize).Find(&ipblacks)
  34. } else {
  35. DB.Offset(offset).Limit(pagesize).Find(&ipblacks)
  36. }
  37. return ipblacks
  38. }
  39. //查询条数
  40. func CountIps(query interface{}, args []interface{}) int64 {
  41. var count int64
  42. if query != nil {
  43. DB.Model(&Visitor{}).Where(query, args...).Count(&count)
  44. } else {
  45. DB.Model(&Visitor{}).Count(&count)
  46. }
  47. return count
  48. }