| | |
| | | |
| | | import ( |
| | | "aps_crm/pkg/mysqlx" |
| | | "fmt" |
| | | "gorm.io/gorm" |
| | | ) |
| | | |
| | |
| | | CollectionProjections []CollectionProjection `json:"collection_projections" gorm:"foreignKey:SaleChanceId"` |
| | | SalesSources SalesSources `json:"sales_sources"` |
| | | CodeStandID string `json:"codeStandID" gorm:"column:code_stand_id;type:varchar(255);comment:编码id"` |
| | | Products []*Product `json:"products" gorm:"many2many:SaleChanceProduct;"` |
| | | Address |
| | | gorm.Model `json:"-"` |
| | | } |
| | |
| | | |
| | | func (slf *SaleChanceSearch) Update(record *SaleChance) (err error) { |
| | | var db = slf.build() |
| | | err = db.Updates(record).Error |
| | | err = db.Preload("Products").Updates(record).Error |
| | | return |
| | | } |
| | | |
| | |
| | | |
| | | func (slf *SaleChanceSearch) Find() (record SaleChance, err error) { |
| | | var db = slf.build() |
| | | err = db.First(&record).Error |
| | | err = db.Preload("Products").First(&record).Error |
| | | return |
| | | } |
| | | |
| | |
| | | db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) |
| | | } |
| | | |
| | | err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources"). |
| | | err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources").Preload("Products"). |
| | | Preload("Member").Preload("SaleStage").Preload("Possibility"). |
| | | Preload("CollectionProjections").Preload("Client"). |
| | | Preload("Province").Preload("City").Preload("Contact").Preload("Status").Order("id desc").Find(&records).Error |
| | |
| | | var db = slf.build() |
| | | return db.Updates(data).Error |
| | | } |
| | | |
| | | func (slf *SaleChanceSearch) MaxAutoIncr() (int, error) { |
| | | type Result struct { |
| | | Max int |
| | | } |
| | | |
| | | var ( |
| | | result Result |
| | | db = slf.build() |
| | | ) |
| | | |
| | | err := db.Select("MAX(id) as max").Scan(&result).Error |
| | | if err != nil { |
| | | return result.Max, fmt.Errorf("max err: %v", err) |
| | | } |
| | | return result.Max, nil |
| | | } |