@@ -0,0 +1,151 @@
|
||||
package signtaskmod
|
||||
|
||||
import (
|
||||
"91porn-server/common/db"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/models"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
const table = models.SignTaskConfig
|
||||
|
||||
func coll(t *db.MongoTool) *db.MongoTool {
|
||||
if t == nil {
|
||||
return mdb.Coll(table)
|
||||
}
|
||||
return t.Coll(table)
|
||||
}
|
||||
|
||||
// initIndex 索引设置
|
||||
func initIndex() {
|
||||
many := []mongo.IndexModel{ //batch set indexes //value is the type 1 or -1
|
||||
{
|
||||
Keys: bson.D{{Key: "status", Value: 1}, {Key: "finishCondition", Value: -1}},
|
||||
},
|
||||
{
|
||||
Keys: bson.D{{Key: "type", Value: 1}, {Key: "status", Value: 1}, {Key: "finishCondition", Value: -1}},
|
||||
},
|
||||
{
|
||||
Keys: bson.D{{Key: "finishCondition", Value: 1}, {Key: "type", Value: 1}},
|
||||
},
|
||||
{
|
||||
Keys: bson.D{{Key: "status", Value: 1}},
|
||||
},
|
||||
}
|
||||
_, err := coll(nil).CreateIndex(many)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("user model set index err ==>[%+v]", err))
|
||||
}
|
||||
}
|
||||
|
||||
func Init() {
|
||||
mdb = db.Init(table)
|
||||
initIndex()
|
||||
}
|
||||
|
||||
func ConfigList() ([]*TaskConfig, error) {
|
||||
var out []*TaskConfig = make([]*TaskConfig, 0)
|
||||
if err := coll(nil).Find(&out, bson.M{"status": true}, options.Find().SetSort(bson.M{"finishCondition": 1})); err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "ConfigList", models.TaskConfig, "Find", err))
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func GetConfigList() ([]*TaskConfig, error) {
|
||||
var out []*TaskConfig = make([]*TaskConfig, 0)
|
||||
if err := coll(nil).Find(&out, bson.M{"status": true}, options.Find().SetSort(bson.M{"finishCondition": 1})); err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "ConfigList", models.TaskConfig, "Find", err))
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func GetConfigByID(id primitive.ObjectID) (*TaskConfig, error) {
|
||||
var out *TaskConfig = new(TaskConfig)
|
||||
if err := coll(nil).FindOne(&out, bson.M{"_id": id, "status": true}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func IsExistConfig(finishCondition int64, configType ConfigType) (bool, error) {
|
||||
count, err := coll(nil).Count(bson.M{"finishCondition": finishCondition, "type": configType})
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "IsExistConfig", models.TaskConfig, "Count", err),
|
||||
log.Any("finishCondition", finishCondition),
|
||||
log.Any("configType", configType),
|
||||
)
|
||||
return false, err
|
||||
}
|
||||
return count > 0, nil
|
||||
}
|
||||
|
||||
func AddConfig(sc TaskConfig) error {
|
||||
if _, err := coll(nil).InsertOne(&sc); err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "AddConfig", models.TaskConfig, "InsertOne", err),
|
||||
log.Any("sc", sc),
|
||||
)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ModifyConfig(filter, update primitive.M) error {
|
||||
result, err := coll(nil).UpdateOne(filter, update)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "ModifyConfig", models.TaskConfig, "UpdateOne", err),
|
||||
log.Any("filter", filter),
|
||||
log.Any("update", update),
|
||||
)
|
||||
return err
|
||||
}
|
||||
if result.ModifiedCount == 0 {
|
||||
err = errors.New("prize UpdateOne ModifiedCount err")
|
||||
log.Warn(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "ModifyConfig", models.TaskConfig, "result.ModifiedCount == 0", err),
|
||||
log.Any("filter", filter),
|
||||
log.Any("update", update),
|
||||
)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func QueryAllConfig(filter primitive.M, opts ...*options.FindOptions) ([]*TaskConfig, error) {
|
||||
var out []*TaskConfig = []*TaskConfig{}
|
||||
if err := coll(nil).Find(&out, filter, opts...); err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "QueryAllConfig", models.TaskConfig, "Find", err),
|
||||
log.Any("filter", filter),
|
||||
)
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func CountConfig(filter primitive.M) (int64, error) {
|
||||
count, err := coll(nil).Count(filter)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "CountConfig", models.TaskConfig, "Count", err),
|
||||
log.Any("filter", filter),
|
||||
)
|
||||
return 0, err
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
func QueryTaskConfigByCond(filter primitive.M) (*TaskConfig, error) {
|
||||
var out *TaskConfig
|
||||
if err := coll(nil).FindOne(&out, filter); err != nil {
|
||||
log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "QueryTaskConfigByCond", models.TaskConfig, "Find", err),
|
||||
log.Any("filter", filter),
|
||||
)
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
Reference in New Issue
Block a user