enterprise/common/dao/external_corp_order.go

90 lines
2.1 KiB
Go
Raw Normal View History

2025-03-05 16:44:20 +08:00
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"
}
2025-03-05 23:38:56 +08:00
func (d *ExternalCorpOrder) QueryOwnerOrder(owner string, startTime, endTime int64) ([]*model.ExternalCorpOrder, error) {
2025-03-05 16:44:20 +08:00
orderTable := d.TableName()
tx := corpDB.Table(orderTable)
var o []*model.ExternalCorpOrder
2025-03-05 23:38:56 +08:00
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
2025-03-05 16:44:20 +08:00
}
2025-03-05 23:38:56 +08:00
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)
2025-03-05 16:44:20 +08:00
tx.Where("cp_user.username = ?", owner)
2025-03-06 00:41:45 +08:00
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)
2025-03-05 16:44:20 +08:00
tx.Where(orderTable+".pay_time >= ?", startTime)
tx.Where(orderTable+".pay_time <= ?", endTime)
2025-03-06 01:18:53 +08:00
tx.Joins(fmt.Sprintf("LEFT JOIN cp_user ON %s.admin_id=cp_user.id", orderTable))
2025-03-06 00:41:45 +08:00
tx.Where("cp_user.pid = ?", ownerId)
2025-03-05 16:44:20 +08:00
tx = tx.Find(&o)
if tx.Error == gorm.ErrRecordNotFound {
return o, nil
}
if tx.Error != nil {
return nil, tx.Error
}
return o, nil
}