| | |
| | | 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()) |
| | | } |
| | | } |
| | | } |
| | | } |