package com.gree.mall.manager.commonmapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gree.mall.manager.bean.CommonTemplateVO;
import com.gree.mall.manager.bean.FreightTemplateVO;
import com.gree.mall.manager.bean.StorageVO;
import com.gree.mall.manager.bean.carouselMap.CarouselMapVO;
import com.gree.mall.manager.bean.coupon.CouponPageBeanVO;
import com.gree.mall.manager.bean.goods.CustomSecSpecBeanVO;
import com.gree.mall.manager.bean.goods.GoodsNewsCategoryVO;
import com.gree.mall.manager.bean.goods.PromotionGroupListVO;
import com.gree.mall.manager.bean.goods.SecKillActivityStageBeanVO;
import com.gree.mall.manager.bean.order.OrderShareVO;
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 CommonPageV2Mapper {

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<CarouselMapVO> pageV2CarouseMap(Page page, @Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<StorageVO> pageV2Storage(Page page, @Param("ex") ZfireParamBean zfireParam,
                                   @Param("companyWechatIds") List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<CommonTemplateVO> pageV2Template(Page page,@Param("ex")  ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<GoodsNewsCategoryVO> pageV2GoodsNewsCategory(Page page,@Param("ex")  ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<FreightTemplateVO> pageV2FreightTemplate(Page page, @Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds")  List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<OrderShareVO> pageV2OrderShare(Page page, @Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds")  List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<CustomSecSpecBeanVO> pageV2Sec(Page page, @Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds")  List<String> companyWechatIds,@Param("status") Integer status);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<SecKillActivityStageBeanVO> pageV2Activity(Page page,@Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds")  List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<PromotionGroupListVO> pageV2Group(Page page ,@Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<CouponPageBeanVO> pageV2Coupon(Page page ,@Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> companyWechatIds);
}
