Files
2019-08-08 17:13:34 +08:00

117 lines
2.5 KiB
Go

package models
import (
"anytunnel/at-admin/app/utils"
"github.com/snail007/go-activerecord/mysql"
)
type IpList struct {
}
func (p *IpList) GetIpListByIpListId(ip_listId string) (ip_list map[string]string, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From("ip_list").Where(map[string]interface{}{
"ip_list_id": ip_listId,
}))
if err != nil {
return
}
ip_list = rs.Row()
return
}
func (p *IpList) Delete(ip_listId string) (err error) {
db := DB
_, err = db.Exec(db.AR().Delete("ip_list", map[string]interface{}{
"ip_list_id": ip_listId,
}))
if err != nil {
return
}
return
}
func (p *IpList) Insert(ip_list map[string]interface{}) (id int64, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Exec(db.AR().Insert("ip_list", ip_list))
if err != nil {
return
}
id = rs.LastInsertId
return
}
func (p *IpList) Update(ip_listId string, ip_list map[string]interface{}) (id int64, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Exec(db.AR().Update("ip_list", ip_list, map[string]interface{}{
"ip_list_id": ip_listId,
}))
if err != nil {
return
}
id = rs.LastInsertId
return
}
//根据搜索分页获取IpList
func (ip_list *IpList) GetIpListsByIDAndLimit(column, id string, limit int, number int) (ip_lists []map[string]string, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From("ip_list").Where(map[string]interface{}{
column: id,
}).OrderBy("ip_list_id", "desc").Limit(limit, number))
if err != nil {
return
}
ip_lists = rs.Rows()
return
}
//分页获取IpList
func (ip_list *IpList) GetIpListsByLimit(limit int, number int) (ip_lists []map[string]string, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().From("ip_list").
OrderBy("ip_list_id", "desc").
Limit(limit, number))
if err != nil {
return
}
ip_lists = rs.Rows()
return
}
func (ip_list *IpList) CountIpLists() (count int, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().Select("count(*) as total").From("ip_list"))
if err != nil {
return
}
count = utils.NewConvert().StringToInt(rs.Value("total"))
return
}
func (ip_list *IpList) CountIpListsByID(column, id string) (count int, err error) {
db := DB
var rs *mysql.ResultSet
rs, err = db.Query(db.AR().
Select("count(*) as total").
From("ip_list").
Where(map[string]interface{}{
column: id,
}))
if err != nil {
return
}
count = utils.NewConvert().StringToInt(rs.Value("total"))
return
}