package handlers import ( "net/http" "github.com/gin-gonic/gin" ) // ListAllOrders 管理端全部订单。 // @Summary 管理端获取全部订单 // @Description 返回数据库中订单全量列表(含敏感字段),供后台管理;需 `X-Admin-Token`。 // @Tags 管理端-订单 // @Produce json // @Security AdminToken // @Success 200 {object} SwaggerOrdersBody // @Failure 401 {object} SwaggerErrorBody // @Failure 500 {object} SwaggerErrorBody // @Router /api/admin/orders [get] func (h *AdminHandler) ListAllOrders(c *gin.Context) { if !h.requireAdmin(c) { return } orders, err := h.orderStore.ListAll() if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.JSON(http.StatusOK, gin.H{"data": orders}) } // DeleteOrder 管理端删除订单。 // @Summary 管理端删除指定订单 // @Description 按路径中的订单 ID 删除记录;不可恢复请谨慎操作。 // @Tags 管理端-订单 // @Produce json // @Security AdminToken // @Param id path string true "订单ID" // @Success 200 {object} SwaggerBoolOKWrap // @Failure 400 {object} SwaggerErrorBody // @Failure 401 {object} SwaggerErrorBody // @Failure 500 {object} SwaggerErrorBody // @Router /api/admin/orders/{id} [delete] func (h *AdminHandler) DeleteOrder(c *gin.Context) { if !h.requireAdmin(c) { return } orderID := c.Param("id") if orderID == "" { c.JSON(http.StatusBadRequest, gin.H{"error": "缺少订单 ID"}) return } if err := h.orderStore.Delete(orderID); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.JSON(http.StatusOK, gin.H{"data": gin.H{"ok": true}}) }