53 lines
1.6 KiB
Go
53 lines
1.6 KiB
Go
package sys
|
|
|
|
import (
|
|
"context"
|
|
"hotgo/api/admin/product"
|
|
"hotgo/internal/model/input/sysin"
|
|
"hotgo/internal/service"
|
|
)
|
|
|
|
var Product = cProduct{}
|
|
|
|
type cProduct struct{}
|
|
|
|
func (c *cProduct) List(ctx context.Context, req *product.ListReq) (res *product.ListRes, err error) {
|
|
list, total, err := service.SysProduct().List(ctx, &req.ProductListInp)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if list == nil {
|
|
list = []*sysin.ProductListModel{}
|
|
}
|
|
res = new(product.ListRes)
|
|
res.List = list
|
|
res.PageRes.Pack(req, total)
|
|
return
|
|
}
|
|
func (c *cProduct) View(ctx context.Context, req *product.ViewReq) (res *product.ViewRes, err error) {
|
|
data, err := service.SysProduct().View(ctx, &req.ProductViewInp)
|
|
if err == nil {
|
|
res = &product.ViewRes{ProductListModel: data}
|
|
}
|
|
return res, err
|
|
}
|
|
func (c *cProduct) Edit(ctx context.Context, req *product.EditReq) (res *product.EditRes, err error) {
|
|
id, err := service.SysProduct().Edit(ctx, &req.ProductEditInp)
|
|
if err == nil {
|
|
res = &product.EditRes{Id: id}
|
|
}
|
|
return res, err
|
|
}
|
|
func (c *cProduct) Status(ctx context.Context, req *product.StatusReq) (res *product.StatusRes, err error) {
|
|
err = service.SysProduct().Status(ctx, &req.ProductStatusInp)
|
|
return
|
|
}
|
|
func (c *cProduct) Recommend(ctx context.Context, req *product.RecommendReq) (res *product.RecommendRes, err error) {
|
|
err = service.SysProduct().Recommend(ctx, &req.ProductRecommendInp)
|
|
return
|
|
}
|
|
func (c *cProduct) Delete(ctx context.Context, req *product.DeleteReq) (res *product.DeleteRes, err error) {
|
|
err = service.SysProduct().Delete(ctx, &req.ProductDeleteInp)
|
|
return
|
|
}
|