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