package cn.freemud.demo.manager.product;

import cn.freemud.demo.entities.bo.goods.ValidateShopProductRequestBO;
import cn.freemud.demo.entities.bo.goods.GetProductBO;
import cn.freemud.demo.entities.bo.goods.GetProductBySkuIdResponseBO;
import cn.freemud.demo.entities.bo.goods.ProductBO;
import cn.freemud.demo.entities.bo.goods.ValiadShopProductBO;
import cn.freemud.demo.entities.bo.product.GetProductBySkuIdBO;
import cn.freemud.demo.entities.bo.product.GetProductStock;
import cn.freemud.demo.entities.bo.product.GetRequiredProductListBO;
import cn.freemud.demo.entities.bo.product.ProductStockBO;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class ProductManager {

    /**
     *
     * @return
     */
    public List<ProductBO>  getProductsInfo(GetProductBO getProductBO, ProductService productService){

        List<ProductBO>  productInfo = productService.getProductInfo(getProductBO);

        return productInfo;

    }

    public Map<String, GetProductBySkuIdResponseBO> getProductsInfoBySkuIds(GetProductBySkuIdBO getProductBySkuIdBO, ProductService productService){

        Map<String, GetProductBySkuIdResponseBO> productInfo = productService.getProductInfoBySkuIds(getProductBySkuIdBO);

        return productInfo;

    }

    public List<ProductStockBO> getProductStock(GetProductStock getProductStock, ProductService productService){

        List<ProductStockBO> productStock = productService.getProductStock(getProductStock);

        return productStock;

    }


    public ValiadShopProductBO validateShopProduct(ValidateShopProductRequestBO validateShopProductRequestBO, ProductService productService){

        ValiadShopProductBO valiadShopProductBO = productService.validateShopProduct(validateShopProductRequestBO);

        return valiadShopProductBO;

    }


    public List<String> getRequiredProductList(GetRequiredProductListBO getRequiredProductListBO, ProductService productService){

        List<String> requiredProductList = productService.getRequiredProductList(getRequiredProductListBO);

        return requiredProductList;

    }


}
