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