From 74f698acff298c45e436824e15c0da3c93b7926e Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期二, 25 七月 2023 20:15:19 +0800 Subject: [PATCH] add --- api/v1/salesLeads.go | 5 router/followRecord.go | 4 service/followRecord.go | 19 ++-- api/v1/followRecord.go | 50 ++++++----- model/request/followRecord.go | 5 + docs/swagger.yaml | 24 +++++ docs/docs.go | 34 ++++++++ docs/swagger.json | 34 ++++++++ model/response/response.go | 3 model/followRecord.go | 25 ++++++ 10 files changed, 157 insertions(+), 46 deletions(-) diff --git a/api/v1/followRecord.go b/api/v1/followRecord.go index 852cb90..cc09505 100644 --- a/api/v1/followRecord.go +++ b/api/v1/followRecord.go @@ -43,29 +43,6 @@ ctx.Ok() } -// List -// -// @Tags FollowRecord -// @Summary 鑾峰彇璺熻繘璁板綍鍒楄〃 -// @Produce application/json -// @Success 200 {object} contextx.Response{data=response.FollowRecordResponse} -// @Router /api/followRecord/list [get] -func (fr *FollowRecordApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - errCode, followRecordList := followRecordService.GetFollowRecordList() - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.FollowRecordResponse{ - List: followRecordList, - }) -} // Delete // @@ -219,3 +196,30 @@ return time.Time{}, err } + +// List +// +// @Tags FollowRecord +// @Summary 璺熻繘璁板綍鍒楄〃 +// @Produce application/json +// @Param object body request.GetFollowRecordList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.FollowRecordResponse} +// @Router /api/followRecord/list [post] +func (con *FollowRecordApi) List(c *gin.Context) { + var params request.GetFollowRecordList + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + followRecords, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.Keyword) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.OkWithDetailed(response.FollowRecordResponse{ + List: followRecords, + Count: len(followRecords), + }) +} diff --git a/api/v1/salesLeads.go b/api/v1/salesLeads.go index 4fc0acb..7c37437 100644 --- a/api/v1/salesLeads.go +++ b/api/v1/salesLeads.go @@ -99,7 +99,6 @@ ctx.Ok() } - func checkSalesLeadsParams(params request.SalesLeads) (errCode int, salesLeads model.SalesLeads) { //if params.Name == "" { // return ecode.InvalidParams, salesLeads @@ -146,7 +145,7 @@ // @Param object body request.GetSalesLeadsList true "鍙傛暟" // @Success 200 {object} contextx.Response{data=response.SalesLeadsResponse} // @Router /api/salesLeads/list [post] -func (con *SalesLeadsApi) List(c *gin.Context) { +func (s *SalesLeadsApi) List(c *gin.Context) { var params request.GetSalesLeadsList ctx, ok := contextx.NewContext(c, ¶ms) if !ok { @@ -160,7 +159,7 @@ } ctx.OkWithDetailed(response.SalesLeadsResponse{ - List: salesLeadss, + List: salesLeadss, Count: len(salesLeadss), }) } diff --git a/docs/docs.go b/docs/docs.go index 717105a..cabc262 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -2090,14 +2090,25 @@ } }, "/api/followRecord/list": { - "get": { + "post": { "produces": [ "application/json" ], "tags": [ "FollowRecord" ], - "summary": "鑾峰彇璺熻繘璁板綍鍒楄〃", + "summary": "璺熻繘璁板綍鍒楄〃", + "parameters": [ + { + "description": "鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.GetFollowRecordList" + } + } + ], "responses": { "200": { "description": "OK", @@ -9768,6 +9779,22 @@ } } }, + "request.GetFollowRecordList": { + "type": "object", + "properties": { + "keyword": { + "type": "string" + }, + "page": { + "description": "椤电爜", + "type": "integer" + }, + "pageSize": { + "description": "姣忛〉澶у皬", + "type": "integer" + } + } + }, "request.GetSalesLeadsList": { "type": "object", "properties": { @@ -12227,6 +12254,9 @@ "response.FollowRecordResponse": { "type": "object", "properties": { + "count": { + "type": "integer" + }, "list": { "type": "array", "items": { diff --git a/docs/swagger.json b/docs/swagger.json index 43f1388..f25cf9d 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -2078,14 +2078,25 @@ } }, "/api/followRecord/list": { - "get": { + "post": { "produces": [ "application/json" ], "tags": [ "FollowRecord" ], - "summary": "鑾峰彇璺熻繘璁板綍鍒楄〃", + "summary": "璺熻繘璁板綍鍒楄〃", + "parameters": [ + { + "description": "鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.GetFollowRecordList" + } + } + ], "responses": { "200": { "description": "OK", @@ -9756,6 +9767,22 @@ } } }, + "request.GetFollowRecordList": { + "type": "object", + "properties": { + "keyword": { + "type": "string" + }, + "page": { + "description": "椤电爜", + "type": "integer" + }, + "pageSize": { + "description": "姣忛〉澶у皬", + "type": "integer" + } + } + }, "request.GetSalesLeadsList": { "type": "object", "properties": { @@ -12215,6 +12242,9 @@ "response.FollowRecordResponse": { "type": "object", "properties": { + "count": { + "type": "integer" + }, "list": { "type": "array", "items": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 260e944..46bc994 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1929,6 +1929,17 @@ description: 姣忛〉澶у皬 type: integer type: object + request.GetFollowRecordList: + properties: + keyword: + type: string + page: + description: 椤电爜 + type: integer + pageSize: + description: 姣忛〉澶у皬 + type: integer + type: object request.GetSalesLeadsList: properties: keyword: @@ -3582,6 +3593,8 @@ type: object response.FollowRecordResponse: properties: + count: + type: integer list: items: $ref: '#/definitions/model.FollowRecord' @@ -5125,7 +5138,14 @@ tags: - FollowRecord /api/followRecord/list: - get: + post: + parameters: + - description: 鍙傛暟 + in: body + name: object + required: true + schema: + $ref: '#/definitions/request.GetFollowRecordList' produces: - application/json responses: @@ -5138,7 +5158,7 @@ data: $ref: '#/definitions/response.FollowRecordResponse' type: object - summary: 鑾峰彇璺熻繘璁板綍鍒楄〃 + summary: 璺熻繘璁板綍鍒楄〃 tags: - FollowRecord /api/followRecord/update: diff --git a/model/followRecord.go b/model/followRecord.go index 29123cd..c8205b5 100644 --- a/model/followRecord.go +++ b/model/followRecord.go @@ -30,7 +30,12 @@ FollowRecordSearch struct { FollowRecord - Orm *gorm.DB + + Orm *gorm.DB + Keyword string + OrderBy string + PageNum int + PageSize int } ) @@ -46,6 +51,9 @@ func (slf *FollowRecordSearch) build() *gorm.DB { var db = slf.Orm.Model(&FollowRecord{}) + if slf.Keyword != "" { + db = db.Where("topic LIKE ?", "%"+slf.Keyword+"%") + } if slf.Id != 0 { db = db.Where("id = ?", slf.Id) } @@ -148,3 +156,18 @@ slf.ClientId = clientId return slf } + +func (slf *FollowRecordSearch) SetKeyword(keyword string) *FollowRecordSearch { + slf.Keyword = keyword + return slf +} + +func (slf *FollowRecordSearch) SetPage(page, size int) *FollowRecordSearch { + slf.PageNum, slf.PageSize = page, size + return slf +} + +func (slf *FollowRecordSearch) SetOrder(order string) *FollowRecordSearch { + slf.OrderBy = order + return slf +} diff --git a/model/request/followRecord.go b/model/request/followRecord.go index 2ddffad..fb0d790 100644 --- a/model/request/followRecord.go +++ b/model/request/followRecord.go @@ -25,3 +25,8 @@ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` FollowRecord FollowRecord `json:"follow_record" binding:"required"` } + +type GetFollowRecordList struct { + PageInfo + Keyword string `json:"keyword"` +} diff --git a/model/response/response.go b/model/response/response.go index bb66ace..3b371a2 100644 --- a/model/response/response.go +++ b/model/response/response.go @@ -98,7 +98,8 @@ } FollowRecordResponse struct { - List []*model.FollowRecord `json:"list"` + List []*model.FollowRecord `json:"list"` + Count int `json:"count"` } SaleChanceResponse struct { diff --git a/router/followRecord.go b/router/followRecord.go index a04d06f..0dbe91c 100644 --- a/router/followRecord.go +++ b/router/followRecord.go @@ -14,6 +14,6 @@ followRecordRouter.POST("add", followRecordApi.Add) // 娣诲姞璺熻繘璁板綍 followRecordRouter.DELETE("delete/:id", followRecordApi.Delete) // 鍒犻櫎璺熻繘璁板綍 followRecordRouter.PUT("update", followRecordApi.Update) // 鏇存柊璺熻繘璁板綍 - followRecordRouter.GET("list", followRecordApi.List) // 鑾峰彇璺熻繘璁板綍鍒楄〃 + followRecordRouter.POST("list", followRecordApi.List) // 鑾峰彇璺熻繘璁板綍鍒楄〃 } -} +} \ No newline at end of file diff --git a/service/followRecord.go b/service/followRecord.go index 701488d..fd29b08 100644 --- a/service/followRecord.go +++ b/service/followRecord.go @@ -30,16 +30,6 @@ return ecode.OK } -func (FollowRecordService) GetFollowRecordList() (int, []*model.FollowRecord) { - // get followRecord list - followRecords, err := model.NewFollowRecordSearch().Find() - if err != nil { - return ecode.FollowRecordListErr, nil - } - - return ecode.OK, followRecords -} - // check followRecord exist func checkFollowRecordExist(id int) int { _, err := model.NewFollowRecordSearch().SetId(id).First() @@ -64,3 +54,12 @@ } return ecode.OK } + +func (FollowRecordService) GetFollowRecordList(page, pageSize int, keyword string) ([]*model.FollowRecord, int) { + // get contact list + contacts, err := model.NewFollowRecordSearch().SetKeyword(keyword).SetPage(page, pageSize).Find() + if err != nil { + return nil, ecode.FollowRecordListErr + } + return contacts, ecode.OK +} -- Gitblit v1.8.0