From 6b59a711b9af0825858c408cdba95102b8b51cb3 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 13 十二月 2024 15:46:44 +0800 Subject: [PATCH] 结果表增加联合唯一索引,防止重复报警 --- db/task.go | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) diff --git a/db/task.go b/db/task.go index 573558c..e7c6dc3 100644 --- a/db/task.go +++ b/db/task.go @@ -24,14 +24,17 @@ AppearInterval int `gorm:"type:int;" json:"appearInterval"` //鍑虹幇闂撮殧锛屽崟浣嶄负绉� DaysWindow int `gorm:"type:int;" json:"daysWindow" ` //杩戝嚑澶╁唴 Threshold int `gorm:"type:int;" json:"threshold" ` //杈惧嚑娆� + Enabled bool `json:"enabled"` //鏄惁寮�鍚� } ModelTaskSearch struct { ModelTask - Orm *gorm.DB - PageNum int - PageSize int - Keyword string + Orm *gorm.DB + PageNum int + PageSize int + Keyword string + ModelIDs []string + Unexpired bool } ) @@ -102,13 +105,23 @@ return slf } +func (slf *ModelTaskSearch) SetModelIDs(ids []string) *ModelTaskSearch { + slf.ModelIDs = ids + return slf +} + func (slf *ModelTaskSearch) SetKeyword(kw string) *ModelTaskSearch { slf.Keyword = kw return slf } -func (slf *ModelTaskSearch) SetEnabled(kw string) *ModelTaskSearch { - slf.Keyword = kw +func (slf *ModelTaskSearch) SetEnabled(enabled bool) *ModelTaskSearch { + slf.Enabled = enabled + return slf +} + +func (slf *ModelTaskSearch) SetUnexpired() *ModelTaskSearch { + slf.Unexpired = true return slf } @@ -123,11 +136,24 @@ db = db.Where("model_id = ?", slf.ModelID) } + if len(slf.ModelIDs) != 0 { + db = db.Where("model_id in ?", slf.ModelIDs) + } + if slf.Keyword != "" { kw := "%" + slf.Keyword + "%" db = db.Where("name like ?", kw) } + if slf.Enabled { + db = db.Where("enabled = ?", slf.Enabled) + } + + if slf.Unexpired { + now := time.Now() + db = db.Where("begin_time <= ?", now).Where("end_time >= ?", now) + } + return db } -- Gitblit v1.8.0