From 10465790b3b82cbc10883c5ab16fb982406f8e0c Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期三, 26 七月 2023 20:12:56 +0800 Subject: [PATCH] fix --- model/salesReturn.go | 2 model/plan.go | 2 model/salesLeads.go | 2 model/contract.go | 6 + model/saleChance.go | 2 model/quotation.go | 2 docs/swagger.yaml | 24 +++++ docs/docs.go | 34 ++++++++ docs/swagger.json | 34 ++++++++ model/masterOrder.go | 6 + model/response/response.go | 5 model/orderManage.go | 2 model/serviceFollowup.go | 6 + router/serviceContract.go | 4 model/serviceContract.go | 10 ++ model/salesDetails.go | 6 + model/serviceFeeManage.go | 6 + api/v1/serviceContract.go | 51 ++++++------ model/request/serviceContract.go | 5 + model/salesRefund.go | 6 + model/subOrder.go | 2 service/serviceContract.go | 18 ++-- 22 files changed, 179 insertions(+), 56 deletions(-) diff --git a/api/v1/serviceContract.go b/api/v1/serviceContract.go index b04b77d..47a2e06 100644 --- a/api/v1/serviceContract.go +++ b/api/v1/serviceContract.go @@ -98,30 +98,6 @@ ctx.Ok() } -// List -// -// @Tags ServiceContract -// @Summary 鏈嶅姟鍚堝悓鍒楄〃 -// @Produce application/json -// @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse} -// @Router /api/serviceContract/list [get] -func (s *ServiceContractApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - serviceContracts, errCode := serviceContractService.GetServiceContractList() - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.ServiceContractsResponse{ - List: serviceContracts, - }) -} - // check params func checkServiceContractParams(serviceContract request.ServiceContract) (errCode int, result model.ServiceContract) { //if serviceContract.SignTime == "" { @@ -172,3 +148,30 @@ return ecode.OK, result } + +// List +// +// @Tags ServiceContract +// @Summary 鐢熸垚璁″垝鍒楄〃 +// @Produce application/json +// @Param object body request.GetServiceContractList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse} +// @Router /api/serviceContract/list [post] +func (con *ServiceContractApi) List(c *gin.Context) { + var params request.GetServiceContractList + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + serviceContracts, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.Keyword) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.OkWithDetailed(response.ServiceContractsResponse{ + List: serviceContracts, + Count: len(serviceContracts), + }) +} diff --git a/docs/docs.go b/docs/docs.go index 73dae90..2630dba 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -5685,14 +5685,25 @@ } }, "/api/serviceContract/list": { - "get": { + "post": { "produces": [ "application/json" ], "tags": [ "ServiceContract" ], - "summary": "鏈嶅姟鍚堝悓鍒楄〃", + "summary": "鐢熸垚璁″垝鍒楄〃", + "parameters": [ + { + "description": "鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.GetServiceContractList" + } + } + ], "responses": { "200": { "description": "OK", @@ -10137,6 +10148,22 @@ } } }, + "request.GetServiceContractList": { + "type": "object", + "properties": { + "keyword": { + "type": "string" + }, + "page": { + "description": "椤电爜", + "type": "integer" + }, + "pageSize": { + "description": "姣忛〉澶у皬", + "type": "integer" + } + } + }, "request.GetServiceFeeManageList": { "type": "object", "properties": { @@ -13020,6 +13047,9 @@ "response.ServiceContractsResponse": { "type": "object", "properties": { + "count": { + "type": "integer" + }, "list": { "type": "array", "items": { diff --git a/docs/swagger.json b/docs/swagger.json index 8e80ce1..51dfff1 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -5673,14 +5673,25 @@ } }, "/api/serviceContract/list": { - "get": { + "post": { "produces": [ "application/json" ], "tags": [ "ServiceContract" ], - "summary": "鏈嶅姟鍚堝悓鍒楄〃", + "summary": "鐢熸垚璁″垝鍒楄〃", + "parameters": [ + { + "description": "鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.GetServiceContractList" + } + } + ], "responses": { "200": { "description": "OK", @@ -10125,6 +10136,22 @@ } } }, + "request.GetServiceContractList": { + "type": "object", + "properties": { + "keyword": { + "type": "string" + }, + "page": { + "description": "椤电爜", + "type": "integer" + }, + "pageSize": { + "description": "姣忛〉澶у皬", + "type": "integer" + } + } + }, "request.GetServiceFeeManageList": { "type": "object", "properties": { @@ -13008,6 +13035,9 @@ "response.ServiceContractsResponse": { "type": "object", "properties": { + "count": { + "type": "integer" + }, "list": { "type": "array", "items": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 5561384..ddcb2a1 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -2075,6 +2075,17 @@ description: 姣忛〉澶у皬 type: integer type: object + request.GetServiceContractList: + properties: + keyword: + type: string + page: + description: 椤电爜 + type: integer + pageSize: + description: 姣忛〉澶у皬 + type: integer + type: object request.GetServiceFeeManageList: properties: keyword: @@ -4001,6 +4012,8 @@ type: object response.ServiceContractsResponse: properties: + count: + type: integer list: items: $ref: '#/definitions/model.ServiceContract' @@ -7534,7 +7547,14 @@ tags: - ServiceContract /api/serviceContract/list: - get: + post: + parameters: + - description: 鍙傛暟 + in: body + name: object + required: true + schema: + $ref: '#/definitions/request.GetServiceContractList' produces: - application/json responses: @@ -7547,7 +7567,7 @@ data: $ref: '#/definitions/response.ServiceContractsResponse' type: object - summary: 鏈嶅姟鍚堝悓鍒楄〃 + summary: 鐢熸垚璁″垝鍒楄〃 tags: - ServiceContract /api/serviceContract/update: diff --git a/model/contract.go b/model/contract.go index 4ba79f6..70886c9 100644 --- a/model/contract.go +++ b/model/contract.go @@ -77,6 +77,10 @@ func (slf *ContractSearch) FindAll() ([]*Contract, error) { var db = slf.build() var records = make([]*Contract, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("Quotation").Find(&records).Error return records, err } @@ -99,4 +103,4 @@ func (slf *ContractSearch) SetOrder(order string) *ContractSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/masterOrder.go b/model/masterOrder.go index 2167555..c82e6ce 100644 --- a/model/masterOrder.go +++ b/model/masterOrder.go @@ -80,6 +80,10 @@ func (slf *MasterOrderSearch) FindAll() ([]*MasterOrder, error) { var db = slf.build() var records = make([]*MasterOrder, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("Client").Find(&records).Error return records, err } @@ -102,4 +106,4 @@ func (slf *MasterOrderSearch) SetOrder(order string) *MasterOrderSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/orderManage.go b/model/orderManage.go index 9d8cfaa..34b9477 100644 --- a/model/orderManage.go +++ b/model/orderManage.go @@ -102,4 +102,4 @@ func (slf *OrderManageSearch) SetOrder(order string) *OrderManageSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/plan.go b/model/plan.go index acfe041..e3aee66 100644 --- a/model/plan.go +++ b/model/plan.go @@ -104,4 +104,4 @@ func (slf *PlanSearch) SetOrder(order string) *PlanSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/quotation.go b/model/quotation.go index d14bc36..69d1a17 100644 --- a/model/quotation.go +++ b/model/quotation.go @@ -112,4 +112,4 @@ func (slf *QuotationSearch) SetOrder(order string) *QuotationSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/request/serviceContract.go b/model/request/serviceContract.go index 2334df5..40b6049 100644 --- a/model/request/serviceContract.go +++ b/model/request/serviceContract.go @@ -31,3 +31,8 @@ Id int `json:"id"` ServiceContract } + +type GetServiceContractList struct { + PageInfo + Keyword string `json:"keyword"` +} diff --git a/model/response/response.go b/model/response/response.go index 9a77e30..46774ab 100644 --- a/model/response/response.go +++ b/model/response/response.go @@ -168,7 +168,8 @@ } ServiceContractsResponse struct { - List []*model.ServiceContract `json:"list"` + List []*model.ServiceContract `json:"list"` + Count int `json:"count"` } OrderManageResponse struct { @@ -343,4 +344,4 @@ CurrencyResponse struct { List []*model.Currency `json:"list"` } -) \ No newline at end of file +) diff --git a/model/saleChance.go b/model/saleChance.go index 060a15c..38222ba 100644 --- a/model/saleChance.go +++ b/model/saleChance.go @@ -132,4 +132,4 @@ func (slf *SaleChanceSearch) SetOrder(order string) *SaleChanceSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/salesDetails.go b/model/salesDetails.go index da9422d..f0af3f9 100644 --- a/model/salesDetails.go +++ b/model/salesDetails.go @@ -94,6 +94,10 @@ func (slf *SalesDetailsSearch) FindAll() ([]*SalesDetails, error) { var db = slf.build() var records = make([]*SalesDetails, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("Products").Preload("Client").Find(&records).Error return records, err } @@ -111,4 +115,4 @@ func (slf *SalesDetailsSearch) SetOrder(order string) *SalesDetailsSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/salesLeads.go b/model/salesLeads.go index 2cbf6f5..75647b6 100644 --- a/model/salesLeads.go +++ b/model/salesLeads.go @@ -148,4 +148,4 @@ func (slf *SalesLeadsSearch) SetOrder(order string) *SalesLeadsSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/salesRefund.go b/model/salesRefund.go index 83d2b5a..0bf5095 100644 --- a/model/salesRefund.go +++ b/model/salesRefund.go @@ -80,6 +80,10 @@ func (slf *SalesRefundSearch) FindAll() ([]*SalesRefund, error) { var db = slf.build() var records = make([]*SalesRefund, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("Products").Find(&records).Error return records, err } @@ -102,4 +106,4 @@ func (slf *SalesRefundSearch) SetOrder(order string) *SalesRefundSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/salesReturn.go b/model/salesReturn.go index d99df06..bb07ce5 100644 --- a/model/salesReturn.go +++ b/model/salesReturn.go @@ -100,4 +100,4 @@ func (slf *SalesReturnSearch) SetOrder(order string) *SalesReturnSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/serverContract.go b/model/serviceContract.go similarity index 93% rename from model/serverContract.go rename to model/serviceContract.go index 109fe4a..ad1dc9f 100644 --- a/model/serverContract.go +++ b/model/serviceContract.go @@ -51,6 +51,12 @@ func (slf *ServiceContractSearch) build() *gorm.DB { var db = slf.Orm.Model(&ServiceContract{}) + if slf.Keyword != "" { + db = db.Where("name LIKE ?", "%"+slf.Keyword+"%") + } + if slf.Keyword != "" { + db = db.Where("name LIKE ?", "%"+slf.Keyword+"%") + } if slf.Id != 0 { db = db.Where("id = ?", slf.Id) } @@ -83,6 +89,10 @@ func (slf *ServiceContractSearch) FindAll() ([]*ServiceContract, error) { var db = slf.build() var records = make([]*ServiceContract, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("Products").Find(&records).Error return records, err } diff --git a/model/serviceFeeManage.go b/model/serviceFeeManage.go index e7709da..03d342c 100644 --- a/model/serviceFeeManage.go +++ b/model/serviceFeeManage.go @@ -89,6 +89,10 @@ func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, error) { var db = slf.build() var records = make([]*ServiceFeeManage, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("Client").Find(&records).Error return records, err } @@ -106,4 +110,4 @@ func (slf *ServiceFeeManageSearch) SetOrder(order string) *ServiceFeeManageSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/serviceFollowup.go b/model/serviceFollowup.go index fab5cf9..9466178 100644 --- a/model/serviceFollowup.go +++ b/model/serviceFollowup.go @@ -85,6 +85,10 @@ func (slf *ServiceFollowupSearch) FindAll() ([]*ServiceFollowup, error) { var db = slf.build() var records = make([]*ServiceFollowup, 0) + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + err := db.Preload("CustomerServiceSheet").Find(&records).Error return records, err } @@ -109,4 +113,4 @@ func (slf *ServiceFollowupSearch) SetOrder(order string) *ServiceFollowupSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/model/subOrder.go b/model/subOrder.go index f383d9d..2163d75 100644 --- a/model/subOrder.go +++ b/model/subOrder.go @@ -96,4 +96,4 @@ func (slf *SubOrderSearch) SetOrder(order string) *SubOrderSearch { slf.OrderBy = order return slf -} +} \ No newline at end of file diff --git a/router/serviceContract.go b/router/serviceContract.go index 51f4030..0c2d756 100644 --- a/router/serviceContract.go +++ b/router/serviceContract.go @@ -14,6 +14,6 @@ serviceContractRouter.POST("add", serviceContractApi.Add) // 娣诲姞鏈嶅姟鍚堝悓 serviceContractRouter.DELETE("delete/:id", serviceContractApi.Delete) // 鍒犻櫎鏈嶅姟鍚堝悓 serviceContractRouter.PUT("update", serviceContractApi.Update) // 鏇存柊鏈嶅姟鍚堝悓 - serviceContractRouter.GET("list", serviceContractApi.List) // 鑾峰彇鏈嶅姟鍚堝悓鍒楄〃 + serviceContractRouter.POST("list", serviceContractApi.List) // 鑾峰彇鏈嶅姟鍚堝悓鍒楄〃 } -} +} \ No newline at end of file diff --git a/service/serviceContracts.go b/service/serviceContract.go similarity index 83% rename from service/serviceContracts.go rename to service/serviceContract.go index 81a4456..ed0fd26 100644 --- a/service/serviceContracts.go +++ b/service/serviceContract.go @@ -29,15 +29,6 @@ return ecode.OK } -func (SContractService) GetServiceContractList() ([]*model.ServiceContract, int) { - list, err := model.NewServiceContractSearch().FindAll() - if err != nil { - return nil, ecode.SContractListErr - } - - return list, ecode.OK -} - func (SContractService) UpdateServiceContract(serviceContract *model.ServiceContract) int { // check serviceContract exist _, err := model.NewServiceContractSearch().SetId(serviceContract.Id).Find() @@ -61,3 +52,12 @@ return list, ecode.OK } + +func (SContractService) GetServiceContractList(page, pageSize int, keyword string) ([]*model.ServiceContract, int) { + // get contact list + contacts, err := model.NewServiceContractSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll() + if err != nil { + return nil, ecode.SContractListErr + } + return contacts, ecode.OK +} -- Gitblit v1.8.0