Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

77 lines
1.8 KiB
Go

package ipwhitemod
import (
"time"
"91porn-server/common/log"
"91porn-server/models/commod"
"go.mongodb.org/mongo-driver/bson"
)
type IPWhiteEdit struct {
IP *string `form:"ip" json:"ip,omitempty" bson:"ip,omitempty"` //ip
Remark string `form:"remark" json:"remark"` //备注
UpdatedAt time.Time `form:"updatedAt" json:"updatedAt" bson:"updatedAt,omitempty"`
}
type ListParam struct {
IP string `form:"ip" json:"ip,omitempty"`
commod.Page
}
type WebResp struct {
Total int64 `json:"total"`
List interface{} `json:"list"`
}
type WebAggregateResp struct {
ID struct {
BlockType string `json:"blockType"`
} `json:"_id"`
IPS []string `json:"ips"`
}
func List(param ListParam) (webResp WebResp, err error) {
stdqer := commod.StdQuery{Page: &commod.PageBy{Size: param.PageSize, Num: param.PageNumber},
Order: &[]commod.OrderBy{{Key: "updatedAt", Desc: true}}}
filter := bson.M{}
if param.IP != "" {
filter["ip"] = param.IP
}
ipwhites, err := find(filter, stdqer)
total := count(filter)
if err != nil {
log.Error("web ipwhite list error", log.E(err), log.Any("param", param))
return
}
webResp.List = ipwhites
webResp.Total = total
return
}
func find(filter bson.M, stdQuery commod.StdQuery) (data []IPWhite, err error) {
if err = coll(nil).Find(&data, filter, commod.ConvertToListQuery(stdQuery)); err != nil {
log.Error("models ipwhite Find error", log.E(err))
return
}
return
}
func FindMany(filter bson.M) (data []IPWhite, err error) {
if err = coll(nil).Find(&data, filter); err != nil {
log.Error("models ipwhite Find error", log.E(err))
return
}
return
}
func count(query bson.M) (total int64) {
total, err := coll(nil).Count(query)
if err != nil {
log.Error("models ipwhite Count error", log.E(err))
return
}
return
}