From dc962c6426829f6c843bb57fb89627974667470c Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 17 五月 2024 15:50:07 +0800 Subject: [PATCH] 音频检索增加时间范围和是否关注的搜索条件 --- request/audio.go | 18 ++++-- models/audio.go | 41 +++++++++++-- docs/swagger.yaml | 21 +++++++ controllers/audio.go | 3 + docs/docs.go | 30 ++++++++++ docs/swagger.json | 30 ++++++++++ 6 files changed, 131 insertions(+), 12 deletions(-) diff --git a/controllers/audio.go b/controllers/audio.go index ad13a82..2476a6c 100644 --- a/controllers/audio.go +++ b/controllers/audio.go @@ -178,6 +178,9 @@ SetTrainNumber(params.TrainNumber). SetDriverNumber(params.DriverNumber). SetStation(params.StationNumber). + SetBeginTime(params.BeginTime). + SetEndTime(params.EndTime). + SetIsFollowed(params.IsFollowed). Find() if err != nil { diff --git a/docs/docs.go b/docs/docs.go index c225b57..4704be6 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -199,12 +199,42 @@ "parameters": [ { "type": "string", + "description": "寮�濮嬫椂闂�", + "name": "beginTime", + "in": "query" + }, + { + "type": "string", "description": "鍙告満鍙�", "name": "driverNumber", "in": "query" }, { "type": "string", + "description": "缁撴潫鏃堕棿", + "name": "endTime", + "in": "query" + }, + { + "enum": [ + 1, + 2 + ], + "type": "integer", + "x-enum-comments": { + "BoolTypeFalse": "false", + "BoolTypeTrue": "true" + }, + "x-enum-varnames": [ + "BoolTypeTrue", + "BoolTypeFalse" + ], + "description": "鏄惁鍏虫敞 1鍏虫敞 2鏈叧娉�", + "name": "isFollowed", + "in": "query" + }, + { + "type": "string", "description": "鍏抽敭瀛�", "name": "keyword", "in": "query" diff --git a/docs/swagger.json b/docs/swagger.json index 46229b6..e7c1bea 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -187,12 +187,42 @@ "parameters": [ { "type": "string", + "description": "寮�濮嬫椂闂�", + "name": "beginTime", + "in": "query" + }, + { + "type": "string", "description": "鍙告満鍙�", "name": "driverNumber", "in": "query" }, { "type": "string", + "description": "缁撴潫鏃堕棿", + "name": "endTime", + "in": "query" + }, + { + "enum": [ + 1, + 2 + ], + "type": "integer", + "x-enum-comments": { + "BoolTypeFalse": "false", + "BoolTypeTrue": "true" + }, + "x-enum-varnames": [ + "BoolTypeTrue", + "BoolTypeFalse" + ], + "description": "鏄惁鍏虫敞 1鍏虫敞 2鏈叧娉�", + "name": "isFollowed", + "in": "query" + }, + { + "type": "string", "description": "鍏抽敭瀛�", "name": "keyword", "in": "query" diff --git a/docs/swagger.yaml b/docs/swagger.yaml index e16406b..e6ed566 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -313,10 +313,31 @@ /api-sa/v1/audio/list: get: parameters: + - description: 寮�濮嬫椂闂� + in: query + name: beginTime + type: string - description: 鍙告満鍙� in: query name: driverNumber type: string + - description: 缁撴潫鏃堕棿 + in: query + name: endTime + type: string + - description: 鏄惁鍏虫敞 1鍏虫敞 2鏈叧娉� + enum: + - 1 + - 2 + in: query + name: isFollowed + type: integer + x-enum-comments: + BoolTypeFalse: "false" + BoolTypeTrue: "true" + x-enum-varnames: + - BoolTypeTrue + - BoolTypeFalse - description: 鍏抽敭瀛� in: query name: keyword diff --git a/models/audio.go b/models/audio.go index 8d1b51f..76fac0c 100644 --- a/models/audio.go +++ b/models/audio.go @@ -32,12 +32,14 @@ AudioSearch struct { Audio - Order string - PageNum int - PageSize int - Orm *gorm.DB - Keyword string - IDs []uint + Order string + PageNum int + PageSize int + Orm *gorm.DB + Keyword string + IDs []uint + BeginTime time.Time + EndTime time.Time } ) @@ -113,6 +115,21 @@ return slf } +func (slf *AudioSearch) SetBeginTime(time time.Time) *AudioSearch { + slf.BeginTime = time + return slf +} + +func (slf *AudioSearch) SetEndTime(time time.Time) *AudioSearch { + slf.EndTime = time + return slf +} + +func (slf *AudioSearch) SetIsFollowed(isFollowed constvar.BoolType) *AudioSearch { + slf.IsFollowed = isFollowed + return slf +} + func (slf *AudioSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) @@ -153,6 +170,18 @@ db = db.Where("id in ?", slf.IDs) } + if !slf.BeginTime.IsZero() { + db = db.Where("occurrence_at >= ?", slf.BeginTime) + } + + if !slf.EndTime.IsZero() { + db = db.Where("occurrence_at <= ?", slf.EndTime) + } + + if slf.IsFollowed != 0 { + db = db.Where("is_followed = ?", slf.IsFollowed) + } + return db } diff --git a/request/audio.go b/request/audio.go index e146e7e..a9000eb 100644 --- a/request/audio.go +++ b/request/audio.go @@ -1,14 +1,20 @@ package request -import "speechAnalysis/constvar" +import ( + "speechAnalysis/constvar" + "time" +) type GetAudioList struct { PageInfo - Keyword string `form:"keyword"` // 鍏抽敭瀛� - LocomotiveNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:鏈鸿溅鍙�" form:"locomotiveNumber"` // 鏈鸿溅鍙� - TrainNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:杞︽" form:"trainNumber"` // 杞︽ - DriverNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:鍙告満鍙�" form:"driverNumber"` // 鍙告満鍙� - StationNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:杞︾珯鍙�" form:"stationNumber"` // 杞︾珯鍙� + Keyword string `form:"keyword"` // 鍏抽敭瀛� + LocomotiveNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:鏈鸿溅鍙�" form:"locomotiveNumber"` // 鏈鸿溅鍙� + TrainNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:杞︽" form:"trainNumber"` // 杞︽ + DriverNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:鍙告満鍙�" form:"driverNumber"` // 鍙告満鍙� + StationNumber string `gorm:"index;type:varchar(255);not null;default:'';comment:杞︾珯鍙�" form:"stationNumber"` // 杞︾珯鍙� + BeginTime time.Time `json:"beginTime"` //寮�濮嬫椂闂� + EndTime time.Time `json:"endTime"` //缁撴潫鏃堕棿 + IsFollowed constvar.BoolType `json:"isFollowed"` //鏄惁鍏虫敞 1鍏虫敞 2鏈叧娉� } type ProcessAudio struct { -- Gitblit v1.8.0