| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 | package org.jeecg.modules.system.service;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.baomidou.mybatisplus.extension.service.IService;import org.jeecg.common.api.vo.Result;import org.jeecg.common.system.vo.SysUserCacheInfo;import org.jeecg.modules.system.entity.SysUser;import org.jeecg.modules.system.model.SysUserSysDepartModel;import org.springframework.transaction.annotation.Transactional;import java.util.Collection;import java.util.List;import java.util.Map;import java.util.Set;/** * <p> * 用户表 服务类 * </p> * * @Author scott * @since 2018-12-20 */public interface ISysUserService extends IService<SysUser> {	/**	 * 重置密码	 *	 * @param username	 * @param oldpassword	 * @param newpassword	 * @param confirmpassword	 * @return	 */	public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword);	/**	 * 修改密码	 *	 * @param sysUser	 * @return	 */	public Result<?> changePassword(SysUser sysUser);	/**	 * 删除用户	 * @param userId	 * @return	 */	public boolean deleteUser(String userId);	/**	 * 批量删除用户	 * @param userIds	 * @return	 */	public boolean deleteBatchUsers(String userIds);		public SysUser getUserByName(String username);		/**	 * 添加用户和用户角色关系	 * @param user	 * @param roles	 */	public void addUserWithRole(SysUser user,String roles);			/**	 * 修改用户和用户角色关系	 * @param user	 * @param roles	 */	public void editUserWithRole(SysUser user,String roles);	/**	 * 获取用户的授权角色	 * @param username	 * @return	 */	public List<String> getRole(String username);		/**	  * 查询用户信息包括 部门信息	 * @param username	 * @return	 */	public SysUserCacheInfo getCacheUser(String username);	/**	 * 根据部门Id查询	 * @param	 * @return	 */	public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username);	/**	 * 根据部门Ids查询	 * @param	 * @return	 */	public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username);	/**	 * 根据 userIds查询,查询用户所属部门的名称(多个部门名逗号隔开)	 * @param	 * @return	 */	public Map<String,String> getDepNamesByUserIds(List<String> userIds);    /**     * 根据部门 Id 和 QueryWrapper 查询     *     * @param page     * @param departId     * @param queryWrapper     * @return     */    public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper);	/**	 * 根据 orgCode 查询用户,包括子部门下的用户	 *	 * @param orgCode	 * @param userParams 用户查询条件,可为空	 * @param page 分页参数	 * @return	 */	IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page);	/**	 * 根据角色Id查询	 * @param	 * @return	 */	public IPage<SysUser> getUserByRoleId(Page<SysUser> page,String roleId, String username);	/**	 * 通过用户名获取用户角色集合	 *	 * @param username 用户名	 * @return 角色集合	 */	Set<String> getUserRolesSet(String username);	/**	 * 通过用户名获取用户权限集合	 *	 * @param username 用户名	 * @return 权限集合	 */	Set<String> getUserPermissionsSet(String username);		/**	 * 根据用户名设置部门ID	 * @param username	 * @param orgCode	 */	void updateUserDepart(String username,String orgCode);		/**	 * 根据手机号获取用户名和密码	 */	public SysUser getUserByPhone(String phone);	/**	 * 根据邮箱获取用户	 */	public SysUser getUserByEmail(String email);	/**	 * 添加用户和用户部门关系	 * @param user	 * @param selectedParts	 */	void addUserWithDepart(SysUser user, String selectedParts);	/**	 * 编辑用户和用户部门关系	 * @param user	 * @param departs	 */	void editUserWithDepart(SysUser user, String departs);		/**	   * 校验用户是否有效	 * @param sysUser	 * @return	 */	Result checkUserIsEffective(SysUser sysUser);	/**	 * 查询被逻辑删除的用户	 */	List<SysUser> queryLogicDeleted();	/**	 * 查询被逻辑删除的用户(可拼装查询条件)	 */	List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper);	/**	 * 还原被逻辑删除的用户	 */	boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity);	/**	 * 彻底删除被逻辑删除的用户	 */	boolean removeLogicDeleted(List<String> userIds);    /**     * 更新手机号、邮箱空字符串为 null     */    @Transactional(rollbackFor = Exception.class)    boolean updateNullPhoneEmail();	/**	 * 保存第三方用户信息	 * @param sysUser	 */	void saveThirdUser(SysUser sysUser);	/**	 * 根据部门Ids查询	 * @param	 * @return	 */	List<SysUser> queryByDepIds(List<String> departIds, String username);	/**	 * 保存用户	 * @param user 用户	 * @param selectedRoles 选择的角色id,多个以逗号隔开	 * @param selectedDeparts 选择的部门id,多个以逗号隔开	 */	void saveUser(SysUser user, String selectedRoles, String selectedDeparts);	/**	 * 编辑用户	 * @param user 用户	 * @param roles 选择的角色id,多个以逗号隔开	 * @param departs 选择的部门id,多个以逗号隔开	 */	void editUser(SysUser user, String roles, String departs);	/** userId转为username */	List<String> userIdToUsername(Collection<String> userIdList);}
 |