package com.tashow.cloud.product.mapper;

import java.util.*;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
import com.tashow.cloud.productapi.api.product.dto.*;
import com.tashow.cloud.productapi.api.product.vo.prod.ProdListVO;
import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO;
import com.tashow.cloud.productapi.api.product.vo.prod.ProdRestoreListVO;
import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO;
import com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 商品 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface ProdMapper extends BaseMapperX<ProdDO> {

     IPage<ProdListVO> getProdPageList(Page<?> page,@Param("createTime") String[] createTime
             , @Param("prodName") String prodName
             , @Param("shopId") Long shopId
             , @Param("status") Integer status
             , @Param("categoryId") Long categoryId);

     ProdServiceVO selectProdService(@Param("prodId") Long prodId);

    ProdServiceVO selectProdServiceInfo(@Param("prodId") Long prodId);

    IPage<ProdRestoreListVO> getProdRecycleBinPageList(Page<?> page, @Param("deleteTime") String[] deleteTime
            , @Param("prodName") String prodName);


    void batchRestoreProd(@Param("ids") List<Long> ids);
}