package org.jeecg.modules.system.service.impl; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.system.entity.SysDepart; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.entity.SysUserDepart; import org.jeecg.modules.system.mapper.SysUserDepartMapper; import org.jeecg.modules.system.model.DepartIdModel; import org.jeecg.modules.system.service.ISysDepartService; import org.jeecg.modules.system.service.ISysUserDepartService; import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** *

* 用户部门表实现类 *

* @Author ZhiLin *@since 2019-02-22 */ @Service public class SysUserDepartServiceImpl extends ServiceImpl implements ISysUserDepartService { @Autowired private ISysDepartService sysDepartService; @Autowired private ISysUserService sysUserService; /** * 根据用户id查询部门信息 */ @Override public List queryDepartIdsOfUser(String userId) { LambdaQueryWrapper queryUDep = new LambdaQueryWrapper(); LambdaQueryWrapper queryDep = new LambdaQueryWrapper(); try { queryUDep.eq(SysUserDepart::getUserId, userId); List depIdList = new ArrayList<>(); List depIdModelList = new ArrayList<>(); List userDepList = this.list(queryUDep); if(userDepList != null && userDepList.size() > 0) { for(SysUserDepart userDepart : userDepList) { depIdList.add(userDepart.getDepId()); } queryDep.in(SysDepart::getId, depIdList); List depList = sysDepartService.list(queryDep); if(depList != null || depList.size() > 0) { for(SysDepart depart : depList) { depIdModelList.add(new DepartIdModel().convertByUserDepart(depart)); } } return depIdModelList; } }catch(Exception e) { e.fillInStackTrace(); } return null; } /** * 根据部门id查询用户信息 */ @Override public List queryUserByDepId(String depId) { LambdaQueryWrapper queryUDep = new LambdaQueryWrapper(); queryUDep.eq(SysUserDepart::getDepId, depId); List userIdList = new ArrayList<>(); List uDepList = this.list(queryUDep); if(uDepList != null && uDepList.size() > 0) { for(SysUserDepart uDep : uDepList) { userIdList.add(uDep.getUserId()); } List userList = (List) sysUserService.listByIds(userIdList); //update-begin-author:taoyan date:201905047 for:接口调用查询返回结果不能返回密码相关信息 for (SysUser sysUser : userList) { sysUser.setSalt(""); sysUser.setPassword(""); } //update-end-author:taoyan date:201905047 for:接口调用查询返回结果不能返回密码相关信息 return userList; } return new ArrayList(); } /** * 根据部门code,查询当前部门和下级部门的 用户信息 */ @Override public List queryUserByDepCode(String depCode,String realname) { LambdaQueryWrapper queryByDepCode = new LambdaQueryWrapper(); queryByDepCode.likeRight(SysDepart::getOrgCode,depCode); List sysDepartList = sysDepartService.list(queryByDepCode); List depIds = sysDepartList.stream().map(SysDepart::getId).collect(Collectors.toList()); LambdaQueryWrapper queryUDep = new LambdaQueryWrapper(); queryUDep.in(SysUserDepart::getDepId, depIds); List userIdList = new ArrayList<>(); List uDepList = this.list(queryUDep); if(uDepList != null && uDepList.size() > 0) { for(SysUserDepart uDep : uDepList) { userIdList.add(uDep.getUserId()); } LambdaQueryWrapper queryUser = new LambdaQueryWrapper(); queryUser.in(SysUser::getId,userIdList); if(oConvertUtils.isNotEmpty(realname)){ queryUser.like(SysUser::getRealname,realname.trim()); } List userList = (List) sysUserService.list(queryUser); //update-begin-author:taoyan date:201905047 for:接口调用查询返回结果不能返回密码相关信息 for (SysUser sysUser : userList) { sysUser.setSalt(""); sysUser.setPassword(""); } //update-end-author:taoyan date:201905047 for:接口调用查询返回结果不能返回密码相关信息 return userList; } return new ArrayList(); } }