github.com/infraboard/keyauth@v0.8.1/apps/wxwork/impl/query.go (about) 1 package impl 2 3 import ( 4 "github.com/infraboard/keyauth/apps/wxwork" 5 "github.com/infraboard/mcube/exception" 6 "go.mongodb.org/mongo-driver/bson" 7 "go.mongodb.org/mongo-driver/mongo/options" 8 ) 9 10 func newDescribeWechatWorkRequest(req *wxwork.DescribeWechatWorkConf) (*describeWechatWorkRequest, error) { 11 if err := req.Validate(); err != nil { 12 return nil, exception.NewBadRequest(err.Error()) 13 } 14 15 return &describeWechatWorkRequest{req}, nil 16 } 17 18 type describeWechatWorkRequest struct { 19 *wxwork.DescribeWechatWorkConf 20 } 21 22 func (r *describeWechatWorkRequest) FindFilter() bson.M { 23 filter := bson.M{} 24 25 if r.Domain != "" { 26 filter["_id"] = r.Domain 27 } 28 29 return filter 30 } 31 32 // newQueryConfigRequest 查询 33 func newQueryConfigRequest(req *wxwork.QueryConfigRequest) *queryConfigRequest { 34 return &queryConfigRequest{req} 35 } 36 37 type queryConfigRequest struct { 38 *wxwork.QueryConfigRequest 39 } 40 41 func (r *queryConfigRequest) FindOptions() *options.FindOptions { 42 pageSize := int64(r.PageSize) 43 skip := int64(r.PageSize) * int64(r.PageNumber-1) 44 45 opt := &options.FindOptions{ 46 Sort: bson.D{{Key: "create_at", Value: -1}}, 47 Limit: &pageSize, 48 Skip: &skip, 49 } 50 51 return opt 52 } 53 54 func (r *queryConfigRequest) FindFilter() bson.M { 55 filter := bson.M{} 56 57 return filter 58 }