From f3a09ce0a6411d49303122d1d123863363e04acf Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 17 十月 2023 22:20:47 +0800 Subject: [PATCH] 删除同步完的记录 --- service/task.go | 5 +++++ crontask/cron_task.go | 8 ++++++++ model/task_status_sync.go | 10 ++++++++++ 3 files changed, 23 insertions(+), 0 deletions(-) diff --git a/crontask/cron_task.go b/crontask/cron_task.go index 3ff0d59..cd4e9e6 100644 --- a/crontask/cron_task.go +++ b/crontask/cron_task.go @@ -103,6 +103,7 @@ if err != nil { logx.Errorf("SyncTaskStatus get records err:%v", err) } + syncOkIds := make([]uint, 0, len(records)) for _, record := range records { msg := &common.MsgTaskStatusUpdate{ WorkOrderId: record.WorkOrderId, @@ -116,6 +117,13 @@ if err != nil { logx.Errorf("sync task status send msg error:%v", err.Error()) } + syncOkIds = append(syncOkIds, record.ID) + } + if len(syncOkIds) > 0 { + err = service.NewTaskService().RemoveTaskStatusSync(syncOkIds) + if err != nil { + logx.Errorf("sync task status delete sync ok records error:%v", err) + } } } diff --git a/model/task_status_sync.go b/model/task_status_sync.go index b873578..503af79 100644 --- a/model/task_status_sync.go +++ b/model/task_status_sync.go @@ -23,6 +23,7 @@ PageNum int PageSize int Orm *gorm.DB + IDs []uint } ) @@ -57,6 +58,11 @@ return slf } +func (slf *TaskStatusSyncSearch) SetIDs(ids []uint) *TaskStatusSyncSearch { + slf.IDs = ids + return slf +} + func (slf *TaskStatusSyncSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) @@ -64,6 +70,10 @@ db = db.Where("id = ?", slf.ID) } + if len(slf.IDs) != 0 { + db = db.Where("id in ?", slf.IDs) + } + if slf.Order != "" { db = db.Order(slf.Order) } diff --git a/service/task.go b/service/task.go index df68848..fbc355f 100644 --- a/service/task.go +++ b/service/task.go @@ -196,3 +196,8 @@ func (slf TaskService) GetTaskStatusSync(limit int) ([]*model.TaskStatusSync, error) { return model.NewTaskStatusSyncSearch(nil).SetOrder("id desc").SetPage(1, limit).FindNotTotal() } + +// RemoveTaskStatusSync 鍒犻櫎鍚屾瀹岀殑璁板綍 +func (slf TaskService) RemoveTaskStatusSync(ids []uint) (err error) { + return model.NewTaskStatusSyncSearch(nil).SetIDs(ids).Delete() +} -- Gitblit v1.8.0