From c59053ef98942526930480345636ad3bb7b55596 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期四, 27 七月 2023 14:28:40 +0800
Subject: [PATCH] fix

---
 api/v1/plan.go              |    6 
 service/salesDetails.go     |    8 
 model/plan.go               |   14 +
 api/v1/serviceFeeManage.go  |    6 
 model/contract.go           |   12 +
 api/v1/contact.go           |    6 
 api/v1/contract.go          |    6 
 model/contact.go            |   10 +
 api/v1/quotation.go         |    6 
 api/v1/salesReturn.go       |    6 
 model/masterOrder.go        |   12 +
 service/serviceFeeManage.go |    8 
 model/serviceFollowup.go    |   12 +
 service/orderManage.go      |    8 
 api/v1/salesRefund.go       |    6 
 model/serviceFeeManage.go   |   12 +
 api/v1/salesLeads.go        |    6 
 service/contract.go         |    8 
 service/plan.go             |    8 
 api/v1/salesDetails.go      |    6 
 model/subOrder.go           |   16 +
 service/salesReturn.go      |    8 
 service/contact.go          |    9 
 model/salesReturn.go        |   14 +
 model/salesLeads.go         |   16 +
 service/saleChance.go       |    8 
 api/v1/subOrder.go          |    6 
 service/salesLeads.go       |    8 
 api/v1/masterOrder.go       |    6 
 model/saleChance.go         |   16 +
 service/masterOrder.go      |    8 
 model/quotation.go          |   14 +
 service/serviceFollowup.go  |    8 
 model/orderManage.go        |   14 +
 model/serviceContract.go    |   12 +
 api/v1/saleChance.go        |    6 
 model/salesDetails.go       |   12 +
 service/quotation.go        |    8 
 api/v1/serviceContract.go   |    6 
 model/salesRefund.go        |   12 +
 service/salesRefund.go      |    8 
 service/subOrder.go         |    8 
 api/v1/orderManage.go       |    6 
 service/serviceContract.go  |   24 +-
 api/v1/serviceFollowup.go   |    6 
 45 files changed, 271 insertions(+), 154 deletions(-)

diff --git a/api/v1/contact.go b/api/v1/contact.go
index 136b7ab..2fd3dd4 100644
--- a/api/v1/contact.go
+++ b/api/v1/contact.go
@@ -160,7 +160,7 @@
 		return
 	}
 
-	contacts, errCode := contactService.GetContactList(params.Page, params.PageSize, params.Keyword)
+	contacts, total, errCode := contactService.GetContactList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -168,6 +168,6 @@
 
 	ctx.OkWithDetailed(response.ContactResponse{
 		List:  contacts,
-		Count: len(contacts),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/contract.go b/api/v1/contract.go
index e93ece3..ebd4cf2 100644
--- a/api/v1/contract.go
+++ b/api/v1/contract.go
@@ -135,7 +135,7 @@
 		return
 	}
 
-	contracts, errCode := contractService.GetContractList(params.Page, params.PageSize, params.Keyword)
+	contracts, total, errCode := contractService.GetContractList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -143,6 +143,6 @@
 
 	ctx.OkWithDetailed(response.ContractResponse{
 		List: contracts,
-		Count: len(contracts),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/masterOrder.go b/api/v1/masterOrder.go
index 6415320..1e77b66 100644
--- a/api/v1/masterOrder.go
+++ b/api/v1/masterOrder.go
@@ -145,7 +145,7 @@
 		return
 	}
 
-	masterOrders, errCode := masterOrderService.GetMasterOrderList(params.Page, params.PageSize, params.Keyword)
+	masterOrders, total, errCode := masterOrderService.GetMasterOrderList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -153,6 +153,6 @@
 
 	ctx.OkWithDetailed(response.MasterOrderResponse{
 		List: masterOrders,
-		Count: len(masterOrders),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/orderManage.go b/api/v1/orderManage.go
index a5fa91d..0a5d9c4 100644
--- a/api/v1/orderManage.go
+++ b/api/v1/orderManage.go
@@ -146,7 +146,7 @@
 		return
 	}
 
-	orderManages, errCode := orderManageService.GetOrderManageList(params.Page, params.PageSize, params.Keyword)
+	orderManages, total, errCode := orderManageService.GetOrderManageList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -154,6 +154,6 @@
 
 	ctx.OkWithDetailed(response.OrderManageResponse{
 		List: orderManages,
-		Count: len(orderManages),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/plan.go b/api/v1/plan.go
index 8c49160..f09f7d9 100644
--- a/api/v1/plan.go
+++ b/api/v1/plan.go
@@ -148,7 +148,7 @@
 		return
 	}
 
-	plans, errCode := planService.GetPlanList(params.Page, params.PageSize, params.Keyword)
+	plans, total, errCode := planService.GetPlanList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -156,6 +156,6 @@
 
 	ctx.OkWithDetailed(response.PlanResponse{
 		List: plans,
-		Count: len(plans),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/quotation.go b/api/v1/quotation.go
index 187554c..3a8dd0e 100644
--- a/api/v1/quotation.go
+++ b/api/v1/quotation.go
@@ -159,7 +159,7 @@
 		return
 	}
 
-	quotations, errCode := quotationService.GetQuotationList(params.Page, params.PageSize, params.Keyword)
+	quotations, total, errCode := quotationService.GetQuotationList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -167,6 +167,6 @@
 
 	ctx.OkWithDetailed(response.QuotationResponse{
 		List: quotations,
-		Count: len(quotations),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/saleChance.go b/api/v1/saleChance.go
index 33df8a5..b938563 100644
--- a/api/v1/saleChance.go
+++ b/api/v1/saleChance.go
@@ -200,7 +200,7 @@
 		return
 	}
 
-	saleChances, errCode := saleChanceService.GetSaleChanceList(params.Page, params.PageSize, params.Keyword)
+	saleChances, total, errCode := saleChanceService.GetSaleChanceList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -208,6 +208,6 @@
 
 	ctx.OkWithDetailed(response.SaleChanceResponse{
 		List: saleChances,
-		Count: len(saleChances),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go
index 1561de1..113673f 100644
--- a/api/v1/salesDetails.go
+++ b/api/v1/salesDetails.go
@@ -161,7 +161,7 @@
 		return
 	}
 
-	salesDetailss, errCode := salesDetailsService.GetSalesDetailsList(params.Page, params.PageSize, params.Keyword)
+	salesDetailss, total, errCode := salesDetailsService.GetSalesDetailsList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -169,6 +169,6 @@
 
 	ctx.OkWithDetailed(response.SalesDetailsResponse{
 		List: salesDetailss,
-		Count: len(salesDetailss),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/salesLeads.go b/api/v1/salesLeads.go
index 7e11661..0a48ac5 100644
--- a/api/v1/salesLeads.go
+++ b/api/v1/salesLeads.go
@@ -152,7 +152,7 @@
 		return
 	}
 
-	salesLeadss, errCode := salesLeadsService.GetSalesLeadsList(params.Page, params.PageSize, params.Keyword)
+	salesLeadss, total, errCode := salesLeadsService.GetSalesLeadsList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -160,6 +160,6 @@
 
 	ctx.OkWithDetailed(response.SalesLeadsResponse{
 		List: salesLeadss,
-		Count: len(salesLeadss),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/salesRefund.go b/api/v1/salesRefund.go
index d201714..8da5dd5 100644
--- a/api/v1/salesRefund.go
+++ b/api/v1/salesRefund.go
@@ -148,7 +148,7 @@
 		return
 	}
 
-	salesRefunds, errCode := salesRefundService.GetSalesRefundList(params.Page, params.PageSize, params.Keyword)
+	salesRefunds, total, errCode := salesRefundService.GetSalesRefundList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -156,6 +156,6 @@
 
 	ctx.OkWithDetailed(response.SalesRefundResponse{
 		List: salesRefunds,
-		Count: len(salesRefunds),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/salesReturn.go b/api/v1/salesReturn.go
index 5ada12a..20b1949 100644
--- a/api/v1/salesReturn.go
+++ b/api/v1/salesReturn.go
@@ -145,7 +145,7 @@
 		return
 	}
 
-	salesReturns, errCode := salesReturnService.GetSalesReturnList(params.Page, params.PageSize, params.Keyword)
+	salesReturns, total, errCode := salesReturnService.GetSalesReturnList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -153,6 +153,6 @@
 
 	ctx.OkWithDetailed(response.SalesReturnResponse{
 		List: salesReturns,
-		Count: len(salesReturns),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/serviceContract.go b/api/v1/serviceContract.go
index b9eabf3..8cb3e92 100644
--- a/api/v1/serviceContract.go
+++ b/api/v1/serviceContract.go
@@ -164,7 +164,7 @@
 		return
 	}
 
-	serviceContracts, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.Keyword)
+	serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -172,6 +172,6 @@
 
 	ctx.OkWithDetailed(response.ServiceContractsResponse{
 		List:  serviceContracts,
-		Count: len(serviceContracts),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/serviceFeeManage.go b/api/v1/serviceFeeManage.go
index 6d95793..c7b71d5 100644
--- a/api/v1/serviceFeeManage.go
+++ b/api/v1/serviceFeeManage.go
@@ -154,7 +154,7 @@
 		return
 	}
 
-	serviceFeeManages, errCode := serviceFeeManageService.GetServiceFeeManageList(params.Page, params.PageSize, params.Keyword)
+	serviceFeeManages, total, errCode := serviceFeeManageService.GetServiceFeeManageList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -162,6 +162,6 @@
 
 	ctx.OkWithDetailed(response.ServiceFeeManageResponse{
 		List: serviceFeeManages,
-		Count: len(serviceFeeManages),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/serviceFollowup.go b/api/v1/serviceFollowup.go
index 76d9629..dd6009b 100644
--- a/api/v1/serviceFollowup.go
+++ b/api/v1/serviceFollowup.go
@@ -143,7 +143,7 @@
 		return
 	}
 
-	serviceFollowups, errCode := serviceFollowupService.GetServiceFollowupList(params.Page, params.PageSize, params.Keyword)
+	serviceFollowups, total, errCode := serviceFollowupService.GetServiceFollowupList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -151,6 +151,6 @@
 
 	ctx.OkWithDetailed(response.ServiceFollowupResponse{
 		List: serviceFollowups,
-		Count: len(serviceFollowups),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/api/v1/subOrder.go b/api/v1/subOrder.go
index fd049ca..d749e21 100644
--- a/api/v1/subOrder.go
+++ b/api/v1/subOrder.go
@@ -134,7 +134,7 @@
 		return
 	}
 
-	subOrders, errCode := subOrderService.GetSubOrderList(params.Page, params.PageSize, params.Keyword)
+	subOrders, total, errCode := subOrderService.GetSubOrderList(params.Page, params.PageSize, params.Keyword)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
@@ -142,6 +142,6 @@
 
 	ctx.OkWithDetailed(response.SubOrderResponse{
 		List: subOrders,
-		Count: len(subOrders),
+		Count: int(total),
 	})
-}
+}
\ No newline at end of file
diff --git a/model/contact.go b/model/contact.go
index 96a355b..fb98163 100644
--- a/model/contact.go
+++ b/model/contact.go
@@ -112,14 +112,20 @@
 	return record, err
 }
 
-func (slf *ContactSearch) FindAll() ([]*ContactDetail, error) {
+func (slf *ContactSearch) FindAll() ([]*ContactDetail, int64, error) {
 	var db = slf.build()
 	var records = make([]*ContactDetail, 0)
 	if slf.PageNum > 0 && slf.PageSize > 0 {
 		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
 	}
+
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Preload("FollowRecord").Preload("Client").Preload("Country").Preload("Province").Preload("City").Preload("Region").Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *ContactSearch) SetId(id int) *ContactSearch {
diff --git a/model/contract.go b/model/contract.go
index 70886c9..d0c0e78 100644
--- a/model/contract.go
+++ b/model/contract.go
@@ -74,15 +74,23 @@
 	return record, err
 }
 
-func (slf *ContractSearch) FindAll() ([]*Contract, error) {
+func (slf *ContractSearch) FindAll() ([]*Contract, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *ContractSearch) SetId(id int) *ContractSearch {
diff --git a/model/masterOrder.go b/model/masterOrder.go
index c82e6ce..b50833f 100644
--- a/model/masterOrder.go
+++ b/model/masterOrder.go
@@ -77,15 +77,23 @@
 	return record, err
 }
 
-func (slf *MasterOrderSearch) FindAll() ([]*MasterOrder, error) {
+func (slf *MasterOrderSearch) FindAll() ([]*MasterOrder, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *MasterOrderSearch) SetId(id int) *MasterOrderSearch {
diff --git a/model/orderManage.go b/model/orderManage.go
index 24e051c..e625f4a 100644
--- a/model/orderManage.go
+++ b/model/orderManage.go
@@ -76,11 +76,19 @@
 	return record, err
 }
 
-func (slf *OrderManageSearch) FindAll() ([]*OrderManage, error) {
+func (slf *OrderManageSearch) FindAll() ([]*OrderManage, int64, error) {
 	var db = slf.build()
 	var records = make([]*OrderManage, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Preload("Client").Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *OrderManageSearch) SetId(id int) *OrderManageSearch {
@@ -101,4 +109,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 a25a368..5a71fef 100644
--- a/model/plan.go
+++ b/model/plan.go
@@ -78,11 +78,19 @@
 	return record, err
 }
 
-func (slf *PlanSearch) FindAll() ([]*Plan, error) {
+func (slf *PlanSearch) FindAll() ([]*Plan, int64, error) {
 	var db = slf.build()
 	var records = make([]*Plan, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *PlanSearch) SetId(id int) *PlanSearch {
@@ -103,4 +111,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 69d1a17..05a1374 100644
--- a/model/quotation.go
+++ b/model/quotation.go
@@ -82,11 +82,19 @@
 	return &record, err
 }
 
-func (slf *QuotationSearch) FindAll() ([]*Quotation, error) {
+func (slf *QuotationSearch) FindAll() ([]*Quotation, int64, error) {
 	var db = slf.build()
-	var records []*Quotation
+	var records = make([]*Quotation, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *QuotationSearch) SetId(id int) *QuotationSearch {
diff --git a/model/saleChance.go b/model/saleChance.go
index 36647a3..5060be3 100644
--- a/model/saleChance.go
+++ b/model/saleChance.go
@@ -103,11 +103,19 @@
 	return
 }
 
-func (slf *SaleChanceSearch) FindAll() ([]*SaleChance, error) {
+func (slf *SaleChanceSearch) FindAll() ([]*SaleChance, int64, error) {
 	var db = slf.build()
-	var records []*SaleChance
+	var records = make([]*SaleChance, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Preload("Client").Preload("Contact").Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *SaleChanceSearch) SetId(id int) *SaleChanceSearch {
@@ -133,4 +141,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 f0af3f9..122c993 100644
--- a/model/salesDetails.go
+++ b/model/salesDetails.go
@@ -91,15 +91,23 @@
 	return record, err
 }
 
-func (slf *SalesDetailsSearch) FindAll() ([]*SalesDetails, error) {
+func (slf *SalesDetailsSearch) FindAll() ([]*SalesDetails, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *SalesDetailsSearch) SetKeyword(keyword string) *SalesDetailsSearch {
diff --git a/model/salesLeads.go b/model/salesLeads.go
index 6d2630c..736c35a 100644
--- a/model/salesLeads.go
+++ b/model/salesLeads.go
@@ -113,11 +113,19 @@
 	return
 }
 
-func (slf *SalesLeadsSearch) FindAll() ([]*SalesLeads, error) {
+func (slf *SalesLeadsSearch) FindAll() ([]*SalesLeads, int64, error) {
 	var db = slf.build()
-	var records []*SalesLeads
+	var records = make([]*SalesLeads, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Preload("FollowRecord").Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *SalesLeadsSearch) SetId(id int) *SalesLeadsSearch {
@@ -149,4 +157,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 0bf5095..d0f1579 100644
--- a/model/salesRefund.go
+++ b/model/salesRefund.go
@@ -77,15 +77,23 @@
 	return record, err
 }
 
-func (slf *SalesRefundSearch) FindAll() ([]*SalesRefund, error) {
+func (slf *SalesRefundSearch) FindAll() ([]*SalesRefund, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *SalesRefundSearch) SetId(id int) *SalesRefundSearch {
diff --git a/model/salesReturn.go b/model/salesReturn.go
index 96cc96c..6c212d8 100644
--- a/model/salesReturn.go
+++ b/model/salesReturn.go
@@ -74,11 +74,19 @@
 	return record, err
 }
 
-func (slf *SalesReturnSearch) FindAll() ([]*SalesReturn, error) {
+func (slf *SalesReturnSearch) FindAll() ([]*SalesReturn, int64, error) {
 	var db = slf.build()
 	var records = make([]*SalesReturn, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Preload("Products").Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *SalesReturnSearch) SetId(id int) *SalesReturnSearch {
@@ -99,4 +107,4 @@
 func (slf *SalesReturnSearch) SetOrder(order string) *SalesReturnSearch {
 	slf.OrderBy = order
 	return slf
-}
+}
\ No newline at end of file
diff --git a/model/serviceContract.go b/model/serviceContract.go
index ad1dc9f..d807f81 100644
--- a/model/serviceContract.go
+++ b/model/serviceContract.go
@@ -86,15 +86,23 @@
 	return record, err
 }
 
-func (slf *ServiceContractSearch) FindAll() ([]*ServiceContract, error) {
+func (slf *ServiceContractSearch) FindAll() ([]*ServiceContract, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *ServiceContractSearch) SetId(id int) *ServiceContractSearch {
diff --git a/model/serviceFeeManage.go b/model/serviceFeeManage.go
index 03d342c..6d3d36b 100644
--- a/model/serviceFeeManage.go
+++ b/model/serviceFeeManage.go
@@ -86,15 +86,23 @@
 	return record, err
 }
 
-func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, error) {
+func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *ServiceFeeManageSearch) SetKeyword(keyword string) *ServiceFeeManageSearch {
diff --git a/model/serviceFollowup.go b/model/serviceFollowup.go
index 9466178..1c95427 100644
--- a/model/serviceFollowup.go
+++ b/model/serviceFollowup.go
@@ -82,15 +82,23 @@
 	return record, err
 }
 
-func (slf *ServiceFollowupSearch) FindAll() ([]*ServiceFollowup, error) {
+func (slf *ServiceFollowupSearch) FindAll() ([]*ServiceFollowup, int64, 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)
 	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
+	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
+	return records, total, err
 }
 
 func (slf *ServiceFollowupSearch) SetId(id int) *ServiceFollowupSearch {
diff --git a/model/subOrder.go b/model/subOrder.go
index 46bcc9f..3914981 100644
--- a/model/subOrder.go
+++ b/model/subOrder.go
@@ -71,11 +71,19 @@
 	return
 }
 
-func (slf *SubOrderSearch) FindAll() ([]*SubOrder, error) {
+func (slf *SubOrderSearch) FindAll() ([]*SubOrder, int64, error) {
 	var db = slf.build()
-	var records []*SubOrder
+	var records = make([]*SubOrder, 0)
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+
 	err := db.Preload("Products").Preload("Client").Find(&records).Error
-	return records, err
+	return records, total, err
 }
 
 func (slf *SubOrderSearch) SetId(id int) *SubOrderSearch {
@@ -96,4 +104,4 @@
 func (slf *SubOrderSearch) SetOrder(order string) *SubOrderSearch {
 	slf.OrderBy = order
 	return slf
-}
+}
\ No newline at end of file
diff --git a/service/contact.go b/service/contact.go
index 8333495..8a3e761 100644
--- a/service/contact.go
+++ b/service/contact.go
@@ -48,7 +48,6 @@
 	return ecode.OK
 }
 
-
 func (ContactService) UpdateContact(contact *model.Contact) int {
 	// check contact exist
 	_, err := model.NewContactSearch(nil).SetId(contact.Id).First()
@@ -118,11 +117,11 @@
 	return ecode.OK
 }
 
-func (ContactService) GetContactList(page, pageSize int, keyword string) ([]*model.ContactDetail, int) {
+func (ContactService) GetContactList(page, pageSize int, keyword string) ([]*model.ContactDetail, int64, int) {
 	// get contact list
-	contacts, err := model.NewContactSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewContactSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.ContactListErr
+		return nil, 0, ecode.ContactListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/contract.go b/service/contract.go
index a1e56e5..42e4c81 100644
--- a/service/contract.go
+++ b/service/contract.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (ContractService) GetContractList(page, pageSize int, keyword string) ([]*model.Contract, int) {
+func (ContractService) GetContractList(page, pageSize int, keyword string) ([]*model.Contract, int64, int) {
 	// get contact list
-	contacts, err := model.NewContractSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewContractSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.ContractListErr
+		return nil, 0, ecode.ContractListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/masterOrder.go b/service/masterOrder.go
index 16d3fb5..6ce2a5f 100644
--- a/service/masterOrder.go
+++ b/service/masterOrder.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (MasterOrderService) GetMasterOrderList(page, pageSize int, keyword string) ([]*model.MasterOrder, int) {
+func (MasterOrderService) GetMasterOrderList(page, pageSize int, keyword string) ([]*model.MasterOrder, int64, int) {
 	// get contact list
-	contacts, err := model.NewMasterOrderSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewMasterOrderSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.MasterOrderListErr
+		return nil, 0, ecode.MasterOrderListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/orderManage.go b/service/orderManage.go
index 0e2dbff..c66b8b1 100644
--- a/service/orderManage.go
+++ b/service/orderManage.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (OrderManageService) GetOrderManageList(page, pageSize int, keyword string) ([]*model.OrderManage, int) {
+func (OrderManageService) GetOrderManageList(page, pageSize int, keyword string) ([]*model.OrderManage, int64, int) {
 	// get contact list
-	contacts, err := model.NewOrderManageSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewOrderManageSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.OrderManageListErr
+		return nil, 0, ecode.OrderManageListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/plan.go b/service/plan.go
index 1d34051..b1fc531 100644
--- a/service/plan.go
+++ b/service/plan.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (PlanService) GetPlanList(page, pageSize int, keyword string) ([]*model.Plan, int) {
+func (PlanService) GetPlanList(page, pageSize int, keyword string) ([]*model.Plan, int64, int) {
 	// get contact list
-	contacts, err := model.NewPlanSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewPlanSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.PlanListErr
+		return nil, 0, ecode.PlanListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/quotation.go b/service/quotation.go
index 13b03b1..3ada6cd 100644
--- a/service/quotation.go
+++ b/service/quotation.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (QuotationService) GetQuotationList(page, pageSize int, keyword string) ([]*model.Quotation, int) {
+func (QuotationService) GetQuotationList(page, pageSize int, keyword string) ([]*model.Quotation, int64, int) {
 	// get contact list
-	contacts, err := model.NewQuotationSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewQuotationSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.QuotationListErr
+		return nil, 0, ecode.QuotationListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/saleChance.go b/service/saleChance.go
index 03b01c3..4c42d23 100644
--- a/service/saleChance.go
+++ b/service/saleChance.go
@@ -54,11 +54,11 @@
 	return ecode.OK
 }
 
-func (SaleChanceService) GetSaleChanceList(page, pageSize int, keyword string) ([]*model.SaleChance, int) {
+func (SaleChanceService) GetSaleChanceList(page, pageSize int, keyword string) ([]*model.SaleChance, int64, int) {
 	// get contact list
-	contacts, err := model.NewSaleChanceSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewSaleChanceSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SaleChanceListErr
+		return nil, 0, ecode.SaleChanceListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/salesDetails.go b/service/salesDetails.go
index ba80cb1..8c0b0a2 100644
--- a/service/salesDetails.go
+++ b/service/salesDetails.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (SalesDetailsService) GetSalesDetailsList(page, pageSize int, keyword string) ([]*model.SalesDetails, int) {
+func (SalesDetailsService) GetSalesDetailsList(page, pageSize int, keyword string) ([]*model.SalesDetails, int64, int) {
 	// get contact list
-	contacts, err := model.NewSalesDetailsSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewSalesDetailsSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SalesDetailsListErr
+		return nil, 0, ecode.SalesDetailsListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/salesLeads.go b/service/salesLeads.go
index 23a8ee5..1345a07 100644
--- a/service/salesLeads.go
+++ b/service/salesLeads.go
@@ -54,11 +54,11 @@
 	return ecode.OK
 }
 
-func (SalesLeadsService) GetSalesLeadsList(page, pageSize int, keyword string) ([]*model.SalesLeads, int) {
+func (SalesLeadsService) GetSalesLeadsList(page, pageSize int, keyword string) ([]*model.SalesLeads, int64, int) {
 	// get contact list
-	contacts, err := model.NewSalesLeadsSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewSalesLeadsSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SalesLeadsListErr
+		return nil, 0, ecode.SalesLeadsListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/salesRefund.go b/service/salesRefund.go
index 78bd789..de91872 100644
--- a/service/salesRefund.go
+++ b/service/salesRefund.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (SalesRefundService) GetSalesRefundList(page, pageSize int, keyword string) ([]*model.SalesRefund, int) {
+func (SalesRefundService) GetSalesRefundList(page, pageSize int, keyword string) ([]*model.SalesRefund, int64, int) {
 	// get contact list
-	contacts, err := model.NewSalesRefundSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewSalesRefundSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SalesRefundListErr
+		return nil, 0, ecode.SalesRefundListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/salesReturn.go b/service/salesReturn.go
index 6d4a7e3..655e2f8 100644
--- a/service/salesReturn.go
+++ b/service/salesReturn.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (SalesReturnService) GetSalesReturnList(page, pageSize int, keyword string) ([]*model.SalesReturn, int) {
+func (SalesReturnService) GetSalesReturnList(page, pageSize int, keyword string) ([]*model.SalesReturn, int64, int) {
 	// get contact list
-	contacts, err := model.NewSalesReturnSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewSalesReturnSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SalesReturnListErr
+		return nil, 0, ecode.SalesReturnListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/serviceContract.go b/service/serviceContract.go
index ed0fd26..a24b5ad 100644
--- a/service/serviceContract.go
+++ b/service/serviceContract.go
@@ -44,20 +44,20 @@
 	return ecode.OK
 }
 
-func (SContractService) GetServiceContractByContractId(contractId int) ([]*model.ServiceContract, int) {
-	list, err := model.NewServiceContractSearch().SetId(contractId).FindAll()
-	if err != nil {
-		return nil, ecode.SContractListErr
-	}
+//func (SContractService) GetServiceContractByContractId(contractId int) ([]*model.ServiceContract, int) {
+//	list, err := model.NewServiceContractSearch().SetId(contractId).FindAll()
+//	if err != nil {
+//		return nil, ecode.SContractListErr
+//	}
+//
+//	return list, ecode.OK
+//}
 
-	return list, ecode.OK
-}
-
-func (SContractService) GetServiceContractList(page, pageSize int, keyword string) ([]*model.ServiceContract, int) {
+func (SContractService) GetServiceContractList(page, pageSize int, keyword string) ([]*model.ServiceContract, int64, int) {
 	// get contact list
-	contacts, err := model.NewServiceContractSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewServiceContractSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SContractListErr
+		return nil, 0, ecode.SContractListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/serviceFeeManage.go b/service/serviceFeeManage.go
index e067ef2..5afaf9a 100644
--- a/service/serviceFeeManage.go
+++ b/service/serviceFeeManage.go
@@ -70,11 +70,11 @@
 	return ecode.OK
 }
 
-func (FeeManageService) GetServiceFeeManageList(page, pageSize int, keyword string) ([]*model.ServiceFeeManage, int) {
+func (FeeManageService) GetServiceFeeManageList(page, pageSize int, keyword string) ([]*model.ServiceFeeManage, int64, int) {
 	// get contact list
-	contacts, err := model.NewServiceFeeManageSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewServiceFeeManageSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.ServiceFeeManageListErr
+		return nil, 0, ecode.ServiceFeeManageListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/serviceFollowup.go b/service/serviceFollowup.go
index 579c73d..8faea0b 100644
--- a/service/serviceFollowup.go
+++ b/service/serviceFollowup.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (FollowupService) GetServiceFollowupList(page, pageSize int, keyword string) ([]*model.ServiceFollowup, int) {
+func (FollowupService) GetServiceFollowupList(page, pageSize int, keyword string) ([]*model.ServiceFollowup, int64, int) {
 	// get contact list
-	contacts, err := model.NewServiceFollowupSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewServiceFollowupSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.ServiceFollowupListErr
+		return nil, 0, ecode.ServiceFollowupListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }
diff --git a/service/subOrder.go b/service/subOrder.go
index 38a56c6..57091e4 100644
--- a/service/subOrder.go
+++ b/service/subOrder.go
@@ -44,11 +44,11 @@
 	return ecode.OK
 }
 
-func (SubOrderService) GetSubOrderList(page, pageSize int, keyword string) ([]*model.SubOrder, int) {
+func (SubOrderService) GetSubOrderList(page, pageSize int, keyword string) ([]*model.SubOrder, int64, int) {
 	// get contact list
-	contacts, err := model.NewSubOrderSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+	contacts, total, err := model.NewSubOrderSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
 	if err != nil {
-		return nil, ecode.SubOrderListErr
+		return nil, 0, ecode.SubOrderListErr
 	}
-	return contacts, ecode.OK
+	return contacts, total, ecode.OK
 }

--
Gitblit v1.8.0