From a18a2c98ed758d08cbbe102bf5225c5a4cd001c7 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 10 八月 2023 19:32:02 +0800 Subject: [PATCH] fix --- model/serviceContract.go | 6 model/serviceOrder.go | 52 ++++---- model/timeSpent.go | 14 +- model/index.go | 216 ++++++++++++++++++------------------ docs/swagger.yaml | 12 ++ docs/docs.go | 18 +++ docs/swagger.json | 18 +++ model/serviceFollowup.go | 14 ++ 8 files changed, 205 insertions(+), 145 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index 217dc9b..ab95e71 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -11776,6 +11776,9 @@ "model.ServiceFollowup": { "type": "object", "properties": { + "Member": { + "$ref": "#/definitions/model.User" + }, "client": { "$ref": "#/definitions/model.Client" }, @@ -11797,6 +11800,9 @@ "id": { "type": "integer" }, + "isVisit": { + "$ref": "#/definitions/model.IsVisit" + }, "isVisitId": { "type": "integer" }, @@ -11805,6 +11811,9 @@ }, "number": { "type": "string" + }, + "oldMember": { + "$ref": "#/definitions/model.User" }, "oldMemberId": { "type": "integer" @@ -11815,6 +11824,9 @@ "remark": { "type": "string" }, + "satisfaction": { + "$ref": "#/definitions/model.Satisfaction" + }, "satisfactionId": { "type": "integer" }, @@ -11824,9 +11836,15 @@ "serviceOrder": { "$ref": "#/definitions/model.ServiceOrder" }, + "solveRate": { + "$ref": "#/definitions/model.SolveRate" + }, "solveRateId": { "type": "integer" }, + "timelyRate": { + "$ref": "#/definitions/model.TimelyRate" + }, "timelyRateId": { "type": "integer" } diff --git a/docs/swagger.json b/docs/swagger.json index 84d5dbc..ee2af69 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -11764,6 +11764,9 @@ "model.ServiceFollowup": { "type": "object", "properties": { + "Member": { + "$ref": "#/definitions/model.User" + }, "client": { "$ref": "#/definitions/model.Client" }, @@ -11785,6 +11788,9 @@ "id": { "type": "integer" }, + "isVisit": { + "$ref": "#/definitions/model.IsVisit" + }, "isVisitId": { "type": "integer" }, @@ -11793,6 +11799,9 @@ }, "number": { "type": "string" + }, + "oldMember": { + "$ref": "#/definitions/model.User" }, "oldMemberId": { "type": "integer" @@ -11803,6 +11812,9 @@ "remark": { "type": "string" }, + "satisfaction": { + "$ref": "#/definitions/model.Satisfaction" + }, "satisfactionId": { "type": "integer" }, @@ -11812,9 +11824,15 @@ "serviceOrder": { "$ref": "#/definitions/model.ServiceOrder" }, + "solveRate": { + "$ref": "#/definitions/model.SolveRate" + }, "solveRateId": { "type": "integer" }, + "timelyRate": { + "$ref": "#/definitions/model.TimelyRate" + }, "timelyRateId": { "type": "integer" } diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 0cf171b..2a99e5b 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1436,6 +1436,8 @@ type: object model.ServiceFollowup: properties: + Member: + $ref: '#/definitions/model.User' client: $ref: '#/definitions/model.Client' clientId: @@ -1450,26 +1452,36 @@ type: string id: type: integer + isVisit: + $ref: '#/definitions/model.IsVisit' isVisitId: type: integer memberId: type: integer number: type: string + oldMember: + $ref: '#/definitions/model.User' oldMemberId: type: integer planId: type: integer remark: type: string + satisfaction: + $ref: '#/definitions/model.Satisfaction' satisfactionId: type: integer serviceId: type: integer serviceOrder: $ref: '#/definitions/model.ServiceOrder' + solveRate: + $ref: '#/definitions/model.SolveRate' solveRateId: type: integer + timelyRate: + $ref: '#/definitions/model.TimelyRate' timelyRateId: type: integer type: object diff --git a/model/index.go b/model/index.go index 04856fa..7a90d35 100644 --- a/model/index.go +++ b/model/index.go @@ -1,108 +1,108 @@ -package model - -import ( - "aps_crm/conf" - "aps_crm/pkg/logx" - "aps_crm/pkg/mysqlx" - "aps_crm/pkg/safe" - "gorm.io/gorm/schema" -) - -func Init() error { - if err := mysqlx.Init(&conf.Conf.Mysql, logx.GetLogger()); err != nil { - return err - } - - if err := RegisterTables(); err != nil { - return err - } - safe.Go(func() { - InsertDefaultData() - }) - return nil -} - -func RegisterTables() error { - db := mysqlx.GetDB() - err := db.AutoMigrate( - User{}, - Menu{}, - JwtBlacklist{}, - Country{}, - Province{}, - City{}, - Client{}, - ClientLevel{}, - ClientOrigin{}, - ClientStatus{}, - ClientType{}, - Contact{}, - EnterpriseNature{}, - EnterpriseScale{}, - FollowRecord{}, - Industry{}, - RegisteredCapital{}, - SaleChance{}, - SalesLeads{}, - SalesSources{}, - SaleStage{}, - SaleType{}, - RegularCustomers{}, - Possibility{}, - Status{}, - Quotation{}, - MasterOrder{}, - SubOrder{}, - Product{}, - SalesDetails{}, - SalesReturn{}, - SalesRefund{}, - Contract{}, - Plan{}, - ServiceContract{}, - OrderManage{}, - ServiceFollowup{}, - CustomerServiceSheet{}, - ServiceFeeManage{}, - Authority{}, - Api{}, - Department{}, - Satisfaction{}, - TimelyRate{}, - SolveRate{}, - IsVisit{}, - IsVisit{}, - ReportSource{}, - OrderType{}, - ServiceContractStatus{}, - ServiceContractType{}, - RefundMethod{}, - IsInvoice{}, - AccountId{}, - SalesReturnStatus{}, - Repository{}, - QuotationStatus{}, - Currency{}, - ) - return err -} - -type InitDefaultData interface { - InitDefaultData() error -} - -func InsertDefaultData() { - models := []interface{}{ - NewServiceTypeSearch(), - NewPriorityLevelSearch(), - NewSeveritySearch(), - NewTimeSpentSearch(), - } - for _, model := range models { - if id, ok := model.(InitDefaultData); ok { - if err := id.InitDefaultData(); err != nil { - logx.Errorf("InitDefaultData for table: %v, err :%v", model.(schema.Tabler).TableName(), err.Error()) - } - } - } -} +package model + +import ( + "aps_crm/conf" + "aps_crm/pkg/logx" + "aps_crm/pkg/mysqlx" + "aps_crm/pkg/safe" + "gorm.io/gorm/schema" +) + +func Init() error { + if err := mysqlx.Init(&conf.Conf.Mysql, logx.GetLogger()); err != nil { + return err + } + + if err := RegisterTables(); err != nil { + return err + } + safe.Go(func() { + InsertDefaultData() + }) + return nil +} + +func RegisterTables() error { + db := mysqlx.GetDB() + err := db.AutoMigrate( + User{}, + Menu{}, + JwtBlacklist{}, + Country{}, + Province{}, + City{}, + Client{}, + ClientLevel{}, + ClientOrigin{}, + ClientStatus{}, + ClientType{}, + Contact{}, + EnterpriseNature{}, + EnterpriseScale{}, + FollowRecord{}, + Industry{}, + RegisteredCapital{}, + SaleChance{}, + SalesLeads{}, + SalesSources{}, + SaleStage{}, + SaleType{}, + RegularCustomers{}, + Possibility{}, + Status{}, + Quotation{}, + MasterOrder{}, + SubOrder{}, + Product{}, + SalesDetails{}, + SalesReturn{}, + SalesRefund{}, + Contract{}, + Plan{}, + ServiceContract{}, + OrderManage{}, + ServiceFollowup{}, + CustomerServiceSheet{}, + ServiceFeeManage{}, + Authority{}, + Api{}, + Department{}, + Satisfaction{}, + TimelyRate{}, + SolveRate{}, + IsVisit{}, + IsVisit{}, + ReportSource{}, + OrderType{}, + ServiceContractStatus{}, + ServiceContractType{}, + RefundMethod{}, + IsInvoice{}, + AccountId{}, + SalesReturnStatus{}, + Repository{}, + QuotationStatus{}, + Currency{}, + ) + return err +} + +type InitDefaultData interface { + InitDefaultData() error +} + +func InsertDefaultData() { + models := []interface{}{ + NewServiceTypeSearch(), + NewPriorityLevelSearch(), + NewSeveritySearch(), + NewTimeSpentSearch(), + } + for _, model := range models { + if id, ok := model.(InitDefaultData); ok { + if err := id.InitDefaultData(); err != nil { + logx.Errorf("InitDefaultData for table: %v, err :%v", model.(schema.Tabler).TableName(), err.Error()) + } + } + } +} diff --git a/model/serviceContract.go b/model/serviceContract.go index 1ecbb1a..0b64a4f 100644 --- a/model/serviceContract.go +++ b/model/serviceContract.go @@ -26,9 +26,9 @@ Quotation Quotation `json:"quotation" gorm:"foreignKey:QuotationId"` ServiceContractTypeId int `json:"serviceContractTypeId" gorm:"column:service_contract_type_id;type:int;comment:鍚堝悓绫诲瀷id"` ServiceContractType ServiceContractType `json:"serviceContractType" gorm:"foreignKey:ServiceContractTypeId"` - SignTime string `json:"signTime" gorm:"column:sign_time;type:datetime;comment:绛剧害鏃堕棿"` - StartTime string `json:"startTime" gorm:"column:start_time;type:datetime;comment:寮�濮嬫椂闂�"` - EndTime string `json:"endTime" gorm:"column:end_time;type:datetime;comment:缁撴潫鏃堕棿"` + SignTime string `json:"signTime" gorm:"column:sign_time;type:varchar(255);comment:绛剧害鏃堕棿"` + StartTime string `json:"startTime" gorm:"column:start_time;type:varchar(255);comment:寮�濮嬫椂闂�"` + EndTime string `json:"endTime" gorm:"column:end_time;type:varchar(255);comment:缁撴潫鏃堕棿"` ServiceContractStatusId int `json:"serviceContractStatusId" gorm:"column:service_contract_status_id;type:int;comment:鍚堝悓鐘舵�乮d"` ServiceContractStatus ServiceContractStatus `json:"serviceContractStatus" gorm:"foreignKey:ServiceContractStatusId"` ServiceTimes int `json:"serviceTimes" gorm:"column:service_times;type:int;comment:鏈嶅姟娆℃暟"` diff --git a/model/serviceFollowup.go b/model/serviceFollowup.go index 917d2a5..29e80f6 100644 --- a/model/serviceFollowup.go +++ b/model/serviceFollowup.go @@ -18,12 +18,18 @@ ServiceOrder ServiceOrder `gorm:"foreignKey:ServiceId"` CustomerServiceSheet CustomerServiceSheet `json:"customerServiceSheet" gorm:"foreignKey:ServiceId"` MemberId int `json:"memberId" gorm:"column:member_id;type:int;comment:鏈嶅姟浜哄憳id"` + Member User `json:"Member" gorm:"foreignKey:MemberId"` PlanId int `json:"planId" gorm:"column:plan_id;type:int;comment:鏈嶅姟璁″垝id"` SatisfactionId int `json:"satisfactionId" gorm:"column:satisfaction_id;type:int;comment:婊℃剰搴d"` + Satisfaction Satisfaction `json:"satisfaction" gorm:"foreignKey:SatisfactionId"` TimelyRateId int `json:"timelyRateId" gorm:"column:timely_rate_id;type:int;comment:鍙婃椂鐜噄d"` + TimelyRate TimelyRate `json:"timelyRate" gorm:"foreignKey:TimelyRateId"` SolveRateId int `json:"solveRateId" gorm:"column:solve_rate_id;type:int;comment:瑙e喅鐜噄d"` + SolveRate SolveRate `json:"solveRate" gorm:"foreignKey:SolveRateId"` IsVisitId int `json:"isVisitId" gorm:"column:is_visit_id;type:int;comment:鏈嶅姟浜哄憳鏄惁鏉ヨ繃id"` + IsVisit IsVisit `json:"isVisit" gorm:"foreignKey:IsVisitId"` OldMemberId int `json:"oldMemberId" gorm:"column:old_member_id;type:int;comment:鍘熸湇鍔′汉鍛�"` + OldMember User `json:"oldMember" gorm:"foreignKey:OldMemberId"` Remark string `json:"remark" gorm:"column:remark;type:text;comment:澶囨敞"` File string `json:"file" gorm:"column:file;type:varchar(255);comment:闄勪欢"` @@ -78,7 +84,13 @@ db = db.Preload("CustomerServiceSheet"). Preload("ServiceOrder"). Preload("Client"). - Preload("Contact") + Preload("Contact"). + Preload("Satisfaction"). + Preload("TimelyRate"). + Preload("SolveRate"). + Preload("IsVisit"). + Preload("OldMember"). + Preload("Member") } return db diff --git a/model/serviceOrder.go b/model/serviceOrder.go index 2e4ae18..53fea15 100644 --- a/model/serviceOrder.go +++ b/model/serviceOrder.go @@ -13,44 +13,44 @@ // 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 + 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:"severity_id" json:"faultTypeId"` // 鏁呴殰绫诲埆id + 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:"severity_id" json:"severity"` // 涓ラ噸绋嬪害id + 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:"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"` // 鑺辫垂鏃堕棿 + 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:"problem_id" json:"faqId"` // 甯歌闂id + 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:"problem_desc" json:"problemDesc"` // 闂鎻忚堪 - Solution string `gorm:"solution" json:"solution"` // 瑙e喅鏂规硶 - SolutionRemark string `gorm:"solution_remark" json:"solutionRemark"` // 鍐呴儴澶囨敞 - Remark string `gorm:"remark" json:"remark"` // 澶囨敞 + 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 鏈嶅姟鍗曟悳绱㈡潯浠� diff --git a/model/timeSpent.go b/model/timeSpent.go index de29623..6243445 100644 --- a/model/timeSpent.go +++ b/model/timeSpent.go @@ -12,18 +12,18 @@ // TimeSpent 鑺辫垂鏃堕棿 TimeSpent struct { Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` - Name string `json:"name" gorm:"column:name"` + Name string `json:"name" gorm:"column:name;type:varchar(255);not null;default:'';comment:鍚嶇О"` } // TimeSpentSearch 鑺辫垂鏃堕棿鎼滅储鏉′欢 TimeSpentSearch struct { TimeSpent - Orm *gorm.DB - QueryClass constvar.TimeSpentQueryClass - KeywordType constvar.TimeSpentKeywordType - Keyword string - PageNum int - PageSize int + Orm *gorm.DB + QueryClass constvar.TimeSpentQueryClass + KeywordType constvar.TimeSpentKeywordType + Keyword string + PageNum int + PageSize int } ) -- Gitblit v1.8.0