From 724674c54da32406a16264850c3719b2553aada6 Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期四, 10 八月 2023 19:35:36 +0800 Subject: [PATCH] Merge branch 'master' into fly --- model/serviceOrder.go | 100 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 68 insertions(+), 32 deletions(-) diff --git a/model/serviceOrder.go b/model/serviceOrder.go index 4e30c5a..53fea15 100644 --- a/model/serviceOrder.go +++ b/model/serviceOrder.go @@ -6,51 +6,51 @@ "errors" "fmt" "gorm.io/gorm" + "gorm.io/gorm/clause" ) type ( // ServiceOrder 鏈嶅姟鍗� ServiceOrder struct { Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` - ServiceNumber string `gorm:"service_number" json:"serviceNumber"` // 鏈嶅姟鍗曠紪鍙� - ClientId int `gorm:"client_id" json:"clientId"` // 瀹㈡埛id + ServiceNumber string `gorm:"column:service_number;type:varchar(255);not null;default:'';comment:'鏈嶅姟鍗曠紪鍙�'" json:"serviceNumber"` // 鏈嶅姟鍗曠紪鍙� + ClientId int `gorm:"column:client_id;type:int;not null;default:0;comment:'瀹㈡埛id'" json:"clientId"` // 瀹㈡埛id Client Client `gorm:"foreignKey:ClientId"` - ContractId int `gorm:"contract_id" json:"contractId"` // 鍚堝悓id + ContractId int `gorm:"column:contract_id;type:int;not null;default:0;comment:'鍚堝悓id'" json:"contractId"` // 鍚堝悓id Contract Contract `gorm:"foreignKey:ContractId"` - OrderId int `gorm:"order_id" json:"orderId"` // 閿�鍞鍗昳d + OrderId int `gorm:"column:order_id;type:int;not null;default:0;comment:'閿�鍞鍗昳d'" json:"orderId"` // 閿�鍞鍗昳d OrderManage OrderManage `gorm:"foreignKey:OrderId"` - Subject string `gorm:"subject" json:"subject"` // 涓婚 - ProductId int `gorm:"product_id" json:"productId"` // 浜у搧id + Subject string `gorm:"column:subject;type:varchar(255);not null;default:'';comment:'涓婚'" json:"subject"` // 涓婚 + ProductId int `gorm:"column:product_id;type:int;not null;default:0;comment:'浜у搧id'" json:"productId"` // 浜у搧id Product Product `gorm:"foreignKey:ProductId"` - ServiceTypeId int `gorm:"service_type_id" json:"serviceTypeId"` // 鏈嶅姟鏂瑰紡id + ServiceTypeId int `gorm:"column:service_type_id;type:int;not null;default:0;comment:'鏈嶅姟鏂瑰紡id'" json:"serviceTypeId"` // 鏈嶅姟鏂瑰紡id ServiceType ServiceType `gorm:"foreignKey:ServiceTypeId"` - ServiceManId int `gorm:"service_man_id" json:"serviceManId"` // 鏈嶅姟浜哄憳 - ContactId int `gorm:"linkman_id" json:"contactId"` // 鑱旂郴浜篿d + ServiceManId int `gorm:"column:service_man_id;type:int;not null;default:0;comment:'鏈嶅姟浜哄憳'" json:"serviceManId"` // 鏈嶅姟浜哄憳 + ContactId int `gorm:"linkman_id" json:"contactId"` // 鑱旂郴浜篿d Contact Contact `gorm:"foreignKey:ContactId"` - Address string `gorm:"address" json:"address"` // 涓婇棬鍦板潃 - PriorityLevelId int `gorm:"priority_level_id" json:"priorityLevelId"` // 浼樺厛绾у埆id + Address string `gorm:"column:address;type:varchar(255);not null;default:'';comment:'涓婇棬鍦板潃'" json:"address"` // 涓婇棬鍦板潃 + PriorityLevelId int `gorm:"column:priority_level_id;type:int;not null;default:0;comment:'浼樺厛绾у埆id'" json:"priorityLevelId"` // 浼樺厛绾у埆id PriorityLevel PriorityLevel `gorm:"foreignKey:PriorityLevelId"` - AppointmentTime string `gorm:"appointment_time" json:"appointmentTime"` // 棰勭害涓婇棬鏃堕棿 - SaleChanceId int `gorm:"sale_leads" json:"saleChanceId"` // 閿�鍞満浼歩d - - SaleChance SaleChance `gorm:"foreignKey:SaleChanceId"` - FaultTypeId int `gorm:"severity_id" json:"faultTypeId"` // 鏁呴殰绫诲埆id - FaultType FaultType `gorm:"foreignKey:FaultTypeId"` - SeverityId int `gorm:"severity_id" json:"severity"` // 涓ラ噸绋嬪害id - Severity Severity `gorm:"foreignKey:SeverityId"` - Status int `gorm:"status" json:"status"` // 澶勭悊鐘舵�� - ExpectTime string `gorm:"expect_time" json:"expectTime"` // 甯屾湜澶勭悊鏃堕棿 - RealTime string `gorm:"real_time" json:"realTime"` // 瀹為檯澶勭悊鏃堕棿 - CarFare float64 `gorm:"car_fare" json:"carFare"` // 浜ら�氳垂 - ChargeAmount float64 `gorm:"charge_amount" json:"chargeAmount"` // 鏀惰垂閲戦 - TimeSpentId int `gorm:"time_spent_id" json:"timeSpentId"` // 鑺辫垂鏃堕棿 - TimeSpent TimeSpent `gorm:"foreignKey:TimeSpentId"` - FaqId int `gorm:"problem_id" json:"faqId"` // 甯歌闂id - Faq Faq `gorm:"foreignKey:FaqId"` - ProblemDesc string `gorm:"problem_desc" json:"problemDesc"` // 闂鎻忚堪 - Solution string `gorm:"solution" json:"solution"` // 瑙e喅鏂规硶 - SolutionRemark string `gorm:"solution_remark" json:"solutionRemark"` // 鍐呴儴澶囨敞 - Remark string `gorm:"remark" json:"remark"` // 澶囨敞 + AppointmentTime string `gorm:"appointment_time" json:"appointmentTime"` // 棰勭害涓婇棬鏃堕棿 + SaleChanceId int `gorm:"column:sale_chance_id;type:int;not null;default:0;comment:'閿�鍞満浼歩d'" json:"saleChanceId"` // 閿�鍞満浼歩d + SaleChance SaleChance `gorm:"foreignKey:SaleChanceId"` + FaultTypeId int `gorm:"column:severity_id;type:int;not null;default:0;comment:'鏁呴殰绫诲埆id'" json:"faultTypeId"` // 鏁呴殰绫诲埆id + FaultType FaultType `gorm:"foreignKey:FaultTypeId"` + SeverityId int `gorm:"column:severity_id;type:int;not null;default:0;comment:'涓ラ噸绋嬪害id'" json:"severity"` // 涓ラ噸绋嬪害id + Severity Severity `gorm:"foreignKey:SeverityId"` + Status int `gorm:"status" json:"status"` // 澶勭悊鐘舵�� + ExpectTime string `gorm:"column:expect_time;type:varchar(255);not null;default:'';comment:'甯屾湜澶勭悊鏃堕棿'" json:"expectTime"` // 甯屾湜澶勭悊鏃堕棿 + RealTime string `gorm:"column:real_time;type:varchar(255);not null;default:'';comment:'瀹為檯澶勭悊鏃堕棿'" json:"realTime"` // 瀹為檯澶勭悊鏃堕棿 + CarFare float64 `gorm:"car_fare" json:"carFare"` // 浜ら�氳垂 + ChargeAmount float64 `gorm:"charge_amount" json:"chargeAmount"` // 鏀惰垂閲戦 + TimeSpentId int `gorm:"column:time_spent_id;type:int;not null;default:0;comment:'鑺辫垂鏃堕棿'" json:"timeSpentId"` // 鑺辫垂鏃堕棿 + TimeSpent TimeSpent `gorm:"foreignKey:TimeSpentId"` + FaqId int `gorm:"column:problem_id;type:int;not null;default:0;comment:'甯歌闂id'" json:"faqId"` // 甯歌闂id + Faq Faq `gorm:"foreignKey:FaqId"` + ProblemDesc string `gorm:"column:subject;type:varchar(255);not null;default:'';comment:'涓婚'problem_desc" json:"problemDesc"` // 闂鎻忚堪 + Solution string `gorm:"column:solution;type:varchar(255);not null;default:'';comment:'瑙e喅鏂规硶'" json:"solution"` // 瑙e喅鏂规硶 + SolutionRemark string `gorm:"column:solution_remark;type:varchar(255);not null;default:'';comment:'鍐呴儴澶囨敞'" json:"solutionRemark"` // 鍐呴儴澶囨敞 + Remark string `gorm:"column:remark;type:varchar(255);not null;default:'';comment:'澶囨敞'" json:"remark"` // 澶囨敞 } // ServiceOrderSearch 鏈嶅姟鍗曟悳绱㈡潯浠� @@ -94,6 +94,22 @@ Preload("Severity"). Preload("Faq") } + switch slf.KeywordType { + case constvar.ServiceOrderKeywordClientName: + db = db.Joins("Client", clause.LeftJoin).Where("Client.name like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + case constvar.ServiceOrderKeywordOrderNumber: + db = db.Where("service_number = ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + case constvar.ServiceOrderKeywordSubject: + db = db.Where("subject = ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + case constvar.ServiceOrderKeywordRealProcessTime: + db = db.Where("real_time = ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + case constvar.ServiceOrderKeywordServiceMan: + db = db.Joins("left join user on user.id = service_order.service_man_id").Where("user.username like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + case constvar.ServiceOrderKeywordServiceType: + db = db.Joins("ServiceType", clause.LeftJoin).Where("ServiceType.name like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + case constvar.ServiceOrderKeywordFaultType: + db = db.Joins("FaultType", clause.LeftJoin).Where("FaultType.name like ?", fmt.Sprintf("%%%s%%", slf.Keyword)) + } return db } @@ -125,6 +141,26 @@ return slf } +func (slf *ServiceOrderSearch) SetPage(page, size int) *ServiceOrderSearch { + slf.PageNum, slf.PageSize = page, size + return slf +} + +func (slf *ServiceOrderSearch) SetKeywordType(keyword constvar.ServiceOrderKeywordType) *ServiceOrderSearch { + slf.KeywordType = keyword + return slf +} + +func (slf *ServiceOrderSearch) SetQueryClass(queryClass constvar.ServiceOrderQueryClass) *ServiceOrderSearch { + slf.QueryClass = queryClass + return slf +} + +func (slf *ServiceOrderSearch) SetKeyword(keyword string) *ServiceOrderSearch { + slf.Keyword = keyword + return slf +} + func (slf *ServiceOrderSearch) SetPreload(preload bool) *ServiceOrderSearch { slf.Preload = preload return slf -- Gitblit v1.8.0