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