package model
|
|
import (
|
"aps_crm/constvar"
|
"aps_crm/pkg/mysqlx"
|
"gorm.io/gorm"
|
)
|
|
type (
|
SalesLeads struct {
|
Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
|
Name string `json:"name" gorm:"column:name;unique;type:varchar(255);comment:公司名称"`
|
Number string `json:"number" gorm:"column:number;type:varchar(255);comment:销售线索编号"`
|
ContactName string `json:"contact_name" gorm:"column:contact_name;type:varchar(255);comment:联系人姓名"`
|
ContactPhone string `json:"contact_phone" gorm:"column:contact_phone;type:varchar(255);comment:联系人电话"`
|
ContactPosition string `json:"contact_position" gorm:"column:contact_position;type:varchar(255);comment:联系人职位"`
|
SalesSourcesId int `json:"sales_sources_id" gorm:"column:sales_sources_id;type:int(11);comment:商机来源ID"`
|
MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:销售负责人ID"`
|
SalesStatus constvar.SalesStatus `json:"sales_status" gorm:"column:sales_status;type:int(11);comment:销售状态"`
|
Desc string `json:"desc" gorm:"column:desc;type:varchar(255);comment:备注"`
|
FollowRecord []FollowRecord `gorm:"foreignKey:SalesLeadsId"`
|
Address
|
gorm.Model `json:"-"`
|
}
|
|
SalesLeadsSearch struct {
|
SalesLeads
|
Orm *gorm.DB
|
}
|
)
|
|
func (SalesLeads) TableName() string {
|
return "sales_leads"
|
}
|
|
func NewSalesLeadsSearch() *SalesLeadsSearch {
|
return &SalesLeadsSearch{
|
Orm: mysqlx.GetDB(),
|
}
|
}
|
|
func (slf *SalesLeadsSearch) build() *gorm.DB {
|
var db = slf.Orm.Model(&SalesLeads{})
|
if slf.Id != 0 {
|
db = db.Where("id = ?", slf.Id)
|
}
|
if slf.Name != "" {
|
db = db.Where("name = ?", slf.Name)
|
}
|
|
if slf.Number != "" {
|
db = db.Where("number = ?", slf.Number)
|
}
|
|
if slf.ContactName != "" {
|
db = db.Where("contact_name = ?", slf.ContactName)
|
}
|
|
if slf.ContactPhone != "" {
|
db = db.Where("contact_phone = ?", slf.ContactPhone)
|
}
|
|
if slf.ContactPosition != "" {
|
db = db.Where("contact_position = ?", slf.ContactPosition)
|
}
|
|
if slf.SalesSourcesId != 0 {
|
db = db.Where("sales_sources_id = ?", slf.SalesSourcesId)
|
}
|
|
if slf.MemberId != 0 {
|
db = db.Where("member_id = ?", slf.MemberId)
|
}
|
|
return db
|
}
|
|
func (slf *SalesLeadsSearch) Create(record *SalesLeads) error {
|
var db = slf.build()
|
return db.Create(record).Error
|
}
|
|
func (slf *SalesLeadsSearch) Update(record *SalesLeads) error {
|
var db = slf.build()
|
return db.Updates(record).Error
|
}
|
|
func (slf *SalesLeadsSearch) Delete() error {
|
var db = slf.build()
|
return db.Delete(&SalesLeads{}).Error
|
}
|
|
func (slf *SalesLeadsSearch) Find() (result []SalesLeads, err error) {
|
var db = slf.build()
|
err = db.Find(&result).Error
|
return
|
}
|
|
func (slf *SalesLeadsSearch) FindOne() (result SalesLeads, err error) {
|
var db = slf.build()
|
err = db.First(&result).Error
|
return
|
}
|
|
func (slf *SalesLeadsSearch) FindAll() (result []*SalesLeads, err error) {
|
var db = slf.build()
|
err = db.Preload("FollowRecord").Find(&result).Error
|
return
|
}
|
|
func (slf *SalesLeadsSearch) SetId(id int) *SalesLeadsSearch {
|
slf.Id = id
|
return slf
|
}
|
|
func (slf *SalesLeadsSearch) SetName(name string) *SalesLeadsSearch {
|
slf.Name = name
|
return slf
|
}
|
|
func (slf *SalesLeadsSearch) First() (result SalesLeads, err error) {
|
var db = slf.build()
|
err = db.First(&result).Error
|
return
|
}
|