优化订单支付

This commit is contained in:
yml
2026-06-08 23:56:25 +08:00
parent 870ea72996
commit a2a0489158
20 changed files with 884 additions and 5 deletions
@@ -113,6 +113,19 @@ func (h *Handler) QueryRefundStatus(c *gin.Context) {
response.OK(c, item)
}
func (h *Handler) AdminList(c *gin.Context) {
query, ok := parseAdminPaymentQuery(c)
if !ok {
return
}
result, err := h.service.AdminList(query)
if err != nil {
writePaymentError(c, err)
return
}
response.OK(c, result)
}
func (h *Handler) LeshuaNotify(c *gin.Context) {
body, err := io.ReadAll(io.LimitReader(c.Request.Body, 1<<20))
if err != nil {
@@ -196,6 +209,35 @@ func parseID(c *gin.Context) (uint64, bool) {
return id, true
}
func parseAdminPaymentQuery(c *gin.Context) (AdminPaymentQuery, bool) {
var query AdminPaymentQuery
if raw := c.Query("user_id"); raw != "" {
value, err := strconv.ParseUint(raw, 10, 64)
if err != nil || value == 0 {
response.BadRequest(c, "用户ID不正确")
return query, false
}
query.UserID = value
}
if raw := c.Query("order_id"); raw != "" {
value, err := strconv.ParseUint(raw, 10, 64)
if err != nil || value == 0 {
response.BadRequest(c, "订单ID不正确")
return query, false
}
query.OrderID = value
}
query.OrderNo = c.Query("order_no")
query.BizType = c.Query("biz_type")
query.Status = c.Query("status")
query.Provider = c.Query("provider")
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20"))
query.Page = page
query.PageSize = pageSize
return query, true
}
func writePaymentError(c *gin.Context, err error) {
switch {
case errors.Is(err, ErrDependencyUnavailable):