后台商品管理

This commit is contained in:
yml
2026-05-22 17:54:46 +08:00
parent 8afd94ca35
commit dfe686ce0e
12 changed files with 285 additions and 4 deletions
@@ -88,6 +88,19 @@ func (h *Handler) ListPendingReview(c *gin.Context) {
response.OK(c, gin.H{"items": items})
}
func (h *Handler) ListAdmin(c *gin.Context) {
query, ok := parseAdminListQuery(c)
if !ok {
return
}
items, err := h.service.ListAdmin(query)
if err != nil {
writeListingError(c, err)
return
}
response.OK(c, gin.H{"items": items})
}
func (h *Handler) Approve(c *gin.Context) {
id, ok := parseID(c)
if !ok {
@@ -208,6 +221,29 @@ func parseID(c *gin.Context) (uint64, bool) {
return id, true
}
func parseAdminListQuery(c *gin.Context) (AdminListQuery, bool) {
var query AdminListQuery
if raw := c.Query("owner_id"); raw != "" {
value, err := strconv.ParseUint(raw, 10, 64)
if err != nil || value == 0 {
response.BadRequest(c, "号主 ID 不正确")
return query, false
}
query.OwnerID = value
}
if raw := c.Query("limit"); raw != "" {
value, err := strconv.Atoi(raw)
if err != nil || value <= 0 {
response.BadRequest(c, "查询条数不正确")
return query, false
}
query.Limit = value
}
query.Status = c.Query("status")
query.ReviewStatus = c.Query("review_status")
return query, true
}
func writeListingError(c *gin.Context, err error) {
switch {
case errors.Is(err, ErrDependencyUnavailable):