From 9c2489c0c360c8dda36d3cbe1dba79222096b2dd Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期一, 07 八月 2023 10:16:39 +0800 Subject: [PATCH] Merge branch 'master' into fly --- model/serviceFollowup.go | 41 +++++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 12 deletions(-) diff --git a/model/serviceFollowup.go b/model/serviceFollowup.go index 118ae24..d2d4ada 100644 --- a/model/serviceFollowup.go +++ b/model/serviceFollowup.go @@ -1,6 +1,7 @@ package model import ( + "aps_crm/constvar" "aps_crm/pkg/mysqlx" "gorm.io/gorm" ) @@ -12,6 +13,7 @@ Number string `json:"number" gorm:"column:number;type:varchar(255);comment:鍚堝悓缂栧彿"` ContactId int `json:"contactId" gorm:"column:contact_id;type:int;comment:鑱旂郴浜篿d"` ServiceId int `json:"serviceId" gorm:"column:service_id;type:int;comment:瀹㈡埛鏈嶅姟鍗昳d"` + ServiceOrder ServiceOrder `gorm:"foreignKey:ServiceId"` CustomerServiceSheet CustomerServiceSheet `json:"customerServiceSheet" gorm:"foreignKey:ServiceId"` MemberId int `json:"memberId" gorm:"column:member_id;type:int;comment:鏈嶅姟浜哄憳id"` PlanId int `json:"planId" gorm:"column:plan_id;type:int;comment:鏈嶅姟璁″垝id"` @@ -28,13 +30,12 @@ ServiceFollowupSearch struct { ServiceFollowup - - Orm *gorm.DB - Keyword string - OrderBy string - PageNum int - PageSize int - + Orm *gorm.DB + KeywordType constvar.ServiceFollowupKeywordType + Keyword interface{} + OrderBy string + PageNum int + PageSize int } ) @@ -50,11 +51,24 @@ func (slf *ServiceFollowupSearch) build() *gorm.DB { var db = slf.Orm.Model(&ServiceFollowup{}) - if slf.Keyword != "" { - db = db.Where("name LIKE ?", "%"+slf.Keyword+"%") - } if slf.Id != 0 { db = db.Where("id = ?", slf.Id) + } + + switch slf.KeywordType { + case constvar.ServiceFollowupKeywordFollowupNo: + db = db.Where("number = ?", slf.Keyword) + case constvar.ServiceFollowupKeywordCustomerName: + db = db.Where("client_id = ?", slf.Keyword) + case constvar.ServiceFollowupKeywordContactName: + db = db.Where("contact_id = ?", slf.Keyword) + case constvar.ServiceFollowupKeywordCustomerServiceNo: + db = db.Where("service_id = ?", slf.Keyword) + case constvar.ServiceFollowupKeywordVisitor: + db = db.Where("member_id = ?", slf.Keyword) + case constvar.ServiceFollowupKeywordSatisfactionDegree: + db = db.Where("satisfaction_id = ?", slf.Keyword) + } return db @@ -97,7 +111,7 @@ db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) } - err := db.Preload("CustomerServiceSheet").Find(&records).Error + err := db.Preload("CustomerServiceSheet").Preload("ServiceOrder").Find(&records).Error return records, total, err } @@ -106,7 +120,10 @@ return slf } -// 鍙兘鎬� 甯佺 褰撳墠鐘舵�侊紙閿�鍞満浼氾級 +func (slf *ServiceFollowupSearch) SetKeywordType(keyword constvar.ServiceFollowupKeywordType) *ServiceFollowupSearch { + slf.KeywordType = keyword + return slf +} func (slf *ServiceFollowupSearch) SetKeyword(keyword string) *ServiceFollowupSearch { slf.Keyword = keyword -- Gitblit v1.8.0