package com.gree.mall.manager.commonmapper;

import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gree.mall.manager.bean.goods.GoodsCodeAccVO;
import com.gree.mall.manager.bean.goods.GoodsSaleLedgerVO;
import com.gree.mall.manager.bean.goods.GoodsStockVO;
import com.gree.mall.manager.bean.trade.GoodsCategoryItemVO;
import com.gree.mall.manager.bean.trade.GoodsCategoryOtherItemVO;
import com.gree.mall.manager.bean.trade.OldProductManagerVO;
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface JxMapper {

    @SqlParser(filter = true)
    IPage<GoodsStockVO> pageStock(Page page, @Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> companyWechatIds);

    @SqlParser(filter = true)
    IPage<GoodsCodeAccVO> pageCode(Page page, @Param("ex") ZfireParamBean zfireParam);

    @SqlParser(filter = true)
    IPage<GoodsSaleLedgerVO> pageSale(Page page,@Param("ex")  ZfireParamBean zfireParam);

    @SqlParser(filter = true)
    IPage<GoodsCategoryItemVO> pageV2(Page page, @Param("ex")  ZfireParamBean zfireParam, @Param("companyWechatIds")List<String> companyWechatIds);

    @SqlParser(filter = true)
    IPage<GoodsCategoryOtherItemVO> listOther(Page page,@Param("ex")  ZfireParamBean zfireParam, @Param("companyWechatIds") List<String> companyWechatIds);

    @SqlParser(filter = true)
    IPage<OldProductManagerVO> pageManagerV2(Page page,@Param("ex")  ZfireParamBean zfireParam, @Param("companyWechatIds")  List<String> companyWechatIds);
}
