package dao import ( "enterprise/common/model" "fmt" "gorm.io/gorm" ) type ExternalCorpOrder struct { } func NewExternalCorpOrder() *ExternalCorpOrder { return &ExternalCorpOrder{} } func (d *ExternalCorpOrder) TableName() string { return "cp_order" } func (d *ExternalCorpOrder) QueryOwnerOrder(owner string, startTime, endTime int64) ([]*model.ExternalCorpOrder, error) { orderTable := d.TableName() tx := corpDB.Table(orderTable) var o []*model.ExternalCorpOrder tx.Where(orderTable+".status = ?", 2) tx.Where("cp_user.username = ?", owner) tx.Where(orderTable+".pay_time >= ?", startTime) tx.Where(orderTable+".pay_time <= ?", endTime) tx.Joins(fmt.Sprintf("LEFT JOIN cp_user ON %s.admin_id=cp_user.id", orderTable)) tx = tx.Find(&o) if tx.Error == gorm.ErrRecordNotFound { return o, nil } if tx.Error != nil { return nil, tx.Error } return o, nil } func (d *ExternalCorpOrder) QueryProcessOrder(owner string, startTime, endTime int64) ([]*model.ExternalCorpOrder, error) { orderTable := d.TableName() tx := corpDB.Table(orderTable) var o []*model.ExternalCorpOrder tx.Where(orderTable+".process_status = ?", 2) tx.Where("cp_user.username = ?", owner) tx.Where(orderTable+".pay_time >= ?", startTime) tx.Where(orderTable+".pay_time <= ?", endTime) tx.Joins(fmt.Sprintf("LEFT JOIN cp_user ON %s.process_id=cp_user.id", orderTable)) tx = tx.Find(&o) if tx.Error == gorm.ErrRecordNotFound { return o, nil } if tx.Error != nil { return nil, tx.Error } return o, nil } func (d *ExternalCorpOrder) QueryChildOrder(ownerId int64, startTime, endTime int64) ([]*model.ExternalCorpOrder, error) { orderTable := d.TableName() tx := corpDB.Table(orderTable) var o []*model.ExternalCorpOrder tx.Where(orderTable+".status = ?", 2) tx.Where(orderTable+".pay_time >= ?", startTime) tx.Where(orderTable+".pay_time <= ?", endTime) tx.Joins(fmt.Sprintf("LEFT JOIN cp_user ON %s.admin_id=cp_user.id", orderTable)) tx.Where("cp_user.pid = ?", ownerId) tx = tx.Find(&o) if tx.Error == gorm.ErrRecordNotFound { return o, nil } if tx.Error != nil { return nil, tx.Error } return o, nil }