You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
"awesomeProject/internal/model/do"
|
|
|
|
"github.com/gogf/gf/v2/database/gdb"
|
|
)
|
|
|
|
// OrderDAO 定义了订单数据访问对象。
|
|
type OrderDAO struct {
|
|
DB gdb.DB
|
|
|
|
}
|
|
|
|
// NewOrderDAO 创建一个新的订单数据访问对象。
|
|
func NewOrderDAO(db gdb.DB) *OrderDAO {
|
|
return &OrderDAO{DB: db}
|
|
}
|
|
|
|
// CreateOrder 向数据库中插入新订单。
|
|
func (d *OrderDAO) CreateOrder(ctx context.Context, order *do.OrderDO) error {
|
|
_, err := d.DB.Model("order").Data(order).Insert()
|
|
return err
|
|
}
|
|
|
|
// GetOrderByID 根据订单ID从数据库中查询订单信息。
|
|
func (d *OrderDAO) GetOrderByID(ctx context.Context, id int64) (*do.OrderDO, error) {
|
|
order := &do.OrderDO{}
|
|
err := d.DB.Model("order").Where("id", id).Scan(order)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return order, nil
|
|
}
|
|
|
|
// UpdateOrder 更新数据库中的订单信息。
|
|
func (d *OrderDAO) UpdateOrder(ctx context.Context, order *do.OrderDO) error {
|
|
_, err := d.DB.Model("order").Data(order).Where("id", order.ID).Update()
|
|
return err
|
|
}
|
|
|
|
// DeleteOrder 删除数据库中的订单。
|
|
func (d *OrderDAO) DeleteOrder(ctx context.Context, id int64) error {
|
|
_, err := d.DB.Model("order").Where("id", id).Delete()
|
|
return err
|
|
}
|