From 6ca12f7771e4224464e73271dd47f040cbaf9d4b Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 13 十二月 2024 10:39:54 +0800
Subject: [PATCH] 查询任务只查有效期内的,开启的

---
 service/task.go |    6 +++++-
 db/task.go      |   30 +++++++++++++++++++++++-------
 2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/db/task.go b/db/task.go
index 7f21a2a..e7c6dc3 100644
--- a/db/task.go
+++ b/db/task.go
@@ -24,15 +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
-		ModelIDs []string
+		Orm       *gorm.DB
+		PageNum   int
+		PageSize  int
+		Keyword   string
+		ModelIDs  []string
+		Unexpired bool
 	}
 )
 
@@ -113,8 +115,13 @@
 	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
 }
 
@@ -138,6 +145,15 @@
 		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
 }
 
diff --git a/service/task.go b/service/task.go
index f47d7d2..449970a 100644
--- a/service/task.go
+++ b/service/task.go
@@ -16,5 +16,9 @@
 		modelIds = append(modelIds, model.ID)
 	}
 
-	return db.NewModelTaskSearch().SetModelIDs(modelIds).FindAll()
+	return db.NewModelTaskSearch().
+		SetModelIDs(modelIds).
+		SetEnabled(true).
+		SetUnexpired().
+		FindAll()
 }

--
Gitblit v1.8.0