@@ -0,0 +1,39 @@
|
||||
package operationlogser
|
||||
|
||||
import (
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/operationlogmod"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
func GetOperationLogList(req GetOperationLogListReq) (*GetOperationLogListResp, stderr.Code) {
|
||||
data := new(GetOperationLogListResp)
|
||||
filter := bson.M{}
|
||||
if req.UserID != nil && *req.UserID > 0 {
|
||||
filter["userID"] = *req.UserID
|
||||
}
|
||||
if req.CreatedUser != nil && len(*req.CreatedUser) > 0 {
|
||||
filter["createdUser"] = *req.CreatedUser
|
||||
}
|
||||
if req.Content != nil && len(*req.Content) > 0 {
|
||||
filter["afterContent"] = *req.Content
|
||||
}
|
||||
if req.Start != nil && !req.Start.IsZero() && req.End != nil && !req.End.IsZero() {
|
||||
filter["createdAt"] = bson.M{"$gte": req.Start, "$lt": req.End}
|
||||
}
|
||||
if req.OperationType != nil && *req.OperationType > 0 {
|
||||
filter["operationType"] = *req.OperationType
|
||||
}
|
||||
count := operationlogmod.Count(filter)
|
||||
data.Total = count
|
||||
opts := (&options.FindOptions{}).
|
||||
SetSort(bson.D{{Key: "createdAt", Value: -1}}).SetLimit(int64(req.PageSize)).SetSkip(int64((req.PageNumber - 1) * req.PageSize))
|
||||
operationlogList, serr := operationlogmod.FindManyOperationLog(filter, opts)
|
||||
if serr != nil {
|
||||
return data, stderr.ErrDbQueryError
|
||||
}
|
||||
data.List = operationlogList
|
||||
return data, stderr.Success
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package operationlogser
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/operationlogmod"
|
||||
)
|
||||
|
||||
// GetOperationLogListReq 获取帖子、用户操作日志列表 请求数据
|
||||
type GetOperationLogListReq struct {
|
||||
UserID *int64 `form:"userID,omitempty" json:"userID,omitempty" bson:"userID,omitempty"` //用户ID
|
||||
OperationType *int `form:"operationType,omitempty" json:"operationType,omitempty" bson:"operationType,omitempty"` //操作类型
|
||||
Content *string `form:"content,omitempty" json:"content,omitempty" bson:"content,omitempty"` //操作内容
|
||||
CreatedUser *string `form:"createdUser,omitempty" json:"createdUser,omitempty" bson:"createdUser,omitempty"` //操作人
|
||||
Start *time.Time `form:"start,omitempty" json:"start,omitempty" bson:"start,omitempty"` //开始时间
|
||||
End *time.Time `form:"end,omitempty" json:"end,omitempty" bson:"end,omitempty"` //结束时间
|
||||
commod.Page
|
||||
}
|
||||
|
||||
// GetOperationLogListResp 获取帖子、用户操作日志列表 回复数据
|
||||
type GetOperationLogListResp struct {
|
||||
Total int64 `json:"total" bson:"total"`
|
||||
List []operationlogmod.OperationLog `json:"list" bson:"list"`
|
||||
}
|
||||
Reference in New Issue
Block a user