package com.ydtech.modules.admin.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydtech.core.page.HttpResult; import com.ydtech.core.page.PageResult; import com.ydtech.extension.BaseIService; import com.ydtech.modules.admin.model.QuTeamNum; import com.ydtech.modules.admin.model.QuUserNum; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.SysUserRole; import com.ydtech.modules.admin.model.dto.IpInfoDto; import com.ydtech.modules.admin.model.dto.QuTeamNumDto; import com.ydtech.modules.admin.model.dto.QuUserNumDto; import com.ydtech.modules.admin.model.dto.SysUserDto; import com.ydtech.modules.admin.model.vo.*; import com.ydtech.modules.base.model.dto.PageDto; import com.ydtech.modules.base.model.vo.PageVo; import java.util.List; import java.util.Set; public interface SysUserService extends BaseIService { SysUser findByUsername(String username); SysUser findByPhone(String phone); /** * 查找用户的菜单权限标识集合 * * @param sysUser * @return */ // Set findPermissions(String userName); Set findPermissions(SysUser sysUser); /** * 查找用户的角色集合 * * @param userId * @return */ List findUserRoles(Long userId); PageResult selectPagingCustom(int pageNumber, int pageSize, String name, String deptCode); /** * 获取用户列表 * * @param page 分页信息 * @param sysUser 查询条件 * @param containsSubDept 是否汉堡下级机构 * @return */ IPage selectUserPage(Page page, SysUser sysUser, String containsSubDept); void findSysUseresmUserInternalVORoles(PageResult pageResult); Integer deleteFlag(List lsSysUser); SysUser findById(String handlercode); SysUser findByUserId(String handlercode); SysUserVO gainUserInternal(String userId); SysUserVO gainUserInternalByDeptId(String deptId); List findByReferrerId(String deptId); List findListByDeptId(SysUser sysUser); List findListByDeptIdNew(SysUser sysUser); PageVo gainUserPage(PageDto pageDto); /** * 根据角色查询用户列表 * * @param pageDto * @return */ IPage findUserList(PageDto pageDto); IPage findAllUserList(PageDto pageDto); /** * 查询人员列表 * * @param sysUserDto 查询实体 * @return 人员列表 */ IPage findBackUserList(SysUserDto sysUserDto); List findBackUserList1(SysUserDto sysUserDto); IPage quTeamNum(QuTeamNumDto quTeamNumDto); IPage getQuTeamByCompany(QuTeamNumDto quTeamNumDto); /** * 获取添加用户ID * * @author: lig * @date: 2023年05月11日 0011 */ String gainNextUserId(String deptId); SysUserInternalVO gainUserSynthesisInfo(String userId); String findMaxId(String deptId); //审批 boolean check(String userId, Integer approvalStatus, String approvalOpinion); SysUserBaseVO selectUserById(String userId); boolean saveUser(SysUser sysUser); HttpResult saveUserInfo(SysUser2Vo sysUserVo); /** * 人员修改 * * @param userId 工号 * @param sysUserVo 修改信息 * @return */ HttpResult updateUserInfo(String userId, SysUser2Vo sysUserVo); List findAllAgentRoleUser(String userId, String roleId); int getDeptLevel(SysUser2Vo sysUser2Vo); /** * 根据机构代码,查询所有人员 * * @param deptId * @return */ List findUserList(String deptId); List findTree(); List findBackListByDeptId(String deptId); IPage quUserNum(QuUserNumDto quUserNumDto); IPage getQuUserByCompany(QuUserNumDto quUserNumDto); /** * @version * @author: hxl * @Date: 2024/4/16 15:50 * @Description: 获取待客录入的可选业务员 */ List getAllUsersByHospitality(SysUserVOExt sysUserVOExt); /** * @version * @author: hxl * @Date: 2024/4/18 16:14 * @Description: 获取客服人员列表数据 */ List getCustomerUsers(); IPage quAgentAreaAdmin(QuUserNumDto quUserNumDto); IPage quAgentAreaAdminDetail(QuUserNumDto quUserNumDto); /** * @version * @author: hxl * @Date: 2024/4/29 16:03 * @Description: 查询当前登陆人管理的渠道信息 ,即领导人为当前人的数据 */ List getUserIdsByLeaderId(String userId); /** * @version * @author: hxl * @Date: 2024/5/7 10:44 * @Description: 通过角色人id和部门查询是否存在团队长 */ int getCountByDeptAndRoleId(SysUser sysUserVo); /** * @version * @author: hxl * @Date: 2024/5/7 11:43 * @Description: 通过部门id查询团队长用户的id */ String findTDZUserIdByDeptId(String deptId); /** * 获取多条用户数据 * * @param userIds 用户idList * @return */ List getByIds(List userIds); /** * @version * @author: hxl * @Date: 2024/7/11 16:08 * @Description: 查询所有的后线人员 */ List findHxUserList(); List getUserIds(); /** * 离职申请 * * @param sysUserVO * @return */ boolean departApply(SysUser2Vo sysUserVO); /** * 离职恢复 * * @param userid 用户id */ void separationReinstatement(String userid); SysUser getByUserId(String userid); /** * 获取电销人员的id * * @return */ List getTelemarketingPersonnelData(); }