package export_task_mod import ( "91porn-server/common/db" "91porn-server/models" "encoding/json" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo/options" "time" ) var mdb *db.MongoDB const table = models.ExportTask func coll(t *db.MongoTool) *db.MongoTool { if t == nil { return mdb.Coll(table) } return t.Coll(table) } // CreateTask 新增一个任务 func CreateTask(taskType int, admin string, param interface{}) (err error) { b, _ := json.Marshal(param) _, err = coll(nil).InsertOne(&ExportTask{ Type: taskType, Param: string(b), Admin: admin, UpdatedAt: time.Now(), CreatedAt: time.Now(), }) if err != nil { return } return } // GetTaskList 拉取需要处理的任务数据 func GetTaskList() (list []*ExportTask, err error) { var opts = options.Find() opts.SetLimit(10) opts.SetSort(bson.D{{"createdAt", 1}}) err = coll(nil).Find(&list, bson.M{ "status": 0, }, opts) return list, err } func UpdateTask(id primitive.ObjectID, updateData bson.M) (err error) { _, err = coll(nil).UpdateOne( bson.M{"_id": id}, bson.M{"$set": updateData}, ) return }