enterprise/common/dao/external_corp_order.go

69 lines
1.6 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.Where("cp_user.username = ?", owner)
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.admin_id=cp_user.id", orderTable))
tx.Where("cp_user.username = ?", owner)
tx = tx.Find(&o)
if tx.Error == gorm.ErrRecordNotFound {
return o, nil
}
if tx.Error != nil {
return nil, tx.Error
}
return o, nil
}