You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.3 KiB
Go

package purchase
import (
"cls/internal/application/purchase"
"cls/internal/interfaces"
"cls/pkg/logger"
"github.com/gin-gonic/gin"
)
type PurchaseHandler struct {
purchaseService *purchase.Service
log logger.Logger
}
func NewPurchaseHandler(service *purchase.Service, logger logger.New) *PurchaseHandler {
return &PurchaseHandler{
purchaseService: service,
log: logger("panoramic:interfaces:purchase"),
}
}
var _ interfaces.Handler = (*PurchaseHandler)(nil)
// Register 注册路由
func (h *PurchaseHandler) RegisterRouters(r gin.IRouter) {
purchaseGroup := r.Group("/purchases")
{
purchaseGroup.POST("/save", h.CreatePurchase)
purchaseGroup.GET("/user/:userId", h.GetUserPurchases)
purchaseGroup.GET("/content/:contentId", h.GetContentPurchases)
}
}
// CreatePurchase 创建购买记录
func (h *PurchaseHandler) CreatePurchase(c *gin.Context) {
// ... 实现代码
}
// GetUserPurchases 获取用户的购买记录
func (h *PurchaseHandler) GetUserPurchases(c *gin.Context) {
// ... 实现代码
}
// GetContentPurchases 获取内容的购买记录
func (h *PurchaseHandler) GetContentPurchases(c *gin.Context) {
// ... 实现代码
}
// CheckPermission 检查权限中间件
func (h *PurchaseHandler) CheckPermission() gin.HandlerFunc {
// ... 实现代码
return nil
}