| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package Task
- import (
- "ColdVerify_server/logs"
- "time"
- "github.com/beego/beego/v2/adapter/orm"
- )
- // TaskUid 用于保存已经导出的任务唯一标识,避免重复生成
- type TaskUid struct {
- Id int `orm:"column(ID);size(11);auto;pk"`
- Uid string `orm:"column(T_uid);size(64);unique"`
- ExportBatch string `orm:"size(64);null"` // 批次标识,便于追踪
- CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"`
- UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`
- }
- func (t *TaskUid) TableName() string {
- return "task_uid"
- }
- func init() {
- orm.RegisterModel(new(TaskUid))
- }
- // TaskUidExists 判断唯一标识是否已经生成/导出过
- func TaskUidExists(uid string) bool {
- o := orm.NewOrm()
- return o.QueryTable(new(TaskUid)).Filter("T_uid", uid).Exist()
- }
- // SaveTaskUids 批量写入导出的唯一标识
- func SaveTaskUids(uids []string, batch string) error {
- if len(uids) == 0 {
- return nil
- }
- o := orm.NewOrm()
- records := make([]TaskUid, 0, len(uids))
- for _, uid := range uids {
- records = append(records, TaskUid{
- Uid: uid,
- ExportBatch: batch,
- })
- }
- if _, err := o.InsertMulti(len(records), records); err != nil {
- logs.Error("SaveTaskUids InsertMulti error:", err)
- return err
- }
- return nil
- }
|