- 租客在待交接状态取消订单不再自动退款,改为 refund_status=pending_review - 新增退款审核页面 /admin/orders/refund-review,客服可逐个审核 - 新增 POST /refund/approve 通过退款、POST /refund/reject 驳回退款 - 新增 GET /orders/refund-pending 查询待审核退款订单列表 - 优化状态标签表述:已取消→租客已取消、已关闭→客服已关闭、异常→客服介入 - 新增 refund_status: pending_review 及其前端标签「待客服审核退款」 - AdminOrderDetailView 退款状态改用统一 refundStatusLabel
29 lines
711 B
Go
29 lines
711 B
Go
package order
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// ListPendingRefund 查询所有待客服审核退款的订单。
|
|
func (r *Repository) ListPendingRefund(ctx context.Context) ([]OrderDTO, error) {
|
|
var rows []orderRow
|
|
err := r.adminQuery(ctx).
|
|
Where("o.refund_status = ?", refundStatusPendingReview).
|
|
Order("o.updated_at ASC, o.id ASC").
|
|
Limit(200).
|
|
Scan(&rows).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
db := r.db.WithContext(ctx)
|
|
paymentTimeoutMinutes := pendingPaymentTimeoutMinutes(db)
|
|
items := make([]OrderDTO, 0, len(rows))
|
|
for _, row := range rows {
|
|
dto := row.toAdminDTO()
|
|
applyPaymentDeadline(&dto, row.RentalOrder, paymentTimeoutMinutes)
|
|
items = append(items, dto)
|
|
}
|
|
return items, nil
|
|
}
|