package model import ( "aps_crm/pkg/mysqlx" "gorm.io/gorm" ) type ( SubOrder struct { Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` ClientId int `json:"clientId" gorm:"column:client_id;type:int;comment:客户id"` Client Client `json:"client" gorm:"foreignKey:ClientId"` MemberId int `json:"memberId" gorm:"column:member_id;type:int;comment:负责人id"` MasterOrderId int `json:"masterOrderId" gorm:"column:master_order_id;type:int;comment:销售总单id"` Number string `json:"number" gorm:"column:number;type:varchar(255);comment:销售子单号"` Products []Product `json:"products" gorm:"many2many:subOrder_product;"` gorm.Model `json:"-"` } SubOrderSearch struct { SubOrder Orm *gorm.DB } ) func (SubOrder) TableName() string { return "sub_order" } func NewSubOrderSearch() *SubOrderSearch { return &SubOrderSearch{ Orm: mysqlx.GetDB(), } } func (slf *SubOrderSearch) build() *gorm.DB { var db = slf.Orm.Model(&SubOrder{}) if slf.Id != 0 { db = db.Where("id = ?", slf.Id) } return db } func (slf *SubOrderSearch) Create(record *SubOrder) error { var db = slf.build() return db.Create(record).Error } func (slf *SubOrderSearch) Delete() error { var db = slf.build() return db.Delete(&SubOrder{}).Error } func (slf *SubOrderSearch) Update(record *SubOrder) error { var db = slf.build() return db.Updates(record).Error } func (slf *SubOrderSearch) Find() (result []SubOrder, err error) { var db = slf.build() err = db.Find(&result).Error return } func (slf *SubOrderSearch) FindAll() (result []*SubOrder, err error) { var db = slf.build() err = db.Preload("Products").Preload("Client").Find(&result).Error return } func (slf *SubOrderSearch) SetId(id int) *SubOrderSearch { slf.Id = id return slf }