feat: add orders

This commit is contained in:
yanghao05
2025-04-10 21:42:13 +08:00
parent 5a63eee1ce
commit 8baab46132
20 changed files with 979 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
package admin
import (
"quyun/app/models"
"quyun/app/requests"
"github.com/gofiber/fiber/v3"
)
type OrderListQuery struct {
OrderNumber *string `query:"order_number"`
UserID *int64 `query:"user_id"`
}
// @provider
type orders struct{}
// List users
// @Router /v1/admin/orders [get]
// @Bind pagination query
// @Bind query query
func (ctl *orders) List(ctx fiber.Ctx, pagination *requests.Pagination, query *OrderListQuery) (*requests.Pager, error) {
cond := models.Orders.BuildConditionWithKey(query.OrderNumber, query.UserID)
return models.Orders.List(ctx.Context(), pagination, cond)
}

View File

@@ -18,6 +18,13 @@ func Provide(opts ...opt.Option) error {
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*orders, error) {
obj := &orders{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*posts, error) {
obj := &posts{}
@@ -27,12 +34,14 @@ func Provide(opts ...opt.Option) error {
}
if err := container.Container.Provide(func(
medias *medias,
orders *orders,
posts *posts,
uploads *uploads,
users *users,
) (contracts.HttpRoute, error) {
obj := &Routes{
medias: medias,
orders: orders,
posts: posts,
uploads: uploads,
users: users,

View File

@@ -16,6 +16,7 @@ import (
type Routes struct {
log *log.Entry `inject:"false"`
medias *medias
orders *orders
posts *posts
uploads *uploads
users *users
@@ -38,6 +39,13 @@ func (r *Routes) Register(router fiber.Router) {
Query[ListQuery]("query"),
))
// 注册路由组: orders
router.Get("/v1/admin/orders", DataFunc2(
r.orders.List,
Query[requests.Pagination]("pagination"),
Query[OrderListQuery]("query"),
))
// 注册路由组: posts
router.Get("/v1/admin/posts", DataFunc2(
r.posts.List,