From dd7ad61a5d512a7baee6339b395f41a8f10041ca Mon Sep 17 00:00:00 2001 From: taoshihan1991 <630892807@qq.com> Date: Thu, 10 Sep 2020 19:13:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ip=E9=BB=91=E5=90=8D=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/ip.go | 16 ++++++++++++++++ models/ipblacks.go | 23 +++++++++++++++++++++++ router/api.go | 1 + 3 files changed, 40 insertions(+) diff --git a/controller/ip.go b/controller/ip.go index 8a31409..7173c6b 100644 --- a/controller/ip.go +++ b/controller/ip.go @@ -2,7 +2,9 @@ package controller import ( "github.com/gin-gonic/gin" + "github.com/taoshihan1991/imaptool/config" "github.com/taoshihan1991/imaptool/models" + "strconv" ) func PostIpblack(c *gin.Context) { @@ -21,3 +23,17 @@ func PostIpblack(c *gin.Context) { "msg": "添加黑名单成功!", }) } +func GetIpblacks(c *gin.Context) { + page,_:=strconv.Atoi(c.Query("page")) + count:=models.CountIps(nil,nil) + list:=models.FindIps(nil,nil,uint(page),config.VisitorPageSize) + c.JSON(200, gin.H{ + "code": 200, + "msg": "ok", + "result":gin.H{ + "list":list, + "count":count, + "pagesize":config.PageSize, + }, + }) +} \ No newline at end of file diff --git a/models/ipblacks.go b/models/ipblacks.go index f7a305e..54f2f77 100644 --- a/models/ipblacks.go +++ b/models/ipblacks.go @@ -21,4 +21,27 @@ func FindIp(ip string)Ipblack{ var ipblack Ipblack DB.Where("ip = ?", ip).First(&ipblack) return ipblack +} +func FindIps(query interface{},args []interface{},page uint,pagesize uint)[]Ipblack{ + offset:=(page-1)*pagesize + if offset<0{ + offset=0 + } + var ipblacks []Ipblack + if query!=nil{ + DB.Where(query, args...).Offset(offset).Limit(pagesize).Find(&ipblacks) + }else{ + DB.Offset(offset).Limit(pagesize).Find(&ipblacks) + } + return ipblacks +} +//查询条数 +func CountIps(query interface{},args []interface{})uint{ + var count uint + if query!=nil{ + DB.Model(&Visitor{}).Where(query,args...).Count(&count) + }else{ + DB.Model(&Visitor{}).Count(&count) + } + return count } \ No newline at end of file diff --git a/router/api.go b/router/api.go index f52a426..d7294a7 100644 --- a/router/api.go +++ b/router/api.go @@ -50,4 +50,5 @@ func InitApiRouter(engine *gin.Engine){ engine.DELETE("/notice",middleware.JwtApiMiddleware, controller.DelNotice) engine.GET("/notices",middleware.JwtApiMiddleware, controller.GetNotices) engine.POST("/ipblack",middleware.JwtApiMiddleware,controller.PostIpblack) + engine.POST("/ipblacks_all",middleware.JwtApiMiddleware,controller.GetIpblacks) } \ No newline at end of file