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.admin.AdminDeptWebsitVO;
import com.gree.mall.manager.bean.admin.respDto.AdminCompanyWechatRespPageBean;
import com.gree.mall.manager.bean.common.SysDictCompanyVO;
import com.gree.mall.manager.bean.common.SysDictVO;
import com.gree.mall.manager.plus.entity.AdminUser;
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 AdminMapper {


    /**
     * 商户列表
     */
    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    public IPage<AdminUser> mchList(IPage page,
                                   @Param("userName") String userName,
                                   @Param("nickName") String nickName,
                                   @Param("linkPhone") String linkPhone,
                                   @Param("email") String email,
                                   @Param("status") Boolean status,
                                    @Param("companyWechatId") String companyWechatId,
                                    @Param("companyWechatIds") List<String> companyWechatIds);



    /**
     * 商户列表2
     */
    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<AdminCompanyWechatRespPageBean> pageCompanyWechat(IPage page,
                                                         @Param("userName") String userName,
                                                         @Param("nickName") String nickName,
                                                         @Param("linkPhone") String linkPhone,
                                                         @Param("email") String email,
                                                         @Param("status") Boolean status,
                                                            @Param("companyWechatId") String companyWechatId);

    /**
     * 数据字典列表
     */
    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    public IPage<SysDictVO> sysDictList(Page page, @Param("ex") ZfireParamBean zfireParamBean);


    /**
     * 数据字典列表
     */
    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<SysDictCompanyVO> sysDictCompanyList(Page page, @Param("ex") ZfireParamBean zfireParam, List<String> companyWechatIds);

    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
    IPage<AdminDeptWebsitVO> list(Page page, @Param("ex") ZfireParamBean zfireParam);
}
