package product import ( "eta/eta_mini_ht_api/common/exception" "eta/eta_mini_ht_api/controllers" productService "eta/eta_mini_ht_api/service/product" ) type ProductController struct { controllers.BaseController } // GetProductInfo 获取商品信息 // @Summary 获取商品信息 // @Description 获取商品信息 // @Success 200 {object} controllers.BaseResponse // @router /getProductInfo [get] func (p *ProductController) GetProductInfo(productId int) { controllers.Wrap(&p.BaseController, func() (result *controllers.WrapData, err error) { result = p.InitWrapData("获取商品详情失败") if productId <= 0 { err = exception.New(exception.IllegalProductId) p.FailedResult("获取商品详情失败", result) return } productInfo, err := productService.GetProductInfoById(productId) if err != nil { p.FailedResult("获取商品详情失败", result) return } p.SuccessResult("获取商品详情成功", productInfo, result) return }) } // RelatePackage 获取商品信息 // @Summary 获取商品信息 // @Description 获取商品信息 // @Success 200 {object} controllers.BaseResponse // @router /relatePackage [get] func (p *ProductController) RelatePackage(productId int) { controllers.Wrap(&p.BaseController, func() (result *controllers.WrapData, err error) { result = p.InitWrapData("获取关联套餐信息失败") if productId <= 0 { err = exception.New(exception.IllegalProductId) p.FailedResult("获取关联套餐信息失败", result) return } productInfo, err := productService.GetProductInfoById(productId) if err != nil { p.FailedResult("获取关联套餐信息失败", result) err = exception.New(exception.ProductTypeError) return } if productInfo.Type == "package" { p.FailedResult("该商品为套餐,无法获取想关联套餐商品", result) err = exception.New(exception.ProductTypeError) } productList, err := productService.GetRelatePackage(productInfo) productList = append(productList, productInfo) if err != nil { p.FailedResult("获取关联套餐信息失败", result) return } p.SuccessResult("获取关联套餐信息成功", productList, result) return }) }