58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
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
|
|
}
|