package handler import ( "log" "github.com/gin-gonic/gin" "github.com/muyuqingfeng/iloom/shared/pkg/response" "github.com/muyuqingfeng/iloom/washing-service/internal/service" ) type PaymentHandler struct { svc *service.PaymentService } func NewPaymentHandler(svc *service.PaymentService) *PaymentHandler { return &PaymentHandler{svc: svc} } func (h *PaymentHandler) List(c *gin.Context) { companyID := c.GetHeader("X-Company-ID") if companyID == "" { response.BadRequest(c, "missing company id") return } payments, err := h.svc.List(c.Request.Context(), companyID) if err != nil { log.Printf("list payments error: %v", err) response.InternalError(c, "failed to list payments") return } response.OK(c, payments) } func (h *PaymentHandler) Confirm(c *gin.Context) { companyID := c.GetHeader("X-Company-ID") if companyID == "" { response.BadRequest(c, "missing company id") return } paymentID := c.Param("id") if err := h.svc.Confirm(c.Request.Context(), paymentID, companyID); err != nil { log.Printf("confirm payment error: %v", err) response.InternalError(c, "failed to confirm payment") return } response.OK(c, nil) }