From 46ecbd9f5a71c01df45e241c8d5795454dafe1f7 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 10 四月 2024 11:03:09 +0800 Subject: [PATCH] 字典支持关键字搜索 --- controllers/dict.go | 2 +- controllers/request/system_set.go | 1 + models/dict.go | 11 +++++++++++ docs/swagger.yaml | 4 ++++ docs/docs.go | 6 ++++++ docs/swagger.json | 6 ++++++ 6 files changed, 29 insertions(+), 1 deletions(-) diff --git a/controllers/dict.go b/controllers/dict.go index ef51e3f..31f0965 100644 --- a/controllers/dict.go +++ b/controllers/dict.go @@ -122,7 +122,7 @@ if params.DictType != nil { search = search.SetDictType(params.DictType) } - list, err := search.FindAll() + list, err := search.SetKeyword(params.Keyword).FindAll() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") diff --git a/controllers/request/system_set.go b/controllers/request/system_set.go index dd25cb7..b365be8 100644 --- a/controllers/request/system_set.go +++ b/controllers/request/system_set.go @@ -8,6 +8,7 @@ type GetDictList struct { PageInfo DictType *constvar.DictType `json:"dictType" form:"dictType"` //瀛楀吀绫诲瀷 + Keyword string `json:"keyword" form:"keyword"` //鎼滅储鍏抽敭瀛� } type AddDict struct { diff --git a/docs/docs.go b/docs/docs.go index 1733581..b65018f 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -525,6 +525,12 @@ "in": "query" }, { + "type": "string", + "description": "鎼滅储鍏抽敭瀛�", + "name": "keyword", + "in": "query" + }, + { "type": "integer", "description": "椤电爜", "name": "page", diff --git a/docs/swagger.json b/docs/swagger.json index 5ec2ec5..c769c39 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -513,6 +513,12 @@ "in": "query" }, { + "type": "string", + "description": "鎼滅储鍏抽敭瀛�", + "name": "keyword", + "in": "query" + }, + { "type": "integer", "description": "椤电爜", "name": "page", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 5bcdd0a..dd2307d 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1097,6 +1097,10 @@ - DictTypeWorkshop - DictTypeColor - DictTypeSpec + - description: 鎼滅储鍏抽敭瀛� + in: query + name: keyword + type: string - description: 椤电爜 in: query name: page diff --git a/models/dict.go b/models/dict.go index 00fc491..7e682d8 100644 --- a/models/dict.go +++ b/models/dict.go @@ -23,6 +23,7 @@ PageNum int PageSize int Orm *gorm.DB + Keyword string } ) @@ -64,6 +65,11 @@ return slf } +func (slf *DictSearch) SetKeyword(keyword string) *DictSearch { + slf.Keyword = keyword + return slf +} + func (slf *DictSearch) SetDictType(dt *constvar.DictType) *DictSearch { slf.DictType = dt return slf @@ -92,6 +98,11 @@ db = db.Where("name = ?", slf.Name) } + if slf.Keyword != "" { + kw := "%" + slf.Keyword + "%" + db = db.Where("name like ? or number like ?", kw, kw) + } + return db } -- Gitblit v1.8.0