enterprise/common/dao/external_corp_order.go

90 lines
2.1 KiB
Go

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
}