package com.gree.mall.manager.commonmapper.workorder;

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.workorder.*;
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 IncreMapper {

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<IncreVO> list(IPage page, @Param("ex") ZfireParamBean zfireParam, @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<DispatchVO> listDispatch(Page page, @Param("ex") ZfireParamBean zfireParam, @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<WebsitDispatchVO> listDispatchWebsit(Page page, @Param("ex") ZfireParamBean zfireParamBean, @Param("adminCompanyIds") List<String> adminCompanyIds);


    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> pList(@Param("pId") String pId,
                               @Param("cityCode") String cityCode,
                               @Param("areaCode") String areaCode,
                               @Param("streetCode") String streetCode,
                               @Param("dictCode") List<String> dictCode,
                               @Param("orderSmallId") List<String> orderSmallId,
                               @Param("categoryId") List<String> categoryId,
                               @Param("orderSourceId") List<String> orderSourceId,
                                @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> cList(
            @Param("pId") String pId,
            @Param("cityCode") String cityCode,
            @Param("areaCode") String areaCode,
            @Param("streetCode") String streetCode,
            @Param("dictCode") List<String> dictCode,
            @Param("orderSmallId") List<String> orderSmallId,
            @Param("categoryId") List<String> categoryId,
            @Param("orderSourceId") List<String> orderSourceId,
            @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> aList(  @Param("pId") String pId,
                                 @Param("cityCode") String cityCode,
                                 @Param("areaCode") String areaCode,
                                 @Param("streetCode") String streetCode,
                                 @Param("dictCode") List<String> dictCode,
                                 @Param("orderSmallId") List<String> orderSmallId,
                                 @Param("categoryId") List<String> categoryId,
                                 @Param("orderSourceId") List<String> orderSourceId,
                                 @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> sList(@Param("pId") String pId,
                               @Param("cityCode") String cityCode,
                               @Param("areaCode") String areaCode,
                               @Param("streetCode") String streetCode,
                               @Param("dictCode") List<String> dictCode,
                               @Param("orderSmallId") List<String> orderSmallId,
                               @Param("categoryId") List<String> categoryId,
                               @Param("orderSourceId") List<String> orderSourceId,
                               @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> channel(
            @Param("pId") String pId,
            @Param("cityCode") String cityCode,
            @Param("areaCode") String areaCode,
            @Param("streetCode") String streetCode,
            @Param("dictCode") List<String> dictCode,
            @Param("orderSmallId") List<String> orderSmallId,
            @Param("categoryId") List<String> categoryId,
            @Param("orderSourceId") List<String> orderSourceId,
            @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> smallList(  @Param("pId") String pId,
                                     @Param("cityCode") String cityCode,
                                     @Param("areaCode") String areaCode,
                                     @Param("streetCode") String streetCode,
                                     @Param("dictCode") List<String> dictCode,
                                     @Param("orderSmallId") List<String> orderSmallId,
                                     @Param("categoryId") List<String> categoryId,
                                     @Param("orderSourceId") List<String> orderSourceId,
                                     @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> categoryList( @Param("pId") String pId,
                                       @Param("cityCode") String cityCode,
                                       @Param("areaCode") String areaCode,
                                       @Param("streetCode") String streetCode,
                                       @Param("dictCode") List<String> dictCode,
                                       @Param("orderSmallId") List<String> orderSmallId,
                                       @Param("categoryId") List<String> categoryId,
                                       @Param("orderSourceId") List<String> orderSourceId,
                                       @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    List<DispatchCherVO> sourceList(
            @Param("pId") String pId,
            @Param("cityCode") String cityCode,
            @Param("areaCode") String areaCode,
            @Param("streetCode") String streetCode,
            @Param("dictCode") List<String> dictCode,
            @Param("orderSmallId") List<String> orderSmallId,
            @Param("categoryId") List<String> categoryId,
            @Param("orderSourceId") List<String> orderSourceId,
            @Param("adminCompanyIds") List<String> adminCompanyIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<AbnormalVO> listAbnormal(IPage page, @Param("ex") ZfireParamBean zfireParam, @Param("adminCompanyIds") List<String> adminCompanyIds);
}
