package com.dgtly.system.service;

import com.dgtly.system.domain.SysUserExt;
import java.util.List;

/**
 * 用户销售信息扩展Service接口
 * 
 * @author qxp
 * @date 2020-07-29
 */
public interface ISysUserExtService
{


    /**
     * 查询用户销售信息扩展
     * 
     * @param userId 用户销售信息扩展ID
     * @return 用户销售信息扩展
     */
    public SysUserExt selectSysUserExtById(Long userId);

    public SysUserExt selectSysUserCustomerExtById(Long userId);

    /**
     * 查询用户销售信息扩展列表
     * 
     * @param sysUserExt 用户销售信息扩展
     * @return 用户销售信息扩展集合
     */
    public List<SysUserExt> selectSysUserExtList(SysUserExt sysUserExt);

    /**
     * 新增用户销售信息扩展
     * 
     * @param sysUserExt 用户销售信息扩展
     * @return 结果
     */
    public int insertSysUserExt(SysUserExt sysUserExt);

    /**
     * 根据领导EmployeeId查询所有下属用户EmployeeId
     *
     * @param bossEmployeeId 领导EmployeeId
     * @return 结果
     */
    List<String> selectEmployeeIdsByBossEmployeeId(String bossEmployeeId);

    /**
     * 修改用户销售信息扩展
     * 
     * @param sysUserExt 用户销售信息扩展
     * @return 结果
     */
    public int updateSysUserExt(SysUserExt sysUserExt);

    /**
     * 批量删除用户销售信息扩展
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysUserExtByIds(String ids);

    /**
     * 删除用户销售信息扩展信息
     * 
     * @param userId 用户销售信息扩展ID
     * @return 结果
     */
    public int deleteSysUserExtById(Long userId);
    /**
     * 插入或更新用户销售信息扩展
     *
     * @param sysUserExt 用户销售信息扩展
     * @return 结果
     */
    public int insertOrUpSysUserExt(SysUserExt ext);
    /**
     * 删除后插入用户扩展信息
     *
     * @param sysUserExt 用户销售信息扩展
     * @return 结果
     */
    public int delAndInsertSysUserExt(SysUserExt ext);

    /**
     * @description: 根据userid查询多经销商列表
     * @param: [userId]
     * @return: java.util.List<com.dgtly.system.domain.SysUserExt>
     * @author: qxm
     * @date: 2021/4/9 9:39
     */
    List<SysUserExt> selectSysUserExtListByUserId(Long userId);

    /**
     * @description: 切换经销商
     * @param: [userId, orgCode, orgName]
     * @return: com.dgtly.system.domain.SysUserExt
     * @author: qxm
     * @date: 2021/4/9 9:41
     */
    int switchCustomer(String userId, String orgCode, String orgName);


    int selectSysUserExtBySapEmployeeId(String sapEmployeeId);
}
