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