package com.dxhy.admin.sys.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.admin.sys.entity.SysDeptEntity;
import com.dxhy.admin.sys.entity.SysUserEntity;

/**
 * 系统用户
 *
 * @author jiaohongyang
 */
@Mapper
public interface SellerUserDao extends BaseMapper<SysUserEntity> {

    /**
     * 获取未关联集团信息
     *
     * @param userId
     *            用户id
     * @param company
     *            集团编码
     * @param params
     *            入参
     * @return 返回
     */
    List<SysDeptEntity> queryNoBindCompany(@Param("userId") String userId, @Param("company") String company,
        @Param("map") Map<String, Object> params);

    /**
     * 获取关联集团信息
     *
     * @param userId
     *            用户id
     * @param company
     *            集团编码
     * @param params
     *            入参
     * @return 返回
     */
    List<SysDeptEntity> queryBindCompany(@Param("userId") String userId, @Param("company") String company,
        @Param("map") Map<String, Object> params);

    /**
     * 删除用户关联集团信息
     *
     * @param arr
     *            输入
     * @param userId
     *            用户id
     */
    void deleteCompany(@Param("list") String[] arr, @Param("userId") String userId);

    /**
     * 统计关联集团信息
     *
     * @param userId
     *            用户id
     * @param company
     *            集团编码
     * @param params
     *            入参
     * @return 返回
     */
    int queryNoBindCompanyCount(String userId, String company, Map<String, Object> params);

    /**
     * 统计关联集团信息
     *
     * @param userId
     *            用户id
     * @param company
     *            集团编码
     * @param params
     *            入参
     * @return 返回
     */
    int queryBindCompanyCount(String userId, String company, Map<String, Object> params);
}
