Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
package ipblockmod
import (
"time"
"91porn-server/common/log"
"91porn-server/models/commod"
"go.mongodb.org/mongo-driver/bson"
)
type IPBlockEdit struct {
IP *string `form:"ip" json:"ip,omitempty" bson:"ip,omitempty"` //ip
Type *BlockAct `form:"type" json:"type,omitempty" bson:"type,omitempty" binding:"required"` //block 行为
Remark string `form:"remark" json:"remark"` //备注
UpdatedAt time.Time `form:"updatedAt" json:"updatedAt" bson:"updatedAt,omitempty"`
}
type ListParam struct {
Type string `form:"type" json:"type"`
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.Type != "" {
filter["type"] = param.Type
}
ipblocks, err := find(filter, stdqer)
if err != nil {
log.Error("web ipblock list error", log.E(err), log.Any("param", param))
return
}
total := count(filter)
webResp.List = ipblocks
webResp.Total = total
return
}
func find(filter bson.M, stdQuery commod.StdQuery) (data []IPBlock, err error) {
if err = coll(nil).Find(&data, filter, commod.ConvertToListQuery(stdQuery)); err != nil {
log.Error("models ipblock 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 ipblock Count error", log.E(err))
return
}
return
}