package admin import ( "quyun/app/models" "quyun/app/requests" "quyun/providers/wepay" "github.com/gofiber/fiber/v3" ) type OrderListQuery struct { OrderNumber *string `query:"order_number"` UserID *int64 `query:"user_id"` } // @provider type orders struct { wepay *wepay.Client } // List users // // @Router /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) } // Refund // @Router /admin/orders/{id}/refund [post] // @Bind id path func (ctl *orders) Refund(ctx fiber.Ctx, id int64) error { order, err := models.Orders.GetByID(ctx.Context(), id) if err != nil { return err } return ctx.JSON(order) }