90 lines
2.1 KiB
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
|
|
}
|