package org.springblade.mdm.basesetting.producedivision.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.tool.utils.Func; import org.springblade.mdm.basesetting.producedivision.entity.MdmRole; import org.springblade.mdm.basesetting.producedivision.entity.MdmUser; import org.springblade.mdm.basesetting.producedivision.mapper.MdmUserMapper; import org.springblade.mdm.commons.service.ParamService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.function.Consumer; @Service public class MdmUserService extends ServiceImpl { @Autowired private ParamService paramService; @Autowired private MdmRoleService roleService; public Long getUserIdByName(String name) { List users = this.lambdaQuery().eq(MdmUser::getName, name).eq(MdmUser::getStatus, 1).orderByDesc(MdmUser::getCreateTime).list(); Long userId = null; if (!users.isEmpty()) { userId = users.get(0).getId(); } return userId; } public List listByDeptAndRoleAlias() { List approveRoleAliasList = Func.split(paramService.getApproveRoleAlias(),','); List approveUserList = userListByRoleAlias(approveRoleAliasList); //查询程序管理员用户列表 List managerAliasList = Func.split(paramService.getProgramManagerRoleAlias(),','); List mgrUserList = userListByRoleAlias(managerAliasList); for(MdmUser approveUser : approveUserList) { for(MdmUser manager : mgrUserList) { if(approveUser.getId().equals(manager.getId())) { approveUser.setManager(true); break; } } } return approveUserList; } private List userListByRoleAlias(List approveRoleAliasList) { List approveRoles = roleService.listRoleAlias(approveRoleAliasList); List userList= this.getBaseMapper().selectByRoleIds(approveRoles.stream().map(MdmRole::getId).map(rid -> rid+"").toList()); return userList; } }